/*
Theme Name: Sylani — Elementor Exact
Theme URI: https://sylani.lovable.app
Author: Sylani
Description: Reproduction native du site Sylani Lovable avec contenus verrouillés visuellement et éditables dans Elementor.
Version: 2.1.0
Text Domain: sylani-elementor-exact
Requires at least: 6.3
Requires PHP: 8.0
*/

:root {
  --sylani-background: oklch(0.97 0.012 80);
  --sylani-foreground: oklch(0.28 0.03 45);
  --sylani-primary: oklch(0.48 0.13 45);
  --sylani-primary-foreground: oklch(0.98 0.01 80);
  --sylani-secondary: oklch(0.92 0.02 75);
  --sylani-muted: oklch(0.93 0.015 75);
  --sylani-muted-foreground: oklch(0.5 0.03 55);
  --sylani-accent: oklch(0.78 0.09 70);
  --sylani-sand: oklch(0.94 0.018 80);
  --sylani-clay: oklch(0.42 0.11 45);
  --sylani-gold: oklch(0.78 0.1 75);
  --sylani-umber: oklch(0.26 0.045 45);
  --sylani-ecru: oklch(0.91 0.022 78);
  --sylani-whatsapp: oklch(0.63 0.16 150);
  --sylani-border: oklch(0.88 0.02 75);
  --sylani-shadow: 0 30px 80px -40px oklch(0.28 0.05 45 / .45);
  --sylani-display: "Cormorant Garamond", Georgia, serif;
  --sylani-body: "Jost", "Helvetica Neue", Arial, sans-serif;
  --sylani-ease: cubic-bezier(.16, 1, .3, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; overflow-x: clip; color: var(--sylani-foreground); background: var(--sylani-background); font-family: var(--sylani-body); font-weight: 400; -webkit-font-smoothing: antialiased; }
body.sylani-menu-open, body.sylani-drawer-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.screen-reader-text { position: absolute!important; width: 1px!important; height: 1px!important; overflow: hidden!important; clip: rect(1px,1px,1px,1px)!important; white-space: nowrap!important; }

/* WordPress / Elementor isolation. Elementor owns copy, never outer visual structure. */
.sylani-main .elementor, .sylani-main .elementor-section, .sylani-main .elementor-element { max-width: 100%; }
.sylani-main .elementor-widget-sylani-hero .elementor-widget-container,
.sylani-main .elementor-widget-sylani-categories .elementor-widget-container,
.sylani-main .elementor-widget-sylani-manifesto .elementor-widget-container,
.sylani-main .elementor-widget-sylani-products .elementor-widget-container,
.sylani-main .elementor-widget-sylani-quote .elementor-widget-container,
.sylani-main .elementor-widget-sylani-shop-the-look .elementor-widget-container,
.sylani-main .elementor-widget-sylani-editorial .elementor-widget-container,
.sylani-main .elementor-widget-sylani-savoir-faire .elementor-widget-container,
.sylani-main .elementor-widget-sylani-newsletter .elementor-widget-container,
.sylani-main .elementor-widget-sylani-contact .elementor-widget-container { margin: 0!important; padding: 0!important; }
.sylani-main .elementor-widget:not(.elementor-widget-sylani-hero):not(.elementor-widget-sylani-categories):not(.elementor-widget-sylani-manifesto):not(.elementor-widget-sylani-products):not(.elementor-widget-sylani-quote):not(.elementor-widget-sylani-shop-the-look):not(.elementor-widget-sylani-editorial):not(.elementor-widget-sylani-savoir-faire):not(.elementor-widget-sylani-newsletter):not(.elementor-widget-sylani-contact) { margin-bottom: 0; }
.sylani-exact-managed-home .sylani-main .elementor-top-section,
.sylani-exact-managed-home .sylani-main .e-con { margin: 0!important; padding: 0!important; }
.sylani-exact-managed-home .sylani-main .elementor-top-section > .elementor-container,
.sylani-exact-managed-home .sylani-main .elementor-column > .elementor-widget-wrap { width: 100%; max-width: none; margin: 0; padding: 0; }

.sylani-wrap { width: min(100% - 48px, 1152px); margin-inline: auto; }
.sylani-label { margin: 0; font-size: 9px; font-weight: 500; letter-spacing: .4em; line-height: 1.4; text-transform: uppercase; }
.sylani-display { margin: 0; font-family: var(--sylani-display); font-weight: 400; letter-spacing: .08em; line-height: 1.15; }
.sylani-button-link { display: inline-block; border-bottom: 1px solid currentColor; padding-bottom: 8px; font-family: var(--sylani-display); font-size: 14px; letter-spacing: .3em; text-transform: uppercase; transition: opacity .7s ease, border-color .7s ease; }
.sylani-button-link:hover { opacity: .6; }

/* Fine grain from the Lovable source. */
.sylani-grain { position: relative; isolation: isolate; }
.sylani-grain::after { position: absolute; z-index: 1; inset: 0; pointer-events: none; content: ""; opacity: .16; mix-blend-mode: multiply; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"); background-size: 180px 180px; }
.sylani-grain > * { position: relative; z-index: 2; }

/* Promo bar and header — WordPress menus keep the Lovable geometry. */
.sylani-site-header { position: sticky; z-index: 100; top: 0; color: var(--sylani-primary-foreground); background: var(--sylani-clay); transition: background-color .5s var(--sylani-ease), box-shadow .5s var(--sylani-ease); }
.sylani-site-header.sylani-header--home { position: fixed; inset: 0 0 auto; background: transparent; }
.sylani-site-header.sylani-header--home .sylani-nav { background: color-mix(in oklab, var(--sylani-umber) 85%, transparent); backdrop-filter: blur(4px); }
.sylani-site-header.is-scrolled { position: sticky; background: color-mix(in oklab, var(--sylani-umber) 88%, transparent); box-shadow: 0 1px 0 rgba(255,255,255,.14); backdrop-filter: blur(10px); }
.sylani-site-header.sylani-header--home.is-scrolled { position: fixed; }
.sylani-promo { overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.1); background: var(--sylani-umber); }
.sylani-promo__track { display: flex; width: max-content; white-space: nowrap; animation: sylani-marquee 24s linear infinite; padding: 6px 0; color: rgba(255,255,255,.9); font-size: 8px; letter-spacing: .25em; text-transform: uppercase; }
.sylani-promo__track span { margin-inline: 32px; }
@keyframes sylani-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.sylani-header__brand-row { position: relative; display: flex; min-height: 90px; align-items: center; justify-content: center; padding: 16px 24px 0; }
.sylani-brand { display: inline-flex; align-items: center; justify-content: center; }
.sylani-brand img { width: auto; height: 64px; max-width: min(290px, 56vw); object-fit: contain; }
.sylani-nav { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; color: inherit; font-size: 10px; letter-spacing: .22em; text-transform: uppercase; }
.sylani-nav__primary, .sylani-nav__utilities { display: flex; align-items: center; gap: clamp(14px, 2vw, 25px); }
.sylani-nav a, .sylani-nav button { border: 0; color: inherit; background: transparent; font-size: inherit; letter-spacing: inherit; text-transform: inherit; transition: opacity .5s ease; }
.sylani-nav a:hover, .sylani-nav button:hover { opacity: .7; }
.sylani-nav__menu-toggle { display: none; align-items: center; gap: 9px; padding: 8px 0; }
.sylani-nav__hamburger { display: inline-flex; flex-direction: column; gap: 3px; }
.sylani-nav__hamburger i { display: block; width: 14px; height: 1px; background: currentColor; }
.sylani-icon-button { position: relative; display: inline-grid; width: 19px; height: 19px; place-items: center; padding: 0; }
.sylani-icon-button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.sylani-icon-count { position: absolute; top: -8px; right: -8px; min-width: 14px; border-radius: 999px; background: var(--sylani-gold); color: var(--sylani-clay); padding: 2px 4px; font-size: 8px; line-height: 1; text-align: center; }
.sylani-mega { position: absolute; z-index: 120; inset: 100% 0 auto; pointer-events: none; border-top: 1px solid color-mix(in oklab, var(--sylani-border) 40%, transparent); background: color-mix(in oklab, var(--sylani-background) 97%, transparent); color: var(--sylani-foreground); opacity: 0; box-shadow: 0 24px 60px -30px rgba(0,0,0,.4); transform: translateY(-8px); transition: opacity .7s var(--sylani-ease), transform .7s var(--sylani-ease); }
.sylani-mega.is-open { pointer-events: auto; opacity: 1; transform: translateY(0); }
.sylani-mega__inner { display: grid; width: min(100% - 64px, 1152px); grid-template-columns: 1fr 1fr 1.2fr; gap: 48px; margin: auto; padding: 48px 0; }
.sylani-mega p { margin: 0 0 14px; color: var(--sylani-muted-foreground); font-size: 8px; letter-spacing: .4em; text-transform: uppercase; }
.sylani-mega a { display: block; margin: 10px 0; font-family: var(--sylani-display); font-size: 19px; letter-spacing: .08em; }
.sylani-mega__feature { display: block; }
.sylani-mega__feature-media { overflow: hidden; }
.sylani-mega__feature img { width: 100%; height: 224px; object-fit: cover; transition: transform 2s var(--sylani-ease); }
.sylani-mega__feature:hover img { transform: scale(1.05); }
.sylani-mega__feature small { display: block; margin-top: 15px; color: var(--sylani-muted-foreground); font-size: 8px; letter-spacing: .4em; text-transform: uppercase; }
.sylani-mega__feature strong { display: block; margin-top: 8px; font-family: var(--sylani-display); font-size: 19px; font-weight: 400; letter-spacing: .08em; }
.sylani-mobile-panel { display: none; }

/* Hero: exact 100svh composition with slow 4-slide crossfade. */
.sylani-hero { position: relative; display: grid; min-height: 100svh; overflow: hidden; place-items: center; color: var(--sylani-primary-foreground); background: var(--sylani-umber); }
.sylani-hero__slides, .sylani-hero__overlay { position: absolute; inset: 0; }
.sylani-hero__slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1); transition: opacity var(--sylani-hero-crossfade, 2000ms) ease-in-out, transform 6000ms ease-in-out; }
.sylani-hero__slide.is-active { opacity: 1; transform: scale(1.05); }
.sylani-hero__overlay { z-index: 2; background: linear-gradient(to bottom, color-mix(in oklab, var(--sylani-umber) 45%, transparent), color-mix(in oklab, var(--sylani-clay) 30%, transparent) 45%, color-mix(in oklab, var(--sylani-umber) 60%, transparent)); }
.sylani-hero__content { position: relative; z-index: 3; width: min(100% - 48px, 800px); margin-top: 80px; text-align: center; }
.sylani-hero__logo { width: min(320px, 70vw); max-height: 260px; margin: auto; object-fit: contain; }
.sylani-hero__title { margin: 40px auto 0; font-family: var(--sylani-display); font-size: clamp(26px, 3vw, 38px); font-weight: 400; line-height: 1.15; }
.sylani-hero__title span { display: block; }

/* Sections rendered through Elementor custom widgets. */
.sylani-reveal { opacity: 0; transform: translateY(var(--sylani-reveal-y, 28px)); transition: opacity 1.4s var(--sylani-ease), transform 1.4s var(--sylani-ease); transition-delay: var(--sylani-reveal-delay, 0ms); }
.sylani-reveal.is-revealed { opacity: 1; transform: translateY(0); }
.sylani-categories { display: flex; flex-direction: column; }
.sylani-category { position: relative; display: flex; min-height: 92svh; overflow: hidden; align-items: center; justify-content: center; color: var(--sylani-primary-foreground); background: var(--sylani-umber); text-align: center; }
.sylani-category__image { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; opacity: .95; transform: scale(1.02); transition: transform 2.6s var(--sylani-ease), opacity 2.6s var(--sylani-ease), filter 2.6s var(--sylani-ease); }
.sylani-category:hover .sylani-category__image { opacity: 1; transform: scale(1.09); }
.sylani-category__overlay { position: absolute; z-index: 1; inset: 0; background: color-mix(in oklab, var(--sylani-umber) 35%, transparent); transition: background 1.6s var(--sylani-ease); }
.sylani-category:hover .sylani-category__overlay { background: color-mix(in oklab, var(--sylani-umber) 45%, transparent); }
.sylani-category__content { position: relative; z-index: 2; width: min(100% - 48px, 660px); }
.sylani-category__sub { margin: 0; color: color-mix(in oklab, white 70%, transparent); font-size: 9px; letter-spacing: .4em; text-transform: uppercase; }
.sylani-category__title { margin: 24px 0 0; font-family: var(--sylani-display); font-size: clamp(48px, 8vw, 80px); font-weight: 400; letter-spacing: .06em; }
.sylani-category__story { max-width: 390px; margin: 32px auto 0; color: transparent; font-size: 14px; line-height: 1.9; transform: translateY(16px); transition: color 1.4s var(--sylani-ease), transform 1.4s var(--sylani-ease); }
.sylani-category:hover .sylani-category__story { color: rgba(255,255,255,.85); transform: translateY(0); }
.sylani-category__link { display: inline-block; border-bottom: 1px solid rgba(255,255,255,.5); margin-top: 38px; padding-bottom: 8px; font-family: var(--sylani-display); font-size: 14px; letter-spacing: .3em; text-transform: uppercase; }
.sylani-manifesto { padding: clamp(112px, 14vw, 176px) 24px; background: var(--sylani-ecru); text-align: center; }
.sylani-manifesto__inner { max-width: 768px; margin: auto; }
.sylani-manifesto__title { margin: 38px auto 0; font-family: var(--sylani-display); font-size: clamp(31px, 4vw, 55px); font-weight: 400; letter-spacing: .06em; line-height: 1.25; }
.sylani-manifesto__copy { max-width: 448px; margin: 40px auto 0; color: var(--sylani-muted-foreground); font-size: 14px; line-height: 2; }
.sylani-products-section { padding: clamp(80px, 10vw, 128px) 16px; background: var(--sylani-background); }
.sylani-section-heading { max-width: 640px; margin: auto; text-align: center; }
.sylani-section-heading__title { margin: 24px 0 0; font-family: var(--sylani-display); font-size: clamp(31px, 3.4vw, 42px); font-weight: 400; letter-spacing: .08em; }
.sylani-product-grid { display: grid; width: min(100%, 1152px); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 16px; margin: 48px auto 0; }
.sylani-product-grid--new { width: min(100%, 1024px); }
.sylani-product { min-width: 0; transition: opacity .75s var(--sylani-ease), transform .75s var(--sylani-ease); }
.sylani-product.is-filtered-out { pointer-events: none; opacity: 0; transform: translateY(12px); }
.sylani-product__media { position: relative; overflow: hidden; aspect-ratio: 4 / 5; background: var(--sylani-ecru); }
.sylani-product__media > a:not(.sylani-product__quick) { display: block; height: 100%; }
.sylani-product__media .sylani-product__image, .sylani-product__media .sylani-product__secondary { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity 1.8s var(--sylani-ease), transform 1.8s var(--sylani-ease); }
.sylani-product__secondary { display: none; opacity: 0; transform: scale(1.04); }
.sylani-product:hover .sylani-product__image { transform: scale(1.04); }
.sylani-product:hover .sylani-product__secondary { opacity: 1; }
.sylani-product__badge { position: absolute; z-index: 3; top: 12px; left: 12px; background: color-mix(in oklab, var(--sylani-background) 85%, transparent); padding: 5px 10px; font-size: 8px; letter-spacing: .25em; text-transform: uppercase; backdrop-filter: blur(8px); }
.sylani-product__wishlist { position: absolute; z-index: 3; top: 12px; right: 12px; display: grid; width: 32px; height: 32px; place-items: center; border: 0; background: color-mix(in oklab, var(--sylani-background) 70%, transparent); backdrop-filter: blur(8px); }
.sylani-product__wishlist svg { width: 14px; height: 14px; fill: none; stroke: currentColor; }
.sylani-product__wishlist.is-active { color: var(--sylani-clay); }
.sylani-product__wishlist.is-active svg { fill: currentColor; }
.sylani-product__quick { text-align: center; position: absolute; z-index: 3; right: 12px; bottom: 12px; left: 12px; border: 0; background: color-mix(in oklab, var(--sylani-background) 90%, transparent); padding: 11px; opacity: 0; color: var(--sylani-foreground); font-size: 9px; letter-spacing: .3em; text-transform: uppercase; transform: translateY(8px); transition: opacity .9s var(--sylani-ease), transform .9s var(--sylani-ease), background .6s ease, color .6s ease; backdrop-filter: blur(8px); }
.sylani-product:hover .sylani-product__quick, .sylani-product__quick:focus-visible { opacity: 1; transform: translateY(0); }
.sylani-product__quick:hover { background: var(--sylani-clay); color: var(--sylani-primary-foreground); }
.sylani-product__mobile-add { display: none; border: 0; margin-top: 12px; padding: 0; background: transparent; color: var(--sylani-muted-foreground); font-size: 9px; letter-spacing: .28em; text-transform: uppercase; }
.sylani-product__details { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-top: 16px; }
.sylani-product__title { min-width: 0; margin: 0; font-family: var(--sylani-display); font-size: clamp(15px, 1.5vw, 18px); font-weight: 400; letter-spacing: .12em; text-transform: uppercase; }
.sylani-product__price { flex: 0 0 auto; margin: 0; color: var(--sylani-clay); font-family: var(--sylani-display); font-size: 16px; }
.sylani-product__price del { margin-right: 8px; color: var(--sylani-muted-foreground); font-size: 13px; }
.sylani-product__colors { display: flex; gap: 6px; margin: 8px 0 0; padding: 0; list-style: none; }
.sylani-product__colors i { display: block; width: 10px; height: 10px; border-radius: 50%; box-shadow: 0 0 0 1px var(--sylani-border); }
.sylani-editorial-quote { position: relative; display: grid; min-height: 70svh; overflow: hidden; place-items: center; color: var(--sylani-primary-foreground); text-align: center; }
.sylani-editorial-quote__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sylani-editorial-quote__overlay { position: absolute; inset: 0; background: color-mix(in oklab, var(--sylani-umber) 35%, transparent); }
.sylani-editorial-quote__text { position: relative; z-index: 2; width: min(100% - 48px, 640px); margin: 0; font-family: var(--sylani-display); font-size: clamp(26px, 4vw, 48px); font-style: italic; font-weight: 400; line-height: 1.4; }
.sylani-look { padding: clamp(80px, 10vw, 128px) 24px; background: var(--sylani-ecru); }
.sylani-look__media { position: relative; width: min(100%, 1024px); height: 60svh; margin: 48px auto 0; overflow: hidden; }
.sylani-look__media > img { width: 100%; height: 100%; object-fit: cover; }
.sylani-hotspot { position: absolute; z-index: 4; transform: translate(-50%, -50%); }
.sylani-hotspot__button { display: grid; width: 32px; height: 32px; place-items: center; border: 0; border-radius: 999px; background: color-mix(in oklab, var(--sylani-background) 80%, transparent); color: var(--sylani-foreground); box-shadow: 0 2px 8px rgba(0,0,0,.12); transition: transform .7s var(--sylani-ease); backdrop-filter: blur(8px); }
.sylani-hotspot__button:hover { transform: scale(1.1); }
.sylani-hotspot.is-open .sylani-hotspot__button { transform: rotate(45deg); }
.sylani-hotspot__panel { position: absolute; top: 44px; left: 50%; width: 208px; padding: 12px; background: color-mix(in oklab, var(--sylani-background) 95%, transparent); box-shadow: var(--sylani-shadow); opacity: 0; text-align: left; transform: translate(-50%, -4px); transition: opacity .7s var(--sylani-ease), transform .7s var(--sylani-ease); pointer-events: none; backdrop-filter: blur(10px); }
.sylani-hotspot.is-open .sylani-hotspot__panel { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.sylani-hotspot__panel img { width: 100%; height: 96px; object-fit: cover; }
.sylani-hotspot__panel strong { display: block; margin-top: 10px; font-family: var(--sylani-display); font-size: 14px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; }
.sylani-hotspot__panel span { display: block; margin-top: 3px; color: var(--sylani-clay); font-family: var(--sylani-display); font-size: 13px; }
.sylani-savoir { padding: clamp(96px, 12vw, 160px) 24px; color: var(--sylani-primary-foreground); background: var(--sylani-umber); }
.sylani-savoir__grid { display: grid; width: min(100%, 1152px); gap: clamp(64px, 8vw, 96px); margin: auto; }
.sylani-savoir__media { position: relative; overflow: hidden; }
.sylani-savoir__media img { width: 100%; height: 52svh; object-fit: cover; }
.sylani-savoir__content { display: flex; flex-direction: column; justify-content: center; gap: clamp(72px, 10vw, 160px); }
.sylani-savoir h2 { margin: 28px 0 0; font-family: var(--sylani-display); font-size: clamp(31px, 3.6vw, 43px); font-weight: 400; line-height: 1.3; }
.sylani-savoir h3 { margin: 0; font-family: var(--sylani-display); font-size: 25px; font-weight: 400; letter-spacing: .12em; }
.sylani-savoir p { max-width: 448px; margin: 18px 0 0; color: rgba(255,255,255,.7); font-size: 14px; line-height: 2; }
.sylani-editorial-image { position: relative; overflow: hidden; }
.sylani-editorial-image img { width: 100%; height: 60svh; object-fit: cover; }
.sylani-newsletter { padding: clamp(96px, 11vw, 128px) 24px; color: var(--sylani-primary-foreground); background: var(--sylani-umber); text-align: center; }
.sylani-newsletter__inner { max-width: 576px; margin: auto; }
.sylani-newsletter h2 { margin: 24px 0 0; font-family: var(--sylani-display); font-size: clamp(31px, 3.4vw, 42px); font-weight: 400; letter-spacing: .06em; }
.sylani-newsletter p { max-width: 390px; margin: 20px auto 0; color: rgba(255,255,255,.7); font-size: 14px; line-height: 2; }
.sylani-newsletter form { display: flex; max-width: 448px; gap: 12px; margin: 40px auto 0; }
.sylani-newsletter input { min-width: 0; flex: 1; border: 0; border-bottom: 1px solid rgba(255,255,255,.4); border-radius: 0; outline: 0; background: transparent; color: white; padding: 12px 4px; }
.sylani-newsletter input:focus { border-color: var(--sylani-gold); }
.sylani-newsletter button { flex: 0 0 auto; border: 1px solid rgba(255,255,255,.6); background: transparent; color: white; padding: 12px 28px; font-size: 9px; letter-spacing: .3em; text-transform: uppercase; transition: background .7s ease, color .7s ease; }
.sylani-newsletter button:hover { background: white; color: var(--sylani-umber); }
.sylani-newsletter button:disabled { cursor: wait; opacity: .55; }
.sylani-newsletter__trap { position: absolute!important; left: -9999px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }
.sylani-newsletter__status { min-height: 18px; margin: 20px auto 0!important; }
.sylani-newsletter__success { color: var(--sylani-gold)!important; font-size: 10px!important; letter-spacing: .3em; text-transform: uppercase; }
.sylani-newsletter__error { color: #f6d5ca!important; font-size: 11px!important; }
.sylani-contact { padding: clamp(96px, 11vw, 128px) 24px; background: var(--sylani-background); text-align: center; }
.sylani-contact h2 { margin: 0; font-family: var(--sylani-display); font-size: clamp(31px, 3.4vw, 42px); font-weight: 400; letter-spacing: .2em; text-transform: uppercase; }
.sylani-contact p { max-width: 448px; margin: 24px auto 0; color: var(--sylani-muted-foreground); font-size: 14px; line-height: 2; }
.sylani-contact a { margin-top: 40px; color: var(--sylani-clay); }

/* Shop / WooCommerce. */
.sylani-page-hero { padding: 72px 24px; background: var(--sylani-sand); text-align: center; }
.sylani-page-hero h1 { margin: 0; font-family: var(--sylani-display); font-size: clamp(35px, 5vw, 55px); font-weight: 400; letter-spacing: .15em; text-transform: uppercase; }
.sylani-page-hero p { max-width: 576px; margin: 20px auto 0; color: var(--sylani-muted-foreground); font-size: 14px; line-height: 2; }

/* Non-shop Lovable routes: one Elementor widget exposes all copy while this
   theme layer preserves the PageShell / Reveal geometry of the source site. */
.sylani-main .elementor-widget-sylani-editorial-page .elementor-widget-container { margin: 0!important; padding: 0!important; }
.sylani-editorial-page { background: var(--sylani-background); }
.sylani-editorial-page__hero { padding-block: 56px; }
.sylani-editorial-hero-media, .sylani-editorial-final-media { overflow: hidden; }
.sylani-editorial-hero-media img { width: 100%; height: 55svh; object-fit: cover; }
.sylani-editorial-chapters { width: min(100% - 32px, 1152px); margin-inline: auto; }
.sylani-editorial-chapter { display: grid; gap: 40px; align-items: center; padding-block: 64px; }
.sylani-editorial-chapter__media { overflow: hidden; }
.sylani-editorial-chapter__media img { width: 100%; height: 45svh; object-fit: cover; }
.sylani-editorial-chapter__content { max-width: 448px; }
.sylani-editorial-chapter__content h2, .sylani-editorial-block h2 { margin: 24px 0 0; font-family: var(--sylani-display); font-size: clamp(28px, 3.4vw, 42px); font-weight: 400; letter-spacing: .06em; line-height: 1.15; }
.sylani-editorial-chapter__text, .sylani-editorial-block > div { margin-top: 24px; color: var(--sylani-muted-foreground); font-size: 14px; line-height: 2; }
.sylani-editorial-chapter__text p, .sylani-editorial-block > div p { margin: 0; }
.sylani-editorial-blocks { width: min(100% - 32px, 1152px); margin-inline: auto; padding-block: 64px; }
.sylani-editorial-blocks > div { display: grid; gap: 32px; }
.sylani-editorial-block { min-width: 0; }
.sylani-editorial-block h2 { margin-top: 0; font-size: clamp(25px, 3vw, 33px); text-transform: none; }
.sylani-editorial-blocks--delivery { width: min(100% - 32px, 1024px); }
.sylani-editorial-blocks--delivery .sylani-editorial-block h2 { letter-spacing: .12em; text-transform: uppercase; }
.sylani-editorial-faq { width: min(100% - 32px, 768px); margin-inline: auto; padding-block: 64px; }
.sylani-editorial-faq .sylani-accordion { margin-top: 0; }
.sylani-editorial-quote-text { padding: 96px 24px; background: var(--sylani-ecru); text-align: center; }
.sylani-editorial-quote-text p { width: min(100%, 672px); margin: 0 auto; font-family: var(--sylani-display); font-size: clamp(25px, 3.2vw, 34px); font-style: italic; line-height: 1.45; }
.sylani-editorial-final-media img { width: 100%; height: 50svh; object-fit: cover; }
.sylani-editorial-cta { padding: 80px 24px; text-align: center; }
.sylani-editorial-cta p { margin: 0; }
.sylani-editorial-contact { display: flex; min-height: 320px; align-items: flex-start; justify-content: center; padding: 64px 24px; text-align: center; }
.sylani-editorial-contact > div { display: flex; max-width: 560px; flex-direction: column; align-items: center; gap: 16px; }
.sylani-editorial-contact__button { display: inline-block; border: 1px solid var(--sylani-clay); padding: 12px 28px; color: var(--sylani-clay); font-family: var(--sylani-display); font-size: 14px; letter-spacing: .2em; text-transform: uppercase; transition: background-color .6s var(--sylani-ease), color .6s var(--sylani-ease); }
.sylani-editorial-contact__button:hover { background: var(--sylani-clay); color: var(--sylani-primary-foreground); }
.sylani-editorial-contact p { margin: 8px 0 0; color: var(--sylani-muted-foreground); font-size: 11px; letter-spacing: .2em; line-height: 1.8; text-transform: uppercase; }
.sylani-shop { padding: 48px 16px 112px; }
.sylani-shop__inner { width: min(100%, 1152px); margin: auto; }
.sylani-shop__tabs { display: flex; gap: 8px; overflow-x: auto; margin: 0 -16px; padding: 0 16px 8px; scrollbar-width: none; }
.sylani-shop__tabs::-webkit-scrollbar { display: none; }
.sylani-shop__tab { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; border: 1px solid var(--sylani-border); padding: 9px 20px; color: var(--sylani-foreground); font-size: 9px; letter-spacing: .22em; text-transform: uppercase; transition: border-color .5s var(--sylani-ease), background-color .5s var(--sylani-ease), color .5s var(--sylani-ease); }
.sylani-shop__tab:hover, .sylani-shop__tab.is-active { border-color: var(--sylani-clay); background: var(--sylani-clay); color: var(--sylani-primary-foreground); }
.sylani-shop__toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; border-block: 1px solid var(--sylani-border); margin-top: 32px; padding: 12px 0; }
.sylani-shop__filter-toggle, .sylani-shop__sort { border: 0; background: transparent; color: var(--sylani-muted-foreground); font-size: 9px; letter-spacing: .25em; text-transform: uppercase; }
.sylani-shop__filter-toggle { justify-self: start; padding: 6px 0; }
.sylani-shop__filter-toggle:hover { color: var(--sylani-clay); }
.sylani-shop__sort { display: flex; align-items: center; gap: 8px; }
.sylani-shop__sort select { border: 1px solid var(--sylani-border); background: var(--sylani-background); padding: 7px 8px; color: var(--sylani-foreground); font: inherit; font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }
.sylani-shop__filters { display: grid; grid-template-rows: 0fr; margin: 0; opacity: 0; transition: grid-template-rows .9s var(--sylani-ease), opacity .7s ease; }
.sylani-shop__filters.is-open { grid-template-rows: 1fr; opacity: 1; }
.sylani-shop__filters > div { overflow: hidden; }
.sylani-shop__filter-grid { display: grid; gap: 16px; padding: 24px 0; }
.sylani-shop__filter-field { display: grid; gap: 8px; }
.sylani-shop__filter-field > span, .sylani-shop__stock-filter, .sylani-shop__filter-reset { color: var(--sylani-muted-foreground); font-size: 8px; letter-spacing: .3em; text-transform: uppercase; }
.sylani-shop__filter-field input:not([type="range"]), .sylani-shop__filter-field select { width: 100%; border: 1px solid var(--sylani-border); outline: 0; background: var(--sylani-background); padding: 10px 12px; color: var(--sylani-foreground); font-size: 10px; letter-spacing: .12em; }
.sylani-shop__filter-field input:focus, .sylani-shop__filter-field select:focus { border-color: var(--sylani-clay); }
.sylani-shop__filter-field--range { grid-column: auto / span 1; }
.sylani-shop__filter-field input[type="range"] { width: 100%; accent-color: var(--sylani-clay); }
.sylani-shop__stock-filter { display: flex; align-items: center; gap: 10px; align-self: end; padding: 10px 0; }
.sylani-shop__stock-filter input { width: 14px; height: 14px; accent-color: var(--sylani-clay); }
.sylani-shop__filter-reset { align-self: end; padding: 10px 0; color: var(--sylani-clay); }
.sylani-shop__filter-reset:hover { text-decoration: underline; text-underline-offset: 5px; }
.sylani-shop__filter-submit { border: 1px solid var(--sylani-clay); background: transparent; padding: 10px 14px; color: var(--sylani-clay); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; }
.sylani-shop .sylani-product-grid { margin-top: 56px; }
.sylani-shop__empty { max-width: 480px; margin: 64px auto 0; color: var(--sylani-muted-foreground); font-size: 13px; line-height: 1.8; text-align: center; }
.sylani-wishlist-page { padding: clamp(96px, 11vw, 144px) 24px 128px; background: var(--sylani-background); }
.sylani-wishlist-page__heading { width: min(100%, 640px); margin: 0 auto; text-align: center; }
.sylani-wishlist-page__heading h1 { margin: 22px 0 0; font-family: var(--sylani-display); font-size: clamp(38px, 5vw, 58px); font-weight: 400; letter-spacing: .14em; text-transform: uppercase; }
.sylani-wishlist-page__heading > p:last-child { max-width: 360px; margin: 22px auto 0; color: var(--sylani-muted-foreground); font-size: 14px; line-height: 2; }
.sylani-wishlist-page__content { min-height: 180px; }
.sylani-wishlist-page__content > .sylani-product-grid { margin-top: 64px; }
.sylani-wishlist-loading { margin: 64px auto 0; color: var(--sylani-muted-foreground); font-size: 11px; letter-spacing: .18em; text-align: center; text-transform: uppercase; }
.sylani-wishlist-empty { width: min(100%, 480px); margin: 72px auto 0; padding: clamp(48px, 7vw, 80px) 24px; background: var(--sylani-sand); text-align: center; }
.sylani-wishlist-empty h2 { margin: 22px 0 0; font-family: var(--sylani-display); font-size: clamp(29px, 3vw, 38px); font-weight: 400; letter-spacing: .06em; }
.sylani-wishlist-empty p:not(.sylani-label) { margin: 18px auto 0; color: var(--sylani-muted-foreground); font-size: 14px; line-height: 2; }
.sylani-wishlist-empty .sylani-button-link { margin-top: 32px; }
.sylani-wishlist-nojs { width: min(100%, 560px); margin: 36px auto 0; color: var(--sylani-muted-foreground); font-size: 13px; line-height: 1.8; text-align: center; }
.sylani-single { padding: 64px 24px 112px; }
.sylani-single .product { display: grid; width: min(100%, 1152px); gap: 48px; margin: auto; }
.sylani-single .woocommerce-product-gallery__wrapper { display: grid; gap: 12px; }
.sylani-single .woocommerce-product-gallery__image img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.sylani-single .product_title { margin: 0; font-family: var(--sylani-display); font-size: clamp(32px, 4vw, 48px); font-weight: 400; letter-spacing: .12em; text-transform: uppercase; }
.sylani-single .price { color: var(--sylani-clay); font-family: var(--sylani-display); font-size: 24px; }
.sylani-single .woocommerce-product-details__short-description, .sylani-single .woocommerce-product-details__short-description p { color: var(--sylani-muted-foreground); font-size: 14px; line-height: 2; }
.sylani-single .single_add_to_cart_button { border: 0; background: var(--sylani-clay); color: white; padding: 16px 24px; font-size: 10px; letter-spacing: .3em; text-transform: uppercase; }
.sylani-single .quantity input { border: 1px solid var(--sylani-border); padding: 12px; }
.sylani-product-detail__top { display: grid; width: min(100%, 1152px); gap: 40px; margin: auto; }
.sylani-product-gallery { display: flex; flex-direction: column; gap: 12px; }
.sylani-product-gallery__main { position: relative; overflow: hidden; background: var(--sylani-ecru); }
.sylani-product-gallery__main img { display: none; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform 1.4s var(--sylani-ease); }
.sylani-product-gallery__main img.is-active { display: block; }
.sylani-product-gallery__main:hover img.is-active { transform: scale(1.5); }
.sylani-product-gallery__thumbs { display: flex; gap: 12px; overflow-x: auto; }
.sylani-product-gallery__thumbs button { width: 70px; flex: 0 0 auto; overflow: hidden; border: 1px solid transparent; padding: 0; background: transparent; }
.sylani-product-gallery__thumbs button.is-active { border-color: var(--sylani-clay); }
.sylani-product-gallery__thumbs img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.sylani-product-detail__summary { align-self: start; }
.sylani-product-detail__summary h1 { margin: 18px 0 0; font-family: var(--sylani-display); font-size: clamp(32px, 4vw, 48px); font-weight: 400; letter-spacing: .1em; line-height: 1.1; text-transform: uppercase; }
.sylani-product-detail__price { margin: 20px 0 0; color: var(--sylani-clay); font-family: var(--sylani-display); font-size: 24px; }
.sylani-product-detail__price del { margin-right: 12px; color: var(--sylani-muted-foreground); font-size: 18px; }
.sylani-product-detail__description { max-width: 448px; margin-top: 24px; color: var(--sylani-muted-foreground); font-size: 14px; line-height: 2; }
.sylani-product-detail__description p { margin: 0; }
.sylani-product-choice { border: 0; margin: 32px 0 0; padding: 0; }
.sylani-product-choice legend { color: var(--sylani-muted-foreground); font-size: 9px; letter-spacing: .3em; text-transform: uppercase; }
.sylani-product-choice > div { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.sylani-product-choice button { width: 28px; height: 28px; border: 1px solid var(--sylani-border); border-radius: 50%; padding: 0; box-shadow: 0 0 0 0 transparent; transition: box-shadow .5s ease; }
.sylani-product-choice button.is-selected { box-shadow: 0 0 0 2px var(--sylani-clay), 0 0 0 4px var(--sylani-background); }
.sylani-product-choice[data-sylani-choice="size"] button, .sylani-product-choice button[data-sylani-choice="size"] { width: auto; height: auto; border-radius: 0; background: transparent; padding: 9px 14px; color: var(--sylani-foreground); font-size: 9px; letter-spacing: .18em; }
.sylani-product-detail__purchase { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.sylani-detail-quantity { display: inline-flex; align-items: center; border: 1px solid var(--sylani-border); }
.sylani-detail-quantity button { border: 0; background: transparent; padding: 13px; }
.sylani-detail-quantity input { width: 36px; border: 0; outline: 0; background: transparent; text-align: center; }
.sylani-detail-add { min-width: 220px; flex: 1; border: 0; background: var(--sylani-clay); padding: 16px 20px; color: var(--sylani-primary-foreground); font-size: 10px; letter-spacing: .3em; text-transform: uppercase; }
.sylani-detail-soldout { flex: 1; background: var(--sylani-muted); padding: 16px 20px; color: var(--sylani-muted-foreground); font-size: 10px; letter-spacing: .3em; text-align: center; text-transform: uppercase; }
.sylani-detail-wishlist { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--sylani-border); background: transparent; padding: 14px 18px; font-size: 9px; letter-spacing: .2em; text-transform: uppercase; }
.sylani-detail-wishlist svg { width: 14px; height: 14px; fill: none; stroke: currentColor; }
.sylani-detail-wishlist.is-active { color: var(--sylani-clay); }
.sylani-detail-wishlist.is-active svg { fill: currentColor; }
.sylani-product-reassurance { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 32px 0 0; padding: 0; color: var(--sylani-muted-foreground); font-size: 9px; letter-spacing: .18em; list-style: none; text-transform: uppercase; }
.sylani-product-reassurance li::before { content: "•"; margin-right: 7px; color: var(--sylani-clay); }
.sylani-accordion { margin-top: 36px; border-top: 1px solid var(--sylani-border); }
.sylani-accordion__item { border-bottom: 1px solid var(--sylani-border); }
.sylani-accordion__trigger { display: flex; width: 100%; align-items: center; justify-content: space-between; border: 0; background: transparent; padding: 16px 0; font-size: 10px; letter-spacing: .2em; text-align: left; text-transform: uppercase; }
.sylani-accordion__trigger b { font-size: 16px; font-weight: 300; transition: transform .6s var(--sylani-ease); }
.sylani-accordion__item.is-open .sylani-accordion__trigger b { transform: rotate(45deg); }
.sylani-accordion__panel { overflow: hidden; max-height: 0; color: var(--sylani-muted-foreground); font-size: 14px; line-height: 1.9; opacity: 0; transition: max-height .7s var(--sylani-ease), opacity .5s ease, padding .7s var(--sylani-ease); }
.sylani-accordion__item.is-open .sylani-accordion__panel { max-height: 600px; opacity: 1; padding: 0 0 18px; }
.sylani-accordion__panel p { margin: 0; }
.sylani-product-story { margin-top: 96px; background: var(--sylani-ecru); }
.sylani-product-story__grid { display: grid; width: min(100%, 1152px); gap: 40px; margin: auto; padding: 80px 16px; }
.sylani-product-story__grid img { width: 100%; height: 50svh; object-fit: cover; }
.sylani-product-story h2 { margin: 22px 0 0; font-family: var(--sylani-display); font-size: clamp(28px, 3.4vw, 42px); font-weight: 400; letter-spacing: .05em; }
.sylani-product-story p:not(.sylani-label) { max-width: 448px; margin: 24px 0 0; color: var(--sylani-muted-foreground); font-size: 14px; line-height: 2; }
.sylani-product-recommendations { padding: 72px 16px; text-align: center; }
.sylani-product-recommendations--sand { background: var(--sylani-sand); }
.sylani-product-recommendations > .sylani-product-grid { margin-top: 40px; text-align: left; }
.sylani-product-back { margin: 0; padding: 0 16px 96px; text-align: center; }

/* Full WooCommerce cart: the data remains WooCommerce-native, the page keeps
   the same calm Sylani hierarchy as the basket drawer and product pages. */
.sylani-cart-page { padding: clamp(96px, 11vw, 144px) 24px 128px; background: var(--sylani-background); }
.sylani-cart-page__inner { width: min(100%, 1152px); margin: auto; }
.sylani-cart-page__heading { max-width: 560px; margin: 0 auto 56px; text-align: center; }
.sylani-cart-page__heading h1 { margin: 20px 0 0; font-family: var(--sylani-display); font-size: clamp(38px, 5vw, 58px); font-weight: 400; letter-spacing: .14em; text-transform: uppercase; }
.sylani-cart-page__heading p { margin: 20px auto 0; color: var(--sylani-muted-foreground); font-size: 14px; line-height: 2; }
.sylani-cart-page__empty { max-width: 520px; margin: 0 auto; padding: clamp(56px, 8vw, 96px) 24px; background: var(--sylani-sand); text-align: center; }
.sylani-cart-page__empty h2 { margin: 0; font-family: var(--sylani-display); font-size: clamp(29px, 3.5vw, 42px); font-weight: 400; letter-spacing: .06em; }
.sylani-cart-page__empty p { max-width: 360px; margin: 18px auto 0; color: var(--sylani-muted-foreground); font-size: 14px; line-height: 2; }
.sylani-cart-page__empty .sylani-button-link { margin-top: 32px; }
.sylani-cart-page__grid { display: grid; gap: 48px; align-items: start; }
.sylani-cart-page__form { min-width: 0; }
.sylani-cart-page__lines { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--sylani-border); }
.sylani-cart-page__line { display: flex; gap: 16px; border-bottom: 1px solid var(--sylani-border); padding: 20px 0; }
.sylani-cart-page__media { display: block; width: 96px; flex: 0 0 96px; overflow: hidden; background: var(--sylani-ecru); }
.sylani-cart-page__media img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform 1.1s var(--sylani-ease); }
.sylani-cart-page__media:hover img { transform: scale(1.05); }
.sylani-cart-page__item { display: flex; min-width: 0; flex: 1; flex-direction: column; justify-content: space-between; gap: 18px; }
.sylani-cart-page__name { display: block; overflow: hidden; font-family: var(--sylani-display); font-size: clamp(15px, 2.5vw, 18px); font-weight: 400; letter-spacing: .1em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.sylani-cart-page__item small { display: block; margin-top: 7px; color: var(--sylani-muted-foreground); font-size: 8px; letter-spacing: .22em; text-transform: uppercase; }
.sylani-cart-page__item .variation { display: none; }
.sylani-cart-page__line-actions { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; }
.sylani-cart-page__quantity .quantity { display: inline-flex; align-items: center; border: 1px solid var(--sylani-border); }
.sylani-cart-page__quantity input { width: 42px; border: 0; outline: 0; background: transparent; padding: 8px 2px; text-align: center; }
.sylani-cart-page__quantity span { display: inline-block; padding: 8px 14px; font-size: 12px; }
.sylani-cart-page__line-actions strong { justify-self: end; color: var(--sylani-clay); font-family: var(--sylani-display); font-size: 16px; font-weight: 400; }
.sylani-cart-page__remove { grid-column: 1 / -1; width: max-content; color: var(--sylani-muted-foreground); font-size: 8px; letter-spacing: .22em; text-transform: uppercase; }
.sylani-cart-page__remove:hover { color: var(--sylani-clay); }
.sylani-cart-page__actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; padding-top: 24px; }
.sylani-cart-page__coupon { display: flex; min-width: min(100%, 310px); flex: 1; gap: 8px; }
.sylani-cart-page__coupon input { min-width: 0; flex: 1; border: 1px solid var(--sylani-border); outline: 0; background: transparent; padding: 11px 12px; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.sylani-cart-page__coupon button, .sylani-cart-page__update { border: 1px solid var(--sylani-clay); background: transparent; padding: 11px 15px; color: var(--sylani-clay); font-size: 8px; letter-spacing: .2em; text-transform: uppercase; transition: background .45s ease, color .45s ease; }
.sylani-cart-page__coupon button:hover, .sylani-cart-page__update:hover { background: var(--sylani-clay); color: var(--sylani-primary-foreground); }
.sylani-cart-page__summary { position: relative; padding: 28px 24px; background: var(--sylani-sand); }
.sylani-cart-page__summary > .sylani-label { margin: 0; }
.sylani-cart-page__summary dl { margin: 26px 0 0; }
.sylani-cart-page__summary dl > div { display: flex; justify-content: space-between; gap: 18px; padding: 7px 0; color: var(--sylani-muted-foreground); font-size: 11px; }
.sylani-cart-page__summary dt, .sylani-cart-page__summary dd { margin: 0; }
.sylani-cart-page__summary dd { text-align: right; }
.sylani-cart-page__summary .sylani-cart-page__discount { color: var(--sylani-clay); }
.sylani-cart-page__summary .sylani-cart-page__total { border-top: 1px solid var(--sylani-border); margin-top: 10px; padding-top: 16px; color: var(--sylani-foreground); font-family: var(--sylani-display); font-size: 20px; }
.sylani-cart-page__checkout, .sylani-cart-page__continue { display: block; margin-top: 18px; padding: 16px; font-size: 9px; letter-spacing: .3em; text-align: center; text-transform: uppercase; }
.sylani-cart-page__checkout { background: var(--sylani-clay); color: var(--sylani-primary-foreground); }
.sylani-cart-page__continue { color: var(--sylani-muted-foreground); }

/* Native WooCommerce account, styled to retain the Lovable account rhythm. */
.sylani-account-page { padding: 56px 24px 112px; background: var(--sylani-background); }
.sylani-account-page__inner { width: min(100%, 640px); margin: auto; }
.sylani-account-page .woocommerce-notices-wrapper > * { margin: 0 0 18px; border: 1px solid color-mix(in srgb, var(--sylani-clay) 40%, transparent); background: var(--sylani-sand); padding: 13px 15px; color: var(--sylani-clay); font-size: 13px; list-style: none; }
.sylani-account-page .woocommerce form { margin: 0; border: 1px solid var(--sylani-border); background: var(--sylani-background); padding: 24px; }
.sylani-account-page .woocommerce form + form { margin-top: 24px; }
.sylani-account-page .woocommerce form p { margin: 0 0 18px; }
.sylani-account-page .woocommerce form label { display: block; margin-bottom: 8px; color: var(--sylani-muted-foreground); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; }
.sylani-account-page .woocommerce form input:not([type="checkbox"]), .sylani-account-page .woocommerce form select, .sylani-account-page .woocommerce form textarea { box-sizing: border-box; width: 100%; border: 1px solid var(--sylani-border); border-radius: 0; outline: 0; background: var(--sylani-background); padding: 11px 12px; color: var(--sylani-foreground); font: inherit; }
.sylani-account-page .woocommerce form button, .sylani-account-page .woocommerce .button { border: 1px solid var(--sylani-clay); border-radius: 0; background: var(--sylani-clay); padding: 12px 18px; color: var(--sylani-primary-foreground); font: inherit; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; transition: opacity .45s ease; }
.sylani-account-page .woocommerce form button:hover, .sylani-account-page .woocommerce .button:hover { background: var(--sylani-clay); color: var(--sylani-primary-foreground); opacity: .88; }
.sylani-account-page .woocommerce .woocommerce-form-login__rememberme { display: block; color: var(--sylani-muted-foreground); font-size: 12px; }
.sylani-account-page .woocommerce .lost_password { margin: 18px 0 0; font-size: 12px; }
.sylani-account-page .woocommerce-MyAccount-navigation { margin: 0 0 24px; border: 1px solid var(--sylani-border); }
.sylani-account-page .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.sylani-account-page .woocommerce-MyAccount-navigation li + li { border-top: 1px solid var(--sylani-border); }
.sylani-account-page .woocommerce-MyAccount-navigation a { display: block; padding: 13px 16px; font-size: 9px; letter-spacing: .18em; text-transform: uppercase; }
.sylani-account-page .woocommerce-MyAccount-navigation .is-active a { color: var(--sylani-clay); }
.sylani-account-page .woocommerce-MyAccount-content { color: var(--sylani-muted-foreground); font-size: 14px; line-height: 1.9; }
.sylani-account-page .woocommerce-MyAccount-content h2, .sylani-account-page .woocommerce-MyAccount-content h3 { color: var(--sylani-foreground); font-family: var(--sylani-display); font-weight: 400; letter-spacing: .08em; }

/* Drawers and overlays. */
.sylani-overlay { position: fixed; z-index: 300; inset: 0; visibility: hidden; background: rgba(0,0,0,.4); opacity: 0; transition: opacity .5s ease, visibility .5s ease; }
.sylani-overlay.is-open { visibility: visible; opacity: 1; }
.sylani-drawer { position: fixed; z-index: 310; top: 0; right: 0; width: min(100%, 440px); height: 100%; overflow: auto; background: var(--sylani-background); box-shadow: var(--sylani-shadow); transform: translateX(102%); transition: transform .6s var(--sylani-ease); }
.sylani-drawer.is-open { transform: translateX(0); }
.sylani-drawer__head { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--sylani-border); padding: 24px; }
.sylani-drawer__head h2 { margin: 0; font-family: var(--sylani-display); font-size: 25px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; }
.sylani-drawer__close { border: 0; background: transparent; font-size: 22px; }
.sylani-drawer__body { padding: 24px; }
.sylani-cart-empty { margin: 48px 0; color: var(--sylani-muted-foreground); text-align: center; }
.sylani-cart-progress { border-bottom: 1px solid var(--sylani-border); margin: -24px -24px 0; padding: 16px 24px; }
.sylani-cart-progress p { margin: 0; color: var(--sylani-muted-foreground); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; }
.sylani-cart-progress span { display: block; height: 1px; margin-top: 10px; background: var(--sylani-border); }
.sylani-cart-progress i { display: block; height: 1px; background: var(--sylani-clay); transition: width .9s var(--sylani-ease); }
.sylani-cart-lines { margin: 0; padding: 0; list-style: none; }
.sylani-cart-lines > li { display: flex; gap: 16px; border-bottom: 1px solid var(--sylani-border); padding: 20px 0; }
.sylani-cart-lines > li > img { width: 80px; height: 96px; flex: 0 0 auto; object-fit: cover; }
.sylani-cart-line__details { min-width: 0; flex: 1; }
.sylani-cart-line__details > a { display: block; overflow: hidden; font-family: var(--sylani-display); font-size: 14px; letter-spacing: .1em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.sylani-cart-line__details small { display: block; margin-top: 5px; color: var(--sylani-muted-foreground); font-size: 8px; letter-spacing: .2em; text-transform: uppercase; }
.sylani-cart-line__details strong { display: block; margin-top: 5px; color: var(--sylani-clay); font-family: var(--sylani-display); font-size: 14px; font-weight: 400; }
.sylani-cart-line__actions { display: flex; align-items: center; gap: 12px; margin-top: 12px; }
.sylani-quantity { display: inline-flex; align-items: center; border: 1px solid var(--sylani-border); }
.sylani-quantity button { border: 0; background: transparent; padding: 4px 10px; }
.sylani-quantity b { width: 24px; font-size: 12px; font-weight: 400; text-align: center; }
.sylani-cart-remove { border: 0; background: transparent; color: var(--sylani-muted-foreground); font-size: 8px; letter-spacing: .2em; text-transform: uppercase; }
.sylani-cart-summary { border-top: 1px solid var(--sylani-border); margin: 0 -24px -24px; padding: 16px 24px 24px; }
.sylani-cart-summary form { display: flex; gap: 8px; margin-bottom: 10px; }
.sylani-cart-summary input { min-width: 0; flex: 1; border: 1px solid var(--sylani-border); background: transparent; padding: 9px 10px; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.sylani-cart-summary form button { border: 1px solid var(--sylani-clay); background: transparent; color: var(--sylani-clay); padding: 9px 11px; font-size: 8px; letter-spacing: .15em; text-transform: uppercase; }
.sylani-cart-notice { min-height: 14px; margin: 6px 0; color: var(--sylani-clay); font-size: 10px; }
.sylani-cart-summary dl { margin: 10px 0 0; }
.sylani-cart-summary dl div { display: flex; justify-content: space-between; gap: 16px; padding: 4px 0; color: var(--sylani-muted-foreground); font-size: 10px; }
.sylani-cart-summary dl dt, .sylani-cart-summary dl dd { margin: 0; }
.sylani-cart-summary .sylani-cart-discount { color: var(--sylani-clay); }
.sylani-cart-summary .sylani-cart-total { border-top: 1px solid var(--sylani-border); margin-top: 8px; padding-top: 12px; color: var(--sylani-foreground); font-family: var(--sylani-display); font-size: 18px; }
.sylani-cart-checkout, .sylani-cart-view { display: block; margin-top: 14px; padding: 15px; font-size: 9px; letter-spacing: .3em; text-align: center; text-transform: uppercase; }
.sylani-cart-checkout { background: var(--sylani-clay); color: var(--sylani-primary-foreground); }
.sylani-cart-view { color: var(--sylani-muted-foreground); }
.sylani-search { position: fixed; z-index: 320; inset: 0; display: grid; visibility: hidden; place-items: start center; background: color-mix(in oklab, var(--sylani-background) 98%, transparent); opacity: 0; padding: 120px 24px 24px; transition: visibility .45s, opacity .45s; }
.sylani-search.is-open { visibility: visible; opacity: 1; }
.sylani-search__inner { width: min(100%, 768px); }
.sylani-search input { width: 100%; border: 0; border-bottom: 1px solid var(--sylani-clay); outline: 0; background: transparent; padding: 18px 0; font-family: var(--sylani-display); font-size: clamp(28px,4vw,46px); }
.sylani-search-results { margin-top: 32px; }
.sylani-search-result { display: flex; align-items: center; gap: 16px; border-bottom: 1px solid var(--sylani-border); padding: 12px 0; transition: background .5s ease; }
.sylani-search-result:hover { background: var(--sylani-sand); }
.sylani-search-result img { width: 56px; height: 64px; object-fit: cover; }
.sylani-search-result span { min-width: 0; flex: 1; }
.sylani-search-result strong { display: block; overflow: hidden; font-family: var(--sylani-display); font-size: 16px; font-weight: 400; letter-spacing: .1em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.sylani-search-result small { display: block; overflow: hidden; margin-top: 4px; color: var(--sylani-muted-foreground); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.sylani-search-result b { color: var(--sylani-clay); font-family: var(--sylani-display); font-size: 14px; font-weight: 400; }
.sylani-search__empty { color: var(--sylani-muted-foreground); font-size: 14px; }
.sylani-whatsapp { position: fixed; z-index: 50; right: 20px; bottom: 20px; display: grid; width: 56px; height: 56px; place-items: center; border-radius: 50%; background: var(--sylani-whatsapp); color: white; box-shadow: 0 10px 28px rgba(0,0,0,.2); transition: transform .4s var(--sylani-ease); }
.sylani-whatsapp:hover { transform: scale(1.08); }
.sylani-whatsapp svg { width: 23px; height: 23px; fill: currentColor; }

/* Footer. */
.sylani-footer { padding: 64px 24px; color: rgba(255,255,255,.8); background: var(--sylani-umber); }
.sylani-footer__grid { display: grid; width: min(100%, 1152px); gap: 40px; margin: auto; font-size: 9px; letter-spacing: .25em; text-transform: uppercase; }
.sylani-footer h2 { margin: 0 0 16px; color: white; font-size: inherit; font-weight: 400; }
.sylani-footer ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.sylani-footer a { transition: opacity .5s ease; }
.sylani-footer a:hover { opacity: .7; }
.sylani-footer__copy { margin: 56px 0 0; color: rgba(255,255,255,.6); font-size: 8px; letter-spacing: .4em; text-align: center; text-transform: uppercase; }

@media (min-width: 640px) {
  .sylani-brand img { height: 80px; }
  .sylani-header__brand-row { min-height: 108px; }
  .sylani-nav { padding-inline: 32px; }
  .sylani-product-grid { gap: 48px 32px; }
  .sylani-shop { padding-inline: 32px; }
  .sylani-shop__tabs { flex-wrap: wrap; justify-content: center; overflow: visible; margin: 0; padding: 0; }
  .sylani-shop .sylani-product-grid { margin-top: 80px; }
  .sylani-look__media { height: 78svh; }
  .sylani-editorial-page__hero { padding-block: 80px; }
  .sylani-editorial-hero-media img { height: 75svh; }
  .sylani-editorial-chapters, .sylani-editorial-blocks, .sylani-editorial-faq { width: min(100% - 64px, 1152px); }
  .sylani-editorial-chapter { padding-block: 96px; }
  .sylani-editorial-blocks { padding-block: 96px; }
  .sylani-editorial-blocks > div { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
  .sylani-editorial-faq { max-width: 832px; padding-block: 96px; }
  .sylani-editorial-quote-text { padding-block: 144px; }
  .sylani-editorial-final-media img { height: 70svh; }
  .sylani-editorial-cta { padding-block: 80px; }
  .sylani-editorial-contact { min-height: 400px; padding-block: 96px; }
  .sylani-newsletter form { flex-direction: row; }
  .sylani-footer__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 768px) {
  .sylani-product__secondary { display: block; }
  .sylani-product:hover .sylani-product__image { opacity: 0; }
}
@media (min-width: 1024px) {
  .sylani-product-grid--best { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .sylani-product-grid--new { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .sylani-shop .sylani-product-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .sylani-shop__filter-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .sylani-shop__filter-field--range { grid-column: span 2; }
  .sylani-savoir__grid { grid-template-columns: 1fr 1fr; }
  .sylani-savoir__media { position: sticky; top: 96px; align-self: start; }
  .sylani-savoir__media img { height: 70svh; }
  .sylani-editorial-chapter { grid-template-columns: 1fr 1fr; gap: 80px; }
  .sylani-editorial-chapter--reverse .sylani-editorial-chapter__media { order: 2; }
  .sylani-editorial-chapter__media img { height: 62svh; }
  .sylani-editorial-blocks--delivery { width: min(100% - 64px, 1024px); }
  .sylani-single .product { grid-template-columns: 1.1fr .9fr; gap: 80px; }
  .sylani-product-detail__top { grid-template-columns: 1.1fr .9fr; gap: 64px; }
  .sylani-product-gallery { flex-direction: row-reverse; align-items: flex-start; gap: 20px; }
  .sylani-product-gallery__main { flex: 1; }
  .sylani-product-gallery__thumbs { width: 80px; flex: 0 0 80px; flex-direction: column; overflow: visible; }
  .sylani-product-gallery__thumbs button { width: 80px; }
  .sylani-product-story__grid { grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; padding: 128px 32px; }
  .sylani-product-story__grid img { height: 70svh; }
  .sylani-cart-page__grid { grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); gap: clamp(48px, 7vw, 96px); }
  .sylani-cart-page__summary { position: sticky; top: 112px; }
}
@media (min-width: 1280px) {
  .sylani-shop .sylani-product-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .sylani-nav__primary { display: none; }
  .sylani-nav__menu-toggle { display: inline-flex; }
  .sylani-nav { min-height: 54px; }
  .sylani-nav__utilities { margin-left: auto; }
  .sylani-nav__utilities .sylani-account { display: none; }
  .sylani-mobile-panel { position: absolute; z-index: 110; inset: 100% 0 auto; display: block; visibility: hidden; overflow: hidden; max-height: 0; background: color-mix(in oklab, var(--sylani-background) 98%, transparent); color: var(--sylani-foreground); opacity: 0; transition: max-height .6s var(--sylani-ease), opacity .45s ease, visibility .45s ease; }
  .sylani-mobile-panel.is-open { visibility: visible; max-height: 100svh; opacity: 1; }
  .sylani-mobile-panel a, .sylani-mobile-panel button { display: flex; width: 100%; align-items: center; justify-content: space-between; border: 0; border-top: 1px solid var(--sylani-border); background: transparent; padding: 14px 24px; color: inherit; font-size: 10px; letter-spacing: .18em; text-align: left; text-transform: uppercase; }
  .sylani-mobile-submenu { display: none; margin: 0 0 0 24px; border-left: 1px solid var(--sylani-border); }
  .sylani-mobile-submenu.is-open { display: block; }
  .sylani-mobile-submenu a { border-top: 0; padding: 11px 22px; font-size: 9px; }
  .sylani-category__story { color: rgba(255,255,255,.82); transform: none; }
  .sylani-product__quick { display: none; }
  .sylani-product__mobile-add { display: inline-block; }
  .sylani-look__media { height: 60svh; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms!important; animation-iteration-count: 1!important; transition-duration: .001ms!important; }
  .sylani-reveal { opacity: 1; transform: none; }
}
