:root{
  --beltrami-ink:#504b47;
  --beltrami-ink-strong:#2b2b28;
  --beltrami-paper:#f0efeb;
  --beltrami-line:#b9b7b0;
  --beltrami-max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--beltrami-ink)}
a{color:inherit}
.skip-link{position:fixed;z-index:99999;top:8px;left:8px;padding:9px 12px;background:#fff;color:#111;transform:translateY(-160%)}
.skip-link:focus{transform:none}
body.menu-open{overflow:hidden}
.site-header{z-index:1000}
.site-header .brand img{display:block}
.site-header .desktop-cart-link,.site-header .mobile-cart-indicator{text-decoration:none}
.site-header .desktop-cart-link .beltrami-cart-label,.site-header .mobile-cart-indicator .beltrami-cart-label{white-space:nowrap}
.cart-count{font-size:.72em;line-height:1;vertical-align:super;margin-left:2px}

/* MC4WP keeps the approved footer DOM visually intact. */
.site-footer .newsletter .brand-newsletter .mc4wp-form-fields{display:contents}
.site-footer .newsletter .brand-newsletter .mc4wp-response:empty{display:none}.site-footer .newsletter .brand-newsletter .mc4wp-response:not(:empty){margin-top:18px;color:#f0efeb;font-size:12px}
.site-footer .newsletter .brand-newsletter>label[style]{display:none!important}

/* Generic WordPress editorial pages. */
.beltrami-editorial-page,.beltrami-index,.beltrami-single,.beltrami-search,.beltrami-404{min-height:60vh}
.beltrami-editorial-page .page-hero{max-height:72vh;overflow:hidden}
.beltrami-editorial-page .page-hero img{display:block;width:100%;height:min(72vh,820px);object-fit:cover}
.utility-content{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:80px 0 40px}
.utility-intro{max-width:760px;margin:0 auto 54px;text-align:center}
.utility-intro h1{margin:0;font:italic 400 clamp(36px,5vw,66px)/1.05 "Bodoni Moda","Bodoni 72",Didot,serif;color:var(--beltrami-ink)}
.utility-eyebrow{margin:0 0 22px;font:300 10px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:2px;text-transform:uppercase}
.utility-body{max-width:880px;margin:0 auto}
.utility-body :is(h2,h3,h4){color:var(--beltrami-ink);font-family:"Bodoni Moda","Bodoni 72",Didot,serif;font-weight:400}
.utility-body h2{margin:62px 0 22px;font-size:clamp(28px,3.4vw,42px);line-height:1.15}
.utility-body h3{margin:42px 0 18px;font-size:25px}
.utility-body :is(p,li){font-size:14px;line-height:2;letter-spacing:.05em}
.utility-body a{text-decoration:underline;text-underline-offset:3px}
.utility-button{display:inline-block;padding:12px 22px;border:1px solid var(--beltrami-ink-strong);text-decoration:none!important;font:300 10px/1 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase}

/* Route-independent header baseline. Route CSS/global CSS may refine typography, but the
   structural header must remain valid on every WordPress page. */
.site-header{height:60px;padding:0 max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;position:relative;z-index:1000;color:#504b47}
.site-header .brand{display:flex;align-items:flex-end;gap:10px;margin-right:auto;min-width:0;text-decoration:none}
.site-header .brand img{display:block;width:auto!important;height:19px!important;max-width:none!important;flex:0 0 auto}
.site-header .brand-edition{font:italic 400 15px/1 "Bodoni Moda","bodoni-moda-variable",serif;transform:translateY(1px);white-space:nowrap}
.site-header .desktop-nav,.site-header .mobile-menu{gap:27px;align-items:center}
.site-header .desktop-nav{display:flex}
.site-header .desktop-nav a,.site-header .mobile-menu a{font-size:10px;line-height:12px;letter-spacing:2px;text-transform:uppercase;white-space:nowrap;text-decoration:none}
.site-header .menu-toggle,.site-header .mobile-menu{display:none}

/* WordPress already offsets the document for #wpadminbar. The header is position:relative,
   so adding another top offset doubles the displacement and breaks the approved layout. */
.admin-bar .site-header{top:auto}
@media(max-width:900px){
  .site-header{height:66px}
  .site-header .brand img{height:16px!important}
  .site-header .brand-edition{font-size:13px}
  .site-header .desktop-nav{display:none}
}
@media(max-width:782px){.admin-bar .site-header{top:auto}}
@media(max-width:900px){
  .utility-content{width:min(100% - 32px,880px);padding-top:56px}
  .site-header .mobile-menu .menu-item-has-children>a::after{content:none}
}

/* Legacy Collection Template compatibility, restyled for the 2026 system. */
.beltrami-collection-landing{width:100%}
.beltrami-collection-landing>.page-hero{max-height:70vh;overflow:hidden}
.beltrami-collection-landing>.page-hero img{display:block;width:100%;height:min(70vh,820px);object-fit:cover}
.collection-landing-intro{margin-bottom:72px!important}
.collection-landing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;width:min(1320px,calc(100% - 48px));margin:0 auto}
.collection-landing-card{display:grid;grid-template-columns:1.12fr .88fr;min-height:440px;background:var(--collection-bg,#f0efeb)}
.collection-landing-image{display:block;min-height:100%;overflow:hidden;background:#eceae6}
.collection-landing-image img,.collection-image-placeholder{display:block;width:100%;height:100%;min-height:440px;object-fit:cover;transition:transform .8s cubic-bezier(.24,.43,.15,.97)}
.collection-landing-card:hover .collection-landing-image img{transform:scale(1.015)}
.collection-landing-copy{display:flex;padding:48px 38px;flex-direction:column;align-items:flex-start;justify-content:center}
.collection-landing-copy h2{margin:0 0 24px;color:#504b47;font:italic 400 clamp(27px,3vw,39px)/1.08 "Bodoni Moda","Bodoni 72",Didot,serif}
.collection-landing-copy h2 a{text-decoration:none}
.collection-description{margin-bottom:26px}
.collection-description p{margin:0;font-size:13px;line-height:1.9}
.collection-description p+p{margin-top:12px}
.collection-landing-copy .cta{position:relative;text-decoration:none;font:300 10px/1.3 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase}
.collection-landing-copy .cta::after{content:"";position:absolute;right:0;bottom:-5px;left:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .6s ease}
.collection-landing-copy .cta:hover::after{transform:scaleX(1);transform-origin:left}
.collection-material-note{width:min(1320px,calc(100% - 48px));margin:110px auto 0!important}
@media(max-width:1050px){.collection-landing-grid{grid-template-columns:1fr}.collection-landing-card{min-height:380px}}
@media(max-width:700px){.collection-landing-grid,.collection-material-note{width:calc(100% - 32px)}.collection-landing-card{grid-template-columns:1fr;min-height:0}.collection-landing-image img,.collection-image-placeholder{min-height:0;aspect-ratio:4/3}.collection-landing-copy{padding:34px 24px 40px}}


/* 0.2.3: WordPress-managed header navigation. */
.site-header .desktop-nav .desktop-cart-link,
.site-header .mobile-menu .mobile-cart-link{position:relative}
.site-header .beltrami-cart-label{position:relative;display:inline-block;white-space:nowrap}
.site-header .desktop-cart-link .cart-count{
  position:absolute;
  top:-.72em;
  right:-.72em;
  margin:0!important;
  font-size:.68em!important;
  line-height:1!important;
  vertical-align:baseline!important;
}
.site-header .utility-language{display:flex;align-items:center;gap:12px}
.site-header .utility-language .language-link{font-size:10px;line-height:12px;letter-spacing:2px;text-transform:uppercase}
@media(max-width:900px){
  .site-header>.utility-language{display:none!important}
  .site-header .mobile-menu .mobile-language-link{margin-top:13px}
}

/* 0.2.4.2: cart quantity badge.
   Only the numeric counter receives the accent background; the Cart label remains
   untouched so the header keeps the approved understated visual language. */
.site-header .desktop-cart-link .cart-count,
.site-header .mobile-menu .mobile-cart-link .cart-count{
  position:absolute;
  top:-9px;
  right:-12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  min-width:15px;
  height:15px;
  padding:0 4px;
  margin:0!important;
  border-radius:999px;
  background:#8b302b;
  color:#fff;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:8px!important;
  font-style:normal;
  font-weight:500;
  line-height:15px!important;
  letter-spacing:0;
  text-align:center;
  vertical-align:baseline!important;
  z-index:2;
}


/* 0.2.16 - selectable extended footer. Current footer rules above remain intact. */
.site-footer.site-footer--extended .footer-main.footer-main--extended{
  width:100%!important;
  max-width:1760px!important;
  padding-inline:clamp(24px,5.3vw,108px)!important;
  display:grid!important;
  grid-template-columns:minmax(330px,.92fr) minmax(0,2.08fr)!important;
  gap:clamp(64px,6vw,118px)!important;
  align-items:start;
}
.site-footer.site-footer--extended .footer-links.footer-links--extended{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(28px,3vw,58px)!important;
  padding-top:8px;
}
.site-footer.site-footer--extended .newsletter--extended h2{
  max-width:360px;
  font-size:clamp(31px,2.25vw,42px)!important;
  line-height:1.08!important;
}
.site-footer.site-footer--extended .newsletter--extended>p{
  margin-top:20px!important;
  font-size:13px!important;
  line-height:1.7!important;
}
.site-footer.site-footer--extended .newsletter--extended .brand-newsletter{
  max-width:430px!important;
  margin-top:30px!important;
}
.site-footer.site-footer--extended .newsletter--extended .newsletter-identity{
  gap:20px!important;
  margin-bottom:18px!important;
}
.site-footer.site-footer--extended .newsletter--extended .newsletter-consent{
  max-width:430px!important;
  margin-top:24px!important;
  font-size:11.5px!important;
  line-height:1.75!important;
}
.site-footer .brand-newsletter--fallback{opacity:.72}

@media(max-width:1200px){
  .site-footer.site-footer--extended .footer-main.footer-main--extended{
    grid-template-columns:1fr!important;
    gap:68px!important;
  }
  .site-footer.site-footer--extended .newsletter--extended .brand-newsletter{max-width:560px!important}
  .site-footer.site-footer--extended .footer-links.footer-links--extended{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .site-footer.site-footer--extended .footer-links.footer-links--extended{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:48px 54px!important;
  }
}
@media(max-width:600px){
  .site-footer.site-footer--extended .footer-main.footer-main--extended{gap:58px!important}
  .site-footer.site-footer--extended .newsletter--extended h2{font-size:34px!important}
  .site-footer.site-footer--extended .footer-links.footer-links--extended{
    grid-template-columns:1fr!important;
    gap:40px!important;
  }
}
