:root{
  --lsdb-ink:#171313;
  --lsdb-paper:#fffdf9;
  --lsdb-soft:#f4efeb;
  --lsdb-line:#e5ded8;
  --lsdb-muted:#71696b;
  --lsdb-accent:#6f2742;
  --lsdb-max:1280px;
  --lsdb-radius:2px;
  --lsdb-shadow:0 12px 40px rgba(23,19,19,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--lsdb-paper);color:var(--lsdb-ink);font:400 16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
button,input,select,textarea{font:inherit}
button{color:inherit}
.shell{width:min(calc(100% - 40px),var(--lsdb-max));margin-inline:auto}
.sr-only,.skip-link:not(:focus){position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;z-index:9999;left:12px;top:12px;background:#fff;padding:10px 14px;border:1px solid var(--lsdb-ink)}
.announcement{padding:7px 20px;text-align:center;background:var(--lsdb-ink);color:#fff;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,253,249,.94);border-bottom:1px solid var(--lsdb-line);backdrop-filter:blur(12px)}
.header-inner{width:min(calc(100% - 40px),var(--lsdb-max));height:78px;margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px}
.brand{min-width:210px}
.custom-logo{width:auto;max-height:52px}
.wordmark{font-weight:700;text-transform:uppercase;letter-spacing:.16em;text-decoration:none;font-size:14px}
.primary-nav{justify-self:center}
.lsdb-menu{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}
.lsdb-menu li{position:relative}
.lsdb-menu a{display:block;padding:27px 0 25px;text-decoration:none;font-size:13px;letter-spacing:.04em;white-space:nowrap}
.lsdb-menu a:hover,.lsdb-menu .current-menu-item>a{color:var(--lsdb-accent)}
.lsdb-menu .sub-menu{display:none;position:absolute;left:-18px;top:100%;min-width:220px;padding:12px 18px;background:var(--lsdb-paper);border:1px solid var(--lsdb-line);box-shadow:var(--lsdb-shadow);list-style:none}
.lsdb-menu li:hover>.sub-menu,.lsdb-menu li:focus-within>.sub-menu{display:block}
.lsdb-menu .sub-menu a{padding:9px 0}
.header-actions{display:flex;align-items:center;gap:10px;justify-self:end}
.header-actions button,.header-actions a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;border:0;background:transparent;text-decoration:none;cursor:pointer;font-size:14px}
.cart-link{gap:5px}
.lsdb-cart-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:20px;background:var(--lsdb-accent);color:#fff;font-size:11px}
.nav-toggle{display:none;background:transparent;border:0;padding:10px}
.nav-toggle span:not(.sr-only){display:block;width:22px;height:1px;background:currentColor;margin:5px 0}
.header-search{border-top:1px solid var(--lsdb-line);background:var(--lsdb-paper);padding:18px 0}
.search-form{display:flex;gap:8px}
.search-form label{flex:1}
.search-form input{width:100%;height:46px;border:1px solid var(--lsdb-line);background:#fff;padding:0 14px}
.search-form button{height:46px;border:0;background:var(--lsdb-ink);color:#fff;padding:0 22px;cursor:pointer}

.hero{overflow:hidden;border-bottom:1px solid var(--lsdb-line);background:linear-gradient(120deg,#f7f1ee 0,#fffdf9 65%)}
.hero.has-image{background-image:linear-gradient(90deg,rgba(255,253,249,.98) 0%,rgba(255,253,249,.82) 43%,rgba(255,253,249,.05) 75%),var(--hero-image);background-size:cover;background-position:center}
.hero-inner{min-height:590px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:center;gap:50px}
.hero-copy{max-width:710px;padding:80px 0}
.eyebrow{margin:0 0 13px;color:var(--lsdb-accent);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.hero h1{max-width:750px;margin:0;font-size:clamp(48px,7vw,94px);line-height:.94;letter-spacing:-.055em;font-weight:650}
.hero-text{max-width:620px;margin:28px 0 0;color:var(--lsdb-muted);font-size:clamp(18px,2vw,22px);line-height:1.55}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.button,.button:visited{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;text-decoration:none;border:1px solid var(--lsdb-ink);font-weight:650;font-size:13px;letter-spacing:.03em}
.button-primary{background:var(--lsdb-ink);color:#fff}
.button-primary:hover{background:var(--lsdb-accent);border-color:var(--lsdb-accent)}
.button-quiet{background:transparent}
.hero-visual{justify-self:end;width:min(35vw,440px);aspect-ratio:4/5;border:1px solid rgba(111,39,66,.2);background:radial-gradient(circle at 50% 35%,#f7e8ec,#e9dcd7 50%,#caaeb6);display:grid;place-items:center;transform:rotate(2deg)}
.hero-visual span{font-size:clamp(50px,7vw,110px);letter-spacing:-.08em;color:rgba(255,255,255,.72);font-weight:800}
.has-image .hero-visual{visibility:hidden}

.home-section{padding:90px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}
.section-head h2,.brand-story h2{margin:0;font-size:clamp(34px,4vw,56px);line-height:1.04;letter-spacing:-.04em}
.section-head>a{font-size:13px;text-decoration:none;border-bottom:1px solid currentColor}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.category-card{text-decoration:none}
.category-media{overflow:hidden;aspect-ratio:4/5;background:var(--lsdb-soft);display:grid;place-items:center}
.category-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.category-media span{font-size:84px;font-weight:700;color:#d8c8c3}
.category-card:hover img{transform:scale(1.025)}
.category-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:12px 0}
.category-meta strong{font-size:14px}
.category-meta small{color:var(--lsdb-muted);font-size:11px}
.brand-story{padding:105px 0;background:var(--lsdb-ink);color:#fff}
.story-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:11vw;align-items:end}
.story-grid p:not(.eyebrow){font-size:18px;color:#d9d2cf;max-width:570px}
.story-grid a{display:inline-block;margin-top:12px;color:#fff}
.content-main,.shop-main{padding:60px 0 100px}
.content-shell{max-width:980px}
.entry-head{margin-bottom:35px}
.entry-head h1,.archive-head h1{font-size:clamp(40px,5vw,66px);line-height:1.04;letter-spacing:-.045em;margin:0}
.entry-content{font-size:18px}
.entry-content>*{max-width:760px;margin-left:auto;margin-right:auto}
.entry-content>.alignwide{max-width:1100px}
.entry-content>.alignfull{max-width:none}
.entry-content img{height:auto}
.entry-image{margin-bottom:40px}
.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.post-card>a{text-decoration:none}
.post-card h2{font-size:26px;line-height:1.12}
.post-card p{color:var(--lsdb-muted)}
.empty-state{text-align:center;padding-top:70px;padding-bottom:90px}
.site-footer{background:#211d1d;color:#efe8e4;padding:70px 0 26px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}
.footer-brand,.footer-title{font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:13px}
.footer-grid>div>a,.footer-menu a{display:block;color:#d3c8c4;text-decoration:none;padding:4px 0}
.footer-menu{list-style:none;padding:0;margin:0}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:55px;padding-top:20px;border-top:1px solid #3b3535;color:#948a87;font-size:11px}
@media(max-width:1100px){
  .header-inner{grid-template-columns:auto 1fr auto}
  .nav-toggle{display:block}
  .brand{min-width:0;text-align:center}
  .primary-nav{display:none;position:fixed;top:calc(78px + 29px);left:0;right:0;bottom:0;padding:24px 20px;background:var(--lsdb-paper);overflow:auto}
  .primary-nav.is-open{display:block}
  .lsdb-menu{display:block}
  .lsdb-menu a{padding:12px 0;font-size:16px}
  .lsdb-menu .sub-menu{display:block;position:static;border:0;box-shadow:none;padding:0 0 8px 18px;background:transparent}
  .lsdb-menu .sub-menu a{font-size:14px;color:var(--lsdb-muted)}
  .account-link{display:none!important}
  .category-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .shell,.header-inner{width:min(calc(100% - 28px),var(--lsdb-max))}
  .announcement{font-size:10px;padding:6px 12px}
  .header-inner{height:66px;gap:8px}
  .primary-nav{top:91px}
  .custom-logo{max-height:40px;max-width:180px}
  .wordmark{font-size:11px}
  .search-toggle{display:none!important}
  .cart-link>span[aria-hidden]{display:none}
  .hero-inner{min-height:auto;grid-template-columns:1fr;padding:55px 0 65px}
  .hero-copy{padding:0}
  .hero h1{font-size:clamp(48px,14vw,72px)}
  .hero-visual{display:none}
  .home-section{padding:64px 0}
  .section-head{align-items:flex-start}
  .section-head>a{display:none}
  .category-grid{gap:10px}
  .category-meta{display:block}
  .category-meta small{display:block;margin-top:2px}
  .story-grid{grid-template-columns:1fr;gap:35px}
  .brand-story{padding:70px 0}
  .post-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .footer-bottom{display:block}
  .footer-bottom span{display:block;margin:5px 0}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}

/* Brand, Font Awesome e social */
.bundled-logo{display:inline-flex;align-items:center;text-decoration:none}
.bundled-logo img{width:auto;height:58px;object-fit:contain}
.social-links{display:flex;gap:10px;margin-top:18px}
.social-links a{display:grid;place-items:center;width:38px;height:38px;border:1px solid #4a4242;border-radius:50%;color:#fff;text-decoration:none;transition:background-color .2s ease,border-color .2s ease}
.social-links a:hover{background:var(--lsdb-accent);border-color:var(--lsdb-accent)}
.header-actions i{font-size:16px}
.favorites-link,.cart-link{position:relative}
.lsdb-favorites-count{position:absolute;right:0;top:0;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:20px;background:var(--lsdb-accent);color:#fff;font-size:10px}
.lsdb-favorites-count[hidden]{display:none!important}
@media(max-width:760px){.bundled-logo img{height:46px}}

/* Footer boutique v1.2 */
.site-footer{
  background:#171313;
  color:#f4efeb;
  padding:76px 0 24px;
  border-top:1px solid rgba(255,255,255,.06);
}
.footer-main{
  display:grid;
  grid-template-columns:minmax(260px,1.45fr) minmax(260px,1.25fr) minmax(170px,.8fr) minmax(260px,1.15fr);
  gap:clamp(34px,4vw,72px);
  align-items:start;
}
.footer-brand-column{max-width:360px}
.footer-logo{
  display:inline-flex;
  align-items:center;
  width:168px;
  min-height:100px;
  padding:12px 14px;
  background:#fff;
  text-decoration:none;
}
.footer-logo img{
  width:100%;
  height:auto;
  max-height:92px;
  object-fit:contain;
}
.footer-claim{
  margin:24px 0 0;
  max-width:345px;
  color:#cfc4c0;
  font-size:14px;
  line-height:1.75;
}
.footer-title{
  position:relative;
  margin:4px 0 22px;
  padding-bottom:12px;
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:750;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.footer-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:30px;
  height:1px;
  background:var(--lsdb-accent);
}
.footer-links{
  display:grid;
  gap:9px;
}
.footer-links-two-columns{
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:24px;
}
.footer-links a{
  position:relative;
  width:fit-content;
  color:#cfc4c0;
  font-size:13px;
  line-height:1.45;
  text-decoration:none;
  transition:color .15s ease,transform .15s ease;
}
.footer-links a:hover{
  color:#fff;
  transform:translateX(2px);
}
.footer-contact address{
  margin:0;
  font-style:normal;
}
.footer-contact-link,
.footer-address{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin:0 0 12px;
  color:#cfc4c0;
  font-size:13px;
  line-height:1.55;
  text-decoration:none;
}
.footer-contact-link:hover{color:#fff}
.footer-contact i{
  flex:0 0 16px;
  margin-top:4px;
  color:#fff;
  font-size:13px;
  text-align:center;
}
.footer-vat{
  margin:16px 0 0;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.09);
  color:#8f8582;
  font-size:11px;
  letter-spacing:.04em;
}
.footer-vat span{color:#bfb4b0}
.site-footer .social-links{
  display:flex;
  gap:9px;
  margin-top:22px;
}
.site-footer .social-links a{
  display:grid;
  place-items:center;
  width:39px;
  height:39px;
  padding:0;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  color:#fff;
  background:transparent;
}
.site-footer .social-links a:hover{
  background:var(--lsdb-accent);
  border-color:var(--lsdb-accent);
  transform:translateY(-2px);
}
.site-footer .footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-top:58px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.09);
  color:#827875;
  font-size:10px;
  line-height:1.5;
}
.footer-bottom p{margin:0}
.footer-legal{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:16px;
}
.footer-legal a{
  color:#938986;
  text-decoration:none;
}
.footer-legal a:hover{color:#fff}

@media(max-width:1100px){
  .footer-main{
    grid-template-columns:1.25fr 1fr 1fr;
  }
  .footer-brand-column{
    grid-column:1/-1;
    max-width:620px;
  }
  .footer-claim{max-width:620px}
}
@media(max-width:760px){
  .site-footer{padding:58px 0 20px}
  .footer-main{
    grid-template-columns:1fr 1fr;
    gap:42px 24px;
  }
  .footer-brand-column,
  .footer-contact{
    grid-column:1/-1;
  }
  .footer-logo{width:150px}
  .footer-claim{font-size:13px}
  .footer-links-two-columns{grid-template-columns:1fr}
  .site-footer .footer-bottom{
    display:block;
    margin-top:42px;
  }
  .footer-legal{
    justify-content:flex-start;
    margin-top:12px;
  }
}

/* Homepage macro categorie v1.3 */
.home-category-showcase{
  padding:90px 0 34px;
}
.lsdb-category-mosaic{
  display:grid;
  gap:5px;
}
.lsdb-category-mosaic--primary{
  grid-template-columns:minmax(0,1.9fr) minmax(340px,1fr);
}
.lsdb-category-mosaic-side{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:5px;
}
.lsdb-category-mosaic--secondary{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:5px;
}
.lsdb-category-feature{
  position:relative;
  display:block;
  min-height:330px;
  overflow:hidden;
  background:#ddd4cf;
  color:#fff;
  text-decoration:none;
  isolation:isolate;
}
.lsdb-category-feature--hero{
  min-height:675px;
}
.lsdb-category-feature--side{
  min-height:335px;
}
.lsdb-category-feature--wide{
  min-height:390px;
}
.lsdb-category-feature-media,
.lsdb-category-feature-overlay,
.lsdb-category-feature-image{
  position:absolute;
  inset:0;
}
.lsdb-category-feature-media{
  z-index:-3;
  background:#d6cbc5;
}
.lsdb-category-feature-image{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.015);
  transition:opacity .72s ease,transform 1.5s ease;
}
.lsdb-category-feature-image.is-active{
  opacity:1;
}
.lsdb-category-feature:hover .lsdb-category-feature-image.is-active,
.lsdb-category-feature:focus-visible .lsdb-category-feature-image.is-active{
  transform:scale(1.045);
}
.lsdb-category-feature-placeholder{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:clamp(90px,14vw,220px);
  font-weight:800;
  color:rgba(255,255,255,.35);
  background:linear-gradient(135deg,#c8b8b0,#9d8a86);
}
.lsdb-category-feature-overlay{
  z-index:-1;
  background:
    linear-gradient(180deg,rgba(12,10,10,.05) 15%,rgba(12,10,10,.58) 100%),
    linear-gradient(90deg,rgba(12,10,10,.2),rgba(12,10,10,0) 55%);
  transition:background-color .3s ease;
}
.lsdb-category-feature-content{
  position:absolute;
  left:clamp(24px,3vw,52px);
  right:clamp(24px,3vw,52px);
  bottom:clamp(26px,4vw,54px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  z-index:2;
}
.lsdb-category-feature-kicker{
  display:inline-flex;
  padding:7px 9px;
  margin-bottom:11px;
  background:#fff;
  color:#111;
  font-size:10px;
  line-height:1;
  font-weight:750;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.lsdb-category-feature-content strong{
  display:block;
  max-width:92%;
  font-size:clamp(31px,3.8vw,62px);
  line-height:.98;
  letter-spacing:-.045em;
  text-shadow:0 2px 18px rgba(0,0,0,.15);
}
.lsdb-category-feature--side .lsdb-category-feature-content strong{
  font-size:clamp(27px,2.4vw,42px);
}
.lsdb-category-feature--wide .lsdb-category-feature-content strong{
  font-size:clamp(28px,2.5vw,44px);
}
.lsdb-category-feature-cta{
  display:inline-flex;
  align-items:center;
  gap:13px;
  margin-top:19px;
  padding-bottom:5px;
  border-bottom:1px solid rgba(255,255,255,.72);
  font-size:11px;
  line-height:1.2;
  font-weight:750;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.lsdb-category-feature-cta i{
  transition:transform .2s ease;
}
.lsdb-category-feature:hover .lsdb-category-feature-cta i{
  transform:translateX(5px);
}

/* Admin preview immagini categoria */
.lsdb-term-media-fields{
  display:grid;
  gap:12px;
}
.lsdb-term-media-row{
  display:flex;
  align-items:center;
  gap:10px;
}
.lsdb-term-media-preview{
  width:82px;
  min-height:64px;
  display:grid;
  place-items:center;
  background:#f5f5f5;
  border:1px solid #ddd;
}
.lsdb-term-media-preview img{
  max-width:80px;
  max-height:64px;
  object-fit:cover;
}

@media(max-width:980px){
  .lsdb-category-mosaic--primary{
    grid-template-columns:1fr 1fr;
  }
  .lsdb-category-feature--hero{
    min-height:580px;
  }
  .lsdb-category-mosaic-side{
    min-width:0;
  }
  .lsdb-category-mosaic--secondary{
    grid-template-columns:1fr 1fr;
  }
  .lsdb-category-mosaic--secondary .lsdb-category-feature:last-child{
    grid-column:1/-1;
  }
}
@media(max-width:680px){
  .home-category-showcase{
    padding:60px 0 20px;
  }
  .lsdb-category-mosaic--primary,
  .lsdb-category-mosaic--secondary{
    grid-template-columns:1fr;
    gap:5px;
  }
  .lsdb-category-mosaic-side{
    grid-template-rows:none;
  }
  .lsdb-category-mosaic--secondary .lsdb-category-feature:last-child{
    grid-column:auto;
  }
  .lsdb-category-feature--hero{
    min-height:540px;
  }
  .lsdb-category-feature--side,
  .lsdb-category-feature--wide{
    min-height:380px;
  }
  .lsdb-category-feature-content strong,
  .lsdb-category-feature--side .lsdb-category-feature-content strong,
  .lsdb-category-feature--wide .lsdb-category-feature-content strong{
    font-size:clamp(34px,10vw,48px);
  }
}
@media(prefers-reduced-motion:reduce){
  .lsdb-category-feature-image{
    transition:none!important;
    transform:none!important;
  }
}

/* Footer negative logo v1.3.1 */
.footer-logo{
  width:220px;
  min-height:auto;
  padding:0;
  background:transparent;
}
.footer-logo-image{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
}
@media(max-width:760px){
  .footer-logo{
    width:185px;
  }
}

/* Mobile navigation overlay v1.4 */
.mobile-nav-head,
.mobile-nav-search,
.mobile-nav-actions,
.mobile-nav-secondary,
.mobile-nav-social{
  display:none;
}

@media(max-width:1100px){
  html.nav-open,
  body.nav-open{
    overflow:hidden;
  }

  .primary-nav{
    display:block;
    position:fixed;
    inset:0;
    top:0;
    z-index:999;
    padding:0;
    background:rgba(255,253,249,.985);
    transform:translateX(-100%);
    opacity:0;
    visibility:hidden;
    transition:transform .34s cubic-bezier(.22,.61,.36,1),opacity .22s ease,visibility .22s ease;
    overflow-y:auto;
    overscroll-behavior:contain;
  }

  .primary-nav.is-open{
    transform:translateX(0);
    opacity:1;
    visibility:visible;
  }

  .mobile-nav-head{
    position:sticky;
    top:0;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:78px;
    padding:12px 20px;
    background:rgba(255,253,249,.97);
    border-bottom:1px solid var(--lsdb-line);
    backdrop-filter:blur(12px);
  }

  .mobile-nav-logo{
    display:inline-flex;
    align-items:center;
  }

  .mobile-nav-logo img{
    width:auto;
    height:52px;
  }

  .mobile-nav-close{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border:0;
    background:transparent;
    cursor:pointer;
    font-size:22px;
  }

  .mobile-nav-search{
    display:block;
    padding:18px 20px 8px;
  }

  .mobile-nav-search .search-form{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
  }

  .mobile-nav-search .search-form input{
    height:48px;
    background:#fff;
  }

  .mobile-nav-search .search-form button{
    height:48px;
    min-width:48px;
    padding:0 16px;
  }

  .mobile-nav-content{
    padding:12px 20px 38px;
  }

  .mobile-nav-primary{
    margin-top:4px;
  }

  .mobile-nav-primary .lsdb-menu{
    display:block;
    margin:0;
    padding:0;
  }

  .mobile-nav-primary .lsdb-menu>li{
    border-bottom:1px solid var(--lsdb-line);
  }

  .mobile-nav-primary .lsdb-menu>li>a{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:58px;
    padding:14px 2px;
    font-size:19px;
    font-weight:650;
    line-height:1.2;
    letter-spacing:-.01em;
  }

  .mobile-nav-primary .lsdb-menu>li.menu-item-has-children>a::after{
    content:"\f078";
    font-family:"Font Awesome 6 Pro";
    font-size:12px;
    font-weight:400;
    opacity:.55;
  }

  .mobile-nav-primary .lsdb-menu .sub-menu{
    position:static;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 18px;
    min-width:0;
    margin:0;
    padding:0 0 14px 0;
    border:0;
    box-shadow:none;
    background:transparent;
  }

  .mobile-nav-primary .lsdb-menu .sub-menu li{
    min-width:0;
  }

  .mobile-nav-primary .lsdb-menu .sub-menu a{
    padding:8px 2px;
    color:var(--lsdb-muted);
    font-size:14px;
    line-height:1.25;
    white-space:normal;
  }

  .mobile-nav-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:24px;
  }

  .mobile-nav-actions a{
    position:relative;
    min-height:82px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:7px;
    padding:14px 16px;
    background:#f6f1ed;
    border:1px solid #ebe3de;
    text-decoration:none;
  }

  .mobile-nav-actions a:nth-child(1){
    background:var(--lsdb-ink);
    color:#fff;
    border-color:var(--lsdb-ink);
  }

  .mobile-nav-actions i{
    font-size:19px;
  }

  .mobile-nav-actions span:not(.lsdb-favorites-count):not(.lsdb-cart-count){
    font-size:13px;
    font-weight:700;
  }

  .mobile-nav-actions .lsdb-favorites-count,
  .mobile-nav-actions .lsdb-cart-count{
    position:absolute;
    right:10px;
    top:10px;
  }

  .mobile-nav-secondary{
    display:grid;
    gap:10px;
    margin-top:28px;
    padding-top:22px;
    border-top:1px solid var(--lsdb-line);
  }

  .mobile-nav-secondary a{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--lsdb-muted);
    font-size:13px;
    text-decoration:none;
  }

  .mobile-nav-secondary i{
    width:16px;
    color:var(--lsdb-ink);
    text-align:center;
  }

  .mobile-nav-social{
    display:flex;
    gap:10px;
    margin-top:22px;
  }

  .mobile-nav-social a{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border:1px solid var(--lsdb-line);
    border-radius:50%;
    text-decoration:none;
  }
}

@media(max-width:600px){
  .mobile-nav-head{
    min-height:72px;
    padding-inline:16px;
  }

  .mobile-nav-logo img{
    height:46px;
  }

  .mobile-nav-search,
  .mobile-nav-content{
    padding-left:16px;
    padding-right:16px;
  }

  .mobile-nav-primary .lsdb-menu>li>a{
    min-height:54px;
    font-size:18px;
  }

  .mobile-nav-primary .lsdb-menu .sub-menu{
    grid-template-columns:1fr 1fr;
  }

  .mobile-nav-actions{
    grid-template-columns:1fr 1fr;
  }
}

/* Fix overlay mobile v1.4.1
   backdrop-filter sull'header crea un containing block per i figli fixed
   su alcuni browser mobile. Lo disattiviamo sotto breakpoint e forziamo
   il pannello sulla viewport reale.
*/
@media(max-width:1100px){
  .site-header{
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    transform:none !important;
    filter:none !important;
    contain:none !important;
  }

  .primary-nav{
    position:fixed !important;
    inset:0 !important;
    top:0 !important;
    right:0 !important;
    bottom:auto !important;
    left:0 !important;
    width:100vw !important;
    height:100vh !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:100dvh !important;
    margin:0 !important;
    z-index:99999 !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  .primary-nav.is-open{
    display:block !important;
  }

  .mobile-nav-head{
    position:sticky !important;
    top:0 !important;
  }
}

/* Mobile logo optimization v1.4.2 */
.bundled-logo picture{
  display:inline-flex;
  align-items:center;
}
.bundled-logo img{
  width:auto;
  height:58px;
  object-fit:contain;
}

@media(max-width:760px){
  .bundled-logo img{
    height:56px;
    max-width:210px;
  }
}

@media(max-width:1100px){
  .brand{
    text-align:center;
  }

  .mobile-nav-logo img{
    width:auto;
    height:64px;
    max-width:220px;
    object-fit:contain;
  }
}

@media(max-width:600px){
  .header-inner{
    height:72px;
  }

  .bundled-logo img{
    height:60px;
    max-width:220px;
  }

  .mobile-nav-logo img{
    height:68px;
    max-width:230px;
  }
}

/* Category discovery / shop by need v1.4.3 */
.home-needs{
  padding:42px 0 84px;
}
.lsdb-needs-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.lsdb-need-card{
  min-height:230px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:27px 25px 24px;
  background:#f5f0ec;
  border:1px solid #eee6e1;
  text-decoration:none;
  transition:background-color .22s ease,transform .22s ease,border-color .22s ease;
}
.lsdb-need-card:hover{
  background:#fff;
  border-color:#d8ccc6;
  transform:translateY(-3px);
}
.lsdb-need-card-eyebrow{
  margin-bottom:24px;
  color:var(--lsdb-accent);
  font-size:10px;
  line-height:1;
  font-weight:750;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.lsdb-need-card strong{
  display:block;
  max-width:95%;
  font-size:clamp(23px,2.1vw,34px);
  line-height:1.03;
  letter-spacing:-.035em;
}
.lsdb-need-card-text{
  max-width:290px;
  margin-top:13px;
  color:var(--lsdb-muted);
  font-size:13px;
  line-height:1.55;
}
.lsdb-need-card-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:auto;
  padding-top:24px;
  font-size:11px;
  font-weight:750;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.lsdb-need-card-link i{
  transition:transform .18s ease;
}
.lsdb-need-card:hover .lsdb-need-card-link i{
  transform:translateX(4px);
}

@media(max-width:980px){
  .lsdb-needs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .home-needs{padding:28px 0 64px}
  .lsdb-needs-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .lsdb-need-card{
    min-height:210px;
    padding:20px 17px;
  }
  .lsdb-need-card-eyebrow{margin-bottom:18px}
  .lsdb-need-card strong{font-size:23px}
  .lsdb-need-card-text{font-size:12px}
}

/* Newsletter + popup + Bra Fitting v1.4.4 */
.footer-newsletter{
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(360px,1.1fr);
  gap:clamp(36px,6vw,90px);
  align-items:center;
  margin-top:58px;
  padding:38px 0;
  border-top:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
}
.footer-newsletter .footer-title{
  margin-bottom:15px;
}
.footer-newsletter h3{
  margin:0 0 8px;
  max-width:520px;
  color:#fff;
  font-size:clamp(25px,2.5vw,38px);
  line-height:1.04;
  letter-spacing:-.035em;
}
.footer-newsletter-copy>p:last-child{
  margin:0;
  color:#998f8b;
  font-size:13px;
}
.lsdb-newsletter-form{
  width:100%;
}
.lsdb-newsletter-email{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
}
.lsdb-newsletter-form input[type="email"],
.lsdb-newsletter-form input[type="text"]{
  width:100%;
  min-height:48px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.18);
  background:#fff;
  color:#171313;
}
.lsdb-newsletter-form button{
  min-height:48px;
  padding:0 20px;
  border:1px solid #fff;
  background:#fff;
  color:#171313;
  font-weight:750;
  cursor:pointer;
}
.lsdb-consent{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:11px;
  color:#8f8582;
  font-size:10px;
  line-height:1.45;
}
.lsdb-consent input{
  flex:0 0 auto;
  margin-top:2px;
}
.lsdb-consent a{
  color:inherit;
}
.lsdb-form-message{
  min-height:18px;
  margin-top:10px;
  font-size:12px;
  line-height:1.4;
}

.newsletter-open{
  overflow:hidden;
}
.lsdb-newsletter-modal[hidden]{
  display:none!important;
}
.lsdb-newsletter-modal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  padding:20px;
}
.lsdb-newsletter-backdrop{
  position:absolute;
  inset:0;
  background:rgba(17,14,14,.58);
  backdrop-filter:blur(4px);
}
.lsdb-newsletter-dialog{
  position:relative;
  z-index:1;
  width:min(100%,680px);
  max-height:calc(100dvh - 40px);
  overflow:auto;
  background:#fffdf9;
  box-shadow:0 30px 90px rgba(0,0,0,.24);
}
.lsdb-newsletter-close{
  position:absolute;
  right:14px;
  top:14px;
  z-index:2;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:0;
  background:transparent;
  cursor:pointer;
  font-size:22px;
}
.lsdb-newsletter-modal-copy{
  padding:clamp(38px,6vw,70px);
}
.lsdb-newsletter-modal-copy h2{
  margin:0;
  max-width:560px;
  font-size:clamp(38px,5.2vw,64px);
  line-height:.98;
  letter-spacing:-.05em;
}
.lsdb-newsletter-modal-copy>p:not(.eyebrow){
  max-width:560px;
  margin:20px 0 28px;
  color:var(--lsdb-muted);
  font-size:16px;
}
.lsdb-newsletter-modal .lsdb-newsletter-form{
  max-width:520px;
}
.lsdb-newsletter-modal .lsdb-field>span:not(.sr-only){
  display:block;
  margin-bottom:6px;
  font-size:11px;
  font-weight:700;
}
.lsdb-newsletter-modal .lsdb-newsletter-form input{
  border:1px solid var(--lsdb-line);
}
.lsdb-newsletter-modal .lsdb-newsletter-form button{
  border-color:var(--lsdb-ink);
  background:var(--lsdb-ink);
  color:#fff;
}
.lsdb-newsletter-modal .lsdb-consent{
  color:var(--lsdb-muted);
}

/* Homepage bra fitting */
.home-bra-fitting{
  padding:90px 0;
  background:#f0e5e1;
}
.home-bra-fitting-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:clamp(45px,8vw,120px);
  align-items:end;
}
.home-bra-fitting h2{
  margin:0;
  max-width:760px;
  font-size:clamp(40px,5vw,70px);
  line-height:.98;
  letter-spacing:-.05em;
}
.home-bra-fitting-grid>div:last-child p{
  max-width:520px;
  margin:0 0 24px;
  color:#5f5556;
  font-size:17px;
}

/* Bra fitting landing */
.bra-fitting-page{
  background:var(--lsdb-paper);
}
.bra-fitting-hero{
  padding:95px 0 110px;
  background:linear-gradient(120deg,#f7f1ee 0,#fffdf9 72%);
  border-bottom:1px solid var(--lsdb-line);
}
.bra-fitting-hero-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:clamp(45px,7vw,110px);
  align-items:end;
}
.bra-fitting-hero h1{
  margin:0;
  max-width:850px;
  font-size:clamp(56px,7vw,96px);
  line-height:.92;
  letter-spacing:-.06em;
}
.bra-fitting-lead{
  max-width:690px;
  margin:28px 0 32px;
  color:var(--lsdb-muted);
  font-size:20px;
  line-height:1.55;
}
.bra-fitting-hero-card{
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:32px;
  background:var(--lsdb-ink);
  color:#fff;
}
.bra-fitting-number{
  margin-bottom:auto;
  color:#a98d95;
  font-size:12px;
  letter-spacing:.15em;
}
.bra-fitting-hero-card strong{
  font-size:34px;
  line-height:1.05;
  letter-spacing:-.035em;
}
.bra-fitting-hero-card p{
  margin:14px 0 0;
  color:#c8bdb9;
}
.bra-fitting-process,
.bra-fitting-booking{
  padding:90px 0;
}
.bra-fitting-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.bra-fitting-steps article{
  min-height:270px;
  padding:24px;
  border:1px solid var(--lsdb-line);
  background:#fff;
}
.bra-fitting-steps article>span{
  color:var(--lsdb-accent);
  font-size:11px;
  letter-spacing:.12em;
}
.bra-fitting-steps h3{
  margin:54px 0 12px;
  font-size:26px;
  line-height:1.05;
  letter-spacing:-.035em;
}
.bra-fitting-steps p{
  margin:0;
  color:var(--lsdb-muted);
  font-size:14px;
}
.bra-fitting-benefits{
  padding:90px 0;
  background:var(--lsdb-ink);
  color:#fff;
}
.bra-fitting-benefits-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(45px,8vw,120px);
}
.bra-fitting-benefits h2{
  margin:0;
  max-width:620px;
  font-size:clamp(44px,5vw,68px);
  line-height:.98;
  letter-spacing:-.05em;
}
.bra-fitting-benefit-list{
  display:grid;
  gap:0;
}
.bra-fitting-benefit-list p{
  display:grid;
  grid-template-columns:20px 1fr;
  gap:12px;
  margin:0;
  padding:17px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
  color:#d3c8c4;
}
.bra-fitting-benefit-list i{
  margin-top:4px;
  color:#fff;
}
.bra-fitting-booking-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:clamp(45px,8vw,120px);
}
.bra-fitting-booking h2{
  margin:0;
  font-size:clamp(40px,4.8vw,64px);
  line-height:.98;
  letter-spacing:-.05em;
}
.bra-fitting-booking>div p{
  color:var(--lsdb-muted);
}
.bra-fitting-store{
  margin-top:30px;
  padding-top:24px;
  border-top:1px solid var(--lsdb-line);
}
.bra-fitting-store p{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:8px 0;
}
.bra-fitting-store i{
  width:18px;
  margin-top:4px;
  color:var(--lsdb-ink);
}
.bra-fitting-store a{
  text-decoration:none;
}
.lsdb-fitting-form{
  padding:30px;
  background:#f6f1ed;
  border:1px solid #ebe3de;
}
.lsdb-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.lsdb-field{
  display:block;
}
.lsdb-field>span{
  display:block;
  margin-bottom:7px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
}
.lsdb-field input,
.lsdb-field select,
.lsdb-field textarea{
  width:100%;
  border:1px solid var(--lsdb-line);
  background:#fff;
  padding:12px;
}
.lsdb-fitting-form>.lsdb-field{
  margin-top:16px;
}
.lsdb-fitting-form .lsdb-consent{
  margin:16px 0;
  color:var(--lsdb-muted);
}
.lsdb-fitting-form .lsdb-form-message{
  color:var(--lsdb-ink);
}

@media(max-width:900px){
  .footer-newsletter,
  .home-bra-fitting-grid,
  .bra-fitting-hero-grid,
  .bra-fitting-benefits-grid,
  .bra-fitting-booking-grid{
    grid-template-columns:1fr;
  }
  .bra-fitting-steps{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:600px){
  .footer-newsletter{
    gap:24px;
    margin-top:42px;
    padding:30px 0;
  }
  .lsdb-newsletter-email{
    grid-template-columns:1fr;
  }
  .lsdb-newsletter-modal{
    padding:10px;
  }
  .lsdb-newsletter-dialog{
    max-height:calc(100dvh - 20px);
  }
  .lsdb-newsletter-modal-copy{
    padding:52px 22px 28px;
  }
  .home-bra-fitting{
    padding:65px 0;
  }
  .bra-fitting-hero{
    padding:65px 0 75px;
  }
  .bra-fitting-hero h1{
    font-size:clamp(48px,14vw,72px);
  }
  .bra-fitting-hero-card{
    min-height:260px;
  }
  .bra-fitting-process,
  .bra-fitting-booking,
  .bra-fitting-benefits{
    padding:65px 0;
  }
  .bra-fitting-steps{
    grid-template-columns:1fr;
  }
  .lsdb-form-grid{
    grid-template-columns:1fr;
  }
  .lsdb-fitting-form{
    padding:20px 16px;
  }
}

/* Logo update v1.4.5 */
.bundled-logo img{
  max-width:260px;
  width:auto;
  object-fit:contain;
}
.footer-logo{
  width:260px;
}
.footer-logo-image{
  width:100%;
  height:auto;
}
@media(max-width:1100px){
  .mobile-nav-logo img{
    max-width:255px;
    width:auto;
    object-fit:contain;
  }
}
@media(max-width:760px){
  .bundled-logo img{
    max-width:240px;
  }
}
@media(max-width:600px){
  .bundled-logo img{
    max-width:235px;
  }
  .mobile-nav-logo img{
    max-width:245px;
  }
  .footer-logo{
    width:220px;
  }
}
