/* MASTERLOOK FULL THEME HEADER FIX V4 - 2026-06-18 */
@import url('https://fonts.googleapis.com/css2?family=Pacifico&family=Poppins:wght@300;400;500;600;700&display=swap');

:root{
  --black:#000;
  --dark:#050505;
  --red:#ff0d08;
  --white:#fff;
  --muted:#e9e9e9;
  --line:rgba(255,255,255,.13);
  --script:'Pacifico', 'Brush Script MT', cursive;
  --body:'Poppins', Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#000;color:#fff;font-family:var(--body);font-size:16px;line-height:1.75;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

.site-header{position:fixed;top:0;left:0;right:0;height:112px;background:#000;z-index:50;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 transparent}
.header-inner{width:min(1392px, calc(100% - 48px));height:112px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:relative}
.main-nav{display:flex;align-items:center;gap:13px;justify-self:start;font-size:16px;font-weight:600;letter-spacing:.3px;white-space:nowrap}
.nav-link{transition:.2s;color:#fff}
.nav-link:hover,.page-home .nav-home,.page-listino .nav-listino,.page-contatti .nav-contatti{color:var(--red)}
.slash{color:#fff;font-weight:600}
.brand{justify-self:center;width:111px;transform:translateY(4px);display:block}
.brand img{width:111px;height:auto;filter:drop-shadow(0 0 8px rgba(255,255,255,.08))}
.top-cta{justify-self:end;width:220px;height:50px;border:2px solid #fff;border-radius:38px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-size:15px;font-weight:700;line-height:1;background:#000;transition:.2s}
.top-cta:hover,.pill:hover{background:#fff;color:#000}.phone-icon{font-size:22px;line-height:1;color:inherit}
.hamburger{display:none;background:none;border:0;padding:0;width:36px;height:28px}.hamburger span{display:block;height:3px;background:#fff;margin:6px 0;border-radius:2px}

.hero{margin-top:112px;height:705px;background-repeat:no-repeat;background-position:center top;background-size:cover;position:relative;background-color:#000}
.hero-home{background-image:url('../images/hero-home.jpg')}.hero-listino{background-image:url('../images/hero-listino.jpg')}

h1,h2{font-family:var(--script);font-weight:400;letter-spacing:.2px;margin:0 0 22px;color:#fff;text-shadow:2px 2px 0 #2266ad}
h1{font-size:42px;line-height:1.12}h2{font-size:42px;line-height:1.15}h3{font-size:20px;line-height:1.35;letter-spacing:7px;font-weight:400;text-transform:uppercase;margin:0 0 20px;color:#fff}.text-center{text-align:center}.wide-text{max-width:1200px;margin:0 auto}.wide-text p{margin:5px auto;max-width:1180px}.note-red{color:var(--red);font-weight:700;font-style:italic;margin-top:34px!important}.watermark-section{position:relative;isolation:isolate}.watermark-section:after{content:"";position:absolute;right:3%;top:33%;width:350px;height:260px;background:url('../images/logo.png') center/contain no-repeat;opacity:.16;z-index:-1;filter:grayscale(25%)}

.intro-section{padding:76px 0 60px;background:#000}.intro-grid{width:min(1810px, calc(100% - 88px));margin:0 auto;display:grid;grid-template-columns:390px 550px minmax(420px, 1fr);gap:70px;align-items:start}.intro-side .chair-img{width:390px;height:523px;object-fit:cover}.qr{width:101px;margin:18px 0 32px}.red-outline{display:inline-flex;align-items:center;justify-content:center;width:182px;height:52px;border:2px solid var(--red);border-radius:30px;color:var(--red);font-size:15px;font-weight:700}.intro-photo img{width:550px;height:734px;object-fit:cover}.intro-text{padding-top:23px;max-width:620px}.intro-text h3{margin-bottom:17px}.intro-text p{font-size:15px;line-height:1.78;margin:0 0 4px;color:#fff}

.center-title{text-align:center;margin:0 auto 35px}.gallery-section{background:#000;padding:48px 0 34px}.gallery-section h2{font-size:39px;margin-bottom:18px}.gallery-section h3{font-size:19px;letter-spacing:7px;line-height:1.45}.gallery-grid{width:min(1784px, calc(100% - 126px));margin:0 auto;display:grid;grid-template-columns:repeat(3, 1fr);gap:20px}.gallery-grid a{display:block;overflow:hidden;background:#080808}.gallery-grid img{width:100%;height:430px;object-fit:cover;transition:transform .45s}.gallery-grid a:hover img{transform:scale(1.04)}

.music-section{padding:92px 0 95px;background:#000}.music-copy{text-align:center;max-width:970px;margin:0 auto 178px}.music-copy h2{font-size:39px}.music-copy h3{font-size:19px;letter-spacing:7px}.music-copy p{font-size:15px;margin:6px 0}.offer-grid{width:min(1810px, calc(100% - 88px));margin:0 auto;display:grid;grid-template-columns:390px minmax(500px, 760px) 574px;gap:55px;align-items:center}.offer-grid img:first-child{width:390px;height:573px;object-fit:cover}.offer-grid img:last-child{width:574px;height:465px;object-fit:cover}.offer-grid article{padding-top:10px}.offer-grid h2{font-size:42px;margin-bottom:24px}.offer-grid h3{font-size:20px;letter-spacing:7px;line-height:1.2}.offer-grid p{font-size:15px;line-height:1.8;margin:5px 0}

.booking-cta{background:#000;text-align:center;padding:78px 20px 94px;min-height:360px}.booking-cta.compact{padding-top:70px;padding-bottom:78px}.round-phone{width:64px;height:64px;border:3px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:29px}.booking-cta h2{font-size:41px;margin-bottom:8px}.booking-cta .overline{font-size:20px;letter-spacing:8px;text-transform:uppercase;margin:0 0 12px}.booking-cta p:not(.overline){max-width:760px;margin:0 auto 25px;font-size:15px}.pill{display:inline-flex;align-items:center;justify-content:center;gap:18px;width:198px;height:52px;border:2px solid #fff;border-radius:30px;font-weight:700;font-size:15px;background:#000}.pill span{font-size:22px}

.reviews-section{min-height:520px;background:#fff;display:flex;justify-content:center;align-items:flex-start;gap:24px;padding:170px 20px 84px}.review-card{width:376px;min-height:210px;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 3px 14px rgba(0,0,0,.12);position:relative;color:#333;padding:24px 24px 20px;font-size:15px;line-height:1.55}.review-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.review-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f2f5ff;color:#4285f4;font-weight:700;font-size:20px}.review-head strong{display:block;color:#555;font-size:16px}.review-head small{display:block;color:#999;font-size:12px;line-height:1.2}.review-card p{color:#555;margin:0 0 20px}.stars{display:block;color:#ffd000;font-size:18px;letter-spacing:1px;line-height:1}.img-fallback{background:#050505;object-fit:contain!important;padding:20px;border:1px solid rgba(255,13,8,.45)}

.site-footer{background:#000}.footer-main{height:228px;width:min(1100px, calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:70px;text-align:left}.footer-col h3{font-size:18px;margin:0 0 22px;font-weight:600}.footer-col p{font-size:15px;margin:19px 0;color:#fff}.footer-right{text-align:left;padding-left:60px}.footer-brand{text-align:center}.footer-brand img{width:105px;margin:0 auto 18px}.socials{display:flex;gap:17px;justify-content:center}.socials a{width:25px;height:25px;background:var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#000;font-weight:700;font-size:13px}.legal-bar{height:55px;background:#151515;color:#aaa;display:flex;align-items:center;justify-content:center;text-align:center;font-size:14px}.legal-bar strong{color:#fff;font-weight:600}

/* LISTINO */
.list-intro{background:#000;padding:62px 0 90px}.list-intro h1{font-size:39px}.list-intro h3{font-size:20px;letter-spacing:7px}.list-intro .wide-text p{font-size:15px;line-height:1.85}.price-media-grid{width:min(1810px, calc(100% - 88px));margin:185px auto 0;display:grid;grid-template-columns:390px 594px minmax(450px, 1fr);gap:64px;align-items:center}.price-media-grid img{height:430px;object-fit:cover;width:100%}.price-media-grid article h2{font-size:40px;margin-bottom:22px}.price-media-grid article h3{font-size:20px;letter-spacing:7px;line-height:1.2}.price-media-grid article p{font-size:15px;line-height:1.8}
.prices-section{padding:48px 0 88px;background:#000}.price-heading{margin-bottom:72px}.price-heading h1{font-size:42px}.price-heading p{font-size:15px;margin:4px auto}.category{text-align:center;font-size:40px;margin:0 auto 52px}.category.red{color:var(--red);text-shadow:none;margin-top:105px}.category.white{color:#fff}.two-tables{width:min(1206px, calc(100% - 80px));margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:30px 30px}.price-list{width:100%}.price-row{height:51px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:16px}.price-row strong{font-weight:400;text-align:right;line-height:1.15;min-width:88px}.prices-section .watermark-section:after{top:20%}

/* CONTATTI */
.contact-intro{padding:191px 0 90px;background:#000}.contact-intro h1{font-size:41px}.contact-intro h3{font-size:20px;letter-spacing:7px}.contact-intro p{font-size:15px;line-height:1.75}.contact-block{width:min(1204px, calc(100% - 80px));margin:33px auto 116px;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;position:relative}.red-panel{background:var(--red);min-height:575px;text-align:center;padding:70px 50px 60px;clip-path:polygon(0 0,100% 9%,100% 95%,0 100%)}.map-icon,.clock-icon{font-size:54px;line-height:1;margin-bottom:15px}.clock-icon{margin-top:54px}.red-panel h2{font-size:36px;text-shadow:none;margin-bottom:10px}.red-panel p,.hours{font-size:16px}.hours{display:flex;justify-content:center;gap:90px;margin-top:5px}.contact-form{background:#fff;color:#777;min-height:575px;padding:68px 44px 55px 45px;box-shadow:0 0 0 1px rgba(0,0,0,.04)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 30px}.contact-form label{display:block;font-size:14px;margin-bottom:18px}.contact-form input:not([type="checkbox"]),.contact-form textarea{width:100%;border:0;border-bottom:1px solid #d2d2d2;outline:0;padding:12px 0 8px;font:inherit;color:#222;background:transparent}.contact-form textarea{resize:vertical}.check{display:flex!important;gap:10px;align-items:flex-start;line-height:1.5}.check input{width:14px;height:14px;margin-top:4px}.contact-form button{margin-top:14px;width:202px;height:45px;border:2px solid var(--red);border-radius:28px;background:#fff;color:var(--red);font-weight:500;font-family:var(--body);cursor:pointer}.contact-form button:hover{background:var(--red);color:#fff}
.faq-section{background:#000;padding:0 0 52px}.faq-section h2{text-align:center;font-size:43px;margin-bottom:18px}.faq-list{width:min(1204px, calc(100% - 80px));margin:0 auto;border:1px solid rgba(255,255,255,.7)}details{border-bottom:1px solid var(--red);background:#000}details:last-child{border-bottom:0}summary{list-style:none;cursor:pointer;padding:22px 20px;font-size:17px;font-weight:500;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'⌄';position:absolute;right:25px;color:var(--red)}details[open] summary:after{content:'⌃'}details p{margin:0;padding:0 20px 22px;color:#dcdcdc;font-size:15px}.white-spacer{height:123px;background:#fff}

.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:200;padding:30px}.lightbox.is-open{display:flex}.lightbox img{max-height:90vh;max-width:90vw}.lightbox button{position:absolute;right:30px;top:24px;font-size:40px;color:#fff;background:none;border:0;cursor:pointer}

@media (max-width:1180px){
  .header-inner{width:calc(100% - 30px)}.main-nav{font-size:14px;gap:9px}.top-cta{width:180px}.intro-grid,.offer-grid,.price-media-grid{grid-template-columns:1fr 1fr;gap:35px}.intro-text,.price-media-grid article{grid-column:1/-1;max-width:none}.intro-photo img,.intro-side .chair-img,.offer-grid img:first-child,.offer-grid img:last-child{width:100%;height:520px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.price-media-grid{margin-top:90px}.price-media-grid article{order:-1}.footer-main{gap:30px}.footer-right{padding-left:0}.contact-block{grid-template-columns:1fr}.red-panel{clip-path:none}.contact-form{min-height:auto}
}
@media (max-width:760px){
  body{font-size:15px}.site-header{height:86px}.header-inner{height:86px;display:flex;justify-content:space-between}.brand{position:absolute;left:50%;transform:translateX(-50%);width:82px}.brand img{width:82px}.hamburger{display:block}.main-nav{position:fixed;top:86px;left:0;right:0;background:#000;border-top:1px solid #111;display:none;flex-direction:column;align-items:flex-start;padding:24px 28px;font-size:16px}.main-nav.is-open{display:flex}.main-nav .slash{display:none}.top-cta{width:150px;height:42px;font-size:13px;gap:8px}.phone-icon{font-size:18px}.hero{margin-top:86px;height:520px;background-size:cover;background-position:center top}h1,h2{font-size:33px!important}h3{font-size:15px!important;letter-spacing:4px!important}.intro-grid,.offer-grid,.price-media-grid{width:calc(100% - 36px);grid-template-columns:1fr}.intro-photo img,.intro-side .chair-img,.offer-grid img:first-child,.offer-grid img:last-child,.price-media-grid img{height:auto}.gallery-grid{width:calc(100% - 36px);grid-template-columns:1fr}.gallery-grid a{aspect-ratio:1/1}.gallery-grid img{height:100%;object-fit:cover}.music-copy{margin-bottom:60px;width:calc(100% - 36px)}.two-tables{width:calc(100% - 36px);grid-template-columns:1fr}.reviews-section{height:auto;flex-direction:column;align-items:center;padding:60px 18px}.review-card{width:100%;max-width:376px;min-height:190px}.footer-main{height:auto;grid-template-columns:1fr;text-align:center;padding:45px 0}.footer-right{text-align:center}.legal-bar{height:auto;padding:15px;line-height:1.5}.contact-intro{padding-top:130px}.contact-block,.faq-list{width:calc(100% - 36px)}.form-grid{grid-template-columns:1fr}.hours{gap:30px}.watermark-section:after{width:220px;right:-40px}
}

/* ==========================================================
   FIX DEFINITIVO HEADER MOBILE - upload solo questo style.css
   Sovrascrive le regole precedenti senza toccare HTML/JS.
   ========================================================== */
@media (max-width: 760px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
  }

  body {
    font-size: 15px;
  }

  .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 76px !important;
    background: #000 !important;
    z-index: 9999 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    overflow: visible !important;
  }

  .header-inner {
    width: 100% !important;
    max-width: 100% !important;
    height: 76px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    display: grid !important;
    grid-template-columns: 42px minmax(72px, 1fr) auto !important;
    align-items: center !important;
    justify-content: initial !important;
    gap: 8px !important;
    position: relative !important;
  }

  .hamburger {
    display: inline-flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    justify-self: start !important;
    z-index: 10020 !important;
    cursor: pointer !important;
  }

  .hamburger span {
    display: block !important;
    width: 31px !important;
    height: 3px !important;
    margin: 3.5px 0 !important;
    background: #fff !important;
    border-radius: 4px !important;
  }

  .brand {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    justify-self: center !important;
    align-self: center !important;
    width: 70px !important;
    max-width: 70px !important;
    height: auto !important;
    z-index: 10010 !important;
  }

  .brand img {
    width: 70px !important;
    max-width: 70px !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  .top-cta {
    justify-self: end !important;
    align-self: center !important;
    width: auto !important;
    min-width: 118px !important;
    max-width: 122px !important;
    height: 38px !important;
    padding: 0 9px !important;
    margin: 0 !important;
    border: 2px solid #fff !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    z-index: 10010 !important;
  }

  .top-cta .phone-icon {
    flex: 0 0 auto !important;
    font-size: 15px !important;
    line-height: 1 !important;
  }

  .top-cta span:last-child {
    display: inline-block !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  .main-nav {
    position: fixed !important;
    top: 76px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: calc(100vh - 76px) !important;
    overflow-y: auto !important;
    background: #000 !important;
    border-top: 1px solid rgba(255,255,255,.1) !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    box-shadow: 0 20px 40px rgba(0,0,0,.55) !important;
    display: none !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    padding: 26px 20px 30px !important;
    margin: 0 !important;
    font-size: 16px !important;
    z-index: 10000 !important;
  }

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

  .main-nav .nav-link {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .7px !important;
    padding: 7px 0 !important;
  }

  .main-nav .slash {
    display: none !important;
  }

  .hero {
    margin-top: 76px !important;
  }

  .contact-intro {
    padding-top: 125px !important;
  }

  .list-intro {
    padding-top: 115px !important;
  }

  h1,
  h2 {
    font-size: 32px !important;
    line-height: 1.18 !important;
  }

  h3 {
    font-size: 15px !important;
    letter-spacing: 4px !important;
  }
}

@media (max-width: 390px) {
  .header-inner {
    padding: 0 8px !important;
    grid-template-columns: 38px minmax(66px, 1fr) auto !important;
    gap: 6px !important;
  }

  .hamburger {
    width: 32px !important;
  }

  .hamburger span {
    width: 29px !important;
  }

  .brand,
  .brand img {
    width: 64px !important;
    max-width: 64px !important;
  }

  .top-cta {
    min-width: 108px !important;
    max-width: 112px !important;
    height: 36px !important;
    padding: 0 7px !important;
    font-size: 11px !important;
    gap: 5px !important;
  }

  .top-cta .phone-icon {
    font-size: 14px !important;
  }
}

@media (max-width: 350px) {
  .brand,
  .brand img {
    width: 58px !important;
    max-width: 58px !important;
  }

  .top-cta {
    min-width: 98px !important;
    max-width: 102px !important;
    font-size: 10px !important;
  }
}

/* MASTERLOOK HEADER MOBILE FIX V3 - CARICARE QUESTO FILE COME /css/style.css
   Se in DevTools non vedi questa scritta dentro css/style.css, il server sta ancora servendo il CSS vecchio/cache. */
@media (max-width: 760px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body {
    padding-top: 0 !important;
  }

  .site-header {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 74px !important;
    min-height: 74px !important;
    background: #000 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    z-index: 999999 !important;
    overflow: visible !important;
  }

  .header-inner {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 74px !important;
    min-height: 74px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    display: grid !important;
    grid-template-columns: 42px 68px 104px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0 !important;
    position: relative !important;
  }

  .hamburger {
    display: inline-flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    justify-self: start !important;
    cursor: pointer !important;
    z-index: 1000001 !important;
  }

  .hamburger span {
    display: block !important;
    width: 31px !important;
    height: 3px !important;
    margin: 3.5px 0 !important;
    background: #fff !important;
    border-radius: 999px !important;
  }

  .brand {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 68px !important;
    max-width: 68px !important;
    height: auto !important;
    margin: 0 auto !important;
    justify-self: center !important;
    align-self: center !important;
    z-index: 1000000 !important;
  }

  .brand img {
    width: 68px !important;
    max-width: 68px !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  .top-cta {
    box-sizing: border-box !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    justify-self: end !important;
    align-self: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    border: 2px solid #fff !important;
    border-radius: 999px !important;
    background: #000 !important;
    color: #fff !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    line-height: 1 !important;
    font-size: 0 !important;
    z-index: 1000000 !important;
  }

  .top-cta .phone-icon {
    display: inline-block !important;
    flex: 0 0 auto !important;
    font-size: 15px !important;
    line-height: 1 !important;
  }

  .top-cta span:not(.phone-icon) {
    display: none !important;
  }

  .top-cta::after {
    content: "Prenota" !important;
    display: inline-block !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: #fff !important;
    white-space: nowrap !important;
  }

  .main-nav {
    position: fixed !important;
    top: 74px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: auto !important;
    margin: 0 !important;
    padding: 26px 24px 30px !important;
    display: none !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    background: #000 !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 20px 40px rgba(0,0,0,.65) !important;
    z-index: 999998 !important;
  }

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

  .main-nav .nav-link {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .6px !important;
    padding: 8px 0 !important;
  }

  .main-nav .slash {
    display: none !important;
  }

  .hero {
    margin-top: 74px !important;
  }

  .contact-intro {
    padding-top: 118px !important;
  }

  .list-intro {
    padding-top: 110px !important;
  }
}

@media (max-width: 380px) {
  .header-inner {
    padding: 0 9px !important;
    grid-template-columns: 40px 62px 96px !important;
  }

  .brand,
  .brand img {
    width: 62px !important;
    max-width: 62px !important;
  }

  .top-cta {
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    height: 36px !important;
    padding: 0 6px !important;
  }

  .top-cta::after {
    font-size: 11px !important;
  }

  .top-cta .phone-icon {
    font-size: 14px !important;
  }
}

@media (max-width: 340px) {
  .header-inner {
    grid-template-columns: 38px 56px 88px !important;
    padding: 0 7px !important;
  }

  .brand,
  .brand img {
    width: 56px !important;
    max-width: 56px !important;
  }

  .top-cta {
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
  }

  .top-cta::after {
    content: "Prenota" !important;
    font-size: 10px !important;
  }
}


/* MASTERLOOK FINAL MOBILE HEADER OVERRIDE - do not remove */
@media (max-width: 760px) {
  html, body { width: 100%; max-width: 100%; overflow-x: hidden !important; }
  .site-header {
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    overflow: visible !important;
  }
  .header-inner {
    width: 100% !important;
    max-width: 100% !important;
    height: 74px !important;
    min-height: 74px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0 !important;
    position: relative !important;
  }
  .hamburger {
    display: block !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1000001 !important;
  }
  .hamburger span {
    display: block !important;
    width: 32px !important;
    height: 3px !important;
    margin: 6px 0 !important;
    background: #fff !important;
    border-radius: 3px !important;
  }
  .brand {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 64px !important;
    max-width: 64px !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
    z-index: 1000000 !important;
  }
  .brand img {
    width: 64px !important;
    max-width: 64px !important;
    height: auto !important;
  }
  .top-cta {
    flex: 0 0 112px !important;
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border: 2px solid #fff !important;
    border-radius: 999px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    font-size: 0 !important;
    z-index: 1000001 !important;
  }
  .top-cta .phone-icon {
    display: inline-block !important;
    font-size: 14px !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
  }
  .top-cta span:not(.phone-icon) {
    display: none !important;
  }
  .top-cta::after {
    content: 'Prenota' !important;
    display: inline-block !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }
  .main-nav {
    position: fixed !important;
    top: 74px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: auto !important;
    margin: 0 !important;
    padding: 26px 24px 30px !important;
    display: none !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    background: #000 !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 20px 40px rgba(0,0,0,.65) !important;
    z-index: 999999 !important;
  }
  .main-nav.is-open { display: flex !important; }
  .main-nav .nav-link {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 8px 0 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .6px !important;
  }
  .main-nav .slash { display: none !important; }
  .hero { margin-top: 74px !important; }
  .contact-intro { padding-top: 118px !important; }
  .list-intro { padding-top: 110px !important; }
}
@media (max-width: 360px) {
  .header-inner { padding: 0 9px !important; }
  .brand, .brand img { width: 58px !important; max-width: 58px !important; }
  .top-cta { flex-basis: 96px !important; width: 96px !important; min-width: 96px !important; max-width: 96px !important; height: 36px !important; padding: 0 7px !important; }
  .top-cta::after { font-size: 11px !important; }
}


/* MASTERLOOK PHONE LINKS V6 - bottoni prenotazione con chiamata diretta */
#form-contatti {
  scroll-margin-top: 118px;
}
.hero-booking-link {
  position: absolute;
  left: 50%;
  top: 58%;
  transform: translate(-50%, -50%);
  width: 360px;
  height: 150px;
  z-index: 5;
  display: block;
  border-radius: 40px;
  background: transparent;
  font-size: 0;
  color: transparent;
}
.hero-booking-link:hover {
  background: rgba(255, 13, 8, .04);
}
.top-cta, .red-outline, .pill, .hero-booking-link {
  cursor: pointer;
}
@media (max-width: 760px) {
  #form-contatti {
    scroll-margin-top: 92px;
  }
  .hero-booking-link {
    left: 62%;
    top: 56%;
    width: 210px;
    height: 120px;
  }
}
@media (max-width: 390px) {
  .hero-booking-link {
    left: 64%;
    top: 56%;
    width: 190px;
    height: 115px;
  }
}
