/* BLOSSOM UI kit. Base radius is editable in the owner studio. */
:root{--ui-radius:6px;--ui-card-radius:calc(var(--ui-radius) + 6px);--ui-dialog-radius:calc(var(--ui-radius) + 10px);--control-radius:var(--ui-radius);--ui-focus:#713c4b;--ui-surface:#f5f0e8;--ui-border:#bcaaa0}
body .button,body .add-product,body .filters button,body .sort select,body .footer-cta,body .cart-trigger,body .close,body .qty button,body input:not([type=checkbox]):not([type=radio]),body select,body textarea{border-radius:var(--ui-radius)!important}
body .product-image,body .moment-card,body .moment-card:not(:first-child),body .set-product-preview,body .atelier-heading figure,body .product-related button,body .order-summary{border-radius:var(--ui-card-radius)!important;overflow:hidden}
body dialog{border-radius:var(--ui-dialog-radius)!important}
body .photo-thumbs button,body .product-tag,body .cart-line img{border-radius:var(--ui-radius)!important}
body .gallery-nav button{border-radius:50%!important}
body button:not(.inline-link):not(.product-image button):not(.product-card h3 button),body input:not([type=checkbox]):not([type=radio]),body select{min-height:44px}
body .button{min-height:52px;justify-content:center;gap:12px}
body .button:hover:not(:disabled){background:#623344;color:#f5f0e8}body .button:active:not(:disabled){background:#502a38}
body :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ui-focus);outline-offset:4px}
body button:disabled{opacity:.48;cursor:not-allowed}
body .gifts .gift-options button{border-radius:0!important}
body .gifts .gift-options button::after{content:none!important;display:none!important}
body .moments .moment-card .text-link{display:none!important}
body .moment-card:hover h3,body .set-product-preview:hover span{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
body .header{background:#f5f0e8;border-bottom:1px solid #d5c7bd;box-shadow:none}
body .header nav a{font-size:16px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;border-bottom:2px solid transparent}
body .header nav a:hover,body .header nav a[aria-current]{border-bottom-color:var(--wine);color:var(--wine)}
body .cart-trigger{background:transparent;border:1px solid transparent;font-size:16px}body .cart-trigger:hover{border-color:#bcaaa0}
body .brand-footer :is(a,button):focus-visible{outline-color:#efd2c0}
@media(max-width:700px){body .header nav{gap:8px 16px;flex-wrap:wrap}body .header nav a{font-size:14px}body .button{font-size:16px}}
@media(prefers-reduced-motion:reduce){body *,body *::before,body *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:700px){body .catalog .product-price{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0}body .catalog .product-card .add-product{width:100%;max-width:100%;min-width:0;white-space:normal;padding:10px 8px;height:auto;font-size:15px}body .catalog .product-price>span{white-space:normal}}

@media(max-width:700px){body .catalog .product-price{flex-wrap:nowrap;height:auto;min-height:0}body .catalog .product-card .add-product{flex-shrink:0}}

/* Text communicates actions; arrows are reserved for navigation direction. */
body .atelier-shop{border-bottom:0;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
body .atelier-shop:hover{color:#502a38;text-decoration-thickness:2px}
body .moment-card:hover{border-color:#8c6470}body .set-product-preview:hover{border-color:#713c4b}
body .button.button-secondary:hover:not(:disabled){background:#e7dcd1;color:#59303d;border-color:#94717a}

/* Responsive brand header: quiet navigation, persistent basket. */
body .header{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;height:88px;min-height:88px!important;padding:0 max(5.5vw,calc((100vw - 1320px)/2));background:#f5f0e8f5;backdrop-filter:blur(12px);border-bottom:1px solid #d5c7bd}
body .header .brand{justify-self:start;font-size:28px;letter-spacing:.14em;line-height:1.1;margin:0}body .header .brand span{font-size:10px;letter-spacing:.35em;margin-top:7px}
body .header nav{display:flex;gap:28px;order:initial;flex-basis:auto;padding:0;border:0;justify-content:center}
body .header nav a{font-size:16px;white-space:nowrap;padding:0 0 3px;border-bottom:2px solid transparent;min-height:44px}
body .header .cart-trigger{justify-self:end;display:flex;align-items:center;gap:8px;padding:10px 12px;border-color:transparent;white-space:nowrap;font-size:16px}
body .header #cart-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;background:#713c4b;color:#f5f0e8;border-radius:50%;font-size:12px}
body .header .menu-toggle{display:none;background:transparent;border:1px solid transparent;color:#342e2b;border-radius:var(--ui-radius);font-size:15px;padding:10px}
html{scroll-padding-top:104px}body section[id]{scroll-margin-top:104px}
@media(max-width:900px){body .header{height:76px;min-height:76px!important;grid-template-columns:1fr auto auto;gap:8px;padding:0 20px}body .header .brand{font-size:23px}body .header .brand span{font-size:9px}body .header .menu-toggle{display:block}body .header .cart-trigger{font-size:15px;padding:10px 6px}body .header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#f5f0e8;border-bottom:1px solid #d5c7bd;padding:12px 24px 24px;box-shadow:0 16px 24px #342e2b14}body .header.menu-open nav{display:flex;flex-direction:column;align-items:stretch;gap:4px}body .header nav a{font-size:18px;min-height:52px;width:100%;padding:8px 0}body .header .menu-toggle[aria-expanded=true]{background:#e8ddd3}html{scroll-padding-top:88px}body section[id]{scroll-margin-top:88px}}

/* Mobile reading: reset inherited desktop grids inside process steps. */
@media(max-width:700px){
body .atelier .process article{display:block;min-width:0}body .atelier .process h3,body .atelier .process p{grid-column:auto;grid-row:auto;width:auto;max-width:100%}body .atelier .process h3{font-size:23px;line-height:1.2}body .atelier .process p{margin:12px 0 0;font-size:16px!important;line-height:1.55}
body .section h2,body .hero h1{overflow-wrap:normal;word-break:normal;text-wrap:balance}body .atelier .atelier-heading h2{font-size:clamp(34px,9vw,40px)!important;line-height:1.12}
body .product-card{min-width:0}body .product-card h3,body .product-card h3 button{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.2}body .product-card h3 button{text-align:left}
body .set-option{min-width:0}body .set-option>span{min-width:0;overflow-wrap:anywhere}body .sets .set-option b{flex-shrink:0;font-size:14px}body .sets #add-set{white-space:normal;line-height:1.4;padding:14px 16px}
body .detail-copy,body .order-summary,body .cart-line-info{min-width:0}body .detail-copy h2,body .cart-line h3{overflow-wrap:anywhere}body .detail-copy input,body .checkout-screen input,body .checkout-screen select{min-width:0;max-width:100%;box-sizing:border-box}
body .brand-footer .footer-bottom{flex-wrap:wrap}body .brand-footer .footer-memory h2{font-size:clamp(32px,9vw,38px);line-height:1.12}
}
@media(max-width:360px){body .atelier .process{grid-template-columns:1fr;gap:24px}body .sets .set-option{flex-wrap:wrap}body .sets .set-option b{margin-left:36px}body .header{padding-inline:12px;gap:4px}body .header .brand{font-size:20px}body .header .cart-trigger,body .header .menu-toggle{font-size:14px;padding-inline:6px}}

/* Cart actions: stable rows and centered labels at every viewport. */
body .catalog .product-card .product-price{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-flow:row;gap:12px;height:auto;min-height:0;align-items:stretch;justify-content:stretch;flex-wrap:nowrap}
body .catalog .product-card .product-price>span{display:block;min-width:0;white-space:normal;line-height:1.4}
body .catalog .product-card .add-product{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:48px;height:auto;margin:0;padding:12px 14px;font:400 16px/1.4 Arial,Helvetica,sans-serif;text-align:center;white-space:normal;word-break:normal;overflow-wrap:normal;letter-spacing:0;flex-shrink:0}
body #detail-add,body #add-set,body #added-cart{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:56px;height:auto;padding:14px 20px;text-align:center;white-space:normal;word-break:normal;overflow-wrap:normal;font:400 16px/1.4 Arial,Helvetica,sans-serif;letter-spacing:0}
@media(max-width:700px){body .catalog .product-card .add-product{font-size:15px;padding:12px 8px;min-height:48px}body #detail-add,body #add-set,body #added-cart{min-height:52px;padding:14px 16px}}

body .sets #add-set,body .product-dialog #detail-add,body .added-dialog #added-cart{justify-content:center!important;text-align:center!important;align-items:center!important}

body .care{display:grid;grid-template-columns:1fr 1fr;gap:64px;background:#e5e7db;border-top:1px solid #c5c8b9}body .care h2{font-size:clamp(36px,4vw,56px);line-height:1.12;max-width:17ch;margin:20px 0 0}body .care-copy{align-self:center;max-width:46ch}body .care-copy>p{font-size:20px;line-height:1.6;margin:0}body .care-copy .care-note{font-size:16px;line-height:1.6;color:#655d54;margin-top:24px}@media(max-width:700px){body .care{grid-template-columns:1fr;gap:28px}body .care h2{font-size:36px}body .care-copy>p{font-size:18px}body .care-copy .care-note{font-size:16px}}

body .care-contact{margin-top:28px;width:fit-content;max-width:100%;box-sizing:border-box;white-space:normal;text-align:center}

body .set-navigation{display:flex;align-items:center;gap:16px;margin:0 0 28px}body .set-navigation button{width:48px;height:48px;flex-shrink:0;border:1px solid #bca79b;border-radius:var(--ui-radius);background:#f5f0e8;color:#593844;font-size:24px;cursor:pointer}body .set-navigation button:hover:not(:disabled){background:#e7d9cc}body .set-navigation button:disabled{opacity:.35;cursor:default}body .set-position{font-size:17px;line-height:1.4}body .set-gallery>div{display:flex;gap:12px;overflow-x:auto;padding:6px 4px 12px}body .set-gallery button{flex:0 0 auto;min-height:48px;padding:12px 20px;background:#ede3d8;border:1px solid #c2aea0;border-radius:var(--ui-radius)}body .set-gallery button[aria-pressed=true]{border-color:#713c4b;background:#713c4b;color:#f5f0e8}body .set-gallery .set-thumb{display:none}@media(max-width:700px){body .set-position{font-size:16px;min-width:0;overflow-wrap:anywhere}body .set-navigation{gap:12px}body .set-gallery button{max-width:240px;white-space:normal}}
