/*
Theme Name: Un Maître a Spasso Premium V25
Theme URI: https://unmaitreaspasso.it
Author: Gianluca Lo Russo / ChatGPT
Description: Tema WordPress premium dark luxury per Un Maître a Spasso.
Version: 25.0
License: Private
Text Domain: un-maitre-a-spasso
*/
:root{--black:#030303;--night:#080606;--panel:#100c0b;--soft:#17110f;--gold:#d7b56d;--gold2:#f2d28a;--wine:#7b1016;--wine2:#b51e28;--text:#f8efe2;--muted:rgba(248,239,226,.72);--line:rgba(215,181,109,.26);--glass:rgba(255,255,255,.055)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--text);font-family:Montserrat,Arial,sans-serif;font-weight:300;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1240px,92vw);margin:auto}.narrow{max-width:850px}.smallcaps{letter-spacing:.28em;text-transform:uppercase;font-size:11px;color:var(--gold);font-weight:700}.nav{position:fixed;inset:0 0 auto 0;z-index:50;padding:13px 0;background:rgba(3,3,3,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:14px}.brand img{width:52px;height:52px;border-radius:50%;object-fit:cover}.brand span{font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:.16em;text-transform:uppercase;font-size:20px;color:var(--gold2)}.menu{display:flex;gap:30px;align-items:center}.menu a{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(248,239,226,.72)}.menu a:hover{color:var(--gold2)}.nav-cta{border:1px solid var(--line);padding:10px 18px;border-radius:999px;background:rgba(123,16,22,.25);color:var(--gold2)!important}.mobile-toggle{display:none;background:none;border:1px solid var(--line);color:var(--gold);border-radius:10px;padding:8px 10px}.hero{position:relative;overflow:hidden}.v4-hero{min-height:620px;padding-top:82px;background:radial-gradient(circle at 70% 50%,rgba(123,16,22,.26),transparent 34%),linear-gradient(90deg,#030303 0%,#090706 52%,#030303 100%);border-bottom:1px solid var(--line);display:flex;align-items:center}.v4-hero:after{content:"";position:absolute;inset:82px 0 0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.58) 38%,rgba(0,0,0,.34) 62%,rgba(0,0,0,.92) 100%);z-index:1}.hero-bg-logo{position:absolute;left:2%;top:18%;width:420px;opacity:.62;filter:grayscale(0) contrast(1.18) brightness(1.55) saturate(1.12) drop-shadow(0 0 32px rgba(215,181,109,.35));z-index:0}.hero-v4-wrap{position:relative;z-index:2;display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;min-height:520px}.hero-title-block{padding-left:230px}.hero-title-block h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(58px,7vw,92px);line-height:.94;margin:0 0 28px;color:var(--gold2);letter-spacing:.04em;text-transform:uppercase}.hero-subtitle{font-size:14px;letter-spacing:.45em;text-transform:uppercase;color:var(--text);opacity:.92;margin:0 0 24px}.gold-line{display:block;width:90px;height:2px;background:var(--gold);box-shadow:0 0 18px rgba(215,181,109,.45)}.hero-founder-side{height:500px;align-self:end;background:url('assets/img/founder.png') center bottom/contain no-repeat;filter:drop-shadow(0 18px 50px rgba(0,0,0,.65));position:relative;z-index:2}.section{padding:80px 0;position:relative}.section.alt{background:linear-gradient(180deg,#060505,#0d0807)}.section h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(40px,4.7vw,64px);line-height:1;margin:10px 0 16px}.lead{font-size:17px;line-height:1.8;color:var(--muted);max-width:760px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:38px}.compact-head{margin-bottom:34px}.about-premium{background:linear-gradient(90deg,#080706,#0d0908 55%,#050505);border-bottom:1px solid var(--line)}.about-premium-grid{position:relative;display:grid;grid-template-columns:.92fr 1.08fr;gap:46px;align-items:center}.about-premium-image{border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.55);height:360px;background:#050505;display:flex;align-items:center;justify-content:center}.about-premium-image img{width:100%;height:100%;object-fit:contain;object-position:center center;transform:none;transform-origin:center center}.about-premium-copy{position:relative;z-index:2}.about-premium-copy h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:42px;color:var(--text);margin:8px 0 16px}.about-premium-copy p{color:var(--muted);font-size:15px;line-height:1.8;max-width:720px}.about-premium-copy .btn{margin-top:14px}.about-watermark{position:absolute;right:-10px;top:45px;width:300px;opacity:.11;z-index:1;pointer-events:none}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:999px;border:1px solid var(--line);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;transition:.3s}.btn.primary{background:linear-gradient(135deg,var(--wine),var(--wine2));color:white;border-color:rgba(255,255,255,.12)}.btn.secondary{color:var(--gold2);background:rgba(0,0,0,.18)}.btn:hover{transform:translateY(-2px);box-shadow:0 14px 38px rgba(0,0,0,.35)}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.method-grid article{border:1px solid var(--line);border-radius:22px;padding:25px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));min-height:190px}.method-grid h3{font-family:'Cormorant Garamond',Georgia,serif;color:var(--gold2);font-size:30px;margin:0 0 12px}.method-grid p{color:var(--muted);font-size:14px;line-height:1.75}.view-all{color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.22em}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.experience-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#080606;box-shadow:0 24px 70px rgba(0,0,0,.35)}.experience-img{height:210px;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.1)),radial-gradient(circle at 50% 30%,rgba(242,210,138,.35),transparent 16%),linear-gradient(135deg,#2a160e,#090707)}.experience-body{padding:22px}.experience-body span{font-size:12px;color:var(--text)}.experience-body span:before{content:'• ';color:var(--gold)}.experience-body h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;line-height:1.05;margin:10px 0 18px;color:var(--text)}.tags{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;border-top:1px solid var(--line);padding-top:15px}.tags b{color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.16em}.instagram-note{color:var(--muted);font-size:13px;line-height:1.7;margin-top:24px}.social-box{display:grid;grid-template-columns:1fr .82fr;gap:40px;align-items:center}.instagram-embed-placeholder{border:1px solid var(--line);border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));padding:42px;text-align:center}.instagram-embed-placeholder h3{font-family:'Cormorant Garamond',Georgia,serif;color:var(--gold2);font-size:38px;margin:0 0 10px}.instagram-embed-placeholder p{color:var(--muted)}.collaborations{text-align:center}.collaborations .lead{margin:0 auto 24px}.footer{border-top:1px solid var(--line);padding:48px 0;background:#030303;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}.footer img{width:92px;margin-bottom:18px;border-radius:50%}.footer h4{font-family:'Cormorant Garamond',Georgia,serif;color:var(--gold2);font-size:24px;margin:0 0 12px}.footer a,.footer p{display:block;color:var(--muted);font-size:13px;line-height:1.9}@media(max-width:960px){.menu{display:none;position:absolute;top:74px;left:4vw;right:4vw;flex-direction:column;background:rgba(3,3,3,.96);border:1px solid var(--line);border-radius:22px;padding:22px}.menu.open{display:flex}.mobile-toggle{display:block}.brand span{font-size:14px}.hero-v4-wrap,.about-premium-grid,.social-box{grid-template-columns:1fr}.hero-title-block{padding:60px 0 10px}.hero-bg-logo{width:310px;left:0;top:16%;opacity:.48}.hero-founder-side{height:360px}.v4-hero{min-height:760px}.method-grid,.experience-grid,.footer-grid{grid-template-columns:1fr}.section-head{display:block}.about-watermark{display:none}.about-premium-image{height:340px}.about-premium-image img{transform:none;object-fit:contain;object-position:center center}.tags{grid-template-columns:repeat(2,1fr)}}

/* V7 LOGO FIX - solo correzione logo background hero */
.hero-bg-logo{
    opacity:1 !important;
    filter:none !important;
    width:430px !important;
}
.hero-bg-logo img{
    opacity:.72 !important;
    mix-blend-mode:screen !important;
    filter:contrast(1.12) brightness(1.22) saturate(1.05) !important;
}


/* V11 - Instagram feed integration */
.instagram-feed-live{
  padding: 24px;
  overflow: hidden;
}
.instagram-feed-live #sb_instagram,
.instagram-feed-live .sbi{
  background: transparent !important;
}
.instagram-feed-live a{
  color: inherit;
}


/* V12 - Instagram feed placed inside Ristoranti visitati */
.instagram-feed-main{
  margin-top: 34px;
  padding: 28px;
  border: 1px solid rgba(204,162,75,.35);
  border-radius: 22px;
  background: rgba(8,8,8,.72);
  overflow: hidden;
}
.instagram-feed-main #sb_instagram,
.instagram-feed-main .sbi{
  background: transparent !important;
}
.instagram-feed-main .sbi_follow_btn,
.instagram-feed-main .sbi_load_btn{
  margin-top: 18px !important;
}




/* V15 - clean Instagram section: full horizontal width, no old card container */
.instagram-wide-wrap{
  width: min(1280px, calc(100vw - 80px)) !important;
  max-width: min(1280px, calc(100vw - 80px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.instagram-feed-main.instagram-feed-fullwidth{
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 42px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  overflow: visible !important;
}

.instagram-feed-main #sb_instagram{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  background: transparent !important;
}

.instagram-feed-main .sbi_feedtheme_header,
.instagram-feed-main .sbi_header,
.instagram-feed-main .sb_instagram_header,
.instagram-feed-main .sbi_bio,
.instagram-feed-main .sbi_header_text{
  display: none !important;
}

.instagram-feed-main #sbi_images{
  width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 22px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 8px 2px 22px 2px !important;
  box-sizing: border-box !important;
  scroll-snap-type: x mandatory !important;
}

.instagram-feed-main #sbi_images .sbi_item{
  float: none !important;
  flex: 0 0 calc((100% - 66px) / 4) !important;
  width: calc((100% - 66px) / 4) !important;
  max-width: calc((100% - 66px) / 4) !important;
  min-width: 250px !important;
  margin: 0 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  background: rgba(10,10,10,.85) !important;
  border: 1px solid rgba(204,162,75,.35) !important;
  scroll-snap-align: start !important;
}

.instagram-feed-main #sbi_images .sbi_photo{
  width: 100% !important;
  aspect-ratio: 4/5 !important;
  height: auto !important;
  background-size: cover !important;
  background-position: center !important;
}

.instagram-feed-main .sbi_caption_wrap,
.instagram-feed-main .sbi_caption,
.instagram-feed-main .sbi_meta,
.instagram-feed-main .sbi_info{
  display: none !important;
}

.instagram-feed-main .sbi_load_btn{
  display: none !important;
}

.instagram-feed-main .sbi_follow_btn{
  margin-top: 24px !important;
}

@media(max-width:900px){
  .instagram-wide-wrap{
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
  }
  .instagram-feed-main #sbi_images .sbi_item{
    flex-basis: 46% !important;
    width: 46% !important;
    max-width: 46% !important;
  }
}

@media(max-width:600px){
  .instagram-wide-wrap{
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
  }
  .instagram-feed-main #sbi_images .sbi_item{
    flex-basis: 82% !important;
    width: 82% !important;
    max-width: 82% !important;
  }
}


/* V16 - hide ugly vertical scrollbar in Instagram section */
.instagram-feed-main #sbi_images{
  scrollbar-width: none !important; /* Firefox */
  -ms-overflow-style: none !important; /* IE/Edge */
}

.instagram-feed-main #sbi_images::-webkit-scrollbar{
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

.instagram-feed-main #sbi_images{
  overflow-y: hidden !important;
}



/* V18 - Mobile hero/about image separation fix */
@media (max-width: 768px){
  .hero img,
  .hero .hero-image img,
  .hero-visual img,
  .hero-photo img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
  }

  .about img,
  .about-section img,
  .chi-sono img,
  .founder img,
  .founder-image,
  .about-image img{
    width:100% !important;
    height:auto !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  .hero .founder-image,
  .hero .about-image,
  .hero .about img,
  .hero .chi-sono img{
    display:none !important;
  }
}

.instagram-feed-main .sbi_feedtheme_header,
.instagram-feed-main .sbi_header,
.instagram-feed-main .sb_instagram_header,
.instagram-feed-main .sbi_bio,
.instagram-feed-main .sbi_header_text,
.instagram-feed-main .sbi_load_btn,
.instagram-feed-main .sbi_follow_btn{
  display:none !important;
}

.view-all{
  position:relative !important;
  z-index:100 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
}


/* V19 - Mobile: hide only the hero personal photo; keep logo/title. Also remove Social from menu if generated dynamically. */
@media (max-width: 768px){

  .hero .hero-image,
  .hero .hero-photo,
  .hero .hero-visual,
  .hero .person-image,
  .hero .portrait,
  .hero .visual,
  .hero figure,
  .hero > img:not(.hero-logo):not(.site-logo),
  .hero img[src*="founder-new"],
  .hero img[src*="hero"],
  .hero img[src*="cover"]{
    display: none !important;
  }

  .hero{
    min-height: auto !important;
    padding-bottom: 36px !important;
  }
}

nav a[href*="#social"],
nav a[href*="/social"],
.menu a[href*="#social"],
.menu a[href*="/social"],
.mobile-menu a[href*="#social"],
.mobile-menu a[href*="/social"]{
  display: none !important;
}


/* V24 DEFINITIVO - immagini corrette: hero desktop con macchina fotografica, Chi sono con cravatta. Mobile separata senza foto hero
   Desktop: mantiene la hero originale con assets/img/founder.png.
   Mobile/Tablet: spegne SOLO la foto laterale della hero, che è un background CSS,
   quindi funziona sia su Android/Chrome sia su iPhone/Safari. */
@media (max-width: 960px){
  body.home .v4-hero,
  body.home .hero.v4-hero{
    min-height: 540px !important;
    padding-top: 92px !important;
    padding-bottom: 54px !important;
    display: flex !important;
    align-items: center !important;
    background:
      radial-gradient(circle at 50% 38%, rgba(123,16,22,.22), transparent 42%),
      linear-gradient(180deg,#030303 0%,#090706 55%,#030303 100%) !important;
  }

  body.home .v4-hero:after,
  body.home .hero.v4-hero:after{
    inset: 82px 0 0 !important;
    background: linear-gradient(180deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.34) 48%, rgba(0,0,0,.90) 100%) !important;
  }

  body.home .hero-v4-wrap{
    display: block !important;
    min-height: 0 !important;
    width: min(100%, 92vw) !important;
    position: relative !important;
    z-index: 2 !important;
  }

  /* Questa è la foto hero desktop con macchina fotografica: su mobile è spenta del tutto */
  body.home .hero-founder-side,
  body.home .v4-hero .hero-founder-side,
  body.home .hero .hero-founder-side{
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: none !important;
    background-image: none !important;
  }

  body.home .hero-title-block{
    padding: 74px 0 0 0 !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  body.home .hero-title-block h1{
    font-size: clamp(52px, 16vw, 76px) !important;
    line-height: .92 !important;
    letter-spacing: .035em !important;
    margin: 0 0 26px 0 !important;
  }

  body.home .hero-subtitle{
    font-size: 11px !important;
    line-height: 1.55 !important;
    letter-spacing: .42em !important;
    margin-bottom: 22px !important;
    max-width: 320px !important;
  }

  body.home .hero-bg-logo{
    display: block !important;
    left: 50% !important;
    top: 120px !important;
    transform: translateX(-50%) !important;
    width: min(360px, 82vw) !important;
    opacity: .34 !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }

  body.home .hero-bg-logo img{
    opacity: .46 !important;
    mix-blend-mode: screen !important;
    filter: contrast(1.08) brightness(1.18) saturate(1.05) !important;
  }

  body.home .gold-line{
    width: 88px !important;
  }

  body.home .about-premium{
    padding-top: 64px !important;
  }

  body.home .about-premium-image{
    height: auto !important;
    min-height: 0 !important;
    border-radius: 22px !important;
  }

  body.home .about-premium-image img{
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
  }
}

@media (max-width: 480px){
  body.home .v4-hero,
  body.home .hero.v4-hero{
    min-height: 500px !important;
    padding-bottom: 44px !important;
  }

  body.home .hero-title-block{
    padding-top: 60px !important;
  }

  body.home .hero-title-block h1{
    font-size: clamp(48px, 17vw, 66px) !important;
  }

  body.home .hero-subtitle{
    font-size: 10px !important;
    letter-spacing: .36em !important;
    max-width: 290px !important;
  }
}


/* V25 - Nuova hero fotografica. Tutto il resto del tema resta invariato. */
body.home .hero-v25{
  min-height: clamp(560px, 48vw, 820px) !important;
  padding: 82px 0 0 !important;
  display: block !important;
  border-bottom: 1px solid var(--line) !important;
  background-color: #030303 !important;
  background-image: url('assets/img/hero-v25.png') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
}
body.home .hero-v25::after{
  display: none !important;
  content: none !important;
}

@media (max-width: 960px){
  body.home .hero-v25,
  body.home .hero.v4-hero.hero-v25{
    min-height: clamp(430px, 64vw, 620px) !important;
    padding: 82px 0 0 !important;
    background-image: url('assets/img/hero-v25.png') !important;
    background-size: cover !important;
    background-position: center center !important;
  }
}

@media (max-width: 600px){
  body.home .hero-v25,
  body.home .hero.v4-hero.hero-v25{
    min-height: 420px !important;
    padding-top: 78px !important;
    background-size: cover !important;
    /* Su smartphone privilegia logo e claim, mantenendo visibile parte del ritratto. */
    background-position: 46% center !important;
  }
}
