/* Shared header, navigation, footer and mobile conversion bar. */
/* Logo in home: SVG del logo (nessun font a pagamento sul server).
   Desktop: scritta affiancata; mobile: scritta una sotto l'altra. */
.maura-din-hero{font-size:clamp(1.9rem,8vw,6.6rem);line-height:1 !important}
.maura-din-hero picture{display:block}
.maura-din-hero img{display:block;width:auto;height:.84em;max-width:100%;margin:0 auto;object-fit:contain;filter:drop-shadow(0 2px 14px rgba(12,9,8,.5))}
@media (max-width:767px){
  .cid-voSCBeojy4 .maura-din-hero img{height:auto;width:clamp(180px,57vw,235px)}
  .first-fold-compact .cid-voSCBeojy4 .maura-din-hero img{width:clamp(150px,46vw,195px)}
  .first-fold-tight .cid-voSCBeojy4 .maura-din-hero img{width:135px}
}
.treatments-shell { width: min(1460px, calc(100% - 48px)); margin: 0 auto; }
.treatments-topbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(253,251,247,.97);
  border-top: 4px solid #4e4c35;
  border-bottom: 1px solid rgba(0,0,0,.07);
  box-shadow: 0 6px 18px rgba(48,42,39,.06);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.treatments-topbar .treatments-shell { min-height: 88px; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: clamp(22px,3vw,48px); }
.treatments-brand { display: inline-flex; align-items: center; gap: 12px; color: #302a27; text-decoration: none; white-space: nowrap; }
.treatments-brand img { height: 54px; width: auto; object-fit: contain; }
.treatments-brand strong { display: none; }
/* Logo completo (simbolo + scritta) in alto */
.treatments-topbar .treatments-brand img.brand-lockup { width: auto !important; height: 56px !important; max-width: none; }
@media (max-width: 1180px) and (min-width: 992px) { .treatments-topbar .treatments-brand img.brand-lockup { height: 44px !important; } }
@media (max-width: 991px) { .treatments-topbar .treatments-brand img.brand-lockup { height: 50px !important; } }
@media (max-width: 767px) { .treatments-topbar .treatments-brand img.brand-lockup { height: 44px !important; } }
@media (max-width: 370px) { .treatments-topbar .treatments-brand img.brand-lockup { height: 38px !important; } }
.internal-navigation { width: 100%; min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: clamp(18px,2vw,34px); }
.internal-desktop-links { width: 100%; display: flex; align-items: center; justify-content: space-evenly; gap: clamp(12px,1.35vw,26px); }
.internal-desktop-links a { position: relative; padding: .55rem 0; color: #302a27; font-family: "Jost",Arial,sans-serif; font-size: .76rem; font-weight: 650; letter-spacing: .075em; line-height: 1.2; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.internal-desktop-links a::after { content: ""; position: absolute; right: 0; bottom: .2rem; left: 0; height: 1px; background: #b8925c; transform: scaleX(0); transition: transform .2s ease; }
.internal-desktop-links a:hover::after,
.internal-desktop-links a:focus-visible::after,
.internal-desktop-links a.is-active::after,
.internal-desktop-links a[aria-current="page"]::after { transform: scaleX(1); }
.internal-desktop-links a.is-active,
.internal-desktop-links a[aria-current="page"] { color: #654c42; }
.book-treatment.internal-whatsapp { min-width: 154px; min-height: 52px; display: inline-flex; padding: .7rem 1.35rem; align-items: center; justify-content: center; color: #302a27; background: #c2a091; border: 1px solid #c2a091; border-radius: 999px; font-family: "Jost",Arial,sans-serif; font-size: .86rem; font-weight: 700; letter-spacing: .095em; text-decoration: none; text-transform: uppercase; }
.internal-menu-toggle,
.internal-mobile-panel,
.internal-gift-mobile { display: none; }

.site-footer { padding: 0; color: #f3e9df; background: #211c19; font-family: "Jost",Arial,sans-serif; }
.site-footer .site-footer-shell { width: min(1100px, calc(100% - 48px)); margin: 0 auto; }
.site-footer .footer-top { display: grid; padding: 1.75rem 0 1.35rem; grid-template-columns: minmax(390px,1.05fr) minmax(500px,1fr); gap: 54px; align-items: start; }
.site-footer .footer-brand { display: grid; grid-template-columns: 82px minmax(0,1fr); column-gap: 20px; align-items: start; text-align: left; }
.site-footer .footer-home-link { grid-row: 1 / 5; display: block; }
.site-footer .footer-logo { width: 82px; height: 82px; margin: 0; object-fit: contain; }
.site-footer .footer-tagline { margin: 0 0 .65rem; color: rgba(255,255,255,.76); font-family: "Cormorant Garamond",Georgia,serif; font-size: 1.03rem; line-height: 1.3; }
.site-footer .footer-quick-contacts { display: flex; flex-wrap: wrap; align-items: center; gap: .28rem 1rem; }
.site-footer .footer-quick-contacts a,
.site-footer .footer-quick-contacts span { color: rgba(255,255,255,.72); font-size: .76rem; line-height: 1.4; text-decoration: none; overflow-wrap: anywhere; }
.site-footer .footer-quick-contacts a:hover,
.site-footer .footer-quick-contacts a:focus-visible,
.site-footer .footer-list a:hover,
.site-footer .footer-list a:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.site-footer .footer-socials { display: flex; margin-top: .65rem; gap: .45rem; }
.site-footer .footer-socials a { min-height: 30px; display: inline-flex; padding: .3rem .65rem; align-items: center; color: #f3e9df; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; font-size: .68rem; text-decoration: none; }
.site-footer .footer-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px; }
.site-footer .footer-details { min-width: 0; color: inherit; }
.site-footer .footer-details summary { display: flex; padding: 0 0 .55rem; align-items: center; justify-content: space-between; color: #d6b660; border-bottom: 1px solid rgba(255,255,255,.15); cursor: default; list-style: none; font-size: .68rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.site-footer .footer-details summary::-webkit-details-marker { display: none; }
.site-footer .footer-details summary i { display: none; font-style: normal; }
.site-footer .footer-list { display: grid; margin: .65rem 0 0; padding: 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .42rem .85rem; list-style: none; }
.site-footer .footer-list li { min-width: 0; margin: 0; }
.site-footer .footer-list a { display: block; color: rgba(255,255,255,.7); font-size: .75rem; line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; }
.site-footer .footer-bottom { display: flex; padding: .72rem 0 .85rem; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.12); }
.site-footer .footer-bottom p { margin: 0; color: rgba(255,255,255,.5); font-size: .64rem; line-height: 1.4; }
.site-footer .footer-copy { text-align: right; }

.home-mobile-cta { display: none; }

.treatment-gift-prompt { display: flex; padding: 1.25rem max(24px,calc((100% - 1100px)/2)); align-items: center; justify-content: space-between; gap: 24px; color: #302a27; background: #ead8ce; border-top: 1px solid rgba(101,76,66,.12); font-family: "Jost",Arial,sans-serif; }
.treatment-gift-prompt > div:first-child { display: grid; gap: .15rem; }
.treatment-gift-prompt span { color: #654c42; font-size: .68rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.treatment-gift-prompt strong { font-family: "Cormorant Garamond",Georgia,serif; font-size: 1.25rem; font-weight: 600; }
.treatment-gift-prompt__actions { display: flex; flex: 0 0 auto; gap: 8px; }
.treatment-gift-prompt__actions a { min-height: 44px; display: inline-flex; padding: .65rem 1rem; align-items: center; justify-content: center; color: #302a27; background: #fffaf5; border: 1px solid rgba(101,76,66,.25); border-radius: 999px; font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }

@media (max-width: 1180px) and (min-width: 992px) {
  .treatments-topbar .treatments-shell { gap: 18px; }
  .treatments-brand strong { font-size: 1.25rem; }
  .internal-desktop-links { gap: 12px; }
  .internal-desktop-links a { font-size: .68rem; letter-spacing: .055em; }
  .book-treatment.internal-whatsapp { min-width: 144px; font-size: .8rem; }
}

@media (max-width: 991px) {
  .treatments-topbar .treatments-shell { min-height: 70px; }
  .treatments-brand img { width: 46px; height: 54px; }
  .treatments-brand strong { font-size: 1.15rem; }
  .internal-desktop-links,
  .internal-whatsapp { display: none !important; }
  .internal-navigation { display: flex; justify-content: flex-end; }
  .internal-gift-mobile { min-height: 42px; display: inline-flex; padding: .55rem .9rem; align-items: center; justify-content: center; color: #302a27; background: #ead8ce; border: 1px solid rgba(101,76,66,.18); border-radius: 999px; font-family: "Jost",Arial,sans-serif; font-size: .7rem; font-weight: 750; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
  .internal-gift-mobile.is-active { background: #c2a091; box-shadow: inset 0 0 0 1px rgba(48,42,39,.12); }
  .internal-menu-toggle { width: 46px; height: 46px; display: flex; padding: 11px 8px; flex-direction: column; align-items: stretch; justify-content: center; gap: 6px; background: transparent; border: 0; border-radius: 50%; cursor: pointer; }
  .internal-menu-toggle span { height: 2px; background: #3e3a35; transition: transform .2s ease,opacity .2s ease; }
  .menu-is-open .internal-menu-toggle span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .menu-is-open .internal-menu-toggle span:nth-child(2) { opacity: 0; }
  .menu-is-open .internal-menu-toggle span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
  .internal-mobile-panel { position: fixed; top: 70px; right: 0; bottom: 0; left: 0; z-index: 999; display: flex; padding: 1rem 22px calc(1.5rem + env(safe-area-inset-bottom)); flex-direction: column; background: #fffdf9; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .2s ease,transform .2s ease,visibility .2s; overflow-y: auto; }
  body.internal-menu-open .internal-mobile-panel { opacity: 1; visibility: visible; transform: translateY(0); }
  .internal-mobile-panel nav { display: grid; }
  .internal-mobile-panel nav a { min-height: 52px; display: flex; padding: 0 .2rem; align-items: center; color: #302a27; border-bottom: 1px solid rgba(95,88,80,.14); font-family: "Jost",Arial,sans-serif; font-size: .8rem; font-weight: 650; letter-spacing: .075em; text-decoration: none; text-transform: uppercase; }
  .internal-mobile-panel nav a.is-active,
  .internal-mobile-panel nav a[aria-current="page"] { color: #654c42; box-shadow: inset 3px 0 #b8925c; padding-left: .8rem; }
  .internal-mobile-panel nav a.internal-mobile-gift-link { margin-top: .65rem; padding: 0 .9rem; color: #302a27; background: #ead8ce; border: 1px solid rgba(101,76,66,.16); border-radius: 10px; box-shadow: none; }
  .internal-panel-cta { min-height: 50px; display: flex; margin-top: 1rem; align-items: center; justify-content: center; color: #302a27; background: #c2a091; border-radius: 999px; font-family: "Jost",Arial,sans-serif; font-size: .76rem; font-weight: 700; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
  body.internal-menu-open { overflow: hidden; }

  .site-footer .footer-top { grid-template-columns: 1fr; gap: 1.2rem; }
  .site-footer .footer-groups { padding-left: 102px; }
}

@media (max-width: 767px) {
  .treatments-shell { width: calc(100% - 28px); }
  .treatments-topbar { border-top-width: 3px; }
  .treatments-topbar .treatments-shell { min-height: 66px; }
  .treatments-brand img { width: 42px; height: 48px; }
  .treatments-brand strong { font-size: 1.05rem; }
  .internal-navigation { gap: 4px; }
  .internal-gift-mobile { min-height: 40px; padding: .5rem .72rem; font-size: .64rem; }
  .internal-mobile-panel { top: 66px; padding-right: 18px; padding-left: 18px; }

  .site-footer .site-footer-shell { width: min(100% - 32px,560px); }
  .site-footer .footer-top { display: block; padding: 1.5rem 0 1rem; }
  .site-footer .footer-brand { grid-template-columns: 64px minmax(0,1fr); column-gap: 14px; }
  .site-footer .footer-home-link { grid-row: 1 / 4; }
  .site-footer .footer-logo { width: 64px; height: 64px; }
  .site-footer .footer-tagline { margin-bottom: .5rem; font-size: .92rem; }
  .site-footer .footer-quick-contacts { gap: .2rem .75rem; }
  .site-footer .footer-quick-contacts a,
  .site-footer .footer-home-link,
  .site-footer .footer-quick-contacts span { font-size: .7rem; }
  .site-footer .footer-socials { margin-top: .5rem; }
  .site-footer .footer-groups { display: block; margin-top: 1rem; padding-left: 0; }
  .site-footer .footer-details { border-top: 1px solid rgba(255,255,255,.13); }
  .site-footer .footer-details:last-child { border-bottom: 1px solid rgba(255,255,255,.13); }
  .site-footer .footer-details summary { min-height: 46px; padding: .7rem 0; border: 0; cursor: pointer; }
  .site-footer .footer-details summary i { display: block; font-size: 1rem; }
  .site-footer .footer-details[open] summary i { transform: rotate(45deg); }
  .site-footer .footer-details:not([open]) .footer-list { display: none; }
  .site-footer .footer-list { margin: 0; padding: 0 0 .8rem; }
  .site-footer .footer-list a { font-size: .72rem; }
  .site-footer .footer-bottom { display: block; padding: .8rem 0 calc(5.1rem + env(safe-area-inset-bottom)); text-align: center; }
  .site-footer .footer-copy { margin-top: .25rem !important; text-align: center; }

  .home-mobile-cta { position: fixed; right: 12px; bottom: calc(10px + env(safe-area-inset-bottom)); left: 12px; z-index: 1200; display: block; opacity: 0; pointer-events: none; transform: translateY(20px); transition: opacity .25s ease,transform .25s ease; }
  .home-mobile-cta.is-visible:not(.is-hidden-at-footer) { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .home-mobile-cta a { min-height: 52px; display: flex; padding: .7rem 1rem; align-items: center; justify-content: center; color: #302a27; background: #c2a091; border: 1px solid rgba(48,42,39,.16); border-radius: 999px; box-shadow: 0 12px 28px rgba(48,42,39,.22); font-size: .8rem; font-weight: 750; text-decoration: none; }
  .treatment-gift-prompt { display: block; padding: 1.35rem 18px; text-align: center; }
  .treatment-gift-prompt strong { font-size: 1.15rem; }
  .treatment-gift-prompt__actions { display: grid; margin-top: .9rem; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 370px) {
  .treatments-brand strong { display: none; }
  .treatment-gift-prompt__actions { grid-template-columns: 1fr; }
}

/* Mobile tap areas and readable informational labels. */
@media (max-width: 767px) {
  .site-footer .footer-quick-contacts a,
  .site-footer .footer-home-link,
  .site-footer .footer-socials a,
  .site-footer .footer-list a,
  .site-footer .footer-details summary,
  .treatments-footer a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  .site-footer .footer-socials a { min-width: 44px; justify-content: center; }
  .site-footer .footer-home-link { min-width: 44px; justify-content: center; }
  .site-footer .footer-details summary { color: #e4c982; }
  .site-footer .footer-list a,
  .site-footer .footer-quick-contacts a { color: rgba(255,255,255,.82); font-size: .78rem; }
}

/* Pulsante "torna indietro" in cima alle pagine trattamenti */
.page-back-bar { position: relative; z-index: 5; background: transparent; }
.page-back-inner.treatments-shell { padding: 1.1rem 0 0; }
.page-back-link { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; padding: .45rem 1.15rem .45rem .5rem; color: #3e3a35; background: #fffdf9; border: 1px solid rgba(201,162,75,.75); border-radius: 999px; font-family: "Jost", Arial, sans-serif; font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; transition: background .2s ease, border-color .2s ease; }
.page-back-arrow { display: inline-grid; place-items: center; width: 30px; height: 30px; color: #6f574c; background: #f4e8e1; border-radius: 50%; font-size: 1rem; letter-spacing: 0; transition: transform .2s ease; }
.page-back-link:hover { background: #f4e8e1; border-color: #c9a24b; }
.page-back-link:hover .page-back-arrow { transform: translateX(-3px); }
.page-back-link:focus-visible { outline: 2px solid #c9a24b; outline-offset: 3px; }
@media (max-width: 767px) {
  .page-back-inner.treatments-shell { padding-top: .85rem; }
  .page-back-link { font-size: .68rem; }
}
