/*
Theme Name:  New Dental Care
Theme URI:   https://newdentalcare.it
Author:      Sviluppato su misura
Description: Tema professionale New Dental Care Pirri, CA. Design Fresh & Bold. PHP 7.4+. Completamente gestibile senza codice.
Version:     4.0.0
Requires at least: 5.8
Tested up to: 7.0
Requires PHP: 7.4
License:     Private
Text Domain: ndc
*/


:root{
  --teal:#1DB89F;--teal-d:#0E9A84;--teal-bg:#0D3B35;
  --teal-mid:#134E46;--teal-l:#C8F0E8;--teal-x:#E5F9F5;
  --lime:#A8E6CE;--gold:#F6C549;--white:#fff;
  --off:#F4FBF9;--text:#1A2E2C;--muted:#6B9B95;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Nunito',sans-serif;background:var(--teal-bg);color:var(--white);overflow-x:hidden;}

/* ══ NAV ══ */
/* ── NAV ── */
nav#main-nav{
  position:fixed;top:0;left:0;width:100%;z-index:300;height:70px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 56px;
  background:rgba(13,59,53,.95);backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(29,184,159,.2);
  box-shadow:0 4px 24px rgba(0,0,0,.25);
  transition:box-shadow .3s;
}
.logo{font-family:'Sora',sans-serif;font-size:1.25rem;font-weight:800;
  color:var(--white);letter-spacing:-.02em;display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo-badge{background:var(--teal);border-radius:11px;width:36px;height:36px;
  display:grid;place-items:center;font-size:1rem;flex-shrink:0;}
.nav-links{display:flex;gap:6px;list-style:none;margin:0;padding:0;}
.nav-links a{
  text-decoration:none;color:rgba(255,255,255,.72);
  font-size:.84rem;font-weight:600;
  padding:7px 14px;border-radius:50px;
  transition:color .2s,background .2s;
}
.nav-links a:hover{color:var(--white);background:rgba(255,255,255,.08);}
.nav-links .active a,.nav-links li a.active{color:var(--teal);}
.nav-right{display:flex;align-items:center;gap:12px;}
.nav-phone{color:rgba(255,255,255,.55);font-size:.82rem;font-weight:600;white-space:nowrap;}
/* Hamburger */
.hamburger{
  display:none;flex-direction:column;justify-content:center;
  gap:5px;background:none;border:none;cursor:pointer;
  padding:6px;border-radius:8px;transition:background .2s;
}
.hamburger:hover{background:rgba(255,255,255,.08);}
.hamburger span{
  display:block;width:24px;height:2px;
  background:rgba(255,255,255,.85);border-radius:2px;
  transition:transform .3s,opacity .3s;
}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
/* Mobile overlay */
.mobile-menu{
  display:none;
  position:fixed;inset:0;z-index:299;
  background:rgba(13,59,53,.98);
  backdrop-filter:blur(24px);
  flex-direction:column;align-items:center;justify-content:center;
  gap:8px;
  opacity:0;transition:opacity .3s;
}
.mobile-menu.open{display:flex;opacity:1;}
/* Link nel menu mobile, SEMPRE visibili, indipendente dai media query */
.mobile-menu .nav-links{
  display:flex!important;
  flex-direction:column;align-items:center;gap:4px;
  list-style:none;margin:0;padding:0;
}
.mobile-menu .nav-links li a,
.mobile-menu .nav-links a{
  display:block!important;
  font-size:1.6rem;font-weight:800;padding:14px 36px;
  color:rgba(255,255,255,.88);letter-spacing:-.02em;
  text-decoration:none;border-radius:50px;transition:.2s;
}
.mobile-menu .nav-links li a:hover,
.mobile-menu .nav-links a:hover{color:var(--teal);background:rgba(29,184,159,.1);}
.mobile-menu .btn-nav{
  margin-top:28px;font-size:1rem;padding:16px 44px;
  background:var(--teal);color:var(--text);border-radius:50px;
  font-family:'Sora',sans-serif;font-weight:800;text-decoration:none;
  box-shadow:0 6px 24px rgba(29,184,159,.4);
}
.mobile-close{
  position:absolute;top:20px;right:20px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
  border-radius:50%;width:44px;height:44px;
  font-size:1.1rem;cursor:pointer;color:var(--white);
  display:grid;place-items:center;transition:background .2s;
}
.mobile-close:hover{background:rgba(255,255,255,.18);}
.btn-nav{background:var(--teal);color:var(--text);border:none;border-radius:50px;
  padding:10px 22px;font-family:'Sora',sans-serif;font-size:.84rem;font-weight:700;cursor:pointer;transition:.2s;}
.btn-nav:hover{background:var(--lime);}
/* Prenota ora desktop, più in evidenza */
nav#main-nav .btn-nav{
  background:var(--teal);color:var(--text);
  font-weight:800;font-size:.86rem;
  padding:11px 24px;
  box-shadow:0 4px 16px rgba(29,184,159,.4);
  border:2px solid transparent;
}
nav#main-nav .btn-nav:hover{
  background:transparent;color:var(--teal);
  border-color:var(--teal);transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(29,184,159,.25);
}

/* ══ HERO VIDEO ══ */
.hero{
  position:relative;
  min-height:110vh;
  min-height:110dvh; /* mobile browser bars */
  display:flex;align-items:center;overflow:hidden;
}

/* ── Sfondo animato CSS (sempre visibile, anche senza video) ── */
.hero-bg{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse 80% 60% at 70% 40%, rgba(29,184,159,.22) 0%, transparent 55%),
    radial-gradient(ellipse 60% 80% at 20% 70%, rgba(29,184,159,.12) 0%, transparent 50%),
    linear-gradient(135deg, #0a2e28 0%, #0D3B35 40%, #0f4a40 100%);
  animation: bgPulse 10s ease-in-out infinite alternate;
}
@keyframes bgPulse{
  0%  { background-position: 0% 50%; filter: brightness(1); }
  100%{ background-position: 100% 50%; filter: brightness(1.08); }
}
/* Griglia sottile sul bg */
.hero-bg::after{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(29,184,159,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(29,184,159,.05) 1px, transparent 1px);
  background-size:50px 50px;
}

/* ── Wrapper video: si sovrappone allo sfondo CSS ── */
.hero-video-wrap{
  position:absolute;inset:0;z-index:1;
  overflow:hidden;
  opacity:0;
  transition:opacity 1.5s ease;
}
.hero-video-wrap.loaded{ opacity:1; }
.hero-video-wrap video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  pointer-events:none;
}

/* ── Overlay leggero sopra il video (non oscura) ── */
.hero-overlay{
  position:absolute;inset:0;z-index:2;
  /* desktop: sfumatura laterale soft */
  background:
    linear-gradient(90deg,
      rgba(13,59,53,.82) 0%,
      rgba(13,59,53,.60) 45%,
      rgba(13,59,53,.25) 75%,
      rgba(13,59,53,.10) 100%),
    linear-gradient(180deg,
      rgba(13,59,53,.3) 0%,
      transparent 30%,
      transparent 70%,
      rgba(13,59,53,.5) 100%);
}
/* mobile: overlay uniforme + mostra video su tutto lo schermo */
@media(max-width:900px){
  .hero-overlay{
    background: rgba(13,59,53,.62);
  }
}

/* Orb decorativi */
.hero-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:3;}
.orb1{width:600px;height:600px;right:-100px;top:50%;transform:translateY(-50%);
  background:radial-gradient(circle at 40% 40%, rgba(29,184,159,.12), transparent 70%);
  border:1px solid rgba(29,184,159,.07);}
.orb2{width:300px;height:300px;right:120px;top:50%;transform:translateY(-50%);
  border:1px solid rgba(29,184,159,.1);}
@media(max-width:900px){
  .orb1,.orb2{display:none;}
}

.hero-content{position:relative;z-index:10;padding:0 64px;max-width:780px;padding-top:70px;}

.hero-chip{display:inline-flex;align-items:center;gap:8px;margin-bottom:28px;
  background:rgba(29,184,159,.15);border:1px solid rgba(29,184,159,.35);
  border-radius:50px;padding:7px 18px;font-size:.75rem;font-weight:700;
  color:var(--teal);letter-spacing:.05em;text-transform:uppercase;}
.chip-pulse{width:7px;height:7px;background:var(--teal);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}

.hero-h{font-family:'Sora',sans-serif;font-size:clamp(3rem,6vw,5rem);
  font-weight:800;line-height:1.04;letter-spacing:-.04em;margin-bottom:24px;
  animation:fadeUp .8s ease both;}
.accent{color:var(--teal);}
.accent2{color:var(--gold);}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

.hero-sub{font-size:1.05rem;line-height:1.75;color:rgba(255,255,255,.7);
  max-width:500px;margin-bottom:44px;animation:fadeUp .8s .15s ease both;}

.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:52px;animation:fadeUp .8s .3s ease both;}
.btn-main{background:var(--teal);color:var(--text);border:none;border-radius:50px;
  padding:18px 36px;font-family:'Sora',sans-serif;font-size:1rem;font-weight:700;
  cursor:pointer;transition:.25s;box-shadow:0 8px 32px rgba(29,184,159,.4);}
.btn-main:hover{background:var(--lime);transform:translateY(-2px);}
.btn-ghost{background:rgba(255,255,255,.1);color:var(--white);
  border:1.5px solid rgba(255,255,255,.3);border-radius:50px;padding:17px 30px;
  font-size:.95rem;font-family:'Sora',sans-serif;cursor:pointer;transition:.2s;backdrop-filter:blur(4px);}
.btn-ghost:hover{background:rgba(255,255,255,.18);}

/* Scroll cue */
.scroll-cue{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);
  z-index:10;display:flex;flex-direction:column;align-items:center;gap:8px;
  font-size:.72rem;color:rgba(255,255,255,.4);letter-spacing:.1em;text-transform:uppercase;}
.scroll-cue-line{width:1px;height:40px;background:linear-gradient(rgba(29,184,159,.6),transparent);animation:scrollLine 2s infinite;}
@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ══ COUNTERS ══ */
.counters{background:var(--teal-mid);border-top:1px solid rgba(29,184,159,.2);
  border-bottom:1px solid rgba(29,184,159,.2);display:grid;grid-template-columns:repeat(4,1fr);}
.cnt-item{padding:52px 24px;text-align:center;border-right:1px solid rgba(29,184,159,.2);
  position:relative;transition:background .3s;}
.cnt-item:last-child{border-right:none;}
.cnt-item:hover{background:rgba(29,184,159,.08);}
.cnt-num{font-family:'Sora',sans-serif;font-size:clamp(2.8rem,4vw,4rem);
  font-weight:800;color:var(--teal);line-height:1;display:block;margin-bottom:8px;}
.cnt-label{font-size:.8rem;font-weight:700;color:rgba(255,255,255,.5);letter-spacing:.04em;}

/* ══ SERVIZI ══ */
.section-light{background:var(--off);}
.section-pad{padding:100px 64px;}
.section-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.12em;color:var(--teal-d);text-transform:uppercase;margin-bottom:10px;}
.section-title{font-family:'Sora',sans-serif;font-size:2.6rem;color:var(--text);font-weight:800;letter-spacing:-.04em;margin-bottom:52px;}
.section-title .t{color:var(--teal);}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.svc-card{background:var(--white);border-radius:28px;padding:32px 26px;
  border:1.5px solid transparent;transition:all .3s;position:relative;overflow:hidden;
  display:block;text-decoration:none;cursor:pointer;color:inherit;}
.svc-card::after{content:attr(data-icon);position:absolute;right:-8px;bottom:-8px;
  font-size:5rem;opacity:.05;pointer-events:none;transition:.3s;transform:rotate(-10deg);}
.svc-card:hover{border-color:var(--teal);box-shadow:0 14px 40px rgba(14,154,132,.12);transform:translateY(-5px);}
.svc-card:hover::after{opacity:.1;transform:rotate(-5deg) scale(1.1);}
.svc-ico{width:56px;height:56px;border-radius:18px;background:var(--teal-x);display:grid;place-items:center;font-size:1.5rem;margin-bottom:18px;transition:.3s;}
.svc-card:hover .svc-ico{background:var(--teal-l);}
.svc-name{font-family:'Sora',sans-serif;font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:6px;}
.svc-price{font-size:.78rem;color:var(--teal-d);font-weight:700;margin-bottom:12px;}
.svc-card p{font-size:.84rem;color:var(--muted);line-height:1.65;}
.svc-more{display:inline-block;margin-top:16px;font-size:.82rem;font-weight:700;color:var(--teal-d);}

/* ══ GALLERIA SLIDESHOW ══ */
.gallery-section{background:var(--teal-bg);padding:100px 0;overflow:hidden;}
.gallery-header{padding:0 64px;margin-bottom:52px;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;}
.gallery-header h2{font-family:'Sora',sans-serif;font-size:2.4rem;font-weight:800;letter-spacing:-.04em;}
.gallery-header p{color:rgba(255,255,255,.55);font-size:.9rem;max-width:380px;line-height:1.7;}
.gallery-controls{display:flex;gap:10px;}
.gal-btn{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(29,184,159,.4);
  background:rgba(29,184,159,.1);color:var(--teal);cursor:pointer;
  display:grid;place-items:center;font-size:1.1rem;transition:.25s;flex-shrink:0;}
.gal-btn:hover{background:var(--teal);color:var(--text);border-color:var(--teal);}

/* Slider track */
.gallery-track-wrap{position:relative;}
.gallery-track{
  display:flex;gap:20px;padding:0 64px 20px;
  overflow-x:scroll;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  cursor:grab;
}
.gallery-track::-webkit-scrollbar{display:none;}
.gallery-track.dragging{cursor:grabbing;scroll-behavior:auto;}
.gallery-slide{
  flex-shrink:0;width:420px;height:300px;border-radius:24px;overflow:hidden;
  position:relative;cursor:pointer;
  scroll-snap-align:start;
}

.gallery-slide img,.gallery-slide .slide-ph{width:100%;height:100%;object-fit:cover;display:block;}
.slide-ph{background:var(--teal-mid);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;}
.slide-ph-ico{font-size:2.8rem;opacity:.4;}
.slide-ph-txt{font-size:.72rem;color:rgba(255,255,255,.4);letter-spacing:.1em;text-transform:uppercase;font-weight:600;}
.slide-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,59,53,.85) 0%,transparent 55%);
  opacity:0;transition:opacity .35s;}
.gallery-slide:hover .slide-overlay{opacity:1;}
.slide-caption{position:absolute;bottom:0;left:0;right:0;padding:22px 24px;
  transform:translateY(10px);opacity:0;transition:.35s;font-size:.88rem;font-weight:600;color:var(--white);}
.gallery-slide:hover .slide-caption{transform:translateY(0);opacity:1;}
.slide-tag{display:inline-block;background:var(--teal);color:var(--text);border-radius:50px;
  padding:3px 11px;font-size:.65rem;font-weight:700;margin-bottom:6px;}

/* Indicatori puntini */
.gallery-dots{display:flex;gap:8px;justify-content:center;padding-top:36px;}
.gdot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.2);
  cursor:pointer;transition:.3s;}
.gdot.active{width:28px;border-radius:3px;background:var(--teal);}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:999;background:rgba(13,59,53,.97);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .35s;}
.lightbox.open{opacity:1;pointer-events:all;}
.lb-img{max-width:90vw;max-height:85vh;border-radius:16px;object-fit:contain;
  transform:scale(.95);transition:transform .35s;}
.lightbox.open .lb-img{transform:scale(1);}
.lb-ph{width:900px;max-width:90vw;height:560px;border-radius:16px;background:var(--teal-mid);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;
  transform:scale(.95);transition:transform .35s;}
.lightbox.open .lb-ph{transform:scale(1);}
.lb-ph-ico{font-size:5rem;opacity:.35;}
.lb-ph-txt{font-size:.88rem;color:rgba(255,255,255,.4);letter-spacing:.08em;text-transform:uppercase;}
.lb-close{position:absolute;top:24px;right:28px;width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  color:var(--white);font-size:1.1rem;cursor:pointer;display:grid;place-items:center;transition:.2s;}
.lb-close:hover{background:rgba(255,255,255,.2);}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;
  border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  color:var(--white);font-size:1.2rem;cursor:pointer;display:grid;place-items:center;transition:.2s;}
.lb-nav:hover{background:rgba(29,184,159,.4);}
#lb-prev{left:24px;}
#lb-next{right:24px;}
.lb-caption{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
  font-size:.82rem;color:rgba(255,255,255,.5);letter-spacing:.06em;white-space:nowrap;}

/* ══ TEAM ══ */
.doc-card-link{text-decoration:none;display:block;}
.doc-card{background:var(--teal-bg);border-radius:32px;overflow:hidden;
  border:1px solid rgba(29,184,159,.15);transition:.3s;}
.doc-card:hover{border-color:rgba(29,184,159,.4);transform:translateY(-6px);}
.doc-photo{height:200px;display:flex;align-items:flex-end;justify-content:center;
  background:linear-gradient(135deg,var(--teal-mid),var(--teal-bg));overflow:hidden;font-size:5rem;}
.doc-photo img{width:100%;height:100%;object-fit:cover;}
.doc-body{padding:24px;}
.doc-name{font-family:'Sora',sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:3px;}
.doc-role{font-size:.78rem;color:var(--teal);font-weight:700;margin-bottom:12px;}
.doc-bio{font-size:.82rem;color:rgba(255,255,255,.55);line-height:1.65;}
.doc-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.doc-tag{background:rgba(29,184,159,.15);border:1px solid rgba(29,184,159,.25);
  border-radius:50px;padding:3px 11px;font-size:.7rem;color:var(--teal);font-weight:700;}

/* ══ REVIEWS ══ */
.reviews{background:var(--teal-bg);padding:90px 64px;}
.rev-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px;flex-wrap:wrap;gap:20px;}
.rev-head h2{font-family:'Sora',sans-serif;font-size:2.2rem;font-weight:800;letter-spacing:-.04em;}
.rev-score{display:flex;align-items:center;gap:10px;background:rgba(246,197,73,.1);
  border:1px solid rgba(246,197,73,.25);border-radius:50px;padding:10px 22px;}
.score{font-family:'Sora',sans-serif;font-size:1.6rem;font-weight:800;color:var(--gold);}
.stars{color:var(--gold);font-size:.9rem;}
.rcnt{font-size:.75rem;color:rgba(255,255,255,.5);}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.rev-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
  border-radius:24px;padding:28px;transition:.3s;}
.rev-card:hover{background:rgba(255,255,255,.08);border-color:rgba(29,184,159,.2);}
.rev-stars{color:var(--gold);margin-bottom:14px;}
.rev-text{font-size:.86rem;line-height:1.7;color:rgba(255,255,255,.75);margin-bottom:20px;}
.rev-author{display:flex;align-items:center;gap:10px;}
.rev-av{width:40px;height:40px;border-radius:50%;background:rgba(29,184,159,.2);display:grid;place-items:center;font-size:1.1rem;}
.rev-name{font-size:.86rem;font-weight:700;}
.rev-where{font-size:.72rem;color:rgba(255,255,255,.4);}

/* ══ BRIDGE ══ */
.bridge-section{background:var(--off);padding:90px 64px;border-top:1px solid rgba(29,184,159,.12);}
.bridge-eyebrow{display:flex;align-items:center;gap:20px;justify-content:center;margin-bottom:52px;}
.bridge-eyebrow span{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.bridge-line{flex:1;max-width:160px;height:1px;background:rgba(29,184,159,.25);}
.bridge-cards{display:grid;grid-template-columns:1fr auto 1fr;border-radius:28px;overflow:hidden;
  border:1.5px solid rgba(29,184,159,.2);box-shadow:0 8px 40px rgba(14,154,132,.08);}
.bc-here{background:linear-gradient(135deg,var(--teal-mid),var(--teal-bg));
  padding:40px 36px;display:flex;flex-direction:column;gap:18px;border-right:1px solid rgba(29,184,159,.2);}
.bc-there{background:var(--white);padding:40px 36px;display:flex;flex-direction:column;gap:18px;}
.bc-badge-h{display:inline-flex;align-self:flex-start;background:rgba(29,184,159,.15);
  border:1px solid rgba(29,184,159,.3);border-radius:50px;padding:4px 12px;
  font-size:.68rem;font-weight:700;color:var(--teal);letter-spacing:.06em;}
.bc-badge-t{display:inline-flex;align-self:flex-start;background:var(--teal-x);
  border:1px solid rgba(29,184,159,.25);border-radius:50px;padding:4px 12px;
  font-size:.68rem;font-weight:700;color:var(--teal-d);letter-spacing:.06em;}
.bc-logo-row{display:flex;align-items:center;gap:12px;}
.bc-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:1.2rem;flex-shrink:0;}
.bc-nw{font-family:'Sora',sans-serif;font-size:1.05rem;font-weight:800;color:var(--white);}
.bc-sw{font-size:.7rem;color:rgba(255,255,255,.5);margin-top:2px;}
.bc-nd{font-family:'Sora',sans-serif;font-size:1.05rem;font-weight:800;color:var(--text);}
.bc-sd{font-size:.7rem;color:var(--muted);margin-top:2px;}
.bc-dw{font-size:.84rem;color:rgba(255,255,255,.65);line-height:1.75;}
.bc-dd{font-size:.84rem;color:var(--muted);line-height:1.75;}
.bc-prods{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.bc-prod{background:var(--teal-x);border:1px solid rgba(29,184,159,.2);border-radius:10px;
  padding:8px 12px;font-size:.75rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px;}
.bc-cw{margin-top:auto;padding:12px 14px;border:1px solid rgba(29,184,159,.2);border-radius:10px;}
.bc-cw span{display:block;font-size:.78rem;color:rgba(255,255,255,.5);}
.bc-cd{margin-top:auto;padding:12px 14px;border:1px solid rgba(29,184,159,.15);border-radius:10px;background:var(--teal-x);}
.bc-cd span{display:block;font-size:.78rem;color:var(--muted);}
.bc-btn{background:var(--teal);color:var(--text);border:none;border-radius:50px;padding:12px 22px;
  font-family:'Sora',sans-serif;font-size:.86rem;font-weight:700;cursor:pointer;
  align-self:flex-start;box-shadow:0 4px 18px rgba(29,184,159,.35);transition:.25s;}
.bc-btn:hover{background:var(--lime);transform:translateY(-2px);}
.bc-conn{background:var(--teal-bg);width:150px;flex-shrink:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px 16px;}
.bc-pin{font-size:2rem;}
.bc-addr{text-align:center;font-size:.72rem;color:rgba(255,255,255,.5);line-height:1.6;}
.bc-addr strong{display:block;color:var(--white);font-weight:700;margin-top:2px;}
.bc-arr{display:flex;flex-direction:column;align-items:center;gap:4px;}
.bc-al{width:1px;height:22px;background:rgba(29,184,159,.3);}
.bc-ai{width:30px;height:30px;border-radius:50%;border:1px solid rgba(29,184,159,.35);
  display:grid;place-items:center;font-size:.78rem;color:var(--teal);}
.bc-tag{background:rgba(29,184,159,.12);border:1px solid rgba(29,184,159,.2);
  border-radius:50px;padding:4px 10px;font-size:.62rem;font-weight:700;color:var(--teal);text-align:center;}
.bridge-note{text-align:center;font-size:.78rem;color:var(--muted);line-height:1.7;
  max-width:620px;margin:32px auto 0;padding-top:28px;border-top:1px solid rgba(29,184,159,.15);}

/* ══ CTA ══ */
.cta-section{background:var(--off);padding:80px 64px;}
.cta-box{background:linear-gradient(135deg,var(--teal-mid),var(--teal-bg));
  border-radius:40px;padding:72px;display:grid;grid-template-columns:1fr auto;
  align-items:center;gap:60px;border:1px solid rgba(29,184,159,.2);
  position:relative;overflow:hidden;}
.cta-box::before{content:'';position:absolute;right:-80px;top:-80px;width:280px;height:280px;
  border-radius:50%;background:radial-gradient(circle,rgba(29,184,159,.2),transparent 70%);}
.cta-box h2{font-family:'Sora',sans-serif;font-size:2.4rem;font-weight:800;letter-spacing:-.04em;margin-bottom:12px;}
.cta-box h2 span{color:var(--teal);}
.cta-box p{color:rgba(255,255,255,.6);font-size:.95rem;line-height:1.6;}
.cta-r{display:flex;flex-direction:column;align-items:center;gap:12px;}
.cta-info{font-size:.78rem;color:rgba(255,255,255,.4);text-align:center;}

/* ══ FOOTER ══ */
footer{background:var(--teal-bg);padding:64px;border-top:1px solid rgba(29,184,159,.12);}
.footer-inner{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;
  padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:28px;}
.f-logo{font-family:'Sora',sans-serif;font-size:1.3rem;font-weight:800;margin-bottom:12px;}
.footer-brand p{font-size:.82rem;color:rgba(255,255,255,.4);line-height:1.7;}
footer h5{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:14px;font-weight:700;}
footer ul{list-style:none;display:flex;flex-direction:column;gap:9px;}
footer ul a{color:rgba(255,255,255,.4);text-decoration:none;font-size:.82rem;font-weight:500;transition:.2s;}
footer ul a:hover{color:var(--teal);}
.footer-btm{display:flex;justify-content:space-between;font-size:.76rem;color:rgba(255,255,255,.25);flex-wrap:wrap;gap:8px;}

/* ══ RESPONSIVE ══ */
@media(max-width:900px){
  nav#main-nav{padding:0 20px;}
  nav#main-nav .nav-links, nav#main-nav .nav-right{display:none!important;}
  .hamburger{display:flex;}
  .hero-content{padding:0 24px;padding-top:80px;}
  .hero-h{font-size:clamp(2.4rem,9vw,3.4rem);}
  .counters{grid-template-columns:repeat(2,1fr);}
  .cnt-item:nth-child(2){border-right:none;}
  .cnt-item:nth-child(3),.cnt-item:nth-child(4){border-top:1px solid rgba(29,184,159,.2);}
  .cnt-item:nth-child(4){border-right:none;}
  .section-pad,.reviews,.bridge-section,.cta-section{padding:64px 24px;}
  .gallery-header{padding:0 24px;}
  .gallery-track{padding:0 24px;}
  .gallery-slide{width:280px;height:200px;}
  
  .svc-grid,.rev-grid{grid-template-columns:1fr 1fr;}
  .cta-box{grid-template-columns:1fr;padding:40px 28px;gap:32px;border-radius:28px;}
  .bridge-cards{grid-template-columns:1fr;}
  .bc-here{border-right:none;border-bottom:1px solid rgba(29,184,159,.2);}
  .bc-conn{width:100%;flex-direction:row;flex-wrap:wrap;justify-content:center;padding:18px 24px;gap:12px;}
  .bc-arr{flex-direction:row;}.bc-al{width:22px;height:1px;}
  footer{padding:48px 24px 28px;}
  .footer-inner{grid-template-columns:1fr 1fr;gap:28px;}
}
@media(max-width:900px){
  .svc-grid,.bc-prods,.footer-inner{grid-template-columns:1fr;}
  .rev-grid{grid-template-columns:1fr;}
}

/* Servizi 3 col → 2 col: ultimo centrato */

}
/* Rev grid 3→1: nessun problema */


/* Sovrascrive il colore link azzurro sui nomi */
/* ── Centra orfani per TUTTI i grid a 3 col ── */

}


/* Servizi mobile, tutte le card uguale larghezza */
}

@media(max-width:900px) {
  
}
@media(max-width:480px) {
  
}

/* ══ SERVIZI MOBILE — larghezza uguale ══ */
@media(max-width:900px) {
  .svc-grid { grid-template-columns: 1fr 1fr; }
}
@media(max-width:560px) {
  .svc-grid { grid-template-columns: 1fr; }
}
@media(min-width:561px) and (max-width:900px) {
  .svc-grid > *:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    max-width: calc(50% - 10px);
    margin: 0 auto;
  }
}


/* ══ TEAM — Grid 4 colonne ══ */
.team-grid-rows {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 16px;
}
.team-row-last {
  display: flex;
  justify-content: center;
  gap: 16px;
}
.team-row-last .team-card-item {
  flex: 0 0 calc(25% - 12px);
  max-width: calc(25% - 12px);
}
.team-card-item {
  text-decoration: none;
  display: block;
  min-width: 0;
}
.team-card-item .doc-name  { color: var(--white) !important; }
.team-card-item .doc-role  { color: var(--teal)  !important; }
.team-card-item .doc-more  { color: var(--teal)  !important; }
@media(max-width:900px) {
  .team-grid-rows { grid-template-columns: repeat(2, 1fr); }
  .team-row-last .team-card-item {
    flex: 0 0 calc(50% - 8px);
    max-width: calc(50% - 8px);
  }
}
@media(max-width:480px) {
  .team-grid-rows { grid-template-columns: 1fr 1fr; }
  .team-row-last .team-card-item {
    flex: 0 0 calc(50% - 8px);
    max-width: calc(50% - 8px);
  }
}


/* ══ RESET WORDPRESS ══ */
img { max-width:100%; height:auto; }
.wp-caption { max-width:100%; }
.aligncenter { display:block; margin:0 auto; }

/* ══ LOGO IMMAGINE (più grande) ══ */
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.logo .logo-img {
  width:64px; height:64px;
  object-fit:contain; display:block;
  border-radius:0; background:transparent;
  flex-shrink:0;
}
.logo .logo-name {
  font-family:'Sora',sans-serif;
  font-size:1.1rem; font-weight:800;
  color:var(--white); letter-spacing:-.02em;
  white-space:nowrap;
}
.logo .custom-logo-link img { height:64px; width:auto; max-width:160px; }

/* ══ BODY OFFSET PER NAV FIXED ══ */
body { padding-top:70px; }
.hero { margin-top:-70px; }

/* ══ TEAM GRID: 4/2/1 ══ */
.team-grid-rows {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-bottom:16px;
}
/* Ultima riga centrata — figli diretti del flex */
.team-row-last {
  display:flex; flex-wrap:wrap;
  justify-content:center; gap:16px;
  margin-top:0;
}
.team-row-last > .team-card-item {
  flex:0 0 calc(25% - 12px);
  max-width:calc(25% - 12px);
}
.team-card-item { text-decoration:none; display:block; min-width:0; }

/* ══ SERVIZI: griglia 3 col (unica definizione) ══ */
.svc-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-bottom:0;
}

/* ══ SVG ICONE SERVIZI ══ */
.svc-ico {
  width:56px; height:56px; border-radius:18px;
  background:var(--teal-x);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:18px; transition:background .3s; flex-shrink:0;
}
.svc-card:hover .svc-ico { background:var(--teal-l); }
.svc-ico svg { stroke:var(--teal-d); fill:none; transition:stroke .3s; display:block; }
.svc-card:hover .svc-ico svg { stroke:var(--teal); }
.svc-card.svc-dark .svc-ico { background:rgba(29,184,159,.15); }
.svc-card.svc-dark .svc-ico svg { stroke:var(--teal); }
.svc-dark-link { display:flex; align-items:center; gap:8px; text-decoration:none; }
.svc-dark-link svg { stroke:var(--teal); flex-shrink:0; }

/* ══ BLOCCHI SERVIZIO (pagina singola) ══ */
.svc-blocks { display:flex; flex-direction:column; gap:0; }
.svc-block {
  display:grid; grid-template-columns:72px 1fr;
  gap:24px; align-items:flex-start;
  padding:32px 0; border-bottom:1px solid var(--teal-l);
}
.svc-block:last-child { border-bottom:none; }
.svc-block-ico {
  width:56px; height:56px; border-radius:16px;
  background:var(--teal-x); display:grid;
  place-items:center; font-size:1.5rem; flex-shrink:0;
}
.svc-block-ico svg { stroke:var(--teal-d); fill:none; width:28px; height:28px; }
.svc-block-body h3 {
  font-family:'Sora',sans-serif; font-size:1rem;
  font-weight:800; color:var(--text); margin-bottom:8px;
}
.svc-block-body p { font-size:.9rem; color:var(--muted); line-height:1.8; }

/* ══ GALLERY SLIDE (tutte uguali) ══ */
.gallery-slide { width:420px; height:300px; }

/* ══ GALLERY CTA ══ */
.gal-cta-btn {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--teal-x); color:var(--teal-d);
  border:1.5px solid var(--teal-l); border-radius:50px;
  padding:12px 28px; font-family:'Sora',sans-serif;
  font-size:.88rem; font-weight:700; text-decoration:none;
  transition:.25s;
}
.gal-cta-btn:hover { background:var(--teal-l); border-color:var(--teal); }

/* ══ MENU ATTIVO ══ */
.nav-links .current-menu-item > a,
.nav-links .current-page-ancestor > a { color:var(--teal); }

/* ══ BRIDGE EXTRA ══ */
.bridge-note {
  text-align:center; color:var(--muted);
  font-size:.8rem; margin-top:24px;
  max-width:700px; margin-left:auto; margin-right:auto;
}

/* ══ PAGINE INTERNE: hero ══ */
.page-hero {
  background:linear-gradient(135deg,var(--teal-mid),var(--teal-bg));
  padding:130px 64px 80px; position:relative; overflow:hidden;
}
.page-hero::before {
  content:''; position:absolute; right:-100px; top:-100px;
  width:500px; height:500px; border-radius:50%;
  background:radial-gradient(circle,rgba(29,184,159,.08),transparent 70%);
}
.page-hero .hero-eyebrow {
  display:flex; align-items:center; gap:8px;
  font-size:.72rem; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--teal);
  margin-bottom:16px;
}
.page-hero .hero-eyebrow-dot {
  width:6px; height:6px; border-radius:50%;
  background:var(--teal); flex-shrink:0;
}
.page-hero h1 {
  font-family:'Sora',sans-serif;
  font-size:clamp(2rem,4vw,3.4rem);
  font-weight:800; color:var(--white);
  letter-spacing:-.04em; margin-bottom:16px; max-width:700px;
}
.page-hero .hero-sub {
  color:rgba(255,255,255,.65);
  font-size:.95rem; line-height:1.75;
  max-width:580px;
}
.page-hero .hero-tags {
  display:flex; flex-wrap:wrap; gap:10px; margin-top:24px;
}
.page-hero .htag {
  background:rgba(29,184,159,.12);
  border:1px solid rgba(29,184,159,.2);
  border-radius:50px; padding:6px 16px;
  font-size:.76rem; font-weight:700; color:rgba(255,255,255,.75);
}

/* ══ PAGINA LO STUDIO ══ */
.intro-section { background:var(--white); padding:80px 64px; }
.intro-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 360px; gap:64px; align-items:start; }
.intro-text h2 { font-family:'Sora',sans-serif; font-size:1.8rem; font-weight:800; color:var(--text); margin-bottom:20px; }
.intro-text p { color:var(--muted); line-height:1.9; margin-bottom:16px; font-size:.95rem; }
.intro-text strong { color:var(--text); }
.icard {
  background:var(--teal-bg); border-radius:24px;
  padding:28px; position:sticky; top:90px;
  border:1px solid rgba(29,184,159,.15);
}
.icard-title { font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--teal); margin-bottom:20px; }
.icard-row { display:flex; align-items:flex-start; gap:12px; margin-bottom:16px; }
.icard-ico { font-size:1.1rem; margin-top:2px; flex-shrink:0; }
.icard-lbl { font-size:.72rem; color:rgba(255,255,255,.45); margin-bottom:2px; }
.icard-val { font-size:.86rem; color:var(--white); font-weight:600; line-height:1.5; }
.icard-val a { color:inherit; text-decoration:none; }
.icard-val a:hover { color:var(--teal); }
.icard-divider { height:1px; background:rgba(255,255,255,.08); margin:16px 0; }
.btn-prenota {
  display:flex; align-items:center; justify-content:center; gap:8px;
  background:var(--teal); color:var(--text);
  border-radius:50px; padding:14px;
  font-family:'Sora',sans-serif; font-size:.9rem; font-weight:800;
  text-decoration:none; margin-top:20px;
  box-shadow:0 6px 20px rgba(29,184,159,.3);
  transition:transform .2s, box-shadow .2s;
}
.btn-prenota:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(29,184,159,.4); }

/* Statistiche studio */
.studio-stats { background:var(--teal-mid); padding:56px 64px; }
.studio-stats-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.stat-item { text-align:center; padding:20px; border-right:1px solid rgba(29,184,159,.2); }
.stat-item:last-child { border-right:none; }
.stat-n { font-family:'Sora',sans-serif; font-size:2.4rem; font-weight:800; color:var(--teal); display:block; }
.stat-l { font-size:.82rem; color:rgba(255,255,255,.55); margin-top:6px; }

/* Specializzazioni studio */
.spec-section { background:var(--off); padding:80px 64px; }
.spec-inner { max-width:1100px; margin:0 auto; }
.spec-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:40px; }
.spec-card {
  background:var(--white); border-radius:20px; padding:24px;
  border:1.5px solid transparent; transition:.3s;
}
.spec-card:hover { border-color:var(--teal); box-shadow:0 8px 24px rgba(14,154,132,.1); }
.spec-card-ico { font-size:1.8rem; margin-bottom:12px; }
.spec-card-name { font-family:'Sora',sans-serif; font-size:.95rem; font-weight:800; color:var(--text); margin-bottom:6px; }
.spec-card-desc { font-size:.82rem; color:var(--muted); line-height:1.65; }

/* Foto studio */
.foto-section { background:var(--teal-bg); padding:80px 64px; }
.foto-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:32px; max-width:1100px; margin-left:auto; margin-right:auto; }
.foto-item { border-radius:16px; overflow:hidden; aspect-ratio:4/3; background:var(--teal-mid); }
.foto-item img { width:100%; height:100%; object-fit:cover; display:block; transition:.4s; }
.foto-item:hover img { transform:scale(1.05); }

/* ══ PROFILO SPECIALISTA ══ */
.profile-hero {
  background:var(--teal-bg); padding:100px 64px 0;
  display:grid; grid-template-columns:auto 1fr;
  gap:64px; align-items:end;
  max-width:1100px; margin:0 auto;
}
.profile-photo-wrap { position:relative; }
.profile-photo {
  width:260px; height:360px; border-radius:24px 24px 0 0;
  overflow:hidden; background:var(--teal-mid);
}
.profile-photo img { width:100%; height:100%; object-fit:cover; }
.profile-badge {
  position:absolute; bottom:0; left:50%; transform:translate(-50%,50%);
  background:var(--teal); color:var(--text);
  font-size:.7rem; font-weight:800; letter-spacing:.08em;
  text-transform:uppercase; border-radius:50px;
  padding:6px 16px; white-space:nowrap;
  box-shadow:0 4px 16px rgba(29,184,159,.4);
}
.profile-info { padding-bottom:40px; }
.profile-eyebrow { font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--teal); margin-bottom:12px; }
.profile-name { font-family:'Sora',sans-serif; font-size:2.4rem; font-weight:800; color:var(--white); letter-spacing:-.04em; margin-bottom:8px; }
.profile-role { color:rgba(255,255,255,.55); font-size:.92rem; margin-bottom:16px; }
.profile-bio { color:rgba(255,255,255,.7); font-size:.95rem; line-height:1.75; max-width:520px; margin-bottom:16px; }
.profile-tags { display:flex; flex-wrap:wrap; gap:8px; }
.ptag {
  background:rgba(29,184,159,.15); border:1px solid rgba(29,184,159,.25);
  border-radius:50px; padding:5px 14px;
  font-size:.72rem; font-weight:700; color:var(--teal);
}

/* Body profilo */
.profile-body { background:var(--off); padding:64px; }
.profile-layout {
  max-width:1100px; margin:0 auto;
  display:grid; grid-template-columns:1fr 340px;
  gap:48px; align-items:start;
}
.profile-main h2 { font-family:'Sora',sans-serif; font-size:1.4rem; font-weight:800; color:var(--text); margin-bottom:16px; margin-top:32px; }
.profile-main h2:first-child { margin-top:0; }
.profile-main p { color:var(--muted); line-height:1.85; margin-bottom:14px; font-size:.92rem; }
.profile-main ul { list-style:none; display:flex; flex-direction:column; gap:8px; margin-bottom:24px; }
.profile-main ul li { display:flex; align-items:center; gap:10px; padding:10px 14px; background:var(--white); border-radius:10px; font-size:.88rem; font-weight:600; color:var(--text); }
.profile-main ul li::before { content:'✓'; color:var(--teal); font-size:1rem; }
.quote-block { background:var(--teal-bg); border-radius:20px; padding:28px 32px; margin:32px 0; border-left:4px solid var(--teal); }
.quote-text { font-size:1rem; color:rgba(255,255,255,.8); font-style:italic; line-height:1.7; }

/* Sidebar profilo */
.profile-sidebar { display:flex; flex-direction:column; gap:20px; }
.sidebar-card { background:var(--white); border-radius:20px; padding:24px; border:1px solid var(--teal-l); }
.sidebar-card h3 { font-family:'Sora',sans-serif; font-size:.88rem; font-weight:800; color:var(--text); margin-bottom:16px; }
.sinfo { display:flex; flex-direction:column; gap:3px; padding:10px 0; border-bottom:1px solid var(--teal-x); }
.sinfo:last-child { border-bottom:none; }
.sinfo-lbl { font-size:.72rem; color:var(--muted); font-weight:600; text-transform:uppercase; letter-spacing:.05em; }
.sinfo-val { font-size:.86rem; color:var(--text); font-weight:600; line-height:1.4; }
.btn-pren {
  display:flex; align-items:center; justify-content:center; gap:8px;
  background:var(--teal); color:var(--text);
  border-radius:50px; padding:14px;
  font-family:'Sora',sans-serif; font-size:.9rem; font-weight:800;
  text-decoration:none; box-shadow:0 6px 20px rgba(29,184,159,.3);
  transition:transform .2s;
}
.btn-pren:hover { transform:translateY(-2px); }
.btn-back-s { display:block; text-align:center; color:var(--muted); font-size:.82rem; text-decoration:none; padding:10px; }
.btn-back-s:hover { color:var(--teal); }
.teammate { display:flex; align-items:center; gap:10px; text-decoration:none; color:inherit; padding:8px 0; border-bottom:1px solid var(--teal-x); }
.teammate:last-child { border-bottom:none; }
.tm-photo { width:40px; height:40px; border-radius:10px; overflow:hidden; background:var(--teal-mid); flex-shrink:0; }
.tm-photo img { width:100%; height:100%; object-fit:cover; }
.tm-name { font-size:.84rem; font-weight:700; color:var(--text); }
.tm-role { font-size:.72rem; color:var(--muted); }

/* ══ PAGINA SERVIZIO SINGOLO ══ */
.cat-hero { background:var(--teal-bg); padding:100px 64px 60px; }
.cat-hero-inner { max-width:900px; margin:0 auto; }
.cat-eyebrow { font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--teal); margin-bottom:14px; }
.cat-title { font-family:'Sora',sans-serif; font-size:clamp(2rem,4vw,3rem); font-weight:800; color:var(--white); margin-bottom:16px; letter-spacing:-.04em; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.cat-desc { color:rgba(255,255,255,.65); font-size:.95rem; line-height:1.75; max-width:680px; }
.cat-body { background:var(--off); padding:64px; }
.cat-layout { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 300px; gap:48px; align-items:start; }
.cat-sidebar { display:flex; flex-direction:column; gap:16px; position:sticky; top:90px; }
.sidebar-box { background:var(--white); border-radius:20px; padding:22px; border:1px solid var(--teal-l); }
.sidebar-box h3 { font-family:'Sora',sans-serif; font-size:.88rem; font-weight:800; color:var(--text); margin-bottom:14px; }
.si-row { font-size:.82rem; color:var(--muted); padding:8px 0; border-bottom:1px solid var(--teal-x); line-height:1.5; }
.si-row:last-child { border-bottom:none; }
.si-row strong { color:var(--text); display:block; margin-bottom:2px; }
.si-row a { color:var(--text); text-decoration:none; }
.si-row a:hover { color:var(--teal); }
.cat-link-list { display:flex; flex-direction:column; gap:0; }
.cat-link-item {
  display:flex; align-items:center; gap:10px;
  font-size:.83rem; font-weight:600; color:var(--text);
  text-decoration:none; padding:9px 0;
  border-bottom:1px solid var(--teal-x);
  transition:color .2s;
}
.cat-link-item:last-child { border-bottom:none; }
.cat-link-item:hover, .cat-link-item.active { color:var(--teal); }
.cat-link-item span { font-size:1rem; flex-shrink:0; }
.btn-prenota-full {
  display:flex; align-items:center; justify-content:center; gap:8px;
  background:var(--teal); color:var(--text);
  border-radius:50px; padding:13px;
  font-family:'Sora',sans-serif; font-size:.9rem; font-weight:800;
  text-decoration:none; box-shadow:0 4px 16px rgba(29,184,159,.3);
  transition:transform .2s; text-align:center;
}
.btn-prenota-full:hover { transform:translateY(-2px); }

/* SEO locale */
.seo-block {
  background:var(--white); border-radius:20px;
  padding:28px; border-left:4px solid var(--teal);
  margin-top:32px;
}
.seo-block h3 { font-family:'Sora',sans-serif; font-size:1rem; font-weight:800; color:var(--text); margin-bottom:10px; }
.seo-block p { font-size:.88rem; color:var(--muted); line-height:1.8; }

/* ══ RESPONSIVE ══ */
@media(max-width:1024px) {
  .intro-inner { grid-template-columns:1fr; }
  .icard { position:static; }
  .profile-hero { grid-template-columns:1fr; padding:100px 40px 0; }
  .profile-photo { width:200px; height:280px; }
  .profile-layout { grid-template-columns:1fr; }
  .cat-layout { grid-template-columns:1fr; }
  .cat-sidebar { position:static; }
  .studio-stats-inner { grid-template-columns:repeat(2,1fr); }
  .stat-item:nth-child(2) { border-right:none; }
  .stat-item:nth-child(3) { border-top:1px solid rgba(29,184,159,.2); }
}

@media(max-width:900px) {
  .team-grid-rows { grid-template-columns:repeat(2,1fr); }
  .team-row-last > .team-card-item { flex:0 0 calc(50% - 8px); max-width:calc(50% - 8px); }
  .svc-grid { grid-template-columns:1fr; }
  .spec-grid { grid-template-columns:1fr 1fr; }
  .foto-grid { grid-template-columns:1fr 1fr; }
  .logo .logo-name { display:none; }
  .intro-section,.spec-section,.foto-section,.studio-stats,.profile-body,.cat-body,.profile-hero { padding-left:24px; padding-right:24px; }
  .page-hero { padding:110px 24px 60px; }
  .cat-hero { padding:100px 24px 50px; }
}

@media(max-width:480px) {
  .team-grid-rows { grid-template-columns:1fr; }
  .team-row-last > .team-card-item { flex:0 0 100%; max-width:100%; }
  .spec-grid { grid-template-columns:1fr; }
  .foto-grid { grid-template-columns:1fr; }
  .studio-stats-inner { grid-template-columns:1fr 1fr; }
}


/* ════════════════════════════════════════════════
   SHORTCODE — PAGINA LIBERA (New Dental Care)
   Sfondi: scuro=teal-bg | medio=teal-mid | colorato=teal | chiaro=teal-x | bianco=white
   ════════════════════════════════════════════════ */

.ndc-sec            { padding:80px 0; }
.ndc-sec-inner      { max-width:1160px; margin:0 auto; padding:0 32px; }

.ndc-sec--scuro     { background:var(--teal-bg);  color:#fff; }
.ndc-sec--medio     { background:var(--teal-mid); color:#fff; }
.ndc-sec--colorato  { background:var(--teal);     color:#fff; }
.ndc-sec--chiaro    { background:var(--teal-x);   color:var(--text); }
.ndc-sec--bianco    { background:var(--white);    color:var(--text); }

/* Header sezione */
.ndc-sec-hd         { margin-bottom:48px; }
.ndc-sec-hd--c      { text-align:center; }
.ndc-sec-hd--c .ndc-sec-sub { margin-inline:auto; }
.ndc-sec-title      { font-family:'Sora',sans-serif; font-size:clamp(1.8rem,3.5vw,2.6rem); font-weight:800; line-height:1.2; margin-bottom:14px; }
.ndc-hl             { color:var(--teal); }
.ndc-hl-l           { color:var(--teal-l); }
.ndc-sec-sub        { opacity:.72; max-width:580px; font-size:.97rem; line-height:1.7; }

/* Griglie */
.ndc-grid           { display:grid; gap:24px; }
.ndc-grid--1        { grid-template-columns:1fr; }
.ndc-grid--2        { grid-template-columns:repeat(2,1fr); }
.ndc-grid--3        { grid-template-columns:repeat(3,1fr); }
.ndc-grid--4        { grid-template-columns:repeat(4,1fr); }

/* Card */
.ndc-card           { padding:32px; border-radius:18px; transition:transform .2s,box-shadow .2s; }
.ndc-card:hover     { transform:translateY(-3px); }
.ndc-card--normale  { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); }
.ndc-sec--chiaro .ndc-card--normale,
.ndc-sec--bianco .ndc-card--normale { background:#fff; border:1px solid rgba(29,184,159,.15); box-shadow:0 4px 20px rgba(0,0,0,.06); }
.ndc-card--bordato  { background:transparent; border:2px solid rgba(29,184,159,.5); }
.ndc-card--scuro    { background:var(--teal-mid); border:1px solid rgba(29,184,159,.25); }
.ndc-card-ico       { font-size:2rem; margin-bottom:14px; }
.ndc-card-t         { font-family:'Sora',sans-serif; font-size:1rem; font-weight:700; margin-bottom:10px; }
.ndc-sec--chiaro .ndc-card-t,
.ndc-sec--bianco .ndc-card-t { color:var(--text); }
.ndc-card-body      { font-size:.88rem; line-height:1.7; opacity:.82; }
.ndc-card-body p    { margin-bottom:.5em; }

/* Colonne */
.ndc-cols           { display:grid; gap:48px; }
.ndc-col > *:first-child { margin-top:0; }

/* Bottoni */
.ndc-btn            { display:inline-block; margin:6px 8px 6px 0; }

/* Numeri */
.ndc-nums           { display:flex; flex-wrap:wrap; gap:32px; margin:24px 0; }
.ndc-num            { text-align:center; }
.ndc-num-v          { font-family:'Sora',sans-serif; font-size:2.6rem; font-weight:800; color:var(--teal); line-height:1; }
.ndc-sec--scuro .ndc-num-v,
.ndc-sec--medio .ndc-sec-sub,
.ndc-sec--colorato .ndc-num-v { color:var(--teal-l); }
.ndc-num-l          { font-size:.82rem; opacity:.6; margin-top:4px; }

/* Separatore / Avviso */
.ndc-hr             { border:none; border-top:1px solid rgba(255,255,255,.15); margin:32px 0; }
.ndc-sec--chiaro .ndc-hr,
.ndc-sec--bianco .ndc-hr { border-color:rgba(29,184,159,.2); }
.ndc-av             { display:flex; gap:14px; align-items:flex-start; padding:16px 20px; border-radius:12px; margin:16px 0; }
.ndc-av--info       { background:rgba(29,184,159,.1);  border:1px solid rgba(29,184,159,.2); }
.ndc-av--ok         { background:rgba(29,184,159,.18); border:1px solid var(--teal); }
.ndc-av--warn       { background:rgba(246,197,73,.12); border:1px solid rgba(246,197,73,.4); }
.ndc-av-ico         { font-size:1.3rem; flex-shrink:0; margin-top:2px; }

/* Testo libero dentro shortcode */
.ndc-sec h2,.ndc-sec h3,.ndc-sec h4 { font-family:'Sora',sans-serif; font-weight:700; margin-bottom:.6em; }
.ndc-sec p          { margin-bottom:1em; line-height:1.7; }
.ndc-sec ul,.ndc-sec ol { padding-left:1.4em; margin-bottom:1em; }
.ndc-sec li         { margin-bottom:.4em; }

/* Responsive */
@media(max-width:900px) {
  .ndc-grid--3,.ndc-grid--4 { grid-template-columns:repeat(2,1fr); }
  .ndc-cols                  { grid-template-columns:1fr!important; gap:32px; }
}
@media(max-width:600px) {
  .ndc-grid--2,.ndc-grid--3,.ndc-grid--4 { grid-template-columns:1fr; }
  .ndc-sec                   { padding:56px 0; }
  .ndc-nums                  { justify-content:center; }
}

/* ── Footer credit GlintLab ── */
.footer-credit {
  text-align: center;
  padding: 12px 0;
  font-size: .75rem;
  color: rgba(255,255,255,.28);
  border-top: 1px solid rgba(255,255,255,.06);
  background: var(--teal-bg);
}
.footer-credit a {
  color: rgba(255,255,255,.35);
  text-decoration: none;
  transition: color .2s;
}
.footer-credit a:hover { color: var(--teal-l); }


/* ════════════════════════════════════════════════
   CARD SERVIZIO "IN EVIDENZA" (es. Deflex)
   ════════════════════════════════════════════════ */
/* Card servizio IN EVIDENZA — bordo verde esplicito, nessuna variabile CSS */
a.svc-card.svc-card--featured,
.svc-card.svc-card--featured {
  border: 2px solid #1DB89F !important;
  box-shadow: 0 0 0 5px rgba(29,184,159,.12), 0 8px 32px rgba(0,0,0,.10) !important;
  background: #fff !important;
  position: relative;
  overflow: visible !important;
}
a.svc-card.svc-card--featured:hover,
.svc-card.svc-card--featured:hover {
  border: 2px solid #0E9A84 !important;
  box-shadow: 0 0 0 7px rgba(29,184,159,.18), 0 16px 48px rgba(0,0,0,.14) !important;
  transform: translateY(-4px);
}
.svc-card-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .05em;
  padding: 3px 10px;
  border-radius: 50px;
  background: var(--teal);
  color: #fff;
  margin-bottom: 12px;
}

/* ── ndc-page-content: container per the_content() di pagine Gutenberg ── */
.ndc-page-content { }
.ndc-page-content .ndc-sec-inner { max-width: 1160px; margin: 0 auto; padding: 0 32px; }
.ndc-page-content > * { max-width: 100%; }

/* ── Griglia vantaggi nei servizi ── */
.svc-adv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 48px 0;
}
.svc-adv-card {
  padding: 28px;
  border-radius: 16px;
  background: var(--off);
  border: 1px solid rgba(29,184,159,.12);
  transition: transform .2s, box-shadow .2s;
}
.svc-adv-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-sm); }
.svc-adv-ico  { font-size: 2rem; margin-bottom: 12px; }
.svc-adv-title { font-family: 'Sora', sans-serif; font-size: .95rem; font-weight: 700; margin-bottom: 8px; }
.svc-adv-text  { font-size: .85rem; color: var(--muted); line-height: 1.65; }

@media (max-width: 800px) {
  .svc-adv-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 500px) {
  .svc-adv-grid { grid-template-columns: 1fr; }
}

/* ── Anchor scroll: compensa l'header fisso (70px) ── */
[id="servizi"], [id="team"], [id="contatti"], [id="vantaggi"], [id="confronto"], [id="faq"] {
  scroll-margin-top: 86px;
}
