/* A calm collection, with the buying controls exactly where the bake is. */
.quick-shop-card{display:flex;flex-direction:column;min-width:0;align-self:stretch}
.quick-shop-card .product-visual{aspect-ratio:1/1;background:#fffaf2;border:1px solid #e8dfd1;border-radius:6px}
.quick-shop-card .product-visual>img{object-fit:contain;padding:8%;height:100%;width:100%;filter:drop-shadow(0 13px 12px #51361b14)}
.quick-shop-card:hover .product-visual>img{transform:scale(1.025)}
.quick-shop-card .product-visual>.menu-art{background:#fffaf2;padding:19%;gap:22px}
.quick-shop-card .menu-art:before{inset:12%;border-color:#d3bfb250}
.quick-shop-card .menu-art>img{padding:0;filter:none;max-width:260px}
.quick-shop-card .image-tag{font-size:7px;letter-spacing:.08em;top:15px;left:15px;background:#fffdf7e8}
.quick-shop-card .round-arrow{width:35px;height:35px;right:14px;bottom:14px;border:1px solid var(--line);font-size:18px}
.quick-shop-card .product-meta{margin:20px 0 10px;font-size:8px;letter-spacing:.1em}
.quick-shop-card h3,.collection-grid .quick-shop-card:nth-child(5) h3{font:500 clamp(24px,2.25vw,34px)/1.15 var(--sans);letter-spacing:-.045em;margin:0 0 12px;overflow-wrap:anywhere}
.quick-shop-card .product-desc{font-size:12px;line-height:1.65;min-height:40px;margin-bottom:22px}
.quick-shop-form{margin-top:auto}
.quick-shop-form label.quick-option-label{display:flex;flex-direction:column;gap:9px;font:500 11px/1.4 var(--sans);letter-spacing:0;color:var(--ink);margin:0 0 17px}
.quick-shop-form select{width:100%;min-width:0;min-height:46px;border:1px solid #d9cbbb;border-radius:4px;background:#fffdf8;color:var(--ink);padding:11px 34px 11px 13px;font:400 13px/1.5 var(--sans);letter-spacing:0;text-overflow:ellipsis}
.quick-buy-row{display:grid;grid-template-columns:132px 1fr;gap:12px;align-items:end}
.quick-quantity-field>span{display:block;font:500 10px/1.4 var(--sans);color:var(--muted);margin-bottom:8px}
.quick-quantity{height:46px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;border:1px solid #d9cbbb;border-radius:4px;background:#fffdf8;overflow:hidden}
.quick-quantity button{width:44px;height:44px;border:0;border-radius:0;background:transparent;color:var(--red);font:400 20px/1 var(--sans);display:grid;place-items:center;padding:0;cursor:pointer;transition:background .15s ease}
.quick-quantity button:hover:not(:disabled){background:#f3e9dd}
.quick-quantity button:disabled{opacity:.3;cursor:default}
.quick-quantity input{width:100%;min-width:0;height:44px;border:0;padding:0;text-align:center;border-radius:0;background:transparent;color:var(--ink);font:500 13px/1 var(--sans);appearance:textfield;-moz-appearance:textfield}
.quick-quantity input::-webkit-inner-spin-button,.quick-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.quick-add.button{justify-content:center;min-width:0;gap:12px;font:500 11px/1.4 var(--sans);letter-spacing:0;min-height:46px;padding:12px 10px;border-radius:4px;white-space:nowrap}
.quick-add svg{flex-shrink:0}
.quick-shop-form :is(button,input,select):focus-visible{outline:2px solid var(--red);outline-offset:3px}
.quick-shop-card .product-action{margin-top:20px;display:flex;justify-content:space-between;gap:10px;padding-top:15px;align-items:center}
.quick-shop-card .product-action>span{font:400 10px/1.4 var(--sans);color:var(--muted)}
.quick-shop-card .product-action .text-link{font-size:10px;margin:0;white-space:nowrap}
.shop-preview-note{font:400 10px/1.6 var(--sans);color:var(--muted);margin:0 0 25px}
.collection-grid .quick-shop-card:nth-child(5){grid-column:auto}
.collection-grid .quick-shop-card:nth-child(5) .product-visual{aspect-ratio:1/1}
.floating-christmas-bag{position:fixed;z-index:110;right:max(28px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));display:flex;gap:19px;align-items:center;padding:14px 22px 14px 14px;min-height:58px;color:#fffaf2;background:var(--red);border:1px solid #ffffff4d;border-radius:50px;box-shadow:0 8px 30px #3e170626;font:500 13px/1.4 var(--sans)}
.floating-christmas-bag[hidden]{display:none}
.floating-bag-count{height:30px;min-width:30px;display:grid;place-items:center;padding:0 6px;border-radius:50%;color:var(--red);background:#fffaf2;font-size:12px}
.floating-bag-arrow{font-size:21px;line-height:1;margin-left:4px}
.floating-christmas-bag:focus-visible{outline:3px solid #cc9b41;outline-offset:4px}
.has-floating-bag #toast{bottom:100px}
@media(max-width:1100px){.quick-buy-row{grid-template-columns:1fr;gap:12px}.quick-quantity{width:132px}.quick-add.button{width:100%}}
@media(min-width:701px) and (max-width:900px){.home-products .quick-shop-card:last-child{display:flex;grid-column:auto;gap:0}.home-products .quick-shop-card:last-child .product-visual{grid-row:auto}.home-products .quick-shop-card:last-child .product-meta{align-self:auto}.quick-buy-row{grid-template-columns:132px 1fr}.quick-add.button{width:auto}}
@media(max-width:700px){.collection-grid,.home-products,.related .product-grid{grid-template-columns:1fr;gap:45px}.home-products .quick-shop-card:last-child{display:flex;grid-column:auto;gap:0}.home-products .quick-shop-card:last-child .product-visual{aspect-ratio:1/1}.quick-shop-card h3,.collection-grid .quick-shop-card:nth-child(5) h3,.home-products .quick-shop-card:last-child h3{font-size:28px;line-height:1.15}.quick-shop-card .product-meta{font-size:8px;margin-top:18px}.quick-shop-card .product-desc{font-size:12px;min-height:0;margin-bottom:20px}.quick-buy-row{grid-template-columns:132px 1fr;gap:12px}.quick-add.button{font-size:12px;width:auto}.quick-shop-card .product-action>span{font-size:10px}.quick-shop-card .product-action .text-link{font-size:11px}.quick-shop-card .image-tag{font-size:7px;left:14px;top:14px}.quick-shop-card .round-arrow{width:36px;height:36px;font-size:19px}.shop-preview-note{font-size:10px;margin-bottom:25px}.floating-christmas-bag{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:12px 19px 12px 12px;gap:15px;font-size:12px;min-height:56px}.has-floating-bag #toast{bottom:92px}.has-floating-bag .site-footer{padding-bottom:100px}}
@media(max-width:350px){.quick-buy-row{grid-template-columns:1fr}.quick-add.button{width:100%}}
@media(prefers-reduced-motion:reduce){.quick-shop-card:hover .product-visual>img{transform:none}}
html[data-motion=off] .quick-shop-card:hover .product-visual>img{transform:none}

/* White photographic surfaces separate dark fruit cake from the warm page. */
.quick-shop-card .product-visual{background:#fff;border-color:#e8dfd6;border-radius:12px}
.quick-shop-card .product-visual>img{padding:8%;filter:none}
.pack-choice-note{font:500 10px/1.5 var(--sans);color:var(--red);margin:-7px 0 16px}
.purchase-form .pack-choice-note{margin:10px 0 18px}
.product-detail-image{padding:18px;background:#fff;border:1px solid #e8dfd6;border-radius:12px;min-width:0}
.product-detail-image>img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:#fff;border-radius:4px}
.cake-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px}
.cake-gallery button{min-width:0;background:#fff;border:1px solid #e4d8ca;padding:5px;border-radius:6px}
.cake-gallery button[aria-pressed=true]{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
.cake-gallery img{width:100%;height:74px;object-fit:contain}
.cake-gallery span{display:block;font:500 9px/1.5 var(--sans);padding:7px 2px 3px}
.collection-hero{min-height:0;padding-top:155px;padding-bottom:65px}
.collection-image{padding:22px;background:#fff;border:1px solid #e8dfd6;border-radius:14px}
.collection-image>img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;border-radius:5px;object-position:center}
.collection-image .circle-seal{width:100px;height:100px;left:-24px;bottom:-23px;font-size:7px}
.collection-image .circle-seal b{font-size:25px}
.gifting-hero figure{background:#fff;border-radius:12px;padding:24px}
.gifting-hero figure>img{object-fit:contain;background:#fff;border-radius:4px}
.home-story-peek{padding:95px clamp(16px,4vw,86px);display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);align-items:center;gap:clamp(26px,4vw,70px);border-bottom:1px solid var(--line)}
.home-story-peek figure{width:100%;padding:9px;background:#fffaf3;box-shadow:0 9px 30px #472d1712}
.memory-image-window{position:relative;aspect-ratio:16/10;overflow:hidden;background:#e8ddce}
.memory-image-window>img{display:block;width:100%;height:auto;max-height:none;transform:translateY(6%) rotate(9deg) scale(var(--storefront-zoom,1.31));transform-origin:50% 50%;filter:sepia(.06)}
.home-story-peek h2{font:400 clamp(34px,4vw,63px)/1.08 var(--sans);letter-spacing:-.06em;margin:24px 0}
.home-story-peek p:not(.eyebrow){max-width:410px;font-size:13px;line-height:1.9;color:var(--muted)}
.home-story-peek .text-link{margin-top:10px;font-size:11px}
@media(max-width:900px){.collection-hero{gap:6%;padding-top:135px}.cake-gallery img{height:58px}}
@media(max-width:700px){.collection-hero{padding-top:125px;padding-bottom:55px}.collection-image{padding:14px;margin-top:12px}.collection-image .circle-seal{left:auto;right:8px;bottom:-15px;width:86px;height:86px}.collection-image .circle-seal b{font-size:22px}.product-detail-image{padding:12px;position:relative;top:auto}.cake-gallery img{height:60px}.cake-gallery span{font-size:8px}.home-story-peek{grid-template-columns:minmax(0,1fr);gap:35px;padding-block:65px}.home-story-peek figure{margin:0;padding:5px}.home-story-peek h2{font-size:38px}.home-story-peek .eyebrow{font-size:8px}.quick-shop-card .product-action{align-items:flex-start}.quick-shop-card .product-action>span{max-width:150px}}

.quick-quantity input,.quick-shop-form select{margin-top:0}.cart-item-image img{object-fit:contain;background:#fff;border:1px solid #e8dfd6}
@media(max-width:700px){.quick-shop-card .product-action{flex-direction:column;align-items:flex-start;gap:8px}.quick-shop-card .product-action .text-link{order:-1;min-height:30px}}
/* Festive details remain calm around the bakery photography. */
.festive-branches{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 7% 7%,#fff4ba 0 2px,transparent 4px),radial-gradient(circle at 14% 5%,#fff4ba 0 2px,transparent 4px),radial-gradient(circle at 85% 6%,#fff4ba 0 2px,transparent 4px),radial-gradient(circle at 93% 9%,#fff4ba 0 2px,transparent 4px);animation:festive-glow 4s ease-in-out infinite alternate}.festive-ornament{position:absolute;top:0;width:1px;background:#b89b68;height:clamp(48px,9vh,100px)}.festive-ornament:after{content:'';position:absolute;bottom:-13px;left:-7px;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#f6bbad,#bc2026 45%,#781218);box-shadow:0 2px 9px #5a1a1430}.ornament-one{left:9%}.ornament-two{right:10%;height:clamp(35px,7vh,75px)}.ornament-three{right:16%;height:clamp(65px,11vh,110px)}@keyframes festive-glow{from{opacity:.55}to{opacity:1}}
.brand-flight{position:fixed;z-index:101;height:auto;pointer-events:none}.heritage-type{display:inline-block;white-space:nowrap;font-size:clamp(9px,1.2vw,15px);letter-spacing:.12em}.heritage-type.is-typing{overflow:hidden;animation:heritage-type 2.2s steps(26,end) both}@keyframes heritage-type{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@media(min-width:1101px){.memory-chapter.is-enhanced .memory-frame{width:min(53%,82svh);max-width:710px;left:5%}.memory-chapter.is-enhanced .memory-notes{left:63%;width:31%}}
.hamper-builder>p:not(.eyebrow){max-width:620px;color:var(--muted)}.hamper-fields{display:grid;grid-template-columns:2fr 1.5fr .7fr auto;gap:16px;align-items:end;margin:30px 0}.hamper-fields .button{min-height:48px}.hamper-summary{background:#fffaf2;padding:28px;border:1px solid var(--line);border-radius:8px}.hamper-summary h3,.curated-hampers h3{font:400 clamp(26px,3vw,38px)/1.2 var(--sans);margin-bottom:15px}.hamper-summary ul{list-style:none;padding:0}.hamper-summary li{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:12px 0}.hamper-summary li button{border:0;color:var(--red);text-decoration:underline}.hamper-summary .button{margin:12px 20px 0 0}.curated-hampers{margin-top:45px;border-top:1px solid var(--line);padding-top:30px}.pack-visual{display:flex;align-items:center;gap:10px;margin:12px 0;color:var(--muted);font-size:10px;line-height:1.5}.pack-visual img{width:74px;height:58px;object-fit:contain;background:white;border:1px solid var(--line);border-radius:5px}.pack-visual img[hidden]{display:none}
@media(max-width:768px){.hamper-fields{grid-template-columns:1fr 1fr}.hamper-fields .button{width:100%}.festive-ornament{opacity:.7}.ornament-one{left:5%}.ornament-two{right:5%}.ornament-three{right:12%}}
@media(max-width:430px){.hamper-fields{grid-template-columns:1fr}.festive-ornament{top:74px;height:35px}.ornament-three{display:none}.heritage-type{letter-spacing:.08em;font-size:9px}}
@media(prefers-reduced-motion:reduce){.festive-branches,.heritage-type.is-typing{animation:none}.brand-flight{display:none!important}}
html[data-motion=off] .festive-branches,html[data-motion=off] .heritage-type.is-typing{animation:none}

.christmas-group{margin-top:55px}.christmas-group>h3{font:500 12px/1.4 var(--sans);letter-spacing:.14em;color:var(--red);border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:28px}.christmas-group .collection-grid .quick-shop-card:nth-child(5){grid-column:auto}

.festive-tree{position:absolute;z-index:2;left:1.5%;bottom:26%;width:min(15vw,185px);max-height:48%;object-fit:contain;object-position:bottom;pointer-events:none;filter:drop-shadow(0 5px 8px #49231135);transform-origin:50% 100%;animation:tree-sway 7s ease-in-out infinite alternate}@keyframes tree-sway{from{transform:rotate(-.7deg)}to{transform:rotate(.7deg)}}@media(max-width:768px){.festive-tree{width:min(22vw,120px);left:-2%;bottom:29%;max-height:36%}}@media(prefers-reduced-motion:reduce){.festive-tree{animation:none}}html[data-motion=off] .festive-tree{animation:none}

/* Supplied product photographs and original brand box artwork stay fully in frame. */
.product-visual>img.catalogue-photo,.product-visual>img.catalogue-box-art,.product-detail-image>img.catalogue-photo,.product-detail-image>img.catalogue-box-art,.store-dialog-image>img.catalogue-box-art{object-fit:contain;background:#fbf7ef}
.pack-visual[hidden]{display:none!important}
