
/* =========================================================
   CARMIDE — SHARED HEADER & FOOTER
   v24
   Loaded LAST on every page: this is the single source of truth
   for site header, language selector, footer and social strip.
   ========================================================= */

:root{
  --chrome-dark:#11100f;
  --chrome-light:#f3f0e8;
  --chrome-ink:#171715;
  --chrome-gold:#c5a56f;
}

/* -------------------------
   HEADER
   ------------------------- */
.site-header{
  position:fixed!important;
  inset:0 0 auto 0!important;
  z-index:100!important;
  height:86px!important;
  min-height:86px!important;
  padding:0 clamp(24px,5vw,72px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:32px!important;
  color:#fff!important;
  background:linear-gradient(to bottom,rgba(18,15,12,.58) 10%,rgba(18,15,12,.30) 60%,rgba(18,15,12,0) 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
  transition:height .35s ease,background .35s ease,color .35s ease,border-color .35s ease,backdrop-filter .35s ease!important;
  overflow:visible!important;
}

.site-header.scrolled{
  height:72px!important;
  min-height:72px!important;
  color:var(--chrome-ink)!important;
  background:rgba(243,240,232,.94)!important;
  border-color:rgba(23,23,21,.16)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  box-shadow:0 8px 28px rgba(25,20,15,.06)!important;
}

/* Brand = [mark] [CARMIDE + slogan below] */
.site-header .brand{
  display:grid!important;
  grid-template-columns:44px max-content!important;
  grid-template-rows:auto!important;
  column-gap:12px!important;
  align-items:center!important;
  justify-items:start!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  flex:0 1 auto!important;
  text-decoration:none!important;
  color:inherit!important;
}

.site-header .brand-mark{
  grid-column:1!important;
  grid-row:1!important;
  display:block!important;
  width:44px!important;
  height:52px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:brightness(0) invert(1)!important;
  transition:filter .35s ease!important;
}

.site-header.scrolled .brand-mark{
  filter:none!important;
}

.site-header .brand-text{
  grid-column:2!important;
  grid-row:1!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:4px!important;
  margin:0!important;
  padding:0!important;
  min-width:0!important;
}

.site-header .brand-name{
  position:relative!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-family:"Cormorant Garamond",Georgia,serif!important;
  font-size:27px!important;
  line-height:.92!important;
  letter-spacing:.22em!important;
  font-weight:500!important;
  white-space:nowrap!important;
}

.site-header .brand-name .tm,
.site-header .brand-name .tm-mark{
  position:absolute!important;
  left:100%!important;
  top:-2px!important;
  margin-left:-4px!important;
  font-family:"Inter",Arial,sans-serif!important;
  font-size:.42em!important;
  line-height:1!important;
  letter-spacing:0!important;
  font-weight:400!important;
}

.site-header .brand-tagline{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-family:"Inter",Arial,sans-serif!important;
  font-size:7px!important;
  line-height:1!important;
  letter-spacing:.24em!important;
  text-transform:uppercase!important;
  opacity:.76!important;
  white-space:nowrap!important;
  color:inherit!important;
}

/* Desktop navigation */
.site-header .main-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:28px!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  margin-left:auto!important;
  color:inherit!important;
}

.site-header .main-nav > a{
  display:inline-block!important;
  position:relative!important;
  padding:9px 0!important;
  font-family:"Inter",Arial,sans-serif!important;
  font-size:12px!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  color:inherit!important;
  opacity:.94!important;
  text-shadow:none!important;
}

.site-header .main-nav > a::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:2px!important;
  width:0!important;
  height:1px!important;
  background:currentColor!important;
  transition:width .25s ease!important;
}

.site-header .main-nav > a:hover::after,
.site-header .main-nav > a.active::after{
  width:100%!important;
}

/* Language selector */
.site-header .lang-switch{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin-left:4px!important;
  padding-left:18px!important;
  border-left:1px solid rgba(255,255,255,.30)!important;
  border-top:0!important;
  color:inherit!important;
  line-height:1!important;
}

.site-header.scrolled .lang-switch{
  border-left-color:rgba(23,23,21,.22)!important;
}

.site-header .lang-switch a{
  position:relative!important;
  display:inline-block!important;
  padding:6px 1px 5px!important;
  font-family:"Inter",Arial,sans-serif!important;
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:.12em!important;
  color:inherit!important;
  opacity:.46!important;
  text-decoration:none!important;
  font-weight:400!important;
}

.site-header .lang-switch a::after{
  display:none!important;
  content:none!important;
}

.site-header .lang-switch a.active,
.site-header .lang-switch a[aria-current="page"]{
  opacity:1!important;
  color:#d5b77f!important;
  font-weight:600!important;
  border-bottom:1px solid currentColor!important;
}

.site-header.scrolled .lang-switch a.active,
.site-header.scrolled .lang-switch a[aria-current="page"]{
  color:#8d6b3e!important;
}

.site-header .lang-separator{
  display:inline-block!important;
  opacity:.32!important;
  color:inherit!important;
}

/* No desktop dash/hamburger */
.site-header .menu-toggle{
  display:none!important;
}

/* -------------------------
   FOOTER
   ------------------------- */
.site-footer{
  background:var(--chrome-dark)!important;
  color:#eee8df!important;
  padding:46px clamp(24px,6vw,80px) 24px!important;
}

.site-footer .footer-top{
  display:grid!important;
  grid-template-columns:1.35fr 1fr 1fr 1fr!important;
  gap:32px!important;
  padding-bottom:34px!important;
}

.site-footer .footer-brand-block{
  min-width:0!important;
}

.site-footer .footer-brand{
  display:inline-block!important;
  position:relative!important;
  color:inherit!important;
  text-decoration:none!important;
  font-family:"Cormorant Garamond",Georgia,serif!important;
  font-size:29px!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  font-weight:500!important;
}

.site-footer .footer-brand > span{
  position:relative!important;
  display:inline-block!important;
}

/* Footer TM: same relative criterion as header */
.site-footer .tm-mark-footer{
  position:absolute!important;
  left:100%!important;
  top:-2px!important;
  margin-left:-3px!important;
  font-family:"Inter",Arial,sans-serif!important;
  font-size:.42em!important;
  line-height:1!important;
  letter-spacing:0!important;
  font-weight:400!important;
  vertical-align:baseline!important;
}

.site-footer .footer-brand-block > p{
  margin:8px 0 0!important;
  font-size:12px!important;
  line-height:1.4!important;
  letter-spacing:0!important;
  color:rgba(255,255,255,.55)!important;
}

.site-footer .footer-heading{
  margin:0 0 12px!important;
  font-family:"Inter",Arial,sans-serif!important;
  font-size:9px!important;
  line-height:1.2!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  color:#cdbc9f!important;
}

.site-footer .footer-column a{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  padding:4px 0!important;
  color:rgba(255,255,255,.68)!important;
  font-family:"Inter",Arial,sans-serif!important;
  font-size:12px!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  text-decoration:none!important;
}

.site-footer .footer-column a:hover{
  color:#fff!important;
}

/* Social strip */
.site-footer .footer-social{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  gap:18px!important;
  padding:18px 0!important;
  margin:0!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  box-sizing:border-box!important;
}

.site-footer .footer-social .social-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  height:30px!important;
  color:rgba(255,255,255,.66)!important;
  text-decoration:none!important;
  transition:color .2s ease,transform .2s ease!important;
}

.site-footer .footer-social .social-link:hover{
  color:#fff!important;
  transform:translateY(-2px)!important;
}

.site-footer .footer-social .social-link::after{
  content:none!important;
  display:none!important;
}

.site-footer .footer-social svg{
  width:18px!important;
  height:18px!important;
  fill:currentColor!important;
  stroke:currentColor!important;
  stroke-width:1.5!important;
}

.site-footer .footer-social svg rect,
.site-footer .footer-social svg circle{
  fill:none!important;
}

.site-footer .footer-bottom{
  padding-top:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
}

.site-footer .footer-bottom p,
.site-footer .footer-bottom a{
  margin:0!important;
  color:rgba(255,255,255,.45)!important;
  font-family:"Inter",Arial,sans-serif!important;
  font-size:11px!important;
  line-height:1.3!important;
  letter-spacing:0!important;
  text-decoration:none!important;
}

/* Coming soon deliberately has no socials */
.coming-soon-page .footer-social{
  display:none!important;
}

.coming-soon-page .footer-closing-line{
  display:block!important;
  width:100%!important;
  height:1px!important;
  background:rgba(255,255,255,.10)!important;
}

/* -------------------------
   TABLET / MOBILE
   ------------------------- */
@media (max-width:1120px){

  .site-header{
    height:76px!important;
    min-height:76px!important;
    padding:0 20px!important;
  }

  .site-header.scrolled{
    height:68px!important;
    min-height:68px!important;
  }

  .site-header .brand{
    grid-template-columns:39px max-content!important;
    column-gap:10px!important;
    max-width:calc(100vw - 88px)!important;
  }

  .site-header .brand-mark{
    width:39px!important;
    height:46px!important;
  }

  .site-header .brand-name{
    font-size:23px!important;
  }

  .site-header .brand-tagline{
    font-size:6.2px!important;
    letter-spacing:.20em!important;
  }

  .site-header .menu-toggle{
    display:block!important;
    position:absolute!important;
    top:50%!important;
    right:14px!important;
    transform:translateY(-50%)!important;
    width:48px!important;
    height:48px!important;
    padding:10px!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    color:inherit!important;
    z-index:130!important;
    cursor:pointer!important;
  }

  .site-header .menu-toggle span{
    display:block!important;
    width:28px!important;
    height:2px!important;
    margin:7px auto!important;
    background:currentColor!important;
    opacity:1!important;
  }

  .site-header .main-nav{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    z-index:120!important;
    padding:92px 24px 34px!important;
    margin:0!important;
    background:#1d1c19!important;
    color:#fff!important;
    display:none!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:24px!important;
    white-space:normal!important;
  }

  .site-header .main-nav.open{
    display:flex!important;
  }

  .site-header .main-nav > a{
    font-family:"Cormorant Garamond",Georgia,serif!important;
    font-size:38px!important;
    line-height:1.03!important;
    letter-spacing:-.015em!important;
    text-transform:none!important;
    color:#fff!important;
    opacity:1!important;
    padding:0!important;
  }

  .site-header .main-nav > a::after{
    display:none!important;
  }

  .site-header .lang-switch{
    margin:10px 0 0!important;
    padding:18px 0 0!important;
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.20)!important;
    color:#fff!important;
  }

  .site-footer .footer-top{
    grid-template-columns:1fr 1fr!important;
    gap:28px 36px!important;
  }

  .site-footer .footer-brand-block{
    grid-column:1/-1!important;
  }
}

@media (max-width:520px){

  .site-header{
    padding-left:15px!important;
    padding-right:15px!important;
  }

  .site-header .brand{
    grid-template-columns:35px max-content!important;
    column-gap:9px!important;
  }

  .site-header .brand-mark{
    width:35px!important;
    height:42px!important;
  }

  .site-header .brand-name{
    font-size:21px!important;
    letter-spacing:.18em!important;
  }

  .site-header .brand-tagline{
    font-size:5.8px!important;
    letter-spacing:.15em!important;
  }

  .site-header .main-nav > a{
    font-size:35px!important;
  }

  .site-footer{
    padding-left:24px!important;
    padding-right:24px!important;
  }

  .site-footer .footer-top{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }

  .site-footer .footer-brand-block{
    grid-column:auto!important;
  }

  .site-footer .footer-bottom{
    align-items:flex-start!important;
  }
}


/* v27 — neutralizzazione definitiva delle vecchie regole social */
.site-footer > .footer-social{
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
}
.site-footer > .footer-social > .social-link{
  flex:0 0 30px!important;
  margin:0!important;
}


/* =========================================================
   CARMIDE v29 — HEADER / FOOTER BRAND IDENTICAL
   Footer reuses the same logo structure and visual metrics
   as the header. No separate footer wordmark treatment.
   ========================================================= */

.site-footer .footer-brand-block{
  min-width:0!important;
}

.site-footer .footer-brand{
  display:grid!important;
  grid-template-columns:44px max-content!important;
  grid-template-rows:auto!important;
  column-gap:12px!important;
  align-items:center!important;
  justify-items:start!important;
  width:max-content!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  color:inherit!important;
  text-decoration:none!important;
}

.site-footer .footer-brand .brand-mark{
  grid-column:1!important;
  grid-row:1!important;
  display:block!important;
  width:44px!important;
  height:52px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:brightness(0) invert(1)!important;
}

.site-footer .footer-brand .brand-text{
  grid-column:2!important;
  grid-row:1!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:4px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

.site-footer .footer-brand .brand-name{
  position:relative!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-family:"Cormorant Garamond",Georgia,serif!important;
  font-size:27px!important;
  line-height:.92!important;
  letter-spacing:.22em!important;
  font-weight:500!important;
  white-space:nowrap!important;
  color:inherit!important;
}

.site-footer .footer-brand .brand-name .tm-mark{
  position:absolute!important;
  left:100%!important;
  top:-2px!important;
  margin-left:-4px!important;
  font-family:"Inter",Arial,sans-serif!important;
  font-size:.42em!important;
  line-height:1!important;
  letter-spacing:0!important;
  font-weight:400!important;
}

.site-footer .footer-brand .brand-tagline{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-family:"Inter",Arial,sans-serif!important;
  font-size:7px!important;
  line-height:1!important;
  letter-spacing:.24em!important;
  text-transform:uppercase!important;
  opacity:.76!important;
  white-space:nowrap!important;
  color:inherit!important;
}

/* Old footer-only wordmark styling is now intentionally superseded. */
.site-footer .tm-mark-footer{
  font-size:inherit!important;
}

@media (max-width:1120px){
  .site-footer .footer-brand{
    grid-template-columns:39px max-content!important;
    column-gap:10px!important;
  }
  .site-footer .footer-brand .brand-mark{
    width:39px!important;
    height:46px!important;
  }
  .site-footer .footer-brand .brand-name{
    font-size:23px!important;
  }
  .site-footer .footer-brand .brand-tagline{
    font-size:6.2px!important;
    letter-spacing:.20em!important;
  }
}

@media (max-width:520px){
  .site-footer .footer-brand{
    grid-template-columns:35px max-content!important;
    column-gap:9px!important;
  }
  .site-footer .footer-brand .brand-mark{
    width:35px!important;
    height:42px!important;
  }
  .site-footer .footer-brand .brand-name{
    font-size:21px!important;
    letter-spacing:.18em!important;
  }
  .site-footer .footer-brand .brand-tagline{
    font-size:5.8px!important;
    letter-spacing:.15em!important;
  }
}


/* Generic footer divider used on pages where social links are intentionally hidden */
.site-footer .footer-closing-line{
  display:block!important;
  width:100%!important;
  height:1px!important;
  background:rgba(255,255,255,.10)!important;
}


/* v32 — HOME ONLY: closing divider before copyright.
   Coming Soon is intentionally left untouched. */
.home-page .site-footer .footer-bottom{
  border-top:1px solid rgba(255,255,255,.10)!important;
  padding-top:18px!important;
}


/* v33 — real document-top target for footer ↑ link.
   The target must not live on the fixed header. */
.page-top-anchor{
  position:absolute!important;
  top:0!important;
  left:0!important;
  width:0!important;
  height:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
