:root{--rose:var(--c-accent);--rose-deep:var(--c-accent-deep);--rose-light:var(--c-accent-soft);--rose-glow:rgba(var(--c-accent-rgb),.15);--blush:var(--c-bg-soft);--blush-deep:#EFD7E5;--blush-block:var(--c-border);--ink:var(--c-ink);--ink-muted:var(--c-ink-muted);--white:#FFFFFF;--border-soft:var(--c-border);--gold:var(--c-accent);--gold-light:var(--c-accent-soft);--gold-glow:rgba(var(--c-accent-rgb),.15);--charcoal:var(--c-ink);--bronze:var(--c-accent-deep);--cream:#FFFFFF;--surface:var(--c-bg-soft);--warm-gray:var(--c-ink-muted);--border-warm:var(--c-border);--radius:6px;--radius-lg:10px;--radius-pill:999px;--ease-luxe:cubic-bezier(.16,1,.3,1);--ease-bounce:cubic-bezier(.34,1.56,.64,1);--shadow-soft:0 4px 24px rgba(var(--c-ink-rgb),.06);--shadow-lift:0 12px 40px rgba(var(--c-ink-rgb),.12);--shadow-glow:0 8px 28px rgba(var(--c-accent-rgb),.22)}html{scroll-behavior:smooth}::selection{background:var(--gold-glow);color:var(--charcoal)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--border-warm);border-radius:4px}html,body{overflow-x:clip;max-width:100%;width:100%}::-webkit-scrollbar-thumb:hover{background:var(--bronze)}body{font-family:var(--font-body,'DM Sans',system-ui,sans-serif);color:var(--c-ink);background:var(--c-bg);line-height:var(--body-lh,1.55);font-size:var(--body-size,1.0625rem);font-weight:var(--body-weight,400);-webkit-font-smoothing:antialiased;overflow-x:clip}h1,h2,h3,h4,h5{font-family:var(--font-heading,'Oswald',sans-serif);font-weight:var(--h-weight,700);letter-spacing:var(--h-ls,.01em);line-height:var(--h-lh,1.05);color:var(--c-heading);text-transform:var(--h-transform,uppercase)}h1{font-size:clamp(2.25rem,5vw,3.75rem)}h2{font-size:clamp(1.75rem,3.5vw,2.75rem)}h3{font-size:clamp(1.25rem,2.5vw,1.75rem)}h4{font-size:clamp(1.05rem,1.75vw,1.25rem)}a{color:var(--rose);text-decoration:none;transition:color .25s}a:hover{color:var(--rose-deep)}.font-serif{font-family:'Oswald','Bebas Neue',sans-serif;text-transform:uppercase}.text-gold{color:var(--rose) !important}.text-bronze{color:var(--rose-deep) !important}.bg-cream{background:var(--white) !important}.bg-surface{background:var(--blush) !important}.bg-charcoal{background:var(--ink) !important}.btn-primary,.btn-gold{background:var(--c-cta-bg);border:1px solid var(--c-cta-bg);color:var(--c-cta-fg);font-family:var(--btn-font,var(--font-heading));font-weight:var(--btn-weight,700);letter-spacing:var(--btn-ls,.12em);text-transform:var(--btn-transform,uppercase);font-size:var(--btn-fs,.8125rem);border-radius:var(--btn-radius,4px);padding:var(--btn-padding,.95rem 2rem);position:relative;overflow:hidden;transition:background .3s var(--ease-luxe),color .3s var(--ease-luxe),border-color .3s var(--ease-luxe);z-index:1}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-gold:hover,.btn-gold:focus{background:var(--c-cta-hover-bg) !important;color:var(--c-cta-hover-fg) !important;border-color:var(--c-cta-hover-bg) !important;box-shadow:none !important}.btn-gold:active{transform:translateY(0)}.btn-outline-gold{background:transparent;border:1px solid var(--c-cta-bg);color:var(--c-cta-bg);font-family:var(--btn-font,var(--font-heading));font-weight:var(--btn-weight,700);letter-spacing:var(--btn-ls,.12em);text-transform:var(--btn-transform,uppercase);font-size:var(--btn-fs,.8125rem);border-radius:var(--btn-radius,4px);padding:var(--btn-padding,.95rem 2rem);transition:all .3s var(--ease-luxe)}.btn-outline-gold:hover{background:var(--c-cta-bg);color:var(--c-cta-fg)}.btn-charcoal{background:var(--c-cta-bg);border:1px solid var(--c-cta-bg);color:var(--c-cta-fg);border-radius:var(--btn-radius,4px);padding:var(--btn-padding,.95rem 2rem);font-family:var(--btn-font,var(--font-heading));font-weight:var(--btn-weight,700);letter-spacing:var(--btn-ls,.12em);text-transform:var(--btn-transform,uppercase);font-size:var(--btn-fs,.8125rem);transition:all .3s var(--ease-luxe)}.btn-charcoal:hover{background:var(--c-cta-hover-bg);border-color:var(--c-cta-hover-bg);color:var(--c-cta-hover-fg)}.add-to-cart-btn.added{background:#4CAF50 !important;border-color:#4CAF50 !important;animation:cartPop .5s var(--ease-bounce)}@keyframes cartPop{0%{transform:scale(1)}40%{transform:scale(1.08)}100%{transform:scale(1)}}.announcement-bar{font-size:.8125rem;font-weight:500;letter-spacing:.03em;animation:slideDown .5s var(--ease-luxe)}@keyframes slideDown{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.site-header-wrap{transition:box-shadow .35s var(--ease-luxe),background .35s}.site-header-wrap.scrolled{box-shadow:0 2px 30px rgba(var(--c-ink-rgb),.08)}.site-header{transition:padding .4s var(--ease-luxe)}.site-header-wrap.scrolled .site-header .container>nav,.site-header-wrap.scrolled .site-header .container>div{padding-top:.6rem !important;padding-bottom:.6rem !important}.site-logo-img{height:72px;width:auto;display:block;transition:height .45s var(--ease-luxe),transform .45s var(--ease-luxe);transform-origin:left center}.site-header-wrap.scrolled .site-logo-img{height:48px}.site-logo-img-mobile{height:44px}.site-header-wrap.scrolled .site-logo-img-mobile{height:32px}@media (max-width:991.98px){.site-logo-img{height:52px}.site-header-wrap.scrolled .site-logo-img{height:36px}}.product-card,.product-card-link{display:block;border-radius:var(--radius-lg);overflow:hidden;background:#fff;border:1px solid var(--border-warm);transition:all .4s var(--ease-luxe);text-decoration:none !important}.product-card:hover,.product-card-link:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);border-color:var(--gold-glow)}.product-card .card-img-wrap{overflow:hidden;aspect-ratio:1;background:var(--surface)}.product-card img,.product-card-link img{transition:transform .6s var(--ease-luxe);width:100%;height:100%;object-fit:cover}.product-card:hover img,.product-card-link:hover img{transform:scale(1.08)}.product-card .card-body{padding:1rem 1.125rem}.product-card .card-title{font-family:var(--font-body);font-weight:600;font-size:.875rem;color:var(--charcoal);margin-bottom:.5rem;line-height:1.35}.product-card .price{font-weight:700;color:var(--gold);font-size:1rem}.product-card .compare-price{text-decoration:line-through;color:var(--warm-gray);font-size:.8125rem;margin-left:.375rem}.product-card .badge-sale{position:absolute;top:.75rem;right:.75rem;background:#E53935;color:#fff;font-size:.625rem;font-weight:700;letter-spacing:.05em;padding:.25rem .625rem;border-radius:var(--radius-pill);z-index:2}.product-card .quick-add{position:absolute;bottom:0;left:0;right:0;background:rgba(var(--c-ink-rgb),.9);backdrop-filter:blur(8px);color:#fff;text-align:center;padding:.75rem;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;transform:translateY(100%);transition:transform .3s var(--ease-luxe)}.product-card:hover .quick-add{transform:translateY(0)}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s var(--ease-luxe),transform .7s var(--ease-luxe)}.reveal.revealed{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.trust-bar{border-top:1px solid var(--border-warm);border-bottom:1px solid var(--border-warm)}.trust-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;padding:1.25rem .75rem;transition:transform .3s var(--ease-luxe)}.trust-item:hover{transform:translateY(-3px)}.trust-icon{width:48px;height:48px;border-radius:50%;background:var(--gold-glow);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:1.25rem;transition:all .3s}.trust-item:hover .trust-icon{background:var(--gold);color:#fff;box-shadow:var(--shadow-glow)}.trust-label{font-weight:600;font-size:.8125rem;color:var(--charcoal)}.trust-sublabel{font-size:.6875rem;color:var(--warm-gray)}.mq-hero{position:relative;min-height:85vh;display:flex;align-items:center;overflow:hidden;background:var(--charcoal)}.mq-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 8s ease-out}.mq-hero:hover .mq-hero-bg{transform:scale(1.03)}.mq-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(var(--c-ink-rgb),.7) 0%,rgba(var(--c-ink-rgb),.3) 50%,rgba(var(--c-accent-rgb),.1) 100%)}.mq-hero-content{position:relative;z-index:2;color:#fff;max-width:640px}.mq-hero-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-light);margin-bottom:1.5rem;animation:fadeSlideUp .8s var(--ease-luxe)}.mq-hero-eyebrow::before{content:'';width:32px;height:1px;background:var(--gold-light)}.mq-hero h1{color:#fff;font-size:clamp(2.5rem,6vw,4rem);font-weight:700;line-height:1.1;margin-bottom:1.25rem;animation:fadeSlideUp .8s var(--ease-luxe) .15s both}.mq-hero-sub{font-size:1.0625rem;color:rgba(255,255,255,.8);line-height:1.7;margin-bottom:2rem;max-width:480px;animation:fadeSlideUp .8s var(--ease-luxe) .3s both}.mq-hero-actions{display:flex;gap:1rem;flex-wrap:wrap;animation:fadeSlideUp .8s var(--ease-luxe) .45s both}.mq-hero-decor{position:absolute;right:-5%;bottom:-10%;width:400px;height:400px;border-radius:50%;border:1px solid rgba(var(--c-accent-rgb),.15);animation:gentlePulse 6s ease-in-out infinite}.mq-hero-decor::after{content:'';position:absolute;inset:30px;border-radius:50%;border:1px solid rgba(var(--c-accent-rgb),.1)}@keyframes fadeSlideUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes gentlePulse{0%,100%{transform:scale(1);opacity:.3}50%{transform:scale(1.05);opacity:.5}}.routine-step{text-align:center;padding:2rem 1.5rem;position:relative}.routine-number{width:56px;height:56px;border-radius:50%;background:var(--gold);color:#fff;font-family:var(--font-heading);font-size:1.5rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-bottom:1.25rem;transition:all .3s var(--ease-luxe)}.routine-step:hover .routine-number{transform:scale(1.1);box-shadow:var(--shadow-glow)}.routine-step h4{font-size:1.25rem;margin-bottom:.75rem}.routine-arrow{position:absolute;right:-16px;top:50%;transform:translateY(-50%);color:var(--border-warm);font-size:1.5rem}.social-proof{background:var(--charcoal);color:#fff;position:relative;overflow:hidden}.social-proof::before{content:'';position:absolute;top:-50%;right:-20%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(var(--c-accent-rgb),.08) 0%,transparent 70%)}.social-proof .stars{color:#FFD700;font-size:1.25rem;letter-spacing:2px}.social-proof h2{color:#fff}.newsletter-section{background:linear-gradient(135deg,var(--surface) 0%,var(--cream) 100%);position:relative}.newsletter-section::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-image:var(--grain);opacity:.5;pointer-events:none}.newsletter-input{border:2px solid var(--border-warm);border-radius:var(--radius-pill);padding:.875rem 1.5rem;font-size:.9375rem;background:#fff;transition:all .3s}.newsletter-input:focus{border-color:var(--gold);box-shadow:0 0 0 4px var(--gold-glow);outline:none}.product-info-section .card{border:1px solid var(--border-warm);border-radius:var(--radius-lg)}.product-info-section .btn-primary,.product-info-section .add-to-cart-btn{background:var(--gold);border-color:var(--gold);border-radius:var(--radius-pill);font-weight:600;letter-spacing:.02em;padding:.75rem 2rem;transition:all .35s var(--ease-luxe)}.product-gallery-section .pg-wrap{border:1px solid var(--border-warm);background:#fff}.product-tabs-section .nav-link,.product-tabs-section .nav-tabs .nav-link,.product-tabs-section .nav-pills .nav-link{color:var(--c-ink-muted) !important;font-family:var(--font-heading);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;border-radius:0;padding:.85rem 1.25rem;background:transparent !important;border:0 !important;border-bottom:2px solid transparent !important;transition:color .25s,border-color .25s}.product-tabs-section .nav-link:hover,.product-tabs-section .nav-link:focus{color:var(--c-accent) !important;background:transparent !important;border-bottom-color:rgba(var(--c-accent-rgb),.35) !important}.product-tabs-section .nav-link.active,.product-tabs-section .nav-tabs .nav-link.active{color:var(--c-heading) !important;border-bottom-color:var(--c-accent) !important;background:transparent !important}.product-tabs-section .nav-tabs{border-bottom:1px solid var(--c-border)}.product-tabs-section .tab-content{padding-top:1.5rem;color:var(--c-ink);line-height:1.7}.product-tabs-section .tab-content p,.product-tabs-section .tab-content li{color:var(--c-ink)}.product-tabs-section .card{border:1px solid var(--c-border) !important;border-radius:var(--r-lg,14px);background:var(--c-bg) !important}.product-tabs-section .accordion-button,.product-tabs-section .accordion-button:not(.collapsed),.product-tabs-section .accordion-button:focus{background:transparent !important;color:var(--c-heading) !important;box-shadow:none !important;font-family:var(--font-heading);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;padding:1.1rem 0;border:0 !important}.product-tabs-section .accordion-button:not(.collapsed){color:var(--c-heading) !important}.product-tabs-section .accordion-item{background:transparent !important;border:0 !important;border-bottom:1px solid var(--c-border) !important}.product-tabs-section .accordion-item:first-of-type{border-top:1px solid var(--c-border) !important}.product-tabs-section .accordion-button::after{background:none !important;content:'+';font-family:var(--font-body);font-weight:300;font-size:1.5rem;color:var(--c-accent);width:auto;height:auto;transform:none !important;transition:transform .3s;line-height:1}.product-tabs-section .accordion-button:not(.collapsed)::after{content:'−'}.product-tabs-section .accordion-body{background:transparent !important;color:var(--c-ink);line-height:1.75;padding:0 0 1.25rem}.product-tabs-section .accordion-body p,.product-tabs-section .accordion-body li,.product-tabs-section .accordion-body td,.product-tabs-section .accordion-body th{color:var(--c-ink)}.product-tabs-section .accordion-body .text-muted{color:var(--c-ink-muted) !important}.related-products-section{background:var(--surface)}.site-footer{background:var(--charcoal) !important;color:rgba(255,255,255,.6) !important}.site-footer h6{color:#fff !important;font-family:var(--font-heading);font-size:.875rem;letter-spacing:.05em}.site-footer a{color:rgba(255,255,255,.5) !important;transition:color .25s,transform .25s}.site-footer a:hover{color:var(--gold-light) !important;transform:translateX(2px)}.site-footer .bi-facebook,.site-footer .bi-instagram,.site-footer .bi-tiktok{transition:all .3s}.site-footer a:hover .bi-facebook,.site-footer a:hover .bi-instagram,.site-footer a:hover .bi-tiktok{color:var(--gold-light) !important;transform:scale(1.15)}.cat-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3/4;cursor:pointer}.cat-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-luxe)}.cat-card:hover img{transform:scale(1.06)}.cat-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--c-ink-rgb),.75) 0%,transparent 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;transition:background .3s}.cat-card:hover .cat-card-overlay{background:linear-gradient(to top,rgba(var(--c-ink-rgb),.85) 0%,rgba(var(--c-ink-rgb),.1) 60%)}.cat-card h3{color:#fff;font-size:1.25rem;margin-bottom:.25rem}.cat-card p{color:rgba(255,255,255,.7);font-size:.8125rem;margin-bottom:0}.form-control{border:1.5px solid var(--border-warm);border-radius:var(--radius);padding:.625rem 1rem}.form-control:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow)}.badge-gold{background:var(--gold-glow);color:var(--gold);font-weight:600;padding:.35rem .75rem;border-radius:var(--radius-pill);font-size:.6875rem;letter-spacing:.03em}@media (max-width:767.98px){.mq-hero{min-height:70vh}.mq-hero h1{font-size:2rem}.mq-hero-decor{display:none}.routine-arrow{display:none}.product-card .quick-add{display:none}.trust-bar .row{gap:.5rem}.trust-item{padding:.75rem .5rem}.trust-icon{width:40px;height:40px;font-size:1rem}}.product-gallery-sticky{position:sticky;top:100px;align-self:flex-start}.product-hero-section .product-gallery-section,.product-hero-section .product-info-section{padding:0 !important}.product-hero-section .product-gallery-section .container,.product-hero-section .product-info-section .container{padding:0 !important;max-width:none}.product-hero-section .product-info-section .card{border:none !important;box-shadow:none !important;background:transparent !important}.product-hero-section .product-info-section .card-body{padding:0 !important}.free-shipping-bar{animation:fadeSlideUp .5s var(--ease-luxe) .3s both}.product-info-section h1{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}.product-info-section .add-to-cart-btn,.product-info-section .btn-primary{background:var(--c-cta-bg) !important;border:1px solid var(--c-cta-bg) !important;color:var(--c-cta-fg) !important;border-radius:var(--btn-radius,4px) !important;padding:.78rem 1.75rem !important;font-family:var(--btn-font,var(--font-heading)) !important;font-weight:var(--btn-weight,700) !important;letter-spacing:var(--btn-ls,.12em) !important;text-transform:var(--btn-transform,uppercase) !important;font-size:var(--btn-fs,.8125rem) !important;transition:background .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1) !important;position:relative;overflow:hidden;box-shadow:0 6px 16px -8px rgba(var(--c-ink-rgb),.35)}.product-info-section .add-to-cart-btn:hover{background:var(--c-cta-hover-bg) !important;color:var(--c-cta-hover-fg) !important;border-color:var(--c-cta-hover-bg) !important;box-shadow:0 6px 16px -8px rgba(var(--c-ink-rgb),.2) !important;transform:none !important}.product-info-section .add-to-cart-btn.added{background:#4CAF50 !important;border-color:#4CAF50 !important;color:#fff !important;animation:cartPop .5s var(--ease-bounce) !important}.product-info-section .input-group,.product-info-section .product-qty-group{border:1px solid var(--border-warm);border-radius:10px !important;overflow:hidden}.product-info-section .input-group .btn{border:none !important;background:transparent;font-size:1rem;padding:.5rem .875rem}.product-info-section .input-group .form-control{border:none !important;text-align:center;font-weight:600;box-shadow:none !important}.product-info-section .bg-light{background:var(--surface) !important;border:1px solid var(--border-warm)}.product-tabs-section .nav-link{font-family:var(--font-body);font-weight:500;font-size:.875rem;padding:.75rem 1.5rem;transition:all .25s}.product-tabs-section .nav-link.active{color:var(--gold) !important;font-weight:600}.product-tabs-section .nav-tabs .nav-link.active{border-color:transparent transparent var(--gold) transparent !important}@media (max-width:991.98px){.product-gallery-sticky{position:static}}@media (max-width:767.98px){.product-hero-section{padding-top:.5rem !important}.mobile-sticky-atc{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border-warm);padding:.75rem 1rem;z-index:100;display:flex;align-items:center;gap:.75rem;box-shadow:0 -4px 20px rgba(0,0,0,.08);animation:slideUpATC .3s var(--ease-luxe)}@keyframes slideUpATC{from{transform:translateY(100%)}to{transform:translateY(0)}}}@keyframes bounce{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}.animate-bounce{animation:bounce .5s ease}


/* ============================================================
   DELFINO DESIGN SYSTEM (scoped under body.delfino)
   Source: claude.ai/design handoff 2026-04-28
   ============================================================ */
/* Delfino is a 2-font system: Instrument Serif (display headings) + Instrument Sans (everything else). */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Instrument+Sans:wght@400;500;600;700&display=swap');

:root {
  /* Delfino tokens — exposed at root so any consumer can read them */
  --dl-navy-900: #06142E;
  --dl-navy-800: #0A1F3D;
  --dl-navy-700: #14305A;
  --dl-navy-600: #1F4376;
  --dl-navy-500: #355A95;
  --dl-navy-300: #8AA1C2;
  --dl-navy-200: #C5D2E3;
  --dl-cream-50:  #EBF1F7;
  --dl-cream-100: #DDE5EE;
  --dl-cream-200: #C9D4E1;
  --dl-cream-300: #A9B8C9;
  --dl-teal-600: #0E8C9E;
  --dl-teal-500: #1AB3C6;
  --dl-teal-400: #4ECDD9;
  --dl-teal-200: #B3EAEF;
  --dl-teal-50:  #E8F8F9;
  --dl-gold-600: #B89548;
  --dl-gold-500: #D4B062;
  --dl-gold-300: #E8D097;
  --dl-ink: #0B1326;
  --dl-ink-soft: #2B344A;
  --dl-muted: #6A7388;
  --dl-muted-soft: #9AA0B0;
  --dl-line: #C9D4E1;
  --dl-line-soft: #DDE5EE;
  --dl-serif: "Instrument Serif", "Cormorant Garamond", Georgia, serif;
  --dl-sans:  "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  /* "Mono" is now an alias for Sans — kept so existing .dl-mono / .dl-eyebrow rules
     keep working (uppercase + letter-spacing already gives the data/eyebrow look). */
  --dl-mono:  "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --dl-container: 1280px;
  --dl-container-wide: 1480px;
  --dl-radius-sm: 6px;
  --dl-radius: 12px;
  --dl-radius-lg: 20px;
  --dl-radius-pill: 999px;
  --dl-shadow-soft: 0 1px 2px rgba(11,19,38,.04), 0 8px 24px rgba(11,19,38,.06);
  --dl-shadow-lift: 0 2px 4px rgba(11,19,38,.06), 0 16px 40px rgba(11,19,38,.10);
  --dl-hdr-h: 72px;
  --dl-bar-h: 36px;
}

/* ============= Page-level reset (scoped) ============= */
body.delfino {
  background: #EBF1F7; /* soft navy-derived page bg (echoes the brand --dl-navy-900) */
  color: var(--dl-ink);

  /* Override the legacy admin-supplied colour tokens (--c-bg / --c-cream / --c-bg-soft)
     so any older section that still consumes them inherits Delfino's blue palette
     instead of the platform-default beige. */
  --c-bg: #EBF1F7;
  --c-cream: #EBF1F7;
  --c-bg-soft: #DDE5EE;
  --c-border: #C9D4E1;
  font-family: var(--dl-sans);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;

  /* Force the platform's font tokens onto Delfino's 2-font system so
     buttons, sticky cart, product cards etc. all match — the platform
     defaults to Oswald/DM Sans which doesn't fit our typography. */
  --font-body:    var(--dl-sans);
  --font-heading: var(--dl-sans);
  --btn-font:     var(--dl-sans);
}
body.delfino h1, body.delfino h2, body.delfino h3, body.delfino h4, body.delfino h5 {
  margin: 0;
  font-weight: 400;
  font-family: var(--dl-serif);
  text-transform: none;
  letter-spacing: -0.01em;
  line-height: 1.05;
  color: var(--dl-navy-800);
}
body.delfino p { margin: 0; }
body.delfino a { color: inherit; text-decoration: none; }
body.delfino img { max-width: 100%; display: block; }
body.delfino button { font-family: inherit; cursor: pointer; }
body.delfino input, body.delfino select, body.delfino textarea { font-family: inherit; font-size: inherit; color: inherit; }

/* Typography helpers */
body.delfino .dl-serif { font-family: var(--dl-serif); font-weight: 400; letter-spacing: -0.01em; }
body.delfino .dl-sans  { font-family: var(--dl-sans); }
body.delfino .dl-mono  { font-family: var(--dl-mono); font-size: 0.78rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--dl-muted); }
body.delfino .dl-eyebrow {
  font-family: var(--dl-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--dl-muted);
  font-weight: 500;
}

/* Containers */
body.delfino .dl-container { max-width: var(--dl-container); margin: 0 auto; padding: 0 32px; }
body.delfino .dl-container-wide { max-width: var(--dl-container-wide); margin: 0 auto; padding: 0 32px; }

/* Section helpers */
body.delfino .dl-section { padding: 100px 0; }
body.delfino .dl-section-sm { padding: 64px 0; }
body.delfino .dl-section-lg { padding: 140px 0; }
body.delfino .dl-section-title {
  font-family: var(--dl-serif);
  font-size: clamp(38px, 5vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--dl-navy-800);
  text-wrap: balance;
}
body.delfino .dl-section-lead {
  font-size: 17px;
  line-height: 1.55;
  color: var(--dl-ink-soft);
  max-width: 540px;
  text-wrap: pretty;
}

/* Topbar (announcement) */
body.delfino .dl-topbar {
  height: var(--dl-bar-h);
  background: var(--dl-navy-900);
  color: var(--dl-cream-100);
  font-size: 12.5px;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 60;
  overflow: hidden;
}
body.delfino .dl-topbar-marquee {
  display: flex;
  align-items: center;
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent, black 6%, black 94%, transparent);
          mask-image: linear-gradient(to right, transparent, black 6%, black 94%, transparent);
}
body.delfino .dl-topbar-track {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  width: max-content;
  animation: dl-topbar-scroll 40s linear infinite;
  will-change: transform;
}
body.delfino .dl-topbar-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  opacity: 0.92;
  white-space: nowrap;
  /* Margin (not flex gap) so the trailing item's spacing is part of the loop and the
     animation wraps seamlessly when transform jumps from 0 back to -50%. */
  margin-right: 64px;
}
body.delfino .dl-topbar-item .dl-dot { width: 4px; height: 4px; border-radius: 50%; background: var(--dl-teal-400); }
@keyframes dl-topbar-scroll {
  from { transform: translateX(-50%); }
  to   { transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
  body.delfino .dl-topbar-track { animation: none; }
}

/* Sticky header */
body.delfino .dl-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #ffffff;
  border-bottom: 1px solid rgba(11, 19, 38, 0.06);
  transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
body.delfino .dl-header.scrolled {
  border-bottom-color: rgba(11, 19, 38, 0.10);
  box-shadow: 0 1px 12px rgba(11, 19, 38, 0.05);
}
body.delfino .dl-header-inner {
  height: var(--dl-hdr-h);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 32px;
}
body.delfino .dl-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--dl-serif);
  font-size: 24px;
  letter-spacing: -0.02em;
  color: var(--dl-navy-800);
}
body.delfino .dl-brand img { height: 40px; width: auto; max-width: 100%; display: block; }
@media (max-width: 991.98px) {
  body.delfino .dl-brand img { height: 36px; }
}

body.delfino .dl-nav { display: inline-flex; gap: 30px; justify-content: center; }
body.delfino .dl-nav a {
  font-size: 14px;
  color: var(--dl-ink-soft);
  font-weight: 500;
  letter-spacing: -0.005em;
  position: relative;
  padding: 8px 0;
  transition: color .15s;
}
body.delfino .dl-nav a:hover, body.delfino .dl-nav a.active { color: var(--dl-navy-800); }
body.delfino .dl-nav a.active::after {
  content: ""; position: absolute;
  left: 0; right: 0; bottom: 2px;
  height: 1.5px; background: var(--dl-navy-800);
}

body.delfino .dl-header-actions { display: inline-flex; align-items: center; gap: 6px; justify-content: flex-end; }
body.delfino .dl-icon-btn {
  width: 40px; height: 40px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  color: var(--dl-ink-soft);
  background: transparent;
  border: 0;
  transition: background .15s, color .15s;
  position: relative;
  cursor: pointer;
}
body.delfino .dl-icon-btn:hover { background: rgba(11,19,38,.06); color: var(--dl-navy-800); }
body.delfino .dl-icon-btn .dl-badge {
  position: absolute; top: 6px; right: 6px;
  background: var(--dl-teal-500); color: white;
  font-size: 10px; font-weight: 600;
  width: 16px; height: 16px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid var(--dl-cream-50);
}

/* Phone variant of the icon button — uses the contact.gif (animated handset + info bubble)
   in place of the old SVG + CSS pulse ring. No background fill so the icon's own art shows. */
body.delfino .dl-icon-btn--phone { background: transparent; }
body.delfino .dl-icon-btn--phone:hover { background: rgba(11, 19, 38, .04); }
body.delfino .dl-icon-btn--phone img {
  width: 32px;
  height: 32px;
  display: block;
  object-fit: contain;
}

/* Click-to-call strip — used in the mobile menu footer (and reusable elsewhere) */
body.delfino .dl-phone-strip {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  background: linear-gradient(90deg, var(--dl-teal-50), var(--dl-teal-200));
  border: 1px solid var(--dl-teal-200);
  border-radius: var(--dl-radius);
  text-decoration: none;
  color: var(--dl-navy-800);
  position: relative;
}
body.delfino .dl-phone-strip:hover { color: var(--dl-navy-800); }
body.delfino .dl-phone-strip:active { background: var(--dl-teal-200); }
body.delfino .dl-phone-strip-icon {
  width: 36px; height: 36px;
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--dl-teal-500);
  color: white;
  position: relative;
}
body.delfino .dl-phone-strip-icon::before,
body.delfino .dl-phone-strip-icon::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid var(--dl-teal-500);
  animation: dl-phone-pulse 2s ease-out infinite;
}
body.delfino .dl-phone-strip-icon::after { animation-delay: 1s; }
body.delfino .dl-phone-strip-text {
  display: inline-flex;
  flex-direction: column;
  flex: 1;
  line-height: 1.15;
}
body.delfino .dl-phone-strip-label {
  font-family: var(--dl-mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--dl-teal-600);
}
body.delfino .dl-phone-strip-num {
  font-family: var(--dl-mono);
  font-size: 16px;
  font-weight: 600;
  color: var(--dl-navy-800);
  letter-spacing: -0.01em;
  margin-top: 2px;
}
body.delfino .dl-phone-strip-arrow {
  font-size: 22px;
  font-weight: 400;
  color: var(--dl-teal-600);
  animation: dl-phone-arrow 1.4s ease-in-out infinite;
}

@keyframes dl-phone-pulse {
  0%   { transform: scale(0.95); opacity: 0.7; }
  100% { transform: scale(1.55); opacity: 0;   }
}
@keyframes dl-phone-arrow {
  0%, 100% { transform: translateX(0);   opacity: 0.7; }
  50%      { transform: translateX(5px); opacity: 1;   }
}
@media (prefers-reduced-motion: reduce) {
  body.delfino .dl-icon-btn--phone::before,
  body.delfino .dl-phone-strip-icon::before,
  body.delfino .dl-phone-strip-icon::after { animation: none; opacity: 0; }
  body.delfino .dl-phone-strip-arrow { animation: none; opacity: 1; }
}

/* Mobile drop-down menu — floating rounded panel that overlays the page (NOT full screen).
   Same visual language as the scrolled header pills: floats with side margins, frosted bg
   so the page behind shows through softly, and tabs/content all live inside one rounded card. */
body.delfino .dl-mobile-menu {
  position: fixed;
  top: calc(var(--dl-bar-h) + 8px);
  left: 12px;
  right: 12px;
  max-height: calc(100svh - var(--dl-bar-h) - 96px);
  z-index: 70;
  background: rgba(235, 241, 247, 0.78);
  -webkit-backdrop-filter: saturate(160%) blur(24px);
          backdrop-filter: saturate(160%) blur(24px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform: translateY(-12px) scale(0.98);
  transform-origin: top center;
  opacity: 0;
  visibility: hidden;
  box-shadow: 0 14px 40px rgba(11, 19, 38, .14), 0 4px 12px rgba(11, 19, 38, .06);
  transition: transform .28s cubic-bezier(.4,0,.2,1), opacity .2s ease, visibility 0s linear .28s;
}
body.delfino .dl-mobile-menu.is-open {
  transform: translateY(0) scale(1);
  opacity: 1;
  visibility: visible;
  transition: transform .28s cubic-bezier(.4,0,.2,1), opacity .2s ease, visibility 0s linear 0s;
}
body.delfino .dl-mobile-menu-bar {
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

/* Segmented tabs */
body.delfino .dl-mm-tabs {
  flex: 1;
  display: flex;
  gap: 4px;
  padding: 4px;
  background: rgba(11, 19, 38, .06);
  border-radius: 999px;
}
body.delfino .dl-mm-tab {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 7px 6px;
  border-radius: 999px;
  font-family: var(--dl-sans);
  font-size: 12px;
  font-weight: 500;
  color: var(--dl-ink-soft);
  cursor: pointer;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  letter-spacing: -0.005em;
  transition: background .15s, color .15s;
}
body.delfino .dl-mm-tab.is-active {
  background: var(--dl-navy-900);
  color: #ffffff;
}
body.delfino .dl-mm-close { flex-shrink: 0; }

/* Persistent "Acasă" link — sits between menu bar and panels, always visible */
body.delfino .dl-mm-home {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 4px 14px 8px;
  padding: 12px 14px;
  background: linear-gradient(135deg, rgba(184,149,72,0.08) 0%, rgba(212,176,98,0.04) 100%);
  border: 1px solid rgba(184,149,72,0.30);
  border-radius: 12px;
  text-decoration: none;
  color: var(--dl-navy-900);
  transition: background .2s, border-color .2s, transform .15s;
}
body.delfino .dl-mm-home:hover,
body.delfino .dl-mm-home:focus-visible {
  background: linear-gradient(135deg, rgba(184,149,72,0.14) 0%, rgba(212,176,98,0.08) 100%);
  border-color: rgba(184,149,72,0.55);
  transform: translateY(-1px);
}
body.delfino .dl-mm-home-icon {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(184,149,72,0.14);
  color: var(--dl-gold-600, #B89548);
  display: flex;
  align-items: center;
  justify-content: center;
}
body.delfino .dl-mm-home-label {
  flex: 1 1 auto;
  font-family: var(--dl-sans);
  font-size: 14.5px;
  font-weight: 700;
  letter-spacing: -0.005em;
}
body.delfino .dl-mm-home-arrow {
  flex: 0 0 auto;
  color: var(--dl-ink-soft);
  opacity: .55;
}
body.delfino .dl-mm-home:hover .dl-mm-home-arrow { opacity: 1; }

body.delfino .dl-mobile-menu-body {
  flex: 1;
  padding: 4px 14px 14px;
  overflow-y: auto;
}
body.delfino .dl-mm-panel { display: none; }
body.delfino .dl-mm-panel.is-active { display: block; }
body.delfino .dl-mm-panel[hidden] { display: none; }
body.delfino .dl-mm-panel.is-active[hidden] { display: block; }

/* Product list cards */
body.delfino .dl-mm-products,
body.delfino .dl-mm-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
body.delfino .dl-mm-product {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 14px;
  text-decoration: none;
  color: var(--dl-navy-800);
  transition: background .15s, transform .15s;
}
body.delfino .dl-mm-product:hover {
  background: rgba(255, 255, 255, 0.85);
  transform: translateY(-1px);
}
body.delfino .dl-mm-product-thumb {
  width: 60px; height: 60px;
  flex-shrink: 0;
  border-radius: 10px;
  overflow: hidden;
  background: #EBF1F7;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.delfino .dl-mm-product-thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
body.delfino .dl-mm-product-text {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
body.delfino .dl-mm-product-tag {
  font-family: var(--dl-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--dl-muted);
}
body.delfino .dl-mm-product-name {
  font-family: var(--dl-serif);
  font-size: 22px;
  line-height: 1.1;
  margin-top: 4px;
  letter-spacing: -0.01em;
}

/* Contact rows */
body.delfino .dl-mm-contact-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 14px;
  text-decoration: none;
  color: var(--dl-navy-800);
  transition: background .15s, transform .15s;
}
body.delfino .dl-mm-contact-row:hover {
  background: rgba(255, 255, 255, 0.85);
  transform: translateY(-1px);
  color: var(--dl-navy-800);
}
body.delfino .dl-mm-contact-icon {
  width: 44px; height: 44px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--dl-teal-500);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.delfino .dl-mm-contact-info {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
body.delfino .dl-mm-contact-label {
  font-family: var(--dl-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--dl-teal-600);
}
body.delfino .dl-mm-contact-value {
  font-family: var(--dl-mono);
  font-size: 16px;
  font-weight: 600;
  margin-top: 2px;
}

/* Promo card (Personal panel — quiz) and Account card (Cont panel — login) */
body.delfino .dl-mm-promo,
body.delfino .dl-mm-account {
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 14px;
  padding: 20px 18px;
}
body.delfino .dl-mm-promo-eyebrow {
  font-family: var(--dl-mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--dl-teal-600);
}
body.delfino .dl-mm-promo-title,
body.delfino .dl-mm-account-title {
  font-family: var(--dl-serif);
  font-size: 24px;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--dl-navy-800);
  margin: 6px 0 0;
}
body.delfino .dl-mm-promo-desc,
body.delfino .dl-mm-account-desc {
  font-size: 14px;
  line-height: 1.45;
  color: var(--dl-ink-soft);
  margin: 8px 0 0;
}
body.delfino .dl-mm-promo-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  padding: 12px 20px;
  background: var(--dl-navy-900);
  color: #ffffff;
  border-radius: 999px;
  text-decoration: none;
  font-family: var(--dl-sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.01em;
  transition: background .15s, transform .15s;
}
body.delfino .dl-mm-promo-cta:hover {
  background: var(--dl-navy-800);
  color: #ffffff;
  transform: translateY(-1px);
}
body.delfino .dl-mm-account-extra {
  font-size: 13px;
  color: var(--dl-ink-soft);
  margin: 14px 0 0;
}
body.delfino .dl-mm-account-extra a {
  color: var(--dl-navy-800);
  text-decoration: underline;
  font-weight: 500;
}

/* Bottom CTA shared by both panels */
body.delfino .dl-mm-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 18px;
  padding: 14px 4px;
  font-family: var(--dl-mono);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--dl-navy-800);
  text-decoration: none;
  border-top: 1px solid rgba(11, 19, 38, .08);
}
body.delfino .dl-mm-cta:hover { color: var(--dl-teal-600); }

@media (min-width: 992px) {
  body.delfino .dl-mobile-menu { display: none; }
}

/* Buttons (override Bootstrap with higher specificity) */
body.delfino .dl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 26px;
  border-radius: var(--dl-radius-pill);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.005em;
  transition: transform .12s ease, box-shadow .15s, background .15s, color .15s, border-color .15s;
  white-space: nowrap;
  border: 0;
  cursor: pointer;
  font-family: var(--dl-sans);
  text-transform: none;
}
body.delfino .dl-btn:hover { transform: translateY(-1px); }
body.delfino .dl-btn-primary { background: var(--dl-navy-800); color: var(--dl-cream-50); }
body.delfino .dl-btn-primary:hover { background: var(--dl-navy-900); box-shadow: var(--dl-shadow-lift); color: var(--dl-cream-50); }
body.delfino .dl-btn-secondary { background: transparent; color: var(--dl-navy-800); border: 1px solid var(--dl-navy-800); }
body.delfino .dl-btn-secondary:hover { background: var(--dl-navy-800); color: var(--dl-cream-50); }
body.delfino .dl-btn-cream { background: var(--dl-cream-100); color: var(--dl-navy-800); border: 1px solid var(--dl-line); }
body.delfino .dl-btn-cream:hover { background: var(--dl-cream-200); }
body.delfino .dl-btn-teal { background: var(--dl-teal-500); color: white; }
body.delfino .dl-btn-teal:hover { background: var(--dl-teal-600); color: white; }
body.delfino .dl-btn-block { width: 100%; }
body.delfino .dl-btn-lg { padding: 18px 32px; font-size: 15px; }
body.delfino .dl-btn-sm { padding: 10px 18px; font-size: 13px; }
body.delfino .dl-btn-ghost { background: transparent; color: var(--dl-ink-soft); padding: 12px 18px; }
body.delfino .dl-btn-ghost:hover { color: var(--dl-navy-800); transform: translateY(-1px); }

/* Image placeholders */
body.delfino .dl-ph {
  position: relative;
  background:
    repeating-linear-gradient(135deg, rgba(11,19,38,.025) 0 1px, transparent 1px 12px),
    linear-gradient(180deg, var(--dl-cream-100), var(--dl-cream-200));
  border: 1px solid var(--dl-line);
  border-radius: var(--dl-radius);
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  color: var(--dl-muted);
  font-family: var(--dl-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: center;
}
body.delfino .dl-ph-navy {
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.04) 0 1px, transparent 1px 14px),
    linear-gradient(180deg, var(--dl-navy-700), var(--dl-navy-800));
  color: rgba(255,255,255,.5);
  border-color: var(--dl-navy-600);
}
body.delfino .dl-ph-teal {
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.06) 0 1px, transparent 1px 12px),
    linear-gradient(180deg, var(--dl-teal-200), var(--dl-teal-400));
  color: var(--dl-navy-700);
  border-color: var(--dl-teal-400);
}
body.delfino .dl-ph-cream {
  background:
    repeating-linear-gradient(135deg, rgba(11,19,38,.03) 0 1px, transparent 1px 12px),
    var(--dl-cream-100);
}
body.delfino .dl-ph-bottle { aspect-ratio: 3 / 4; }

/* Bottle silhouette */
body.delfino .dl-bottle-art {
  position: relative; width: 56%; height: 70%; margin: auto;
  display: flex; align-items: flex-end; justify-content: center;
}
body.delfino .dl-bottle-art::before {
  content: ""; position: absolute;
  top: 0; left: 50%; transform: translateX(-50%);
  width: 30%; height: 14%;
  background: var(--dl-navy-700);
  border-radius: 4px 4px 0 0;
}
body.delfino .dl-bottle-art::after {
  content: ""; position: absolute;
  top: 14%; left: 0; right: 0; bottom: 0;
  background: #fff;
  border-radius: 8px 8px 14px 14px;
  border: 1px solid rgba(11,19,38,.10);
  box-shadow: inset 0 -20px 30px rgba(11,19,38,.04);
}
body.delfino .dl-bottle-label {
  position: absolute; z-index: 1;
  bottom: 18%; left: 14%; right: 14%;
  padding: 14px 12px;
  background: var(--dl-cream-50);
  border: 1px solid var(--dl-line);
  border-radius: 4px;
  text-align: center;
  font-family: var(--dl-serif);
  font-size: 16px; color: var(--dl-navy-800);
  line-height: 1.05;
}
body.delfino .dl-bottle-label .sm {
  display: block;
  font-family: var(--dl-mono);
  font-size: 8px;
  letter-spacing: 0.18em;
  color: var(--dl-muted);
  margin-top: 4px;
}

/* Cards */
body.delfino .dl-card {
  background: white;
  border: 1px solid var(--dl-line);
  border-radius: var(--dl-radius);
  overflow: hidden;
  transition: box-shadow .2s, border-color .2s, transform .15s;
}
body.delfino .dl-card:hover { box-shadow: var(--dl-shadow-soft); border-color: var(--dl-cream-300); }

/* Product card */
body.delfino .dl-product { display: flex; flex-direction: column; cursor: pointer; }
body.delfino .dl-product-img { aspect-ratio: 4 / 5; background: var(--dl-cream-100); position: relative; overflow: hidden; }
body.delfino .dl-product-tag {
  position: absolute; top: 12px; left: 12px;
  background: var(--dl-cream-50); color: var(--dl-navy-800);
  font-family: var(--dl-mono);
  font-size: 10px; padding: 6px 10px;
  border-radius: var(--dl-radius-pill);
  letter-spacing: 0.1em;
  border: 1px solid var(--dl-line);
}
body.delfino .dl-product-tag.gold { background: var(--dl-gold-500); color: white; border-color: var(--dl-gold-600); }
body.delfino .dl-product-tag.teal { background: var(--dl-teal-50); color: var(--dl-teal-600); border-color: var(--dl-teal-200); }
body.delfino .dl-product-info { padding: 18px 18px 22px; display: flex; flex-direction: column; gap: 8px; }
body.delfino .dl-product-cat { font-family: var(--dl-mono); font-size: 10.5px; letter-spacing: 0.14em; color: var(--dl-muted); }
body.delfino .dl-product-name { font-family: var(--dl-serif); font-size: 22px; letter-spacing: -0.01em; color: var(--dl-navy-800); line-height: 1.15; }
body.delfino .dl-product-desc { font-size: 13.5px; color: var(--dl-muted); line-height: 1.5; }
body.delfino .dl-product-foot {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: 12px; margin-top: 6px;
  border-top: 1px solid var(--dl-line-soft);
}
body.delfino .dl-product-price { font-size: 15px; font-weight: 500; color: var(--dl-navy-800); }
body.delfino .dl-product-rating { display: inline-flex; gap: 4px; align-items: center; font-size: 12px; color: var(--dl-muted); }
body.delfino .dl-stars { color: var(--dl-gold-500); letter-spacing: 1px; display: inline-flex; gap: 2px; }

/* Inputs */
body.delfino .dl-field { display: flex; flex-direction: column; gap: 6px; }
body.delfino .dl-field label {
  font-family: var(--dl-mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  color: var(--dl-muted);
  font-weight: 500;
}
body.delfino .dl-input, body.delfino .dl-select, body.delfino .dl-textarea {
  width: 100%;
  padding: 13px 16px;
  background: white;
  border: 1px solid var(--dl-line);
  border-radius: var(--dl-radius-sm);
  font-size: 14.5px;
  color: var(--dl-ink);
  transition: border-color .15s, box-shadow .15s;
}
body.delfino .dl-input:focus, body.delfino .dl-select:focus, body.delfino .dl-textarea:focus {
  outline: none; border-color: var(--dl-navy-700);
  box-shadow: 0 0 0 3px rgba(20,48,90,.10);
}

/* Footer */
body.delfino .dl-footer {
  background: var(--dl-navy-900);
  color: var(--dl-cream-200);
  padding: 80px 0 28px;
  margin-top: 80px;
  position: relative;
  overflow: hidden;
}
body.delfino .dl-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1.4fr;
  gap: 48px;
  align-items: start;
}
body.delfino .dl-footer-brand {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
body.delfino .dl-footer-brandhead {
  display: block;
  margin: 72px auto 32px;
  text-align: center;
  line-height: 0;
}
body.delfino .dl-footer-logo {
  display: inline-block;
  width: 100%;
  max-width: 760px;
  height: auto;
}
body.delfino .dl-footer-tagline {
  font-size: 14px;
  line-height: 1.6;
  color: var(--dl-cream-200);
  max-width: 320px;
  opacity: .85;
  margin: 0;
}
body.delfino .dl-footer-newsletter { margin-top: 8px; }
body.delfino .dl-footer-nl-label { color: var(--dl-cream-300); margin-bottom: 12px; }
body.delfino .dl-footer-nl-form {
  display: flex;
  gap: 8px;
  max-width: 360px;
  flex-wrap: wrap;
}
body.delfino .dl-footer-nl-form .dl-input {
  background: transparent;
  border-color: rgba(255, 255, 255, .20);
  color: white;
  flex: 1;
  min-width: 180px;
}
body.delfino .dl-footer-nl-form .dl-btn { flex-shrink: 0; }

/* Link groups — <details> elements that look like normal columns on desktop
   and become accordions on mobile. Always-open on desktop; toggle hidden. */
body.delfino .dl-footer-group { background: transparent; }
body.delfino .dl-footer-group > summary {
  list-style: none;
  cursor: default;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
body.delfino .dl-footer-group > summary::-webkit-details-marker { display: none; }
body.delfino .dl-footer-group > summary::marker { content: ''; }
body.delfino .dl-footer h4 {
  font-family: var(--dl-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  color: var(--dl-cream-300);
  margin: 0 0 16px;
  font-weight: 500;
  text-transform: uppercase;
}
body.delfino .dl-footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
body.delfino .dl-footer a { color: var(--dl-cream-100); font-size: 14px; opacity: 0.8; }
body.delfino .dl-footer a:hover { opacity: 1; color: var(--dl-teal-400); }
/* Logo-ul Delfino si badge-urile ANPC sunt elemente vizuale, nu link-uri text —
   trebuie afisate la culoare deplina, nu dim-uite ca un link. */
body.delfino .dl-footer a.dl-footer-brandhead,
body.delfino .dl-footer a.dl-footer-anpc-link { opacity: 1; }
body.delfino .dl-footer-note { color: var(--dl-cream-200); font-size: 13px; opacity: 0.65; line-height: 1.5; }

/* +/− toggle, hidden on desktop, visible on mobile */
body.delfino .dl-footer-toggle {
  display: none;
  position: relative;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
body.delfino .dl-footer-toggle::before,
body.delfino .dl-footer-toggle::after {
  content: '';
  position: absolute;
  background: var(--dl-cream-200);
  transition: transform .2s ease, opacity .2s ease;
}
body.delfino .dl-footer-toggle::before { left: 0; right: 0; top: 50%; height: 1.5px; margin-top: -.75px; }
body.delfino .dl-footer-toggle::after  { top: 0; bottom: 0; left: 50%; width: 1.5px; margin-left: -.75px; }
body.delfino .dl-footer-group[open] .dl-footer-toggle::after { transform: scaleY(0); opacity: 0; }

/* ANPC badges (SAL + SOL) — obligatorii legal pe footerul de e-commerce RO.
   Asezate in dreapta randului de copyright (stil Altex). */
body.delfino .dl-footer-anpc {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}
body.delfino .dl-footer-anpc-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, .14);
  transition: transform .2s ease, box-shadow .2s ease;
}
body.delfino .dl-footer-anpc-link:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0,0,0,.18); }
body.delfino .dl-footer-anpc-link img {
  display: block;
  height: 28px;
  width: auto;
  max-width: 120px;
  object-fit: contain;
}

/* Compliance disclaimer panel */
body.delfino .dl-footer-disclaimer {
  margin: 0 auto 24px;
  padding: 18px 22px;
  max-width: 760px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .08);
  color: var(--dl-cream-200);
  font-size: 12.5px;
  line-height: 1.6;
  text-align: center;
  opacity: .9;
}

body.delfino .dl-footer-bottom {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.10);
  font-size: 12.5px;
  color: var(--dl-cream-300);
  opacity: 0.85;
}
body.delfino .dl-footer-bottom-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
body.delfino .dl-footer-bottom-text {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
body.delfino .dl-footer-legal-links { display: inline-flex; align-items: center; gap: 10px; }
body.delfino .dl-footer-legal-links a { font-size: 12.5px; color: var(--dl-cream-300); }
body.delfino .dl-footer-craft {
  font-family: var(--dl-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--dl-cream-300);
  opacity: .8;
}

/* Misc utilities */
body.delfino .dl-divider { height: 1px; background: var(--dl-line); border: 0; margin: 0; }
body.delfino .dl-badge-pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px;
  background: var(--dl-teal-50); color: var(--dl-teal-600);
  border-radius: var(--dl-radius-pill);
  /* Prefer Apple Color Emoji for flag glyphs (works on iOS/macOS); falls back to system emoji
     on Android/Windows since the Apple font cannot be embedded for licensing reasons. */
  font-family: var(--dl-mono), "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";
  font-size: 11px; letter-spacing: 0.12em;
  border: 1px solid var(--dl-teal-200);
}
body.delfino .dl-badge-pill .dl-dot {
  width: 6px; height: 6px;
  background: var(--dl-teal-500);
  border-radius: 50%;
}
body.delfino .dl-cert-row { display: flex; flex-wrap: wrap; gap: 12px; }
body.delfino .dl-cert {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px;
  border: 1px solid var(--dl-line);
  border-radius: var(--dl-radius-pill);
  background: white;
  font-size: 12px; color: var(--dl-ink-soft);
  font-family: var(--dl-mono);
  letter-spacing: 0.06em;
}
body.delfino .dl-cert-ico {
  width: 16px; height: 16px;
  background: var(--dl-teal-500);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: white; font-size: 10px; font-weight: bold;
}

/* Chat bubble */
body.delfino .dl-chat-bubble {
  position: fixed;
  bottom: 24px; right: 24px;
  width: 56px; height: 56px;
  background: var(--dl-navy-800);
  color: white;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: var(--dl-shadow-lift);
  z-index: 40;
  cursor: pointer;
  border: 0;
  transition: transform .15s, background .15s;
}
body.delfino .dl-chat-bubble:hover { background: var(--dl-navy-900); transform: scale(1.05); }
body.delfino .dl-chat-bubble .dl-pulse {
  position: absolute; inset: 0;
  border-radius: 50%;
  background: var(--dl-teal-500);
  opacity: 0.5;
  animation: dl-pulse 2s ease-out infinite;
  pointer-events: none;
}
@keyframes dl-pulse {
  0% { transform: scale(1); opacity: 0.5; }
  100% { transform: scale(1.5); opacity: 0; }
}

/* Page transitions */
body.delfino .dl-page-enter { animation: dl-pageIn 0.32s cubic-bezier(0.2, 0.8, 0.2, 1); }
@keyframes dl-pageIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Cart drawer */
body.delfino .dl-drawer-backdrop {
  position: fixed; inset: 0;
  background: rgba(11,19,38,.40);
  z-index: 70;
  animation: dl-fadeIn .2s ease;
}
@keyframes dl-fadeIn { from { opacity: 0; } to { opacity: 1; } }
body.delfino .dl-drawer {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: 440px; max-width: 100%;
  background: var(--dl-cream-50);
  z-index: 71;
  display: flex; flex-direction: column;
  animation: dl-slideIn .3s cubic-bezier(.2,.8,.2,1);
  box-shadow: -10px 0 40px rgba(11,19,38,.20);
}
@keyframes dl-slideIn { from { transform: translateX(100%); } to { transform: translateX(0); } }
body.delfino .dl-drawer-head {
  padding: 24px;
  border-bottom: 1px solid var(--dl-line);
  display: flex; align-items: center; justify-content: space-between;
}
body.delfino .dl-drawer-body { flex: 1; overflow-y: auto; padding: 24px; }
body.delfino .dl-drawer-foot { padding: 24px; border-top: 1px solid var(--dl-line); background: white; }

/* Reveal-on-scroll */
body.delfino .dl-reveal { opacity: 0; transform: translateY(16px); transition: opacity .55s ease, transform .55s ease; }
body.delfino .dl-reveal.is-visible { opacity: 1; transform: translateY(0); }

/* Hero Calm specific helpers */
body.delfino .dl-hero-stats {
  display: flex; gap: 32px; flex-wrap: wrap;
  margin-top: 48px; color: var(--dl-muted);
}
body.delfino .dl-hero-stat-num { font-family: var(--dl-serif); font-size: 32px; color: var(--dl-navy-800); line-height: 1; }
body.delfino .dl-hero-divider { width: 1px; background: var(--dl-line); }
body.delfino .dl-hero-card-overlay {
  position: absolute; bottom: 24px; left: 24px;
  background: rgba(251,248,241,.95);
  padding: 16px;
  border-radius: 12px;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  max-width: 260px;
}
body.delfino .dl-hero-card-overlay .dl-mono { font-size: 10px; }
body.delfino .dl-hero-card-overlay-text {
  margin-top: 4px; font-size: 13px; color: var(--dl-navy-800);
}
body.delfino .dl-hero-bestseller-tag {
  position: absolute; top: 24px; right: 24px;
  background: var(--dl-gold-500); color: white;
  padding: 10px 16px; border-radius: 999px;
  font-family: var(--dl-mono); font-size: 11px; letter-spacing: 0.12em;
}

/* Responsive: collapse the header into mobile-friendly layout.
   Grid order: hamburger (col 1) | logo centered (col 2) | actions (col 3). The
   .dl-header-left wrapper uses display:contents so its children participate directly
   in the grid (preserving the centered-logo layout); the scrolled state below
   re-promotes it into a flex pill. */
@media (max-width: 991.98px) {
  body.delfino .dl-header-inner { grid-template-columns: 1fr auto 1fr; gap: 4px; }
  body.delfino .dl-nav { display: none; }
  body.delfino .dl-header-left { display: contents; }
  body.delfino .dl-menu-toggle { grid-column: 1; justify-self: start; margin-left: -10px; }
  body.delfino .dl-brand { grid-column: 2; justify-self: center; }
  body.delfino .dl-header-actions { grid-column: 3; justify-self: end; gap: 0; margin-right: -8px; }
  body.delfino .dl-topbar-marquee { font-size: 11px; }
  body.delfino .dl-topbar-item { margin-right: 32px; }
  body.delfino .dl-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
}

/* Footer: desktop always shows all link groups (override <details> default-closed) */
@media (min-width: 768px) {
  body.delfino .dl-footer-group:not([open]) > *:not(summary) { display: block; }
  body.delfino .dl-footer-group:not([open]) > ul { display: flex; }
  body.delfino .dl-footer-group > summary { pointer-events: none; }
  body.delfino .dl-footer-toggle { display: none; }
}

/* Footer: mobile accordion behavior */
@media (max-width: 767.98px) {
  body.delfino .dl-footer { padding: 56px 0 24px; margin-top: 56px; }
  body.delfino .dl-footer-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  body.delfino .dl-footer-brand { padding-bottom: 24px; margin-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.08); }
  body.delfino .dl-footer-group {
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  body.delfino .dl-footer-group > summary {
    padding: 18px 4px;
    cursor: pointer;
    user-select: none;
  }
  body.delfino .dl-footer h4 { margin: 0; }
  body.delfino .dl-footer-toggle { display: inline-block; }
  body.delfino .dl-footer-group > ul { padding: 0 4px 18px; gap: 14px; }
  body.delfino .dl-footer-brandhead { margin: 48px auto 28px; }
  body.delfino .dl-footer-logo { width: 100%; max-width: 100%; }
  body.delfino .dl-footer-brand { text-align: center; padding-bottom: 28px; }
  body.delfino .dl-footer-tagline { margin-left: auto; margin-right: auto; }
  body.delfino .dl-footer-disclaimer {
    margin: 0 -4px 20px;
    padding: 16px 18px;
    font-size: 12px;
  }
  body.delfino .dl-footer-bottom { margin-top: 16px; }
  body.delfino .dl-footer-bottom-row {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 14px;
  }
  body.delfino .dl-footer-bottom-text {
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
  body.delfino .dl-footer-anpc { justify-content: center; }
}

/* Scrolled state on mobile/tablet — turn the header into two floating pills:
   left pill (hamburger + logo) and right pill (phone + cart). The transparent header
   bar lets the page bg show through; pills carry the visual weight. */
@media (max-width: 991.98px) {
  body.delfino .dl-header.scrolled { background: transparent; border-bottom: 0; box-shadow: none; }
  body.delfino .dl-header.scrolled .dl-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }
  body.delfino .dl-header.scrolled .dl-header-left {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 14px 4px 6px;
    background: #ffffff;
    border-radius: 999px;
    box-shadow: 0 2px 12px rgba(11, 19, 38, .10);
  }
  body.delfino .dl-header.scrolled .dl-menu-toggle { margin-left: 0; grid-column: auto; }
  body.delfino .dl-header.scrolled .dl-brand { grid-column: auto; justify-self: auto; }
  body.delfino .dl-header.scrolled .dl-brand img { height: 30px; }
  body.delfino .dl-header.scrolled .dl-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 0;
    margin-right: 0;
    grid-column: auto;
    justify-self: auto;
    padding: 4px 6px;
    background: #ffffff;
    border-radius: 999px;
    box-shadow: 0 2px 12px rgba(11, 19, 38, .10);
  }
  /* Hide account icon when scrolled — keeps the right pill compact (phone + cart only) */
  body.delfino .dl-header.scrolled .dl-header-actions > a[href*="/cont"] { display: none; }
}
@media (min-width: 992px) {
  body.delfino .dl-menu-toggle { display: none; }
}
@media (max-width: 599.98px) {
  body.delfino .dl-section { padding: 64px 0; }
  body.delfino .dl-section-lg { padding: 80px 0; }
  body.delfino .dl-container, body.delfino .dl-container-wide { padding: 0 20px; }
  body.delfino .dl-topbar { font-size: 11px; }
}

/* Small layout overrides — Bootstrap container neutralization is NOT needed since we use .dl-container */
/* But existing layout.twig wraps everything in .main-content; ensure bottle silhouette art parents don't squish */
body.delfino .main-content > .delfino-page { isolation: isolate; }
