/* Reference storefront — DaisyUI supplies components; this file defines the layout. */
html:has(body.reference-store) { background:#edf3fa; scroll-padding-top:24px; }
body.caramel-theme.reference-store {
 --ref-ink:#111216; --ref-muted:#7b7d87; --ref-line:#e9eaee;
 --ref-surface:#f7f7fa; --ref-lavender:#c3caed; --ref-pink:#f1dce8;
 width:min(1320px,calc(100% - 80px)); margin:40px auto; padding:0;
 min-height:100vh; background:#fff; color:var(--ref-ink);
 font-family:Manrope,Arial,Helvetica,sans-serif; font-size:14px; line-height:1.55;
 box-shadow:0 18px 100px #ccd8e533; overflow-x:clip;
}
.reference-store *, .reference-store *::before, .reference-store *::after { box-sizing:border-box; }
.reference-store a { color:inherit; text-decoration:none; }
.reference-store button { font-family:inherit; }
.reference-store h1,.reference-store h2,.reference-store h3,.reference-store p { margin-top:0; }
.reference-store .top-support-bar { display:none; }
.reference-store .store-nav.navbar {
 position:relative; inset:auto; z-index:1010; display:block; width:100%;
 height:96px; min-height:0; padding:0 42px; background:#fff; color:var(--ref-ink);
 border:0; box-shadow:none; backdrop-filter:none;
}
.reference-store .store-nav .nav-wrapper.container {
 display:flex; align-items:center; justify-content:space-between; gap:32px;
 width:100%; max-width:none; height:100%; min-height:0; margin:0; padding:0;
}
.reference-store .store-nav .brand-logo {
 position:static; display:inline-flex; align-items:center; gap:12px; flex:0 1 auto;
 max-width:28%; overflow:hidden; font-size:21px; line-height:1.1;
 font-weight:700; letter-spacing:-1px; white-space:nowrap; color:var(--ref-ink);
}
.reference-store .ref-brand-mark { flex:0 0 26px; width:26px; height:26px; }
.reference-store .ref-nav-links { display:flex; justify-content:center; gap:28px; margin-left:auto; }
.reference-store .ref-nav-links a { display:flex; align-items:center; gap:6px; padding:8px 0; font-size:12px; font-weight:500; white-space:nowrap; }
.reference-store .ref-nav-links a::before { content:'•'; font-size:9px; }
.reference-store .ref-nav-links a:hover { opacity:.55; }
.reference-store .store-nav .nav-actions { display:flex; align-items:center; gap:10px; height:auto; margin:0; }
.reference-store .store-nav .cart-link {
 position:relative; display:inline-flex; align-items:center; gap:10px;
 width:auto; height:44px; min-height:44px; margin:0; padding:0 17px;
 background:#f7f7f8; color:var(--ref-ink); border:0; border-radius:100px;
 font-size:12px; font-weight:500; line-height:1; box-shadow:none;
}
.reference-store .cart-link .cart-icon { display:inline-flex; font-size:15px; }
.reference-store .cart-link .cart-badge { min-width:18px; height:18px; min-height:18px; padding:0 4px; background:#fff; color:var(--ref-ink); border:0; border-radius:50%; font-size:10px; line-height:18px; }
body.caramel-theme.reference-store .store-nav .nav-search-trigger.btn,
body.caramel-theme.reference-store .store-nav .mobile-category-trigger.btn {
 position:relative; display:inline-flex; align-items:center; justify-content:center;
 flex:0 0 44px; width:44px; min-width:44px; height:44px; min-height:44px;
 margin:0; padding:0; border:0!important; border-radius:50%;
 background:#f7f7f8!important; color:var(--ref-ink)!important; box-shadow:none;
 transform:none; line-height:1; letter-spacing:0; text-transform:none;
}
.reference-store .store-nav .nav-search-text { display:none; }
.reference-store .store-nav .mobile-category-trigger { flex-direction:column; gap:4px; }
.reference-store .store-nav .mobile-category-trigger span { position:static; display:block; width:14px; height:1.5px; margin:0; background:currentColor; border-radius:2px; transform:none; }
.reference-store .store-nav .mobile-category-trigger span:nth-child(2) { width:10px; margin-left:4px; }
.reference-store .ref-home { width:100%; padding:0; isolation:isolate; }
.reference-store .ref-hero {
 position:relative; height:570px; margin:0 14px; overflow:hidden; border-radius:26px;
 background:radial-gradient(ellipse at 72% 8%,#efd6de 0,transparent 55%),linear-gradient(110deg,#c4cbed 8%,#c6d0eb 43%,#ead7e7 100%);
}
.reference-store .ref-hero-word { position:absolute; top:16px; left:34px; z-index:1; margin:0; color:#fff; font-size:clamp(100px,14.5vw,218px); font-weight:500; line-height:1.1; letter-spacing:-.075em; }
.reference-store .ref-hero-asterisk { position:absolute; right:35px; top:6px; color:#ffffff75; font-size:215px; line-height:1.3; }
.reference-store .ref-hero-person { position:absolute; z-index:2; right:-72px; bottom:-6px; width:65%; max-width:none; height:auto; max-height:96%; object-fit:contain; object-position:right bottom; pointer-events:none; }
.reference-store .ref-hero-bottom { position:absolute; z-index:3; left:45px; right:40px; bottom:48px; display:flex; align-items:center; gap:46px; }
.reference-store .ref-insight.card { display:flex; flex-direction:column; flex:0 0 232px; min-height:218px; padding:20px; background:#fff; color:var(--ref-ink); border:0; border-radius:24px; box-shadow:none; }
.reference-store .ref-insight-label { display:flex; align-items:center; justify-content:space-between; gap:6px; font-size:12px; font-weight:600; }
.reference-store .ref-insight-label .badge { padding:5px 8px; height:auto; min-height:0; background:#ffe1a8; color:#594522; border:0; border-radius:30px; font-size:10px; font-weight:500; }
.reference-store .ref-insight-category { display:flex; align-items:center; gap:8px; margin:24px 0; font-size:11px; }
.reference-store .ref-insight-category>span:first-child { display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:50%; background:#f6f6f8; font-size:22px; }
.reference-store .ref-insight-category>span:last-child { margin-left:auto; font-size:17px; }
.reference-store .ref-insight-number { display:flex; align-items:baseline; gap:4px; font-size:64px; font-weight:500; line-height:.95; letter-spacing:-5px; }
.reference-store .ref-insight-number small { font-size:11px; letter-spacing:0; }
.reference-store .ref-insight-number>span { margin-left:auto; font-size:27px; letter-spacing:0; }
.reference-store .ref-hero-copy { width:285px; padding-top:35px; color:white; text-shadow:0 1px 8px #6d69852b; }
.reference-store .ref-hero-copy h1 { margin:0 0 9px; color:inherit; font-size:19px; font-weight:600; line-height:1.35; letter-spacing:-.6px; }
.reference-store .ref-hero-copy p { margin:0 0 22px; font-size:12px; line-height:1.65; }
body.reference-store .ref-pill,body.reference-store .ref-pill.btn {
 display:inline-flex; align-items:center; justify-content:center; gap:20px;
 width:auto; height:42px; min-height:42px; max-width:100%; margin:0;
 padding:0 19px; border:1px solid var(--ref-line)!important; border-radius:100px;
 background:#fff!important; color:var(--ref-ink)!important; box-shadow:none;
 font-family:inherit; font-size:11px; font-weight:500; line-height:1.1;
 text-align:center; letter-spacing:0; text-transform:none; text-shadow:none; white-space:nowrap;
}
.reference-store .ref-pill>span:last-child { font-size:16px; }
body.reference-store .ref-pill:hover { border-color:#999!important; background:#f9f9fb!important; transform:translateY(-1px); }
.reference-store .ref-section { padding:58px 52px; }
.reference-store .ref-section-title { margin:0 0 32px; color:var(--ref-ink); font-size:36px; font-weight:500; line-height:1.18; letter-spacing:-1.9px; }
.reference-store .ref-centered { text-align:center; }
.reference-store .ref-section-head { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:34px; }
.reference-store .ref-section-head .ref-section-title { margin:0; }
.reference-store .ref-section-head>p { margin:0; color:var(--ref-muted); font-size:12px; line-height:1.65; }
.reference-store .ref-categories { padding-top:94px; padding-bottom:38px; }
.reference-store .ref-categories .ref-section-title { margin-bottom:48px; }
.reference-store .ref-category-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px; }
.reference-store .ref-category { display:flex; flex-direction:column; align-items:center; gap:13px; min-width:0; text-align:center; font-size:12px; font-weight:500; line-height:1.45; }
.reference-store .ref-category-media { display:grid; place-items:center; width:100%; aspect-ratio:120/110; padding:18px; border-radius:16px; background:var(--ref-surface); }
.reference-store .ref-category-media img { display:block; width:100%; height:100%; max-height:170px; object-fit:contain; mix-blend-mode:multiply; transition:transform .2s ease; }
.reference-store .ref-category-media>span { font-size:44px; color:#b7bfd9; }
.reference-store .ref-category:hover .ref-category-media img { transform:translateY(-4px); }
.reference-store .ref-product-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 54px)/4); gap:18px; overflow-x:auto; padding:2px 0 10px; scroll-snap-type:x mandatory; scrollbar-width:none; }
.reference-store .ref-product-track::-webkit-scrollbar { display:none; }
.reference-store .ref-product.card { position:relative; display:flex; flex-direction:column; min-width:0; margin:0; padding:17px 15px 13px; background:var(--ref-surface); border:0; border-radius:20px; box-shadow:none; scroll-snap-align:start; }
.reference-store .ref-product-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:6px; min-height:55px; }
.reference-store .ref-product-heading>div { min-width:0; }
.reference-store .ref-product h3 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:0 0 3px; color:var(--ref-ink); font-size:12px; font-weight:600; line-height:1.5; letter-spacing:-.25px; }
.reference-store .ref-product-heading>div>span { display:block; color:var(--ref-muted); font-size:10px; }
body.reference-store .ref-favorite.btn { display:grid; place-items:center; flex:0 0 28px; width:28px; min-width:28px; height:28px; min-height:28px; margin:0; padding:0; color:var(--ref-ink)!important; background:#fff!important; border:0!important; border-radius:50%; box-shadow:none; line-height:1; }
.reference-store .ref-favorite[aria-pressed="true"] svg { fill:#f6cbdc; stroke:#9b4163; }
.reference-store .ref-favorite:focus-visible { outline:2px solid var(--color-primary); outline-offset:3px; }
.reference-store .ref-product-image { display:flex; align-items:center; justify-content:center; height:225px; margin:4px 0 12px; padding:14px; }
.reference-store .ref-product-image img { display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .25s ease; }
.reference-store .ref-product-image:hover img { transform:scale(1.045); }
.reference-store .ref-placeholder { font-size:80px; color:#b8c2df; }
.reference-store .ref-product-bottom { display:flex; align-items:center; justify-content:space-between; gap:6px; margin-top:auto; }
.reference-store .ref-product-price { white-space:nowrap; font-size:12px; font-weight:600; letter-spacing:-.4px; }
.reference-store .ref-product-bottom form { margin:0; flex:0 0 auto; }
body.reference-store .ref-cart-button.btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; width:auto; height:36px; min-height:36px; margin:0; padding:0 10px; border:0!important; border-radius:100px; background:#fff!important; color:var(--ref-ink)!important; font-size:10px; font-weight:500; line-height:1; letter-spacing:0; text-transform:none; box-shadow:none; }
body.reference-store .ref-cart-button.btn:hover { background:#e9eaf2!important; }
.reference-store .ref-slider-actions { display:flex; justify-content:center; gap:8px; margin-top:20px; }
body.reference-store .ref-round.btn { display:grid; place-items:center; width:34px; min-width:34px; height:34px; min-height:34px; margin:0; padding:0; background:#fff!important; color:var(--ref-ink)!important; border:1px solid var(--ref-line)!important; border-radius:50%; font-size:16px; line-height:1; box-shadow:none; }
.reference-store .ref-seasonal { padding-top:42px; }
.reference-store .ref-season-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.reference-store .ref-season.card { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; min-height:190px; overflow:hidden; padding:24px; border:0; border-radius:20px; background:linear-gradient(105deg,#f5f4f9,#ecddf5); box-shadow:none; }
.reference-store .ref-season-1.card { background:linear-gradient(105deg,#faf8f2,#f9ddc5); }
.reference-store .ref-season-2.card { background:linear-gradient(105deg,#fbf5f6,#f1deeb); }
.reference-store .ref-season h3 { position:relative; z-index:1; width:53%; margin:0 0 28px; font-size:18px; font-weight:500; line-height:1.25; letter-spacing:-.6px; }
.reference-store .ref-season .ref-pill { z-index:1; height:29px; min-height:29px; padding:0 12px; gap:12px; border:0!important; font-size:10px; }
.reference-store .ref-season-art { position:absolute; right:0; bottom:0; width:46%; height:85%; object-fit:contain; object-position:right bottom; padding:14px; border-radius:0; mix-blend-mode:multiply; }
.reference-store .ref-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.reference-store .ref-centered-action { display:flex; justify-content:center; margin-top:30px; }
.reference-store .ref-advisors { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding-top:12px; padding-bottom:25px; }
.reference-store .ref-advisor.card { position:relative; min-height:255px; overflow:hidden; padding:28px; border:0; border-radius:22px; background:#f7f7fb; box-shadow:none; }
.reference-store .ref-advisor-dark.card { background:#1e275e; color:white; }
.reference-store .ref-advisor>div { position:relative; z-index:1; width:49%; }
.reference-store .ref-advisor h2 { margin:0 0 12px; font-size:23px; line-height:1.2; font-weight:500; letter-spacing:-.8px; }
.reference-store .ref-advisor p { margin:0 0 34px; max-width:160px; font-size:11px; line-height:1.65; opacity:.7; }
.reference-store .ref-advisor .ref-pill { height:34px; min-height:34px; padding:0 13px; gap:14px; font-size:10px; }
.reference-store .ref-advisor-dark .ref-pill { background:#e7dff5!important; border-color:transparent!important; }
.reference-store .ref-advisor-art { position:absolute; right:0; bottom:0; width:57%; height:94%; object-fit:contain; object-position:right bottom; }
.reference-store .ref-promise-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.reference-store .ref-promise.card { display:flex; flex-direction:column; min-height:210px; padding:24px 22px; background:var(--ref-surface); border:0; border-radius:18px; box-shadow:none; }
.reference-store .ref-promise-icon { margin-bottom:20px; font-size:23px; line-height:1; }
.reference-store .ref-promise h3 { margin:0 0 10px; font-size:15px; font-weight:600; line-height:1.3; letter-spacing:-.5px; }
.reference-store .ref-promise p { margin:0 0 24px; color:var(--ref-muted); font-size:11px; line-height:1.75; }
.reference-store .ref-promise>span:last-child { margin-top:auto; font-size:9px; }
.reference-store .ref-delivery { position:relative; min-height:325px; margin:25px 28px 40px; padding:42px 44px; overflow:hidden; border-radius:24px; background:linear-gradient(105deg,#b8c6ee,#edd9e7); }
.reference-store .ref-delivery>div { position:relative; z-index:1; width:50%; }
.reference-store .ref-delivery h2 { margin:0 0 20px; color:#fff; font-size:36px; font-weight:500; line-height:1.16; letter-spacing:-1.5px; }
.reference-store .ref-delivery p { margin:0 0 25px; color:#fff; font-size:11px; line-height:1.7; }
.reference-store .ref-delivery-art { position:absolute; right:8px; bottom:0; width:48%; height:96%; object-fit:contain; object-position:right bottom; }
.reference-store .ref-journal { padding-top:38px; }
.reference-store .ref-journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.reference-store .ref-journal-card.card { overflow:hidden; background:#fff; border:1px solid var(--ref-line); border-radius:18px; box-shadow:none; }
.reference-store .ref-journal-image { display:flex; align-items:center; justify-content:center; height:200px; background:linear-gradient(120deg,#dce6f6,#f1e5f2); }
.reference-store .ref-journal-image img { width:100%; height:100%; object-fit:cover; }
.reference-store .ref-journal-image>span { font-size:90px; color:#ffffffaa; }
.reference-store .ref-journal-card>div { padding:22px; }
.reference-store .ref-journal-card time { color:var(--ref-muted); font-size:10px; }
.reference-store .ref-journal-card h3 { margin:12px 0; font-size:19px; font-weight:500; line-height:1.35; letter-spacing:-.7px; }
.reference-store .ref-journal-card p { margin:0 0 18px; color:var(--ref-muted); font-size:12px; }
.reference-store .ref-journal-card>div>a { font-size:11px; }
.reference-store .ref-faq { display:grid; grid-template-columns:1fr 1.4fr; gap:60px; margin-top:20px; padding:58px 52px; background:linear-gradient(120deg,#eef3f9,#faf9fd); }
.reference-store .ref-faq .ref-section-title { margin-bottom:22px; }
.reference-store .ref-faq>div>p { margin:0 0 25px; color:var(--ref-muted); font-size:12px; }
.reference-store .ref-faq .ref-pill { margin-top:8px; background:transparent!important; border:0!important; padding:0; }
.reference-store .ref-faq-item.collapse { display:block; min-height:0; margin:0; padding:0; border:0; border-bottom:1px solid #dddfe6; border-radius:0; background:transparent; }
.reference-store .ref-faq-item summary.collapse-title { display:block; position:relative; min-height:0; margin:0; padding:20px 26px 20px 0; cursor:pointer; list-style:none; font-size:12px; font-weight:500; }
.reference-store .ref-faq-item summary::-webkit-details-marker { display:none; }
.reference-store .ref-faq-item summary::after { content:'+'; position:absolute; inset:auto 4px auto auto; top:17px; width:auto; height:auto; transform:none; background:none; box-shadow:none; font-size:17px; }
.reference-store .ref-faq-item[open] summary::after { content:'−'; }
.reference-store .ref-faq-item .collapse-content { display:block; padding:0 26px 20px 0; visibility:visible; }
.reference-store .ref-faq-item:not([open]) .collapse-content { display:none; }
.reference-store .ref-faq-item .collapse-content p { margin:0; color:var(--ref-muted); font-size:11px; line-height:1.8; }
.reference-store .ref-seo .ref-rich-content { color:#686b76; font-size:13px; line-height:1.95; }
.reference-store .ref-rich-content h2,.reference-store .ref-rich-content h3 { margin:28px 0 12px; color:var(--ref-ink); font-size:24px; font-weight:500; letter-spacing:-.7px; }
.reference-store .ref-rich-content ul { padding-left:20px; list-style:disc; }
.reference-store .ref-eyebrow { font-size:10px; letter-spacing:1.5px; }
.reference-store .ref-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.reference-store .ref-empty { padding:40px; border-radius:18px; background:var(--ref-surface); color:var(--ref-muted); text-align:center; }
.reference-store .store-footer { margin:0; padding:0 38px 24px; background:#fff!important; color:var(--ref-ink)!important; border:0; border-radius:0; }
.reference-store .store-footer .container { width:100%; max-width:none; margin:0; padding:0; }
.reference-store .ref-footer-word { display:block; margin:0; padding:15px 0 20px; overflow:hidden; background:linear-gradient(100deg,#a7b5df 10%,#f3d8dc 60%,#e6d7ed 100%); -webkit-background-clip:text; background-clip:text; color:transparent!important; font-size:clamp(70px,16vw,245px); font-weight:500; line-height:1.15; letter-spacing:-.085em; text-align:center; white-space:nowrap; }
.reference-store .ref-footer-grid { display:grid; grid-template-columns:1.1fr 1fr 1fr 1.2fr; gap:38px; padding:5px 14px 34px; }
.reference-store .store-footer .footer-heading { margin:0 0 18px; color:var(--ref-ink); font-size:11px; font-weight:600; letter-spacing:0; }
.reference-store .store-footer .footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.reference-store .store-footer a,.reference-store .store-footer .footer-copy { color:var(--ref-muted); font-size:10px; }
.reference-store .store-footer a:hover { color:var(--ref-ink); }
.reference-store .store-footer .footer-copy { margin-top:20px; line-height:1.8; }
.reference-store .ref-footer-links a { display:inline-flex; align-items:center; gap:10px; }
.reference-store .ref-footer-links a::after { content:'↗'; }
.reference-store .ref-legal { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 30px; padding:20px 14px 0; border-top:1px solid var(--ref-line); color:var(--ref-muted); font-size:9px; }
.reference-store .ref-legal-details { display:flex; flex-wrap:wrap; gap:5px 18px; width:100%; font-size:9px; line-height:1.8; }
/* Apply the same visual language to catalog, detail, cart and content pages. */
.reference-store :is(.caramel-container,.container) { max-width:1216px; }
.reference-store :is(.caramel-page-top,.latte-page-top,.caramel-blog-hero,.latte-blog-hero,.caramel-checkout-hero,.caramel-os-hero) { margin:0 14px; padding:48px 30px; border:0; border-radius:22px; background:linear-gradient(115deg,#edf1fb,#f5edf4); }
.reference-store :is(.caramel-page-top,.latte-page-top,.caramel-blog-hero,.latte-blog-hero) h1 { color:var(--ref-ink); font-size:44px; font-weight:500; line-height:1.15; letter-spacing:-2px; }
.reference-store :is(.caramel-section,.latte-section) { padding-top:48px; padding-bottom:48px; }
.reference-store :is(.caramel-store-product-grid,.latte-store-product-grid) { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.reference-store :is(.caramel-store-product-card,.latte-store-product-card,.store-product-card,.caramel-carousel-product-card,.latte-carousel-product-card) { overflow:hidden; border:0; border-radius:20px; background:var(--ref-surface); box-shadow:none; }
.reference-store :is(.caramel-product-image-box,.latte-product-image-box,.store-product-media) { height:225px; border:0; background:var(--ref-surface); padding:24px; }
.reference-store :is(.caramel-product-image-box,.latte-product-image-box,.store-product-media) img { mix-blend-mode:multiply; object-fit:contain; }
.reference-store :is(.caramel-store-product-body,.latte-store-product-body,.caramel-carousel-product-body,.latte-carousel-product-body) { padding:18px; }
.reference-store :is(.caramel-store-product-body,.latte-store-product-body,.caramel-carousel-product-body,.latte-carousel-product-body) h3 { min-height:0; margin-bottom:14px; color:var(--ref-ink); font-size:15px; line-height:1.5; letter-spacing:-.4px; font-weight:500; }
.reference-store :is(.caramel-price-main,.latte-price-main) { color:var(--ref-ink); font-size:19px; font-weight:600; }
.reference-store .btn-primary { color:#fff!important; background:var(--ref-ink)!important; border-color:var(--ref-ink)!important; border-radius:100px; font-size:12px; font-weight:500; letter-spacing:0; text-transform:none; box-shadow:none; }
.reference-store .btn-primary:hover { background:#30323d!important; }
.reference-store :is(.caramel-summary-card,.latte-summary-card,.caramel-content-page-card,.caramel-surface-card,.caramel-checkout-form-card,.caramel-cart-item) { border:1px solid var(--ref-line); border-radius:20px; background:#fff; box-shadow:none; }
.reference-store :is(.latte-detail-wrap,.caramel-detail-wrap) { gap:45px; padding-top:35px; }
.reference-store :is(.latte-detail-media-box,.caramel-detail-media-box) { top:24px; min-height:475px; border:0; border-radius:24px; background:var(--ref-surface); }
.reference-store :is(.latte-detail-info-box,.caramel-detail-info-box) h1 { color:var(--ref-ink); font-size:40px; line-height:1.16; letter-spacing:-1.6px; font-weight:500; }
.reference-store :is(.latte-trust-mini,.caramel-trust-mini) { border-color:var(--ref-line); border-radius:14px; background:var(--ref-surface); }
.reference-store .product-search-dialog.modal-box { padding:32px; border:1px solid var(--ref-line); border-radius:24px; background:#fff; box-shadow:0 24px 80px #10152524; }
.reference-store .product-search-dialog h2 { color:var(--ref-ink); font-size:33px; font-weight:500; letter-spacing:-1.4px; }
.reference-store .product-search-kicker { color:var(--ref-muted); font-size:10px; font-weight:500; }
.reference-store :is(.product-search-form,.caramel-search-page-form) { border-radius:100px; }
.reference-store :is(.product-search-form,.caramel-search-page-form) .search-action.btn { background:var(--ref-ink)!important; border-color:var(--ref-ink)!important; color:#fff!important; border-radius:100px; }
.reference-store .category-drawer { border-radius:0 24px 24px 0; background:#fff; color:var(--ref-ink); }
.reference-store .drawer-top { color:var(--ref-ink); }
.reference-store .drawer-tabs { background:var(--ref-surface); border-radius:100px; }
.reference-store .drawer-tab.active { border-radius:100px; background:#fff; color:var(--ref-ink); }
@media(min-width:1500px) { .reference-store .ref-hero-word { font-size:218px; } }
@media(max-width:1180px) {
 body.caramel-theme.reference-store { width:calc(100% - 48px); margin:24px auto; }
 .reference-store .store-nav.navbar { padding:0 28px; }
 .reference-store .store-nav .nav-wrapper.container { gap:20px; }
 .reference-store .ref-nav-links { gap:17px; }
 .reference-store .ref-nav-links a { font-size:11px; }
 .reference-store .ref-hero { height:490px; }
 .reference-store .ref-hero-word { font-size:15vw; }
 .reference-store .ref-hero-bottom { left:32px; bottom:34px; gap:28px; }
 .reference-store .ref-insight.card { flex-basis:205px; min-height:195px; padding:18px; }
 .reference-store .ref-insight-category { margin:19px 0; }
 .reference-store .ref-insight-number { font-size:56px; }
 .reference-store .ref-hero-copy { width:235px; }
 .reference-store .ref-section { padding:48px 36px; }
 .reference-store .ref-categories { padding-top:70px; }
 .reference-store .ref-product-image { height:195px; }
 .reference-store .ref-product-price { font-size:11px; }
 body.reference-store .ref-cart-button.btn { padding:0 8px; font-size:9px; }
 .reference-store .ref-product-track { grid-auto-columns:calc((100% - 36px)/3); }
 .reference-store .ref-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .reference-store .ref-season.card { min-height:175px; padding:20px; }
 .reference-store .ref-season h3 { font-size:16px; }
 .reference-store .ref-faq { padding:48px 36px; gap:35px; }
 .reference-store .ref-promise-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .reference-store :is(.caramel-store-product-grid,.latte-store-product-grid) { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:900px) {
 .reference-store .ref-nav-links { display:none; }
 .reference-store .store-nav .brand-logo { max-width:45%; }
 .reference-store .store-nav .nav-actions { margin-left:auto; }
 .reference-store .ref-hero { height:450px; }
 .reference-store .ref-hero-word { top:26px; left:25px; font-size:15.2vw; }
 .reference-store .ref-hero-person { width:72%; right:-80px; max-height:85%; }
 .reference-store .ref-hero-asterisk { font-size:140px; right:10px; }
 .reference-store .ref-hero-bottom { align-items:flex-end; gap:22px; }
 .reference-store .ref-insight.card { flex-basis:178px; min-height:180px; padding:16px; }
 .reference-store .ref-insight-label { font-size:10px; }
 .reference-store .ref-insight-label .badge { font-size:8px; }
 .reference-store .ref-insight-category { margin:17px 0; font-size:9px; gap:5px; }
 .reference-store .ref-insight-number { font-size:48px; }
 .reference-store .ref-hero-copy { width:205px; padding:0; }
 .reference-store .ref-hero-copy h1 { font-size:16px; }
 .reference-store .ref-hero-copy p { font-size:10px; }
 .reference-store .ref-category-grid { gap:14px; }
 .reference-store .ref-category { font-size:10px; }
 .reference-store .ref-season-grid { gap:12px; }
 .reference-store .ref-season.card { min-height:160px; padding:17px; }
 .reference-store .ref-season h3 { font-size:15px; }
 .reference-store .ref-advisor.card { min-height:225px; padding:22px; }
 .reference-store .ref-advisor h2 { font-size:19px; }
 .reference-store .ref-advisor p { font-size:10px; }
 .reference-store .ref-advisor>div { width:54%; }
 .reference-store .ref-journal-grid { gap:12px; }
 .reference-store .ref-journal-card>div { padding:18px; }
 .reference-store .ref-journal-card h3 { font-size:16px; }
 .reference-store .ref-faq { grid-template-columns:1fr 1.3fr; }
 .reference-store .ref-footer-grid { gap:20px; }
}
@media(max-width:640px) {
 html:has(body.reference-store) { background:#fff; }
 body.caramel-theme.reference-store { width:100%; margin:0; box-shadow:none; }
 .reference-store .store-nav.navbar { height:78px; padding:0 20px; }
 .reference-store .store-nav .nav-wrapper.container { gap:10px; }
 .reference-store .store-nav .brand-logo { max-width:47%; font-size:17px; letter-spacing:-.7px; gap:8px; }
 .reference-store .ref-brand-mark { width:22px; height:22px; flex-basis:22px; }
 .reference-store .store-nav .nav-actions { gap:6px; }
 .reference-store .store-nav .cart-link { width:38px; height:38px; min-height:38px; padding:0; justify-content:center; }
 .reference-store .store-nav .cart-link .cart-text { display:none; }
 .reference-store .store-nav .cart-link .cart-badge { position:absolute; top:-3px; right:-3px; min-width:15px; height:15px; min-height:15px; padding:0 3px; background:#e9e5f3; font-size:9px; line-height:15px; }
 body.caramel-theme.reference-store .store-nav .nav-search-trigger.btn,body.caramel-theme.reference-store .store-nav .mobile-category-trigger.btn { width:38px; min-width:38px; flex-basis:38px; height:38px; min-height:38px; }
 .reference-store .ref-hero { margin:0 12px; height:495px; border-radius:22px; }
 .reference-store .ref-hero-word { top:20px; left:16px; font-size:16.8vw; letter-spacing:-.075em; }
 .reference-store .ref-hero-asterisk { top:65px; right:10px; font-size:120px; }
 .reference-store .ref-hero-person { right:-87px; bottom:0; width:104%; max-height:78%; }
 .reference-store .ref-hero-bottom { left:20px; right:18px; bottom:24px; display:block; }
 .reference-store .ref-insight.card { display:none; }
 .reference-store .ref-hero-copy { width:47%; padding:0; }
 .reference-store .ref-hero-copy h1 { font-size:20px; line-height:1.2; letter-spacing:-.6px; }
 .reference-store .ref-hero-copy p { margin-bottom:20px; font-size:11px; }
 .reference-store .ref-hero-copy .ref-pill { max-width:170px; min-height:38px; height:auto; padding:11px 14px; gap:12px; font-size:10px; white-space:normal; }
 .reference-store .ref-section { padding:38px 20px; }
 .reference-store .ref-section-title { margin-bottom:26px; font-size:28px; line-height:1.18; letter-spacing:-1.25px; }
 .reference-store .ref-section-head { align-items:flex-end; gap:12px; margin-bottom:24px; }
 .reference-store .ref-section-head .ref-pill { gap:9px; height:34px; min-height:34px; padding:0 12px; font-size:9px; }
 .reference-store .ref-section-head>p { display:none; }
 .reference-store .ref-categories { padding-top:46px; padding-bottom:28px; }
 .reference-store .ref-categories .ref-section-title { margin-bottom:28px; }
 .reference-store .ref-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px 14px; }
 .reference-store .ref-category { gap:10px; font-size:11px; }
 .reference-store .ref-category-media { border-radius:14px; }
 .reference-store .ref-product-track { grid-auto-columns:76%; gap:14px; margin-right:-20px; padding-right:20px; }
 .reference-store .ref-product.card { border-radius:18px; padding:16px 13px 12px; }
 .reference-store .ref-product-image { height:210px; }
 .reference-store .ref-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .reference-store .ref-product-grid .ref-product.card { padding:13px 10px 11px; }
 .reference-store .ref-product-grid .ref-product-heading { min-height:62px; }
 .reference-store .ref-product-grid .ref-product h3 { font-size:10px; }
 .reference-store .ref-product-grid .ref-product-heading>div>span { font-size:9px; }
 .reference-store .ref-product-grid .ref-product-image { height:165px; padding:12px 6px; }
 .reference-store .ref-product-grid .ref-product-bottom { flex-wrap:wrap; gap:9px; }
 .reference-store .ref-product-grid .ref-product-bottom form { width:100%; }
 body.reference-store .ref-product-grid .ref-cart-button.btn { width:100%; font-size:10px; }
 .reference-store .ref-season-grid { grid-template-columns:1fr; gap:14px; }
 .reference-store .ref-season.card { min-height:180px; padding:25px; }
 .reference-store .ref-season h3 { max-width:180px; font-size:22px; }
 .reference-store .ref-season-art { width:43%; height:100%; }
 .reference-store .ref-advisors { grid-template-columns:1fr; gap:16px; padding-top:10px; }
 .reference-store .ref-advisor.card { min-height:235px; padding:28px; }
 .reference-store .ref-advisor h2 { font-size:25px; }
 .reference-store .ref-advisor p { font-size:11px; }
 .reference-store .ref-promise-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .reference-store .ref-promise.card { min-height:230px; padding:20px 17px; }
 .reference-store .ref-promise h3 { font-size:14px; }
 .reference-store .ref-promise p { font-size:11px; }
 .reference-store .ref-delivery { min-height:320px; margin:10px 12px 22px; padding:32px 24px; border-radius:22px; }
 .reference-store .ref-delivery>div { width:62%; }
 .reference-store .ref-delivery h2 { font-size:29px; }
 .reference-store .ref-delivery p { max-width:170px; font-size:10px; }
 .reference-store .ref-delivery-art { right:-10px; width:50%; height:80%; }
 .reference-store .ref-delivery .ref-pill { height:34px; min-height:34px; padding:0 12px; gap:10px; font-size:9px; }
 .reference-store .ref-journal-grid { grid-template-columns:1fr; gap:18px; }
 .reference-store .ref-journal-image { height:220px; }
 .reference-store .ref-journal-card h3 { font-size:21px; }
 .reference-store .ref-faq { grid-template-columns:1fr; gap:22px; margin-top:10px; padding:38px 24px; }
 .reference-store .ref-faq>div>p { margin-bottom:10px; }
 .reference-store .ref-faq-item summary.collapse-title { font-size:12px; }
 .reference-store .ref-faq-item .collapse-content p { font-size:12px; }
 .reference-store .store-footer { padding:0 20px 20px; }
 .reference-store .ref-footer-word { padding:22px 0; font-size:20vw; }
 .reference-store .ref-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 20px; padding:5px 4px 30px; }
 .reference-store .store-footer .footer-heading { font-size:12px; }
 .reference-store .store-footer a,.reference-store .store-footer .footer-copy { font-size:11px; }
 .reference-store .ref-legal { padding-left:4px; padding-right:4px; }
 .reference-store :is(.caramel-store-product-grid,.latte-store-product-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .reference-store :is(.caramel-product-image-box,.latte-product-image-box,.store-product-media) { height:180px; padding:18px; }
 .reference-store :is(.caramel-store-product-body,.latte-store-product-body) { padding:13px; }
 .reference-store :is(.caramel-store-product-body,.latte-store-product-body) h3 { font-size:13px; }
 .reference-store :is(.caramel-product-actions,.latte-product-actions) { display:flex; flex-direction:column; gap:8px; }
 .reference-store :is(.caramel-product-actions,.latte-product-actions)>*,.reference-store :is(.caramel-product-actions,.latte-product-actions) button { width:100%; }
 .reference-store :is(.caramel-page-top,.latte-page-top,.caramel-blog-hero,.latte-blog-hero,.caramel-checkout-hero,.caramel-os-hero) { margin:0 12px; padding:32px 18px; }
 .reference-store :is(.caramel-page-top,.latte-page-top,.caramel-blog-hero,.latte-blog-hero) h1 { font-size:33px; letter-spacing:-1.3px; }
 .reference-store :is(.latte-detail-info-box,.caramel-detail-info-box) h1 { font-size:30px; }
 .reference-store .product-search-dialog.modal-box { padding:28px 20px; }
 .reference-store .product-search-dialog h2 { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) { .reference-store *, .reference-store *::before,.reference-store *::after { transition:none!important; scroll-behavior:auto!important; } }

/* Visible support number, taken from the existing panel settings. */
.reference-store .store-nav .ref-header-phone { display:inline-flex; align-items:center; justify-content:center; gap:7px; flex:0 0 auto; min-height:40px; margin:0 5px 0 0; padding:0 4px; color:#202a45; font-size:12px; font-weight:700; line-height:1.2; letter-spacing:0; white-space:nowrap; }
.reference-store .ref-header-phone svg { display:block; flex:0 0 18px; }
.reference-store .store-nav .ref-header-phone:hover { color:var(--color-primary); }
.reference-store .ref-header-phone:focus-visible { outline:2px solid var(--color-primary); outline-offset:4px; border-radius:6px; }
@media(min-width:901px) and (max-width:1180px) {
 .reference-store .ref-nav-links { gap:12px; }
 .reference-store .ref-nav-links a { font-size:10px; }
 .reference-store .store-nav .nav-wrapper.container { gap:16px; }
 .reference-store .store-nav .ref-header-phone { font-size:11px; gap:5px; }
}
@media(max-width:640px) {
 .reference-store .store-nav.navbar:has(.ref-header-phone) { height:108px; }
 .reference-store .store-nav .nav-wrapper.container:has(.ref-header-phone) { position:relative; padding-top:30px; }
 .reference-store .store-nav .ref-header-phone { position:absolute; top:5px; left:0; right:0; min-height:25px; margin:0; padding:0; gap:7px; font-size:12px; }
 .reference-store .ref-header-phone svg { width:15px; height:15px; flex-basis:15px; }
}
/* Shipping status: solid, high-visibility SVG tick and clear text. */
.reference-store .product-shipping-notice.alert { display:flex; align-items:flex-start; gap:13px; margin:18px 0 22px; padding:16px; border:1px solid #cbd5e5; border-radius:14px; background:#f3f6fc; color:#253656; opacity:1; box-shadow:none; }
.reference-store .product-shipping-notice .latte-product-shipping-icon { display:flex; align-items:center; justify-content:center; flex:0 0 42px; width:42px; min-width:42px; height:42px; background:#253656; color:#fff; border-radius:12px; opacity:1; }
.reference-store .product-shipping-notice .shipping-icon-check { display:none; }
.reference-store .product-shipping-notice .shipping-icon-truck { display:block; }
.reference-store .product-shipping-notice .latte-product-shipping-copy { flex:1; min-width:0; }
.reference-store .product-shipping-notice .latte-product-shipping-copy strong { display:block; margin:0; color:#253656; font-size:15px; font-weight:800; line-height:1.5; opacity:1; }
.reference-store .product-shipping-notice .latte-product-shipping-copy small { display:block; margin-top:5px; color:#465672; font-size:12px; line-height:1.6; opacity:1; }
.reference-store .product-shipping-notice.is-free { border-color:#7fc798; background:#eaf7ee; color:#14532d; }
.reference-store .product-shipping-notice.is-free .latte-product-shipping-icon { background:#187445; color:#fff; }
.reference-store .product-shipping-notice.is-free .shipping-icon-check { display:block; }
.reference-store .product-shipping-notice.is-free .shipping-icon-truck { display:none; }
.reference-store .product-shipping-notice.is-free .latte-product-shipping-copy strong { color:#14532d; }
.reference-store .product-shipping-notice.is-free .latte-product-shipping-copy small { color:#315f43; }
.reference-store .product-shipping-notice.is-free .latte-product-shipping-progress { background:#c7e6d1; }
.reference-store .product-shipping-notice.is-free .latte-product-shipping-progress span { background:#187445; }
@media(max-width:480px) { .reference-store .product-shipping-notice.alert { padding:14px; gap:11px; } .reference-store .product-shipping-notice .latte-product-shipping-copy strong { font-size:14px; } }

@media(max-width:1100px) { .reference-store .store-nav:has(.ref-header-phone) .ref-nav-links { display:none; } }

/* WhatsApp launcher keeps its own green instead of the storefront button color. */
body.reference-store .wa-float-btn.btn.btn-primary {
 background:#25d366!important;
 border-color:#25d366!important;
 color:#fff!important;
 box-shadow:0 8px 24px #25d36640;
}
body.reference-store .wa-float-btn.btn.btn-primary:hover,
body.reference-store .wa-float-btn.btn.btn-primary:active {
 background:#1ebe5d!important;
 border-color:#1ebe5d!important;
}
body.reference-store .wa-float-btn img { filter:none; opacity:1; }
