/* Storefront finishing layer: calm motion and a consistent warm surface system. */
.storefront{--surface:#fffdf7;--soft-shadow:0 12px 36px #58402208}
.storefront :focus-visible{outline:2px solid #92703f;outline-offset:4px}
.storefront [hidden]{display:none!important}
.site-header .wordmark>.brand-tagline{display:block;width:100%;margin-top:12px;line-height:1.4}
.site-header .brand-tagline>.brand-typing{display:block;width:max-content;margin:0 auto;font-size:8px;letter-spacing:3px;line-height:1.4;white-space:nowrap;clip-path:inset(0 100% 0 0);animation:brand-type 2.8s steps(16,end) .3s forwards}
.brand-typing::after{content:"";display:inline-block;width:1px;height:9px;vertical-align:-1px;background:currentColor;margin-left:3px;animation:brand-caret .65s step-end 6 forwards}
@keyframes brand-type{to{clip-path:inset(0 0 0 0)}}
@keyframes brand-caret{0%,100%{opacity:0}50%{opacity:1}}
.storefront .page-head{max-width:1200px;margin:20px auto 0;background:transparent;padding:42px 5% 12px}
.storefront .page-head h1{font-size:clamp(40px,4vw,64px)}
.storefront .page-head p{max-width:540px;margin:0 auto;line-height:1.8}
.storefront .section>h1{font-size:clamp(36px,4vw,58px);margin-bottom:32px}
.storefront .filters{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;gap:18px;box-shadow:var(--soft-shadow)}
.storefront .filters .button{min-height:44px}
.catalog-status{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 24px;font-size:12px}
.catalog-status p{margin:0}.filter-reset{border-bottom:1px solid var(--line);padding-bottom:3px;color:var(--muted)}
.filter-reset span{margin-left:8px;font-size:17px}
.storefront input:not([type=checkbox]):not([type=hidden]),.storefront select,.storefront textarea{background:var(--surface);border-color:#d9ccb5;border-radius:9px;min-height:44px;transition:border-color .18s,box-shadow .18s,background .18s}
.storefront input:focus,.storefront select:focus,.storefront textarea:focus{border-color:#92703f;box-shadow:0 0 0 3px #99764712;background:#fffefa}
.storefront input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;flex-shrink:0;vertical-align:middle}
.storefront input.input-validation-error{border-color:#a84636}
.storefront label{font-size:13px;font-weight:500;line-height:1.65}
.storefront textarea{min-height:110px;resize:vertical}
.storefront .product-card .product-photo{border-radius:14px;transition:box-shadow .3s}
.storefront .product-card:hover .product-photo{box-shadow:0 14px 26px #58402212}
.storefront .product-card h3 a{transition:color .2s}.storefront .product-card h3 a:hover{color:#92703f}
.storefront .product-card p{line-height:1.8}
.storefront .pagination a{display:grid;place-items:center;min-width:42px;min-height:42px;border-radius:50%;transition:background .2s}
.storefront .breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);margin-bottom:32px}.breadcrumbs a{border-bottom:1px solid var(--line)}
.storefront .gallery-main{background:var(--sage);border-radius:18px;overflow:hidden;cursor:zoom-in}
.storefront .gallery-main img{object-fit:contain;transition:transform .5s}.storefront .gallery-main:hover img{transform:scale(1.035)}
.storefront .thumbs button{border:1px solid transparent;border-radius:9px;padding:4px;background:var(--surface);transition:border-color .2s}
.storefront .thumbs button[aria-pressed=true]{border-color:#92703f}
.storefront .product-description h1{font-size:clamp(36px,3.4vw,54px);margin-top:18px}
.storefront .product-description .price{display:block;font-size:28px;margin:24px 0 8px;font-variant-numeric:tabular-nums}
.storefront .product-story{margin-top:28px;line-height:1.85}
.storefront details{padding:20px 0}.storefront details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;font-size:13px}
.storefront details summary::-webkit-details-marker{display:none}.storefront details summary::after{content:'+';font-size:20px;font-weight:400;transition:transform .2s}.storefront details[open] summary::after{transform:rotate(45deg)}
.storefront details[open] p{animation:soft-appear .25s ease-out}
.storefront .reviews{margin-top:65px;padding-top:36px;border-top:1px solid var(--line)}
.storefront .reviews h2{font-size:32px}.storefront .reviews blockquote{padding:22px;background:var(--surface);border-radius:12px;border-left:2px solid #c3a371}
.storefront .form-card{padding:38px;background:var(--surface);border-radius:20px;box-shadow:var(--soft-shadow)}
.storefront .form-card h1{font-size:38px}.storefront .form-card>p{line-height:1.8;font-size:14px}
.storefront .form-card .button{width:100%;min-height:48px;border-radius:26px}
.password-control{display:block;position:relative}.storefront .password-control input{padding-right:76px}
.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--muted);font-size:11px;padding:8px}
.storefront .validation-summary-valid{display:none}.storefront .validation-summary-errors{background:#fbede5;border:1px solid #e9c5b3;border-radius:10px;padding:16px;font-size:13px}
.validation-summary-errors ul{padding-left:18px;margin:0}
.storefront .notice{max-width:960px;margin:20px auto;border:1px solid #ddc8b7;border-radius:12px;background:#f4eae1;animation:soft-appear .25s ease-out}
.storefront .summary{background:#f2ead8;border:1px solid #e3d5bb;border-radius:18px;padding:28px;box-shadow:var(--soft-shadow)}
.storefront .summary h3{font-size:21px;margin-bottom:24px}.storefront .summary>div{gap:20px;font-size:13px;align-items:baseline}.storefront .summary>div>span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}
.storefront .summary>p{font-size:12px;line-height:1.8}.storefront .summary .button{border-radius:26px}
.checkout-steps{display:flex;flex-wrap:wrap;gap:22px;margin:0 0 38px;font-size:12px;color:var(--muted)}
.checkout-steps [aria-current]{color:var(--ink);font-weight:700;border-bottom:1px solid #997647;padding-bottom:6px}
.storefront .checkout-layout>form{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px}
.billing-fields{padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--paper);animation:soft-appear .2s ease-out}
.storefront .checkout-layout form>p{font-size:12px;line-height:1.8;margin-bottom:0}.storefront .check{line-height:1.65;font-weight:400}
.storefront .cart-line img{object-fit:contain;background:var(--sage);border-radius:12px}
.storefront .cart-line form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.storefront .cart-line h3{font-size:16px}.storefront .cart-line span{font-size:12px;color:var(--muted)}
.storefront .account-nav{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:40px;border-bottom:1px solid var(--line);padding-bottom:20px}
.storefront .account-nav>a,.storefront .account-nav button{padding:8px 14px;border:1px solid var(--line);border-radius:24px;background:var(--surface);font-size:12px;color:var(--ink)}
.storefront .account-block{background:var(--surface);border-radius:16px;padding:28px;scroll-margin-top:24px}
.storefront .table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.storefront .data-table{width:100%;border-collapse:collapse;background:var(--surface)}
.storefront .data-table th,.storefront .data-table td{padding:16px;text-align:left;border-bottom:1px solid var(--line);font-size:13px}.storefront .data-table th{font-size:11px;color:var(--muted);font-weight:600;background:#f3ead7}
.storefront .empty{max-width:600px;margin:20px auto;padding:40px 24px;text-align:center}.storefront .empty h2{font-size:32px}
.storefront .prose{max-width:760px;line-height:1.9}.storefront .prose h1{font-size:clamp(36px,4vw,54px)}
.storefront .site-footer{border-top:1px solid var(--line);margin-top:45px}.storefront .site-footer a:hover{color:#92703f}
.reveal-on-scroll{opacity:0;transform:translateY(16px);transition:opacity .65s ease-out,transform .65s cubic-bezier(.2,.7,.3,1)}
.reveal-on-scroll.is-revealed{opacity:1;transform:none}
.image-swapped{animation:soft-appear .3s ease-out}
.is-submitting{pointer-events:none;opacity:.75}.is-submitting::after{content:"";width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:button-spin .8s linear infinite}
@keyframes button-spin{to{transform:rotate(360deg)}}
@keyframes soft-appear{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1000px){.storefront .cart-layout>.summary,.storefront .checkout-layout>.summary{position:sticky;top:24px}}
@media(max-width:760px){
 .storefront .filters{padding:18px;gap:14px}.storefront .filters .button{width:100%}
 .storefront .form-card{padding:26px 22px}.storefront .form-card h1{font-size:34px}
 .storefront .checkout-layout>form{padding:22px 18px}.storefront .summary{padding:24px}
 .storefront .cart-line form{gap:8px}.storefront .account-block{padding:22px}
 .storefront .page-head{padding-top:30px}.storefront .notice{margin:16px 5%}
 .checkout-steps{gap:16px;font-size:11px}.catalog-status{align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
 .site-header .brand-tagline>.brand-typing{clip-path:none;animation:none}
 .brand-typing::after{display:none}.reveal-on-scroll{opacity:1;transform:none;transition:none}
}
@media print{.reveal-on-scroll{opacity:1;transform:none}.brand-typing{clip-path:none!important}}
.storefront details.catalog-filters{border:0;padding:0;margin-bottom:24px}
.storefront .catalog-filters>.filters{margin-bottom:0}
@media(min-width:761px){.storefront .catalog-filters>summary{display:none}}
@media(max-width:760px){
 .storefront .catalog-filters>summary{padding:15px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
 .storefront .catalog-filters[open]>summary{margin-bottom:12px}
}

/* Compact catalog: one toolbar, quiet category links, optional refinements. */
.storefront .catalog-head{padding:32px 5% 0;text-align:left;width:var(--store-width);max-width:calc(100% - 40px)}
.storefront .catalog-head h1{font-size:clamp(34px,3.4vw,48px);margin:15px 0 12px}
.storefront .catalog-head p{max-width:none;margin:0;font-size:14px}
.storefront .catalog-shop{padding-top:30px;padding-bottom:32px}
.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px}
.catalog-search{display:flex;align-items:center;gap:10px;width:min(350px,50%);border:1px solid var(--line);border-radius:28px;background:var(--surface);padding:0 8px 0 16px}
.catalog-search>.ui-icon{width:17px;height:17px;color:var(--muted)}
.storefront .catalog-search input{min-width:0;width:100%;border:0;background:none;box-shadow:none;padding:11px 0;font-size:13px}
.catalog-search:focus-within{outline:2px solid #99764755;outline-offset:2px}
.catalog-search button{border:0;border-radius:50%;width:34px;height:34px;flex-shrink:0;background:var(--sage);color:var(--ink)}
.catalog-sort{display:flex;align-items:center;gap:10px}.catalog-sort label{font-size:11px;color:var(--muted);white-space:nowrap}
.storefront .catalog-sort select{border:0;background:transparent;font-size:12px;max-width:180px;padding:10px 25px 10px 5px}
.catalog-navigation{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px;position:relative;border-bottom:1px solid var(--line);margin-top:18px;padding-bottom:14px}
.category-tabs{display:flex;align-items:center;gap:20px;flex:1;overflow-x:auto;scrollbar-width:thin;padding:10px 0 5px}
.category-tabs a{font-size:12px;white-space:nowrap;color:var(--muted);padding-bottom:6px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.category-tabs a[aria-current],.category-tabs a:hover{color:var(--ink);border-color:#997647}
.category-tabs a:last-child{color:#876334}
.storefront details.catalog-refine{border:0;padding:0;display:contents}
.storefront .catalog-refine>summary{display:flex;gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:22px;font-size:12px;order:1;background:var(--surface)}
.storefront .catalog-refine>summary::after{display:none}.catalog-refine>summary .ui-icon{width:16px;height:16px}
.filter-number{display:grid;place-items:center;min-width:18px;height:18px;background:var(--accent);color:white;border-radius:50%;font-size:10px}
.catalog-refine-panel{order:2;flex-basis:100%;display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:20px;align-items:end;padding:20px;background:#f4eddd;border-radius:12px;animation:soft-appear .2s ease-out}
.catalog-refine:not([open])>.catalog-refine-panel{display:none}
.catalog-refine-panel label{font-size:12px}.catalog-refine-panel .check{align-self:center;display:flex;align-items:center;gap:8px}
.storefront .catalog-refine-panel input[type=checkbox]{margin:0}
.catalog-refine-panel .button{font-size:12px;padding:12px 18px;border-radius:24px}
.catalog-shop .catalog-status{margin:18px 0 24px;font-size:11px}
.catalog-shop .product-grid{column-gap:24px;row-gap:38px}
.catalog-shop .product-card h3{font-size:17px;line-height:1.35;min-height:2.7em;margin:8px 0}
.catalog-shop .product-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:3.6em;margin-bottom:10px}
.storefront .cookie-boxes{padding-top:36px;padding-bottom:40px;scroll-margin-top:30px}
.boxes-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}
.boxes-heading h2{font-size:32px;letter-spacing:-.05em;margin:10px 0 0}.boxes-heading>p{font-size:12px;margin:0;max-width:220px}
.box-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cookie-box-card{display:grid;grid-template-columns:135px 1fr;gap:20px;align-items:center;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden;padding:16px;transition:border-color .2s,transform .25s,box-shadow .25s}
.cookie-box-card:hover{border-color:#c4a979;transform:translateY(-3px);box-shadow:0 12px 25px #5840220b;color:var(--ink)}
.box-photo{height:152px;border-radius:10px;overflow:hidden;background:#ede4cc}.box-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.cookie-box-card:hover img{transform:scale(1.04)}
.box-size{font-size:9px;letter-spacing:1.4px;color:#876334;font-weight:600}.box-copy h3{font-size:21px;line-height:1.15;margin:8px 0}.box-copy p{font-size:12px;line-height:1.7;margin:0 0 15px}.box-link{font-size:11px;font-weight:600;display:flex;align-items:center;gap:18px}.box-link>span{transition:transform .2s}.cookie-box-card:hover .box-link>span{transform:translate(2px,-2px)}
.box-destination{font-size:10px;margin:12px 0 0;color:var(--muted)}
@media(max-width:760px){
 .storefront .catalog-head{padding:25px 0 0;max-width:88%;width:auto;margin:0 auto}
 .storefront .catalog-shop{padding-top:24px}.catalog-toolbar{flex-wrap:wrap;gap:10px}.catalog-search{width:100%}.catalog-sort{margin-left:auto}.catalog-sort label{font-size:10px}
 .catalog-navigation{margin-top:6px;gap:10px}.category-tabs{flex-basis:100%;gap:18px}.catalog-refine>summary{margin-left:auto}
 .catalog-refine-panel{grid-template-columns:1fr 1fr;padding:16px;gap:16px}.catalog-refine-panel .check{grid-column:1/-1}.catalog-refine-panel .button{grid-column:1/-1}
 .catalog-shop .product-grid{column-gap:16px;row-gap:28px}.catalog-shop .product-card h3{font-size:15px}
 .boxes-heading{display:block}.boxes-heading h2{font-size:28px}.boxes-heading>p{max-width:none;margin-top:10px}.box-grid{grid-template-columns:1fr;gap:12px}
 .cookie-box-card{grid-template-columns:100px 1fr;gap:16px;padding:12px}.box-photo{height:122px}.box-copy h3{font-size:20px}.box-copy p{font-size:11px;margin-bottom:10px}.box-destination{line-height:1.7}
}
/* Keep native details content in its own full-width row. */
.catalog-navigation{display:block}
.category-tabs{padding-right:112px;min-height:43px}
.storefront details.catalog-refine{display:block;width:100%}
.storefront .catalog-refine>summary{position:absolute;right:0;top:0}
.catalog-refine-panel{margin-top:14px}
@media(min-width:761px){.storefront .catalog-head{padding-left:0;padding-right:0}}
@media(max-width:760px){
 .category-tabs{padding-right:0;margin-right:0}
 .storefront details.catalog-refine{padding-top:44px;position:relative}
 .storefront .catalog-refine>summary{top:6px}
 .catalog-refine-panel{margin-top:8px}
}
.category-tabs{scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}
.hero-box-link{font-size:12px;margin-top:16px;border-bottom:1px solid #b7a37c;padding-bottom:2px;color:var(--muted)}

/* A quieter, tactile finish and a native cookie box builder. */
.storefront .product-card,.storefront .cookie-box-card{box-shadow:0 3px 9px #48332005,0 16px 35px -24px #48332035;border:1px solid #b99c7426;transition:transform .28s,box-shadow .28s}
.storefront .product-card:hover,.storefront .cookie-box-card:hover{transform:translateY(-4px);box-shadow:0 8px 15px #48332008,0 24px 40px -22px #48332045}
.storefront .product-card{--product-inset:16px;display:flex;flex-direction:column;padding:var(--product-inset);border-radius:16px;min-width:0}
.storefront .product-card .product-photo{flex-shrink:0;width:calc(100% + var(--product-inset)*2);margin:calc(-1*var(--product-inset)) calc(-1*var(--product-inset)) 0;border-radius:15px 15px 0 0}
.storefront .product-card h3{min-height:2.7em;line-height:1.35;margin:8px 0}
.storefront .product-card>p{flex:1}
.storefront .product-card>.quick-view{align-self:flex-start;margin-bottom:10px}
@media(max-width:767px){.storefront .product-card{--product-inset:12px}}
@media(max-width:380px){.storefront .product-meta{flex-wrap:wrap;row-gap:6px}.storefront .product-meta .wish{margin-left:auto}}
.storefront .summary,.storefront .checkout-summary{box-shadow:0 20px 55px -35px #48332055;border:1px solid #b99c7430}
.storefront .button{box-shadow:0 6px 15px -9px #342d25a0;transition:transform .2s,box-shadow .2s,background .2s}
.storefront .button:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px #342d2580}
.storefront .button:disabled{transform:none;box-shadow:none;opacity:.55;cursor:not-allowed}
.box-back{font-size:.8rem;text-decoration:none;color:#766953}.builder-heading{margin:26px 0 34px;max-width:740px}.builder-heading h1{font-size:clamp(2.25rem,4vw,3.8rem);line-height:1.12;margin:12px 0}.builder-heading p{color:#776951}.box-size-picker{display:inline-flex;padding:4px;background:#eadfcc;border:1px solid #dbcbb3;border-radius:9px;gap:4px;margin-top:12px}.box-size-picker a{padding:10px 24px;border-radius:6px;text-decoration:none;color:#665a47;font-size:.85rem}.box-size-picker a[aria-current=page]{background:#fffaf2;box-shadow:0 2px 6px #583e2515;color:#443823;font-weight:600}
.builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}.flavor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.flavor-card{border:1px solid #dacbb74f;border-radius:12px;background:#fffaf3;overflow:hidden;box-shadow:0 10px 28px -22px #49342166;transition:border-color .25s,box-shadow .25s,transform .25s}.flavor-card.is-selected{border-color:#8b6c52;box-shadow:0 0 0 1px #8b6c52,0 14px 30px -24px #49342166}.flavor-image{display:block;background:#f1e7d7;overflow:hidden}.flavor-image img{width:100%;height:190px;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s}.flavor-image:hover img{transform:scale(1.055)}.flavor-info{padding:18px}.flavor-info h2{font-size:1.2rem;margin:0 0 8px;line-height:1.3}.flavor-info p{font-size:.9rem;margin:0 0 18px}.flavor-info p span{font-size:.72rem;color:#83735f}.flavor-bottom{display:flex;justify-content:space-between;align-items:center;gap:6px}.flavor-bottom>span{font-size:.68rem;color:#7c6a52}.flavor-quantity{display:grid;grid-template-columns:30px 30px 30px;align-items:center;background:#f1e9dc;border:1px solid #ded0bb;border-radius:6px;height:34px}.flavor-quantity button{border:0;background:transparent;font-size:1.1rem;height:32px;line-height:1;padding:0;color:#493e2b}.flavor-quantity button:disabled{opacity:.25;cursor:not-allowed}.flavor-quantity input{width:30px;min-width:0;padding:0;border:0;text-align:center;background:transparent;font-size:.85rem;appearance:textfield;box-shadow:none}.flavor-quantity input::-webkit-inner-spin-button{appearance:none}
.builder-summary{position:sticky;top:105px;padding:27px;background:#fffaf2;border:1px solid #deceb7;border-radius:12px;box-shadow:0 7px 15px #5d402706,0 28px 50px -32px #5d402752}.builder-summary h2{font-size:1.8rem;margin:12px 0 22px}.box-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}.box-slots span{aspect-ratio:1;border:1px dashed #cbb897;border-radius:8px;display:grid;place-items:center;color:#ac9678;font-size:.7rem;background:#f8f0e3;overflow:hidden}.box-slots span.is-filled{border-style:solid;border-color:#c0a38b;background:#eee9d9}.box-slots img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.box-progress{font-size:.8rem;font-weight:600;margin:0 0 9px}.builder-summary progress{display:block;width:100%;height:4px;accent-color:#805f44;border:0;border-radius:4px;overflow:hidden}.builder-summary progress::-webkit-progress-bar{background:#ebe1cf}.builder-summary progress::-webkit-progress-value{background:#88684d;transition:width .25s}.box-help{font-size:.8rem;line-height:1.7;color:#80715b;margin:18px 0}.box-price{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e7dbca;padding-top:20px}.box-price span{font-size:.85rem}.box-price strong{font-size:1.5rem}.box-price-note{font-size:.67rem;color:#89785f;line-height:1.6;margin:10px 0 20px}.box-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:10px}.box-summary-link{display:block;text-align:center;margin-top:16px;font-size:.72rem;color:#7c6b52}.cart-box-content{font-size:.75rem;margin-top:10px}.box-content-quantity{color:#7b5d45}.box-remove{background:none;border:0;padding:4px 0;color:#86745d;text-decoration:underline;font-size:.7rem}.builder-summary [role=alert]{font-size:.8rem;color:#9b3b2b}.flavor-card.just-changed .flavor-quantity{animation:box-choice .28s ease-out}@keyframes box-choice{50%{transform:scale(1.08)}}
@media(max-width:800px){.builder-layout{grid-template-columns:minmax(0,1fr) 260px;gap:16px}.flavor-grid{gap:12px}.flavor-info{padding:12px}.flavor-info h2{font-size:1.05rem}.flavor-bottom{flex-wrap:wrap;gap:10px}.builder-summary{padding:20px}.flavor-image img{height:155px}}
@media(max-width:620px){.builder-layout{grid-template-columns:1fr}.builder-summary{position:static}.builder-heading{margin-bottom:24px}.flavor-image img{height:155px}.flavor-grid{gap:12px}.box-slots{grid-template-columns:repeat(8,1fr);gap:5px}.box-size-picker{width:100%}.box-size-picker a{flex:1;text-align:center}.builder-summary h2{font-size:1.65rem}.flavor-info h2{min-height:2.6em}.box-builder.section{padding-top:25px}}
.cart-box-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;margin-top:18px;background:#eee8d8;border:1px solid #ded5bd;border-radius:8px;color:#5f4733;font-size:.85rem;font-weight:600}.cart-box-heading small{font-weight:400;font-size:.65rem;color:#81765e}
/* Box interactions: equal control cells and an in-place product preview. */
.storefront .flavor-quantity{grid-template-columns:36px 32px 36px;height:38px;padding:0;gap:0;flex-shrink:0;overflow:hidden;align-items:stretch}
.storefront .flavor-quantity button{display:grid;place-items:center;width:36px;min-width:0;height:36px;min-height:0;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;line-height:1;transform:none}
.storefront .flavor-quantity button svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;pointer-events:none}
.storefront .box-builder .flavor-quantity input[type=number]{display:block;box-sizing:border-box;width:32px;height:36px;min-height:0;padding:0;margin:0;border:0;border-radius:0;line-height:36px;text-align:center;font-variant-numeric:tabular-nums;background:transparent;box-shadow:none}
.flavor-info{display:flex;flex-direction:column;flex:1}.flavor-card{display:flex;flex-direction:column}.flavor-info h2{min-height:2.6em}.flavor-info h2 a{color:inherit;text-decoration:none}.flavor-info h2 a:hover{text-decoration:underline;text-underline-offset:4px}.flavor-bottom{margin-top:auto}.box-edit{font-weight:600;font-size:.75rem;color:inherit;text-underline-offset:3px}.cart-box-heading{flex-wrap:wrap}.cart-box-heading small{flex-basis:100%}
.flavor-dialog{width:min(820px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:40px;border:1px solid #d9c9ae;border-radius:16px;background:#fffaf2;color:#3b200f;box-shadow:0 30px 100px #30251445;overflow:auto}.flavor-dialog::backdrop{background:#30251465;backdrop-filter:blur(5px)}.flavor-dialog[open]{animation:flavor-preview-in .22s ease-out}.flavor-dialog-open{overflow:hidden}.flavor-dialog-close{position:absolute;right:12px;top:10px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #dbcfbb;border-radius:50%;background:#fffaf2;font-size:1.5rem;line-height:1;color:#5e4a39}.flavor-detail-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:30px;align-items:start}.flavor-detail-layout>img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#f0e6d6;border-radius:10px;mix-blend-mode:multiply}.flavor-detail-layout h2{font-size:2rem;margin:10px 0}.flavor-detail-layout h3{font-size:1rem;margin:20px 0 8px}.flavor-detail-layout p{font-size:.85rem;line-height:1.7;color:#71634f}.flavor-detail-layout .flavor-detail-price{font-weight:600;color:#634b37}.flavor-detail-actions{display:flex;flex-direction:column;align-items:start;gap:16px;margin-top:24px}.flavor-detail-actions>a{font-size:.8rem;color:#65563f}.flavor-detail-layout summary{cursor:pointer;font-size:.85rem}.flavor-detail-layout .button{font-size:.8rem}
@keyframes flavor-preview-in{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}
@media(max-width:620px){.flavor-dialog{padding:46px 22px 26px}.flavor-detail-layout{grid-template-columns:1fr;gap:18px}.flavor-detail-layout>img{max-height:220px}.flavor-detail-layout h2{font-size:1.6rem}.flavor-bottom{gap:12px}}
@media(prefers-reduced-motion:reduce){.flavor-dialog[open]{animation:none}}

/* Compact brand announcement, with a single gentle entrance. */
.storefront .announcement{position:relative;isolation:isolate;min-height:38px;padding:8px 20px;background:linear-gradient(100deg,#eae1c9,#f2ead7 50%,#eae1c9);color:#5a4533;border-bottom:1px solid #bbaa792d;box-shadow:inset 0 1px 0 #fff8;font-size:10.5px;letter-spacing:.025em;line-height:1.5}
.announcement-content{display:flex;align-items:center;justify-content:center;gap:24px;max-width:100%;animation:announcement-enter .65s ease-out both}
.storefront .announcement .announcement-item{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap}
.storefront .announcement .announcement-copy{display:inline}
.announcement-icon{display:block;width:15px;height:15px;flex-shrink:0;color:#896445}
.announcement-love .announcement-icon{animation:announcement-love 1.1s ease-in-out .5s both;transform-origin:center}
.storefront .announcement .announcement-divider{display:block;width:1px;height:14px;background:#9e94634d;flex-shrink:0}
.announcement-delivery{text-decoration:none;color:inherit;transition:color .2s}
.announcement-copy strong{font-weight:600}
.announcement-arrow{width:12px;height:12px;opacity:.55;transition:transform .2s,opacity .2s}
.announcement-delivery:hover{color:#3b200f}.announcement-delivery:hover .announcement-arrow{transform:translateX(3px);opacity:1}
.announcement-delivery:focus-visible{outline:2px solid #7f5a3b;outline-offset:3px;border-radius:2px}
.announcement-delivery .announcement-icon{animation:announcement-deliver .7s ease-out .45s both}
@keyframes announcement-enter{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes announcement-love{0%,100%{transform:scale(1)}30%{transform:scale(1.17)}55%{transform:scale(1)}75%{transform:scale(1.1)}}
@keyframes announcement-deliver{from{opacity:0;transform:translateX(-5px)}to{opacity:1;transform:none}}
@media(max-width:767px){.storefront .announcement{min-height:34px;padding:8px 14px;font-size:10px}.storefront .announcement .announcement-divider,.storefront .announcement .announcement-delivery{display:none}.announcement-content{gap:0}.announcement-icon{width:14px;height:14px}}
@media(prefers-reduced-motion:reduce){.announcement-content,.announcement-icon{animation:none}.announcement-arrow{transition:none}}
/* Give the story photograph a deliberate crop instead of its intrinsic HTML height. */
.storefront .story>img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
@media(max-width:767px){.storefront .story>img{aspect-ratio:4/3}}
