
:root{
  --navy:#102b49;
  --navy-2:#173a60;
  --blue:#2f628f;
  --gold:#c6923d;
  --gold-2:#e2b55f;
  --orange-logo:#f36a2d;
  --orange-logo-dark:#d6531f;
  --ink:#152334;
  --muted:#647284;
  --line:#dfe6ed;
  --soft:#f4f7fa;
  --white:#ffffff;
  --success:#2f6b56;
  --shadow:0 18px 45px rgba(16,43,73,.10);
  --radius:18px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:#fff;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  line-height:1.56;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px 14px;z-index:9999}
.skip-link:focus{left:10px}

.topbar{background:var(--navy);color:#dce7f1;font-size:.84rem}
.topbar .container{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.top-left,.top-right{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.top-item{display:inline-flex;align-items:center;gap:7px}
.top-item b{color:var(--gold-2);font-size:.95em}
.topbar a:hover{color:#fff}
.dot{width:4px;height:4px;background:var(--gold-2);border-radius:50%}

.header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;min-width:190px}
.brand img{height:68px;width:auto;max-width:300px;object-fit:contain}
.menu{display:flex;align-items:center;gap:18px;font-size:.84rem;font-weight:700;color:#314255;flex-wrap:nowrap}
.menu a{padding:30px 0 27px;border-bottom:3px solid transparent;white-space:nowrap}
.menu a:hover,.menu a[aria-current="page"]{color:var(--navy);border-bottom-color:var(--gold)}
.menu .portal{border:1px solid var(--line);padding:9px 12px;border-radius:10px}
.menu .cta-nav{background:var(--gold);color:#fff;border:0;padding:10px 13px;border-radius:10px}
.menu .cta-nav:hover{background:#ad7c30;color:#fff;border:0}
.menu-toggle{display:none;border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:10px;padding:9px 12px;font-size:1.25rem}

h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy);margin:0 0 14px}
h1{font-size:clamp(1.95rem,3.15vw,3.05rem);line-height:1.08;letter-spacing:-.025em}
h2{font-size:clamp(1.48rem,2.25vw,2.15rem);line-height:1.14;letter-spacing:-.018em}
h3{font-size:1.06rem;line-height:1.3}
p{margin:0 0 16px}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-weight:800;font-size:.76rem;margin-bottom:14px}
.lead{font-size:1rem;color:#4f6071;max-width:720px}
.section{padding:70px 0}
.section-soft{background:var(--soft)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:34px;margin-bottom:30px}
.section-head p{color:var(--muted);max-width:520px}

.hero{position:relative;overflow:hidden;background:linear-gradient(90deg,#fbfcfd 0%,#fbfcfd 52%,#eff4f9 52%,#eff4f9 100%)}
.hero .container{display:grid;grid-template-columns:1.04fr .96fr;min-height:560px;align-items:stretch}
.hero-copy{padding:54px 44px 52px 0;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:3}
.hero-copy .gold-title{display:block;color:var(--gold);font-size:clamp(1.12rem,1.55vw,1.52rem);line-height:1.12;margin-top:10px;font-family:Georgia,"Times New Roman",serif}
.hero-copy p{max-width:650px;color:#536475;font-size:1rem}
.hero-feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 28px}
.hero-feature{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}
.feature-ico{width:46px;height:46px;min-width:46px;border:2px solid var(--orange-logo-dark);border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;font-size:1.15rem;background:linear-gradient(145deg,#ff8a4c,var(--orange-logo));box-shadow:0 7px 16px rgba(239,91,37,.20),inset 0 0 0 4px rgba(255,255,255,.16)}
.hero-feature strong{display:block;color:var(--navy);font-size:1.03rem;font-family:Georgia,"Times New Roman",serif;margin-bottom:4px}
.hero-feature small{display:block;color:var(--muted);font-size:.85rem;line-height:1.35}
.hero-points{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin:21px 0 27px}
.hero-points span{display:flex;gap:9px;align-items:flex-start;color:#34485d;font-size:.93rem;font-weight:650}
.hero-points b{color:var(--gold)}
.hero-actions{display:flex;gap:10px;flex-wrap:nowrap;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 19px;border-radius:10px;font-weight:800;font-size:.9rem;border:1px solid transparent;transition:.2s}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:#0b2138;transform:translateY(-1px)}
.btn-outline{border-color:#bfcbd6;background:#fff;color:var(--navy)}
.btn-outline:hover{border-color:var(--navy)}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{background:#ad7c30}
.hero-actions .btn{white-space:nowrap;flex:0 1 auto;padding:13px 16px;font-size:.88rem}

.hero-visual{position:relative;min-height:560px;overflow:hidden;border-bottom-left-radius:48px}
.hero-visual::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,#f8fafc 0%,rgba(248,250,252,.14) 12%,rgba(248,250,252,0) 26%),
    linear-gradient(180deg,rgba(10,31,52,.01),rgba(10,31,52,.10)),
    url("../img/hero-condominio.jpg") center/cover no-repeat;
}
.emergency-card{
  position:absolute;right:22px;bottom:30px;width:min(285px,80%);
  background:var(--navy);color:#fff;border-radius:16px;padding:22px 24px;
  box-shadow:0 16px 35px rgba(9,31,51,.28);border-top:3px solid var(--gold);
}
.emergency-card small{color:#b9c9d8;display:block;margin-bottom:5px}
.emergency-card strong{font-size:1.45rem;display:block;margin:3px 0}
.emergency-card span{font-size:.85rem;color:#dbe5ef}

.credential-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.credential-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.credential{padding:24px 22px;text-align:center;border-right:1px solid var(--line)}
.credential:last-child{border-right:0}
.credential strong{display:block;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:1.18rem}
.credential span{font-size:.82rem;color:var(--muted)}
.credential:first-child span{white-space:nowrap;font-size:.79rem}


.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.why-card{text-align:center;padding:23px 17px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.icon-ring{width:62px;height:62px;margin:0 auto 16px;border:2px solid var(--orange-logo-dark);border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.35rem;font-weight:900;background:linear-gradient(145deg,#ff8a4c,var(--orange-logo));box-shadow:0 8px 18px rgba(239,91,37,.18),inset 0 0 0 5px rgba(255,255,255,.16)}
.why-card p{color:var(--muted);font-size:.88rem;margin:0}

.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.service-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:21px;min-height:168px;transition:.2s}
.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#ccd7e2}
.service-icon{width:40px;height:40px;border-radius:9px;background:#f5ead6;color:#a56f22;display:grid;place-items:center;font-weight:900;margin-bottom:15px}
.service-card p{color:var(--muted);font-size:.88rem}
.service-card a{font-weight:800;color:var(--navy);font-size:.88rem}

.professional{
  background:linear-gradient(135deg,var(--navy),#1b466f);
  color:#fff;border-radius:20px;padding:30px;
  display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center;
  box-shadow:var(--shadow)
}
.professional h2,.professional h3{color:#fff}
.professional p{color:#d6e1eb}
.prof-badges{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}
.prof-badge{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);padding:10px 12px;border-radius:10px;font-size:.83rem}
.anammi-panel{background:#fff;border-radius:16px;padding:16px}
.anammi-panel img{width:100%;height:auto;border-radius:8px}
.certificate-meta{font-size:.82rem;color:#c7d6e4;margin-top:14px}

.method-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:start}
.method-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.method-list{display:grid;gap:14px}
.method-item{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;padding-bottom:14px;border-bottom:1px solid var(--line)}
.method-item:last-child{border-bottom:0;padding-bottom:0}
.method-num{width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,#ff8a4c,var(--orange-logo));color:#fff;border:2px solid var(--orange-logo-dark);box-shadow:0 6px 14px rgba(239,91,37,.18),inset 0 0 0 3px rgba(255,255,255,.16);display:grid;place-items:center;font-weight:900}
.method-item p{color:var(--muted);font-size:.92rem;margin:4px 0 0}

.ai-box{background:#fff;border-left:4px solid var(--gold);padding:24px 26px;border-radius:0 16px 16px 0;box-shadow:0 12px 30px rgba(16,43,73,.06)}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.check{display:flex;gap:9px;align-items:flex-start;color:#45576a}
.check b{color:var(--success)}

.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.news-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.news-visual{height:160px;background:
  linear-gradient(135deg,rgba(16,43,73,.92),rgba(47,98,143,.72)),
  radial-gradient(circle at 25% 30%,#d8e5ef 0 3%,transparent 3.2%),
  linear-gradient(#a9bdce 1px,transparent 1px),linear-gradient(90deg,#a9bdce 1px,transparent 1px);
  background-size:auto,auto,30px 30px,30px 30px}
.news-card:nth-child(2) .news-visual{background:linear-gradient(135deg,#c6923d,#edd09c)}
.news-card:nth-child(3) .news-visual{background:linear-gradient(135deg,#2e6553,#9ab8a6)}
.news-body{padding:23px;display:flex;flex-direction:column;flex:1}
.news-meta{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-weight:800}
.news-body h3{margin-top:9px}
.news-body p{color:var(--muted);font-size:.91rem}
.news-body a{margin-top:auto;color:var(--navy);font-weight:850}

.cta-band{background:var(--navy);color:#fff}
.cta-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}
.cta-wrap h2{color:#fff}
.cta-wrap p{color:#c8d6e3}
.cta-contact{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}

.page-hero{background:linear-gradient(135deg,#f5f8fb,#eef3f7);border-bottom:1px solid var(--line);padding:50px 0 44px}
.page-hero h1{font-size:clamp(1.9rem,3vw,2.75rem)}
.breadcrumbs{font-size:.78rem;color:var(--muted);margin-bottom:14px}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.info-card{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff}
.info-card p{color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.contact-card{padding:24px;border:1px solid var(--line);border-radius:15px;background:#fff}
.contact-card strong{display:block;color:var(--navy);margin-bottom:6px}
.contact-card span,.contact-card a{color:var(--muted)}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
label{font-weight:750;font-size:.86rem;color:#3b4d5f}
input,textarea,select{width:100%;border:1px solid #cfd8e1;border-radius:10px;padding:12px 13px;background:#fff;color:var(--ink)}
textarea{min-height:130px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:3px solid rgba(47,98,143,.16);border-color:var(--blue)}
.notice{font-size:.82rem;color:var(--muted);background:#f5f8fb;border:1px solid var(--line);padding:11px 13px;border-radius:10px}
.form-status{display:none;margin-top:14px;padding:12px 14px;border-radius:10px;background:#eef7f2;color:#275d49;font-weight:700}

.portal-shell{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.portal-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}
.mio-brand{display:flex;align-items:center;gap:10px}
.mio-brand img:first-child{width:56px}
.mio-brand img:last-child{height:32px;width:auto}
.portal-shell iframe{display:block;width:100%;height:720px;border:0;background:#fff}
.portal-fallback{padding:16px 22px;background:#f8fafc;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}

.cert-card{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.cert-list{display:grid;gap:8px;margin:20px 0}
.cert-row{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.cert-row span:first-child{color:var(--muted)}
.cert-row strong{text-align:right;color:var(--navy)}

footer{background:#0c2137;color:#d5e0ea;padding:54px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr .9fr;gap:34px}
.footer-logo{width:270px;background:#fff;border-radius:10px;padding:7px;margin-bottom:16px}
footer h4{color:#fff;margin:0 0 13px}
footer a,footer span{display:block;color:#b9c8d7;margin:7px 0;font-size:.9rem}
footer a:hover{color:#fff}
.socials{display:flex;gap:9px;margin-top:18px}
.socials a{width:36px;height:36px;border:1px solid rgba(255,255,255,.18);border-radius:9px;display:grid;place-items:center;color:#fff;margin:0;font-weight:900}
.socials a:hover{background:#fff;color:var(--navy)}
.socials .disabled{opacity:.45;cursor:not-allowed}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-bottom span{font-size:.78rem;margin:0}

@media (max-width:980px){
  .credential:first-child span{white-space:normal;font-size:.82rem}

  .menu-toggle{display:block}
  .menu{position:absolute;top:84px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:16px 20px 22px;display:none;flex-direction:column;align-items:stretch;gap:0}
  .menu.open{display:flex}
  .menu a{padding:12px 4px;border-bottom:1px solid var(--line)}
  .menu .portal,.menu .cta-nav{margin-top:8px;text-align:center}
  .hero{background:#f8fafc}
  .hero .container{grid-template-columns:1fr;min-height:auto}
  .hero-copy{padding:70px 0 38px}
  .hero-visual{min-height:430px;border-radius:18px;margin-bottom:35px}
  .credential-grid{grid-template-columns:1fr 1fr}
  .credential:nth-child(2){border-right:0}
  .credential:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .why-grid{grid-template-columns:1fr 1fr}
  .services-grid,.news-grid,.contact-grid{grid-template-columns:1fr 1fr}
  .professional,.method-grid,.cta-wrap,.two-col,.cert-card{grid-template-columns:1fr}
  .cta-contact{justify-content:flex-start}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .container{width:min(var(--max),calc(100% - 26px))}
  .topbar .container{padding:8px 0}
  .top-right{display:none}
  .nav{min-height:72px}
  .brand img{height:68px;width:auto;max-width:300px;object-fit:contain}
  .menu{top:72px}
  h1{font-size:2.15rem}
  .section{padding:66px 0}
  .section-head{display:block}
  .section-head p{margin-top:14px}
  .hero-copy{padding-top:52px}
  .hero-points{grid-template-columns:1fr}
  .hero-feature-strip{grid-template-columns:1fr}
  .hero-visual{min-height:350px}
  .emergency-card{right:14px;bottom:18px;width:calc(100% - 28px)}
  .credential-grid,.why-grid,.services-grid,.news-grid,.contact-grid,.form-grid,.checks{grid-template-columns:1fr}
  .credential{border-right:0;border-bottom:1px solid var(--line)}
  .credential:last-child{border-bottom:0}
  .professional{padding:25px}
  .portal-shell iframe{height:760px}
  .footer-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* ===== V3.5: Prenotazione videocall ===== */
.call-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:28px;
  align-items:start;
}
.admin-mini{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:18px;
  align-items:center;
  padding:20px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  margin-bottom:18px;
}
.admin-photo-img{
  width:88px;
  height:104px;
  border-radius:13px;
  border:1px solid #d9e1e8;
  object-fit:cover;
  display:block;
  background:linear-gradient(145deg,#eef3f7,#dce6ee);
  box-shadow:0 10px 24px rgba(16,43,73,.08);
}
.admin-mini h3{margin-bottom:4px}
.admin-mini p{font-size:.86rem;color:var(--muted);margin:0}
.call-points{display:grid;gap:10px;margin-top:18px}
.call-point{display:flex;gap:10px;align-items:flex-start;color:#44576b;font-size:.9rem}
.call-point .cicon{
  width:34px;height:34px;min-width:34px;border-radius:9px;
  display:grid;place-items:center;background:#eef4fa;color:var(--navy);font-weight:900;
}

.booking-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.booking-head{
  padding:20px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid var(--line);
  background:#fbfcfe;
}
.booking-head strong{color:var(--navy)}
.booking-badge{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 10px;border-radius:999px;
  background:#eaf1f8;color:var(--navy);
  font-size:.78rem;font-weight:800;
}
.calendar-demo{padding:22px}
.calendar-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin-bottom:15px
}
.calendar-toolbar button{
  border:1px solid var(--line);background:#fff;color:var(--navy);
  border-radius:9px;padding:8px 11px;cursor:pointer;font-weight:800
}
.calendar-month{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-weight:800}
.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:7px;
}
.cal-label{
  text-align:center;font-size:.72rem;font-weight:800;color:#788899;padding:4px 0
}
.cal-day{
  min-height:44px;border:1px solid var(--line);border-radius:9px;background:#fff;
  display:grid;place-items:center;color:#506176;font-weight:750;cursor:pointer
}
.cal-day:hover{border-color:#9bb1c6;background:#f8fbfd}
.cal-day.disabled{opacity:.3;cursor:not-allowed;background:#fafafa}
.cal-day.selected{background:var(--navy);color:#fff;border-color:var(--navy)}
.cal-day.today{box-shadow:inset 0 0 0 2px var(--gold)}
.time-title{margin:23px 0 11px;color:var(--navy);font-weight:850}
.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.time-slot{
  border:1px solid #cbd6df;background:#fff;color:var(--navy);
  padding:10px;border-radius:9px;cursor:pointer;font-weight:800
}
.time-slot:hover{border-color:var(--navy)}
.time-slot.selected{background:var(--gold);color:#fff;border-color:var(--gold)}
.booking-form{padding:0 22px 22px}
.booking-note{
  margin-top:15px;
  padding:12px 14px;
  border-radius:10px;
  background:#f5f8fb;
  border:1px solid var(--line);
  color:var(--muted);
  font-size:.81rem;
}
.teams-row{
  display:flex;gap:10px;align-items:center;
  margin:16px 0 0;padding:13px 15px;
  border:1px solid var(--line);border-radius:12px;background:#fff
}
.teams-icon{
  width:40px;height:40px;border-radius:10px;background:#4b53bc;color:#fff;
  display:grid;place-items:center;font-weight:900;font-size:1.15rem
}
.teams-row strong{display:block;color:var(--navy)}
.teams-row span{font-size:.82rem;color:var(--muted)}
.call-status{
  display:none;margin-top:14px;padding:13px 15px;border-radius:10px;
  background:#eef7f2;color:#275d49;font-weight:750
}
.call-cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}

@media (max-width:980px){
  .credential:first-child span{white-space:normal;font-size:.82rem}

  .call-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .time-slots{grid-template-columns:1fr 1fr}
  .calendar-grid{gap:4px}
  .cal-day{min-height:40px;font-size:.86rem}
  .admin-mini{grid-template-columns:72px 1fr}
  .admin-photo-placeholder{width:72px;height:88px}
}


/* V38 adjustments */
@media (max-width:980px){
  .credential:first-child span{white-space:normal;font-size:.82rem}

  .hero-actions{flex-wrap:wrap}
}
@media (max-width:640px){
  .hero-actions{flex-wrap:wrap}
  .hero-actions .btn{width:100%}
}


/* ===== V3.9: Contatti più visibili ===== */
.contact-hero{
  background:
    radial-gradient(circle at 85% 18%,rgba(255,255,255,.15) 0 120px,transparent 121px),
    linear-gradient(120deg,var(--navy) 0%,#1d4d7a 67%,#2f628f 100%);
  color:#fff;border-bottom:4px solid var(--orange-logo);
}
.contact-hero h1{color:#fff}
.contact-hero .lead{color:#dbe8f3}
.contact-hero .breadcrumbs{color:#b8cadb}
.contact-hero .eyebrow{color:#ffad7d}
.contact-grid-enhanced{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:-24px;position:relative;z-index:4}
.contact-card.featured{
  min-height:220px;padding:24px;border:1px solid #cddae6;border-radius:20px;
  background:linear-gradient(180deg,#fff,#f7fbfe);box-shadow:0 16px 40px rgba(16,43,73,.11);
  display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden
}
.contact-card.featured::before{content:"";position:absolute;right:-38px;top:-38px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,var(--orange-logo) 0%, rgba(240,106,47,.18) 36%, rgba(240,106,47,0) 70%);opacity:.9}
.contact-card.featured.studio-card{background:linear-gradient(145deg,#f7fbff,#eef5fb);border-color:#bfd3e3}
.contact-card.featured.studio-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--navy),var(--orange-logo))}
.contact-card.featured:nth-child(2){background:linear-gradient(145deg,#fff8f2,#fff);border-color:#f0c29f}
.contact-card.featured:nth-child(3){background:linear-gradient(145deg,#eff6fc,#fff);border-color:#cbdceb}
.contact-icon{
  width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin-bottom:16px;
  color:#fff;background:linear-gradient(145deg,#ff9460,var(--orange-logo));
  border:2px solid var(--orange-logo-dark);font-size:1.22rem;font-weight:900;
  box-shadow:0 8px 18px rgba(239,91,37,.22),inset 0 0 0 4px rgba(255,255,255,.15);position:relative;z-index:1
}
.contact-card.featured strong{font-family:Georgia,"Times New Roman",serif;font-size:1.15rem;color:var(--navy);margin-bottom:9px;position:relative;z-index:1}
.contact-card.featured span,.contact-card.featured a{position:relative;z-index:1}
.contact-card.featured .contact-big{display:block;font-size:1.8rem;line-height:1.02;font-weight:900;color:var(--navy);margin:.15rem 0 .25rem}
.contact-card.featured .contact-sub{display:block;font-size:.88rem;color:#617286;line-height:1.4}
.contact-card.featured .contact-lines{display:grid;gap:6px;margin-top:2px}
.contact-card.featured .contact-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;border-radius:12px;background:linear-gradient(145deg,var(--orange-logo),#ff9460);color:#fff;font-weight:800;box-shadow:0 8px 18px rgba(239,91,37,.18)}
.contact-card.featured .contact-link:hover{filter:brightness(.97);color:#fff}
.contact-card.featured a{color:var(--navy);font-weight:750;margin-top:6px}
.contact-card.featured a:hover{color:var(--orange-logo)}
.contact-form-shell{background:linear-gradient(145deg,#f4f8fb,#eaf2f8);border-radius:22px;padding:26px}
.contact-form-shell .info-card{box-shadow:0 12px 32px rgba(16,43,73,.08)}
.contact-side-panel{
  background:linear-gradient(145deg,var(--navy),#1f527f);border-radius:20px;padding:26px;color:#fff;
  box-shadow:0 16px 38px rgba(16,43,73,.18)
}
.contact-side-panel h2,.contact-side-panel h3{color:#fff}
.contact-side-panel .lead,.contact-side-panel p{color:#d9e5ef}
.quick-contact-list{display:grid;gap:10px;margin-top:18px}
.quick-contact-link{display:flex;align-items:center;gap:12px;padding:12px 13px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.06)}
.quick-contact-link:hover{background:rgba(255,255,255,.11)}
.quick-contact-link .qicon{width:34px;height:34px;min-width:34px;border-radius:50%;display:grid;place-items:center;background:var(--orange-logo);color:#fff;font-weight:900}
.contact-card.featured .contact-number{display:block;font-size:1.42rem;line-height:1.05;font-weight:900;color:var(--navy)}
.contact-card.featured .contact-email{font-weight:800;color:var(--navy)}
.office-hours{margin-top:18px;padding:15px;border-left:4px solid var(--orange-logo);background:rgba(255,255,255,.07);border-radius:0 12px 12px 0}
.office-hours strong{color:#fff;display:block;margin-bottom:4px}
.office-hours span{color:#d5e2ed;font-size:.86rem}

/* ===== V3.9: Calendario compatto e colorato ===== */
.booking-card{max-width:620px;margin-left:auto;border:1px solid #cbd9e5;border-radius:20px;box-shadow:0 18px 42px rgba(16,43,73,.14)}
.booking-head{padding:16px 18px;background:linear-gradient(120deg,var(--navy),#2d6290);border-bottom:0;color:#fff}
.booking-head strong{color:#fff;font-size:1rem}
.booking-head div[style]{color:#d7e6f3!important}
.booking-badge{background:linear-gradient(135deg,#ff8a4c,var(--orange-logo));color:#fff;border:1px solid rgba(255,255,255,.25)}
.calendar-demo{padding:15px 18px 16px;background:linear-gradient(180deg,#f6fafe,#eef5fa)}
.calendar-toolbar{margin-bottom:10px;padding:8px 10px;border-radius:12px;background:linear-gradient(90deg,#e8f1f8,#f9fbfd);border:1px solid #d7e3ed}
.calendar-toolbar button{width:34px;height:34px;padding:0;border-radius:50%;border:0;background:var(--navy);color:#fff;font-size:1.15rem}
.calendar-toolbar button:hover{background:var(--orange-logo)}
.calendar-month{font-size:.96rem;color:var(--navy)}
.calendar-grid{gap:5px}
.cal-label{font-size:.68rem;color:#60758a;padding:2px 0 5px}
.cal-day{min-height:36px;border:1px solid #d4e0ea;border-radius:8px;background:linear-gradient(180deg,#fff,#f7fafc);color:#36516d;font-size:.84rem;font-weight:800}
.cal-day:hover{border-color:#6e96b8;background:linear-gradient(180deg,#edf6fd,#dfeef9);transform:translateY(-1px)}
.cal-day.disabled{opacity:.28;background:#f2f4f6}
.cal-day.today{box-shadow:inset 0 0 0 2px var(--orange-logo)}
.cal-day.selected{background:linear-gradient(145deg,#ff8a4c,var(--orange-logo));color:#fff;border-color:var(--orange-logo-dark);box-shadow:0 5px 12px rgba(239,91,37,.22)}
.time-title{margin:15px 0 8px;font-size:.88rem}
.time-slots{grid-template-columns:repeat(3,1fr);gap:7px}
.time-slot{padding:8px;border-radius:8px;border:1px solid #bcd0e0;background:linear-gradient(180deg,#fff,#edf5fb);font-size:.82rem;color:var(--navy)}
.time-slot:hover{background:#e2f0fb;border-color:#6e96b8}
.time-slot.selected{background:linear-gradient(145deg,#ff8a4c,var(--orange-logo));color:#fff;border-color:var(--orange-logo-dark)}
.booking-form{padding:16px 18px 18px;background:#fff}
.booking-form .form-grid{gap:9px}
.booking-form input,.booking-form textarea,.booking-form select{padding:8px 10px;font-size:.9rem}
.booking-form textarea{min-height:84px}
.booking-form label{font-size:.79rem;letter-spacing:.01em;color:#425466}
.booking-form .notice{font-size:.78rem}
.call-point .cicon{border-radius:50%;background:linear-gradient(145deg,#ff8a4c,var(--orange-logo));color:#fff;border:1px solid var(--orange-logo-dark)}

@media (max-width:980px){
  .credential:first-child span{white-space:normal;font-size:.82rem}

  .contact-grid-enhanced{grid-template-columns:1fr 1fr;margin-top:0}
  .booking-card{max-width:none;margin-left:0}
}
@media (max-width:640px){
  .contact-grid-enhanced{grid-template-columns:1fr}
}


/* ===== V4.1: Prenota una call più compatta e subito visibile ===== */
.call-page-hero{
  padding:20px 0 17px;
  background:linear-gradient(135deg,#f8fbfd,#edf4f9);
}
.call-page-hero .breadcrumbs{margin-bottom:6px}
.call-page-hero .eyebrow{margin-bottom:6px;font-size:.68rem}
.call-page-hero h1{
  font-size:clamp(1.45rem,2.05vw,1.95rem);
  margin-bottom:7px;
  line-height:1.08;
}
.call-page-hero .lead{
  max-width:900px;
  font-size:.88rem;
  line-height:1.45;
  margin-bottom:0;
}
.call-page-section{padding:22px 0 48px}
.call-page-section .call-grid{
  grid-template-columns:.72fr 1.28fr;
  gap:24px;
}
.call-page-section .admin-mini{
  padding:14px;
  grid-template-columns:66px 1fr;
  gap:12px;
  margin-bottom:14px;
}
.call-page-section .admin-photo-img{
  width:66px;
  height:78px;
}
.call-page-section h2{font-size:1.35rem;margin-bottom:8px}
.call-page-section p{font-size:.86rem;line-height:1.42}
.call-page-section .call-points{gap:7px;margin-top:12px}
.call-page-section .call-point{font-size:.82rem}
.call-page-section .call-point .cicon{
  width:30px;height:30px;min-width:30px;font-size:.82rem
}
.call-page-section .teams-row{
  margin-top:11px;padding:10px 12px
}
.call-page-section .teams-icon{width:34px;height:34px}
.call-page-section .booking-note{
  margin-top:10px;padding:9px 11px;font-size:.75rem
}
.call-page-section .booking-card{
  max-width:650px;
  align-self:start;
}
.call-page-section .booking-head{padding:12px 15px}
.call-page-section .booking-head strong{font-size:.94rem}
.call-page-section .booking-badge{font-size:.7rem;padding:5px 8px}
.call-page-section .calendar-demo{padding:10px 14px 12px}
.call-page-section .calendar-toolbar{margin-bottom:7px;padding:5px 8px}
.call-page-section .calendar-toolbar button{width:30px;height:30px}
.call-page-section .calendar-month{font-size:.9rem}
.call-page-section .calendar-grid{gap:4px}
.call-page-section .cal-day{min-height:31px;font-size:.78rem;border-radius:7px}
.call-page-section .cal-label{font-size:.63rem;padding:1px 0 3px}
.call-page-section .time-title{margin:10px 0 6px;font-size:.8rem}
.call-page-section .time-slots{gap:5px}
.call-page-section .time-slot{padding:6px 7px;font-size:.76rem}
.call-page-section .booking-form{padding:10px 14px 14px}
.call-page-section .booking-form .form-grid{gap:6px 9px}
.call-page-section .booking-form label{font-size:.72rem}
.call-page-section .booking-form input,
.call-page-section .booking-form select{
  min-height:32px;
  height:32px;
  padding:5px 8px;
  font-size:.82rem;
  border-radius:8px;
}
.call-page-section .booking-form textarea{
  min-height:62px;
  padding:7px 8px;
  font-size:.82rem;
  border-radius:8px;
}
.call-page-section .booking-form .notice{
  padding:7px 9px;
  font-size:.7rem;
}
.call-page-section .booking-form .btn{
  padding:9px 13px;
  font-size:.8rem;
}

@media (max-width:980px){
  .credential:first-child span{white-space:normal;font-size:.82rem}

  .call-page-section .call-grid{grid-template-columns:1fr}
  .call-page-section .booking-card{order:-1;max-width:none;margin:0}
}


/* ===== V4.2: proporzioni Home + sede evidenziata ===== */

/* Titolo principale Home più proporzionato */
.hero-home .hero-copy h1{
  font-size:clamp(1.85rem,2.75vw,2.75rem);
  line-height:1.08;
  letter-spacing:-.024em;
  max-width:610px;
  margin-bottom:7px;
}
.hero-home .hero-copy .gold-title{
  font-size:clamp(1.14rem,1.55vw,1.5rem);
  line-height:1.2;
  margin-bottom:10px;
}

/* Riquadro sede nella pagina Lo Studio */
.studio-location-card{
  position:relative;
  overflow:hidden;
  border:1px solid #c7d8e7;
  background:
    linear-gradient(145deg,rgba(238,246,252,.98),rgba(255,250,246,.98));
  box-shadow:0 16px 38px rgba(16,43,73,.10);
}
.studio-location-card::before{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  right:-48px;
  top:-55px;
  border-radius:50%;
  background:radial-gradient(circle,
    rgba(243,106,45,.34) 0%,
    rgba(243,106,45,.16) 38%,
    rgba(243,106,45,0) 72%);
}
.studio-location-card::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:5px;
  background:linear-gradient(90deg,var(--navy),var(--orange-logo));
}
.studio-location-card h3,
.studio-location-card p,
.studio-location-card a{
  position:relative;
  z-index:1;
}
.studio-location-card h3{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:14px;
}
.studio-location-card h3::before{
  content:"⌖";
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#ff9760,var(--orange-logo));
  color:#fff;
  border:2px solid var(--orange-logo-dark);
  font-family:Arial,sans-serif;
  font-size:1rem;
  box-shadow:0 7px 16px rgba(243,106,45,.2);
}
.studio-location-card strong{
  color:var(--navy);
  font-size:1.08rem;
}
.studio-location-card .btn{
  background:var(--navy);
  color:#fff;
  border-color:var(--navy);
}
.studio-location-card .btn:hover{
  background:#0b2138;
}

@media (max-width:640px){
  .hero-home .hero-copy h1{
    font-size:1.9rem;
  }
}


/* ===== V4.3: fasce interne uniformi + nuova gerarchia Home ===== */

/* Tutte le fasce introduttive delle pagine interne adottano la dimensione
   compatta usata per Prenota una call. */
.page-hero{
  padding:20px 0 17px;
}
.page-hero .breadcrumbs{
  margin-bottom:6px;
  font-size:.8rem;
}
.page-hero .eyebrow{
  margin-bottom:6px;
  font-size:.68rem;
}
.page-hero h1{
  font-size:clamp(1.45rem,2.05vw,1.95rem);
  line-height:1.08;
  margin-bottom:7px;
  letter-spacing:-.018em;
}
.page-hero .lead{
  max-width:960px;
  font-size:.88rem;
  line-height:1.45;
  margin-bottom:0;
}

/* Anche Contatti mantiene il proprio colore, ma con le stesse proporzioni. */
.contact-hero{
  padding:20px 0 17px;
}
.contact-hero h1{
  font-size:clamp(1.45rem,2.05vw,1.95rem);
  margin-bottom:7px;
}

/* Home: la frase "Il tuo condominio..." diventa una piccola firma,
   mentre il messaggio principale occupa lo spazio in modo più elegante. */
.hero-home .home-statement{
  display:flex;
  align-items:center;
  gap:10px;
  margin:9px 0 7px;
  color:#40556b;
  font-size:.78rem;
  line-height:1.2;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.105em;
}
.hero-home .home-statement > span{
  width:34px;
  height:3px;
  border-radius:99px;
  background:var(--orange-logo);
  box-shadow:0 2px 7px rgba(243,106,45,.20);
}
.hero-home .home-main-title{
  max-width:610px;
  margin:0 0 11px;
  font-size:clamp(2rem,3.05vw,3rem);
  line-height:1.04;
  letter-spacing:-.03em;
}
.hero-home .home-main-title em{
  color:var(--orange-logo);
  font-style:normal;
}
.hero-home .hero-copy p{
  margin-top:4px;
}

/* Neutralizza la vecchia regola specifica dell'H1 Home. */
.hero-home .hero-copy h1.home-main-title{
  font-size:clamp(2rem,3.05vw,3rem);
  line-height:1.04;
  max-width:610px;
  margin-bottom:11px;
}

@media (max-width:640px){
  .page-hero{
    padding:17px 0 15px;
  }
  .page-hero h1{
    font-size:1.55rem;
  }
  .hero-home .home-statement{
    font-size:.7rem;
    letter-spacing:.08em;
  }
  .hero-home .home-main-title,
  .hero-home .hero-copy h1.home-main-title{
    font-size:2rem;
  }
}


/* ===== V44: icone contatti uniformi su tutte le pagine ===== */
.footer-contacts span, .footer-contacts a{display:flex;align-items:flex-start;gap:9px}
.footer-contacts b{color:var(--gold-2);min-width:14px;text-align:center;font-size:.96em;line-height:1.3}
.footer-contacts span span, .footer-contacts a span{display:block;margin:0}
.contact-stack{display:grid;gap:8px;margin:16px 0 18px}
.studio-location-card .contact-line{display:flex;align-items:flex-start;gap:10px;color:var(--ink);margin:0;text-decoration:none}
.studio-location-card .contact-line b{color:var(--orange-logo);min-width:14px;text-align:center;font-size:1em;line-height:1.4}
.studio-location-card .contact-line span{display:block}
.icon-link{display:flex !important;align-items:center;gap:10px}
.icon-link b{color:var(--orange-logo);min-width:16px;text-align:center}
.btn .btn-ico{display:inline-block;margin-right:2px}


/* ===== V45: header più compatto + voci menu più leggibili ===== */

/* Riduciamo l'altezza complessiva della fascia di navigazione */
.nav{
  min-height:68px;
  gap:16px;
}

/* Logo leggermente più piccolo e meglio proporzionato */
.brand{
  min-width:176px;
}
.brand img{
  height:55px;
  max-width:245px;
}

/* Testi del menu più grandi, ma con spaziature più compatte */
.menu{
  gap:16px;
  font-size:.94rem;
  line-height:1.1;
}
.menu a{
  padding:22px 0 19px;
}

/* MioCondominio e preventivo più compatti */
.menu .portal{
  padding:8px 11px;
  border-radius:9px;
}
.menu .cta-nav{
  padding:9px 12px;
  border-radius:9px;
}

/* Mantiene le voci sulla stessa linea nei desktop */
@media (min-width:981px){
  .menu{
    flex:1;
    justify-content:flex-end;
    white-space:nowrap;
  }
}

/* Il menu mobile deve partire subito sotto il nuovo header più basso */
@media (max-width:980px){
  .credential:first-child span{white-space:normal;font-size:.82rem}

  .menu{
    top:68px;
    font-size:.94rem;
  }
  .brand img{
    height:52px;
  }
}


/* ===== V46: riquadri contatti più piccoli e proporzionati ===== */
.contact-grid-enhanced{
  gap:16px;
  align-items:stretch;
}
.contact-card.featured{
  padding:20px 20px 18px;
  min-height:0;
  border-radius:20px;
}
.contact-card.featured::before{
  width:92px;
  height:92px;
  right:-28px;
  top:-28px;
}
.contact-icon{
  width:70px;
  height:70px;
  font-size:1.55rem;
  margin-bottom:14px;
}
.contact-card.featured strong{
  font-size:0.98rem;
  margin-bottom:8px;
}
.contact-card.featured .contact-big{
  font-size:1.25rem;
  line-height:1.08;
  margin:.08rem 0 .18rem;
}
.contact-card.featured .contact-sub{
  font-size:.80rem;
  line-height:1.35;
}
.contact-card.featured .contact-lines{
  gap:4px;
}
.contact-card.featured .contact-number{
  font-size:1rem;
  line-height:1.12;
  margin-top:4px;
}
.contact-card.featured .contact-email,
.contact-card.featured a{
  font-size:.92rem;
}
.contact-card.featured .contact-link{
  margin-top:12px;
  padding:9px 13px;
  border-radius:11px;
  font-size:.92rem;
}
.contact-card.featured .icon-link b{
  min-width:22px;
}
.contact-card.featured.studio-card{
  box-shadow:0 10px 24px rgba(16,43,73,.06);
}

@media (min-width:981px){
  .contact-grid-enhanced{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:980px){
  .credential:first-child span{white-space:normal;font-size:.82rem}

  .contact-card.featured{
    padding:18px;
  }
  .contact-card.featured .contact-big{
    font-size:1.15rem;
  }
}


/* ===== V47: home emergency card più morbida + card contatti più compatte ===== */
.emergency-card{
  right:26px;
  bottom:28px;
  width:min(250px,76%);
  padding:18px 20px;
  border-radius:18px;
  background:linear-gradient(135deg, rgba(25,49,82,.94) 0%, rgba(35,66,104,.88) 68%, rgba(58,95,138,.80) 100%);
  border-top:2px solid rgba(199,145,63,.95);
  border-right:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 26px rgba(14,34,58,.18);
}
.emergency-card small{
  color:#d6e0ea;
  font-size:.82rem;
  margin-bottom:7px;
}
.emergency-card strong{
  font-size:1.12rem;
  line-height:1.1;
  letter-spacing:.02em;
  margin:2px 0 8px;
}
.emergency-card span{
  font-size:.80rem;
  color:#eef4fa;
}

.contact-grid-enhanced{
  gap:14px;
  align-items:start;
}
.contact-card.featured{
  padding:18px 18px 16px;
  border-radius:18px;
  align-self:start;
}
.contact-card.featured::before{
  width:78px;
  height:78px;
  right:-24px;
  top:-24px;
  background:radial-gradient(circle, rgba(240,106,47,.42) 0%, rgba(240,106,47,.12) 36%, rgba(240,106,47,0) 70%);
}
.contact-icon{
  width:64px;
  height:64px;
  font-size:1.42rem;
  margin-bottom:12px;
}
.contact-card.featured strong{
  font-size:.94rem;
}
.contact-card.featured .contact-big{
  font-size:1.08rem;
  line-height:1.14;
}
.contact-card.featured .contact-sub{
  font-size:.78rem;
}
.contact-card.featured .contact-number{
  font-size:.96rem;
}
.contact-card.featured .contact-email,
.contact-card.featured a{
  font-size:.88rem;
}
.contact-card.featured .contact-link{
  margin-top:10px;
  padding:8px 12px;
  font-size:.88rem;
}
.contact-card.featured.studio-card{
  box-shadow:0 8px 18px rgba(16,43,73,.05);
}

@media (min-width:981px){
  .contact-grid-enhanced{
    grid-template-columns:0.92fr 1fr 1fr;
  }
}

@media (max-width:980px){
  .credential:first-child span{white-space:normal;font-size:.82rem}

  .emergency-card{
    width:calc(100% - 28px);
    right:14px;
    bottom:18px;
  }
  .contact-card.featured{
    padding:17px;
  }
}


/* ===== NEWS POPOLATE DA RIVISTA A.N.AMM.I. ===== */
.news-visual{background:none;position:relative;overflow:hidden}
.news-visual img{width:100%;height:100%;object-fit:cover;display:block}
.news-visual::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(180deg,rgba(10,22,40,0) 0%,rgba(10,22,40,.18) 100%)}
.news-detail-list{display:grid;gap:24px;margin-top:30px}
.news-featured{display:grid;grid-template-columns:340px 1fr;gap:26px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(16,43,73,.05)}
.news-featured-media{border-radius:14px;overflow:hidden;min-height:220px}
.news-featured-media img{width:100%;height:100%;object-fit:cover;display:block}
.news-featured-body h2{font-size:1.6rem;line-height:1.12;margin:10px 0 12px}
.news-featured-body p{margin:0 0 12px;color:var(--muted)}
.news-source{font-size:.9rem;color:#6b7d90;padding-top:4px;border-top:1px solid var(--line)}
@media (max-width:900px){.news-featured{grid-template-columns:1fr}.news-featured-media{min-height:200px}}


/* ===== V47 NEWS: pagine articolo complete ===== */
.article-page{padding-top:28px}.article-shell{max-width:980px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 14px 38px rgba(16,43,73,.06)}.article-hero-img{width:100%;height:360px;object-fit:cover;display:block}.article-content{max-width:800px;margin:0 auto;padding:34px 34px 38px}.article-content p{font-size:1rem;line-height:1.72;color:#45576a;margin:0 0 17px}.article-source{margin-top:26px;padding:18px 20px;border-radius:14px;background:linear-gradient(135deg,#f7f9fc,#fff7f2);border:1px solid #e5eaf0;color:#5a6b7c;font-size:.9rem;line-height:1.55}.article-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.breadcrumbs a{color:inherit;text-decoration:none}@media(max-width:700px){.article-hero-img{height:230px}.article-content{padding:24px 20px 28px}}


/* ===== V47 Fix: icone evidenziate + A.N.AMM.I. ===== */
.top-item .mini-icon{
  width:18px;
  height:18px;
  min-width:18px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#ff925f,var(--orange-logo));
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
  font-size:.68rem;
  box-shadow:0 4px 10px rgba(243,106,45,.25);
}
.top-item b{display:none}

.prof-badge{white-space:nowrap}
.anammi-panel{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.anammi-caption{
  align-self:center;
  padding:8px 14px;
  border-radius:999px;
  background:linear-gradient(145deg,#eef4fa,#ffffff);
  border:1px solid #d6e2ec;
  color:var(--navy);
  font-size:.84rem;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 10px 24px rgba(16,43,73,.08);
}

.socials{
  gap:12px;
}
.socials a{
  width:44px;
  height:44px;
  border-radius:50%;
  border:0;
  color:#fff;
  font-size:1.08rem;
  font-weight:900;
  box-shadow:0 10px 22px rgba(16,43,73,.18);
  transform:translateY(0);
}
.socials a:hover{
  color:#fff;
  transform:translateY(-2px) scale(1.04);
}
.socials .social-fb{background:linear-gradient(145deg,#295f9a,#173d6c)}
.socials .social-ig{background:linear-gradient(145deg,#ff8d52,#d64f8b)}
.socials .social-maps{background:linear-gradient(145deg,#3a7ab0,#1f4f7b)}
.socials .social-phone{background:linear-gradient(145deg,#ff925f,var(--orange-logo))}

.footer-contacts .foot-icon{
  width:22px;
  height:22px;
  min-width:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#ff925f,var(--orange-logo));
  color:#fff;
  font-size:.74rem;
  box-shadow:0 5px 12px rgba(243,106,45,.22);
  margin-top:1px;
}
.footer-contacts b{display:none}

.contact-card.featured .social-line{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:9px;
  font-weight:800;
  color:var(--navy);
}
.contact-card.featured .social-line span:last-child{
  color:var(--navy);
}
.contact-card.featured .social-line:hover span:last-child{
  color:var(--orange-logo);
}
.social-mini{
  width:28px;
  height:28px;
  min-width:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:900;
  font-size:.88rem;
  box-shadow:0 6px 14px rgba(16,43,73,.14);
}
.social-mini.social-fb{background:linear-gradient(145deg,#295f9a,#173d6c)}
.social-mini.social-ig{background:linear-gradient(145deg,#ff8d52,#d64f8b)}
.social-mini.social-maps{background:linear-gradient(145deg,#3a7ab0,#1f4f7b)}

@media (max-width:640px){
  .top-item .mini-icon{width:17px;height:17px;min-width:17px;font-size:.62rem}
  .anammi-caption{font-size:.78rem;padding:7px 12px}
  .socials a{width:40px;height:40px}
}


/* ===== FINAL REVIEW: legal, privacy, accessibility, forms ===== */
.eyebrow{color:#8b6118}
.menu .cta-nav{background:var(--gold);color:var(--navy)}
.menu .cta-nav:hover{background:#b98129;color:var(--navy)}
.btn-gold{background:var(--gold);color:var(--navy)}
.contact-card.featured .contact-link{background:linear-gradient(145deg,#c94f1c,#b74517);color:#fff}
.quick-contact-link .qicon,.booking-badge,.cal-day.selected,.time-slot.selected{background:#c94f1c;color:#fff}
.calendar-toolbar button:hover{background:#c94f1c}
:where(a,button,input,textarea,select):focus-visible{outline:3px solid #f08a46;outline-offset:3px}
input,textarea,select{min-height:44px}
.privacy-field{margin-top:4px;padding:13px 14px;border:1px solid #dbe5ed;border-radius:12px;background:#f7fafc}
.privacy-check{display:flex;gap:9px;align-items:flex-start;font-size:.88rem;color:#415467;line-height:1.45}
.privacy-check input{width:18px;height:18px;min-height:18px;margin-top:2px;accent-color:var(--navy)}
.privacy-check a{text-decoration:underline;color:var(--navy);font-weight:800}
.privacy-field small{display:block;margin-top:7px;color:#607184;font-size:.78rem;line-height:1.4}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.footer-bottom{display:grid;gap:10px;align-items:start}
.footer-company{color:#9eb1c3;font-size:.76rem;line-height:1.45;max-width:1000px}
.footer-legal-links{display:flex;gap:9px;flex-wrap:wrap;color:#c9d5df;font-size:.82rem}
.footer-legal-links a{text-decoration:underline;text-underline-offset:3px}
.legal-page{padding-top:38px}
.legal-shell{max-width:920px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px 38px;box-shadow:0 14px 38px rgba(16,43,73,.05)}
.legal-shell h2{font-size:1.45rem;margin-top:30px}
.legal-shell h3{font-size:1.02rem;margin-top:20px}
.legal-shell p,.legal-shell li{color:#485c70;line-height:1.72}
.legal-shell a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.legal-updated{font-size:.84rem;color:#65788a;border-bottom:1px solid var(--line);padding-bottom:14px}
.company-record-card{margin-top:28px;padding:26px;border:1px solid #cfdae4;border-radius:18px;background:linear-gradient(145deg,#f7fbff,#fff8f3)}
.record-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.record-grid>div{padding:14px;border-radius:12px;background:#fff;border:1px solid #e2e8ee}
.record-grid small{display:block;color:#687b8d;margin-bottom:4px}.record-grid strong{color:var(--navy);font-size:.92rem}
.portal-consent{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;padding:28px;background:linear-gradient(145deg,#f3f8fc,#fff8f3);border-top:1px solid var(--line)}
.portal-consent-icon{width:58px;height:58px;border-radius:16px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900;font-size:1.35rem}
.portal-consent h2{font-size:1.35rem;margin-bottom:8px}.portal-consent p{color:#53677a}.portal-privacy-note{font-size:.8rem;margin-top:12px}.portal-privacy-note a{text-decoration:underline}
.status-card{max-width:720px;margin:auto;text-align:center;padding:42px 34px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}
.status-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900;margin:0 auto 18px}
.success-card .status-icon{background:#2f6b56}.error-card .status-icon{background:#9a3f29}
.article-hero-img[src$=".svg"],.news-visual img[src$=".svg"]{background:#eef5fb}
@media(max-width:800px){.record-grid{grid-template-columns:1fr 1fr}.legal-shell{padding:26px 22px}.portal-consent{grid-template-columns:1fr}.portal-consent-icon{width:50px;height:50px}}
@media(max-width:520px){.record-grid{grid-template-columns:1fr}.footer-company{font-size:.72rem}}

.company-record-card{grid-column:1/-1}

/* Contrasti testuali finali */
.hero-copy .gold-title,.news-meta,.hero-points b{color:#8b6118}
.contact-card.featured a:hover,.contact-card.featured .social-line:hover span:last-child{color:#b84b18}


/* FIX pulsanti nelle pagine di conferma/errore */
.legal-shell .btn{
  text-decoration:none;
}
.legal-shell .btn-primary,
.legal-shell .btn-primary:visited{
  color:#fff;
}
.legal-shell .btn-primary:hover{
  color:#fff;
}
