:root{--blue:#075985;--blue2:#0284c7;--ink:#0f172a;--muted:#64748b;--bg:#f8fbff;--card:#fff;--line:#dbeafe;--shadow:0 18px 45px rgba(15,23,42,.10);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit}.site-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:14px 6vw;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand span:last-child{display:grid;line-height:1.1}.brand strong{font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.06em}.brand b{font-size:18px;color:var(--blue)}.logo-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--blue2),#7dd3fc);display:grid;place-items:center;color:white;font-weight:900}.nav{display:flex;gap:22px;align-items:center}.nav a{text-decoration:none;font-weight:650;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:white;text-decoration:none;font-weight:800;box-shadow:0 12px 24px rgba(2,132,199,.22);border:0}.btn.ghost{background:white;color:var(--blue);border:1px solid #93c5fd;box-shadow:none}.btn.small{padding:10px 14px}.menu-btn{display:none}.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.82fr);gap:34px;align-items:center;padding:54px 6vw 26px;background:radial-gradient(circle at top left,#e0f2fe,transparent 42%)}.hero h1{font-size:clamp(42px,6vw,74px);line-height:.96;margin:10px 0 22px;color:#082f49}.hero p{font-size:18px;line-height:1.72;color:#334155;max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--blue2);font-size:13px;font-weight:900}.hero-photo{margin:0}.hero-photo img{width:100%;max-height:330px;border-radius:var(--radius);box-shadow:var(--shadow);object-fit:cover;object-position:center top;display:block}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.quick-grid,.doctor-grid,.service-grid,.schedule-grid{display:grid;gap:18px}.quick-grid{grid-template-columns:repeat(3,1fr);padding:22px 6vw}.quick-grid article,.doctor-card,.service-grid article,.schedule-card,.sede-card,.contact>div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.quick-grid article{padding:22px}.quick-grid span{font-size:30px}.quick-grid h3,.service-grid h3{margin:.2rem 0}.quick-grid p,.service-grid p,.doctor-card p,.section-head p,.sede-card p,.contact p{color:var(--muted);line-height:1.58}.section{padding:66px 6vw}.section.soft{background:linear-gradient(180deg,#eff6ff,#fff)}.section-head{max-width:880px;margin-bottom:28px}.section h2{font-size:clamp(30px,4vw,48px);margin:.1em 0;color:#082f49}.sedi-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.sede-card{display:grid;grid-template-columns:1fr;overflow:hidden}.sede-info{padding:26px}.pin{font-size:34px}.sede-card h3{font-size:28px;margin:8px 0;color:#083344}.address{font-weight:800;color:#0f172a!important}.sede-card iframe{width:100%;height:230px;border:0;border-top:1px solid var(--line);filter:saturate(.9)}.doctor-grid{grid-template-columns:repeat(4,1fr)}.doctor-card img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center top;background:#e5e7eb}.doctor-card div{padding:20px}.doctor-card h3,.schedule-card h3{margin:0 0 8px;color:#083344}.text-link{color:var(--blue2);font-weight:800;text-decoration:none}.schedule-grid{grid-template-columns:1fr;gap:22px}.schedule-card{padding:22px;display:grid;grid-template-columns:230px 1fr;gap:24px;align-items:center}.schedule-profile{display:grid;gap:14px;align-content:start}.schedule-profile img{width:100%;max-width:190px;aspect-ratio:1/1;object-fit:cover;object-position:center top;border-radius:18px;background:#e5e7eb;border:1px solid var(--line)}.mail{font-size:14px;word-break:break-word}.mobile-days{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.mobile-days div{border:1px solid var(--line);border-radius:16px;background:#f8fafc;padding:14px;min-height:104px}.mobile-days b{display:block;color:var(--blue);text-transform:uppercase;font-size:13px;letter-spacing:.08em;margin-bottom:8px}.mobile-days span{font-weight:750;line-height:1.38}.service-grid{grid-template-columns:repeat(4,1fr)}.service-grid article{padding:24px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:26px}.contact>div{padding:30px}.big{font-size:34px;font-weight:900;color:var(--blue)}footer{padding:30px 6vw;background:#082f49;color:white}.reveal{opacity:0;transform:translateY(18px);transition:.6s}.reveal.on{opacity:1;transform:none}
@media(max-width:1020px){.nav{gap:14px}.quick-grid,.doctor-grid,.service-grid{grid-template-columns:repeat(2,1fr)}.sedi-grid{grid-template-columns:1fr}.schedule-card{grid-template-columns:170px 1fr}.mobile-days{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.site-header{padding:12px 4vw}.menu-btn{display:block;border:0;background:#e0f2fe;border-radius:12px;padding:10px 12px;font-size:22px}.nav{display:none;position:absolute;top:70px;left:4vw;right:4vw;background:white;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav.open{display:flex}.hero{grid-template-columns:1fr;padding:30px 4vw 20px;gap:22px}.hero h1{font-size:40px}.hero p{font-size:16px}.hero-photo img{max-height:210px;border-radius:20px}.hero-actions .btn{width:100%}.quick-grid,.doctor-grid,.service-grid,.contact{grid-template-columns:1fr}.quick-grid{padding:16px 4vw}.quick-grid article,.service-grid article{padding:18px}.section{padding:46px 4vw}.section h2{font-size:32px}.sede-info{padding:20px}.sede-card iframe{height:190px}.doctor-card{display:grid;grid-template-columns:92px 1fr;align-items:center}.doctor-card img{height:100%;aspect-ratio:auto}.doctor-card div{padding:14px}.doctor-card h3{font-size:16px}.schedule-card{grid-template-columns:1fr;padding:16px;gap:15px}.schedule-profile{grid-template-columns:82px 1fr;align-items:center}.schedule-profile img{max-width:82px;border-radius:16px}.mobile-days{grid-template-columns:1fr;gap:8px}.mobile-days div{display:grid;grid-template-columns:52px 1fr;align-items:center;min-height:0;padding:12px}.mobile-days b{margin:0}.brand strong{font-size:9px}.brand b{font-size:14px}.logo-mark{width:36px;height:36px}.contact .big{font-size:28px}}

/* v5: contenuti espandibili e farmaci in evidenza */
.medicine-highlight{background:linear-gradient(135deg,#075985,#0284c7);color:white;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);display:grid;grid-template-columns:.85fr 1.15fr;gap:22px;align-items:center;margin-bottom:22px}.medicine-highlight .eyebrow,.medicine-highlight p{color:#dff7ff}.medicine-highlight h3{font-size:clamp(24px,3vw,36px);margin:.2rem 0 .5rem}.medicine-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.medicine-option{background:rgba(255,255,255,.96);color:#0f172a;text-decoration:none;border-radius:18px;padding:16px;display:grid;gap:6px;border:1px solid rgba(255,255,255,.6)}.medicine-option span{width:30px;height:30px;border-radius:999px;background:#e0f2fe;color:var(--blue);display:grid;place-items:center;font-weight:900}.medicine-option b{font-size:18px}.medicine-option small{color:var(--muted);line-height:1.4}.accordion{display:grid;gap:12px}.accordion details{background:white;border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 28px rgba(15,23,42,.07);overflow:hidden}.accordion summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;padding:20px 22px;font-size:20px;color:#083344}.accordion summary::-webkit-details-marker{display:none}.accordion summary::after{content:'+';margin-left:auto;width:34px;height:34px;border-radius:999px;background:#e0f2fe;color:var(--blue);display:grid;place-items:center;font-weight:900}.accordion details[open] summary::after{content:'–'}.accordion-body{padding:0 22px 22px;color:var(--muted);line-height:1.65}.accordion-body p{margin:0 0 12px}.accordion-body ul{margin:0 0 16px;padding-left:22px}.accordion-body a{color:var(--blue);font-weight:800}.mini-schedule{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:16px;margin-top:16px}.mini-schedule h4{margin:0 0 12px;color:#083344}.mini-schedule div{display:grid;grid-template-columns:190px 1fr;gap:12px;padding:12px 0;border-top:1px solid #e2e8f0}.mini-schedule div:first-of-type{border-top:0}.mini-schedule b{color:var(--blue)}.mini-schedule span{color:#0f172a;font-weight:700;line-height:1.5}
@media(max-width:760px){.medicine-highlight{grid-template-columns:1fr;padding:20px;margin-bottom:16px}.medicine-options{grid-template-columns:1fr}.medicine-option{grid-template-columns:38px 1fr;align-items:center}.medicine-option small{grid-column:2}.accordion summary{font-size:17px;padding:17px}.accordion summary::after{width:30px;height:30px}.accordion-body{padding:0 17px 18px}.mini-schedule div{grid-template-columns:1fr;gap:4px}.mini-schedule{padding:14px}}

.schedule-accordion{display:grid;gap:14px}.doctor-hours-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.doctor-hours-card summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:74px 1fr auto auto;gap:16px;align-items:center;padding:18px 20px}.doctor-hours-card summary::-webkit-details-marker{display:none}.doctor-hours-card summary img{width:74px;height:74px;object-fit:cover;object-position:center top;border-radius:18px;background:#e5e7eb;border:1px solid var(--line)}.doctor-hours-card summary span{display:grid;gap:4px;min-width:0}.doctor-hours-card summary strong{font-size:20px;color:#083344}.doctor-hours-card summary small{color:var(--muted);font-weight:650;word-break:break-word}.doctor-hours-card summary em{font-style:normal;background:#e0f2fe;color:var(--blue);font-weight:900;border-radius:999px;padding:10px 14px;white-space:nowrap}.doctor-hours-card summary::after{content:'+';width:34px;height:34px;border-radius:999px;background:#f0f9ff;color:var(--blue);display:grid;place-items:center;font-weight:900;border:1px solid var(--line)}.doctor-hours-card[open] summary{border-bottom:1px solid var(--line)}.doctor-hours-card[open] summary em{background:var(--blue);color:white}.doctor-hours-card[open] summary em{font-size:0}.doctor-hours-card[open] summary em::after{content:'Nascondi orari';font-size:14px}.doctor-hours-card[open] summary::after{content:'–'}.doctor-hours-card .mobile-days{padding:18px 20px 20px}
@media(max-width:760px){.schedule-accordion{gap:12px}.doctor-hours-card summary{grid-template-columns:62px 1fr;gap:12px;padding:14px}.doctor-hours-card summary img{width:62px;height:62px;border-radius:15px}.doctor-hours-card summary strong{font-size:16px}.doctor-hours-card summary small{font-size:12px}.doctor-hours-card summary em{grid-column:1 / -1;justify-self:stretch;text-align:center;padding:12px 14px}.doctor-hours-card summary::after{position:absolute;right:18px;top:28px;width:28px;height:28px}.doctor-hours-card summary{position:relative;padding-right:58px}.doctor-hours-card .mobile-days{padding:14px}}

/* v8: logo ufficiale e box segreteria compatto */
.brand-logo{width:54px;height:54px;object-fit:contain;display:block}.brand .logo-mark{display:none}.quick-single{grid-template-columns:minmax(0,720px);justify-content:center}.quick-single article{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.quick-single article p{margin:0}.quick-hours{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.quick-hours b{color:#083344;margin-right:4px}.quick-hours span{background:#e0f2fe;color:var(--blue);font-weight:900;border-radius:999px;padding:8px 12px;white-space:nowrap}
@media(max-width:760px){.brand-logo{width:42px;height:42px}.quick-single article{grid-template-columns:auto 1fr}.quick-hours{grid-column:1 / -1;justify-content:flex-start}.quick-hours span{font-size:14px}.brand span:last-child{display:none}}
.medicine-section{padding-top:28px;padding-bottom:34px}
.medicine-section .medicine-highlight{margin-bottom:0}

/* v11: polish finale, segreteria ridisegnata e microinterazioni */
.secretary-strip{padding:22px 6vw 12px;background:linear-gradient(180deg,#f8fbff,#ffffff)}
.secretary-card{max-width:1040px;margin:0 auto;background:linear-gradient(135deg,#ffffff,#f0f9ff);border:1px solid var(--line);border-radius:28px;box-shadow:0 18px 50px rgba(15,23,42,.10);padding:22px;display:grid;grid-template-columns:auto 1fr auto auto;gap:18px;align-items:center;position:relative;overflow:hidden}
.secretary-card::before{content:'';position:absolute;inset:auto -60px -90px auto;width:220px;height:220px;background:radial-gradient(circle,#bae6fd,transparent 68%);opacity:.75;pointer-events:none}.secretary-icon{width:58px;height:58px;border-radius:20px;background:linear-gradient(135deg,#075985,#0284c7);display:grid;place-items:center;font-size:27px;box-shadow:0 12px 28px rgba(2,132,199,.22)}
.secretary-copy{position:relative}.secretary-copy .eyebrow{margin:0 0 4px}.secretary-copy h2{margin:0;font-size:clamp(30px,4vw,46px);line-height:1;color:#082f49}.secretary-copy h2 a{text-decoration:none;color:inherit}.secretary-copy p{margin:8px 0 0;color:var(--muted);font-weight:650}.secretary-hours{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;position:relative}.secretary-hours span{background:#ffffff;color:var(--blue);border:1px solid #bfdbfe;border-radius:999px;padding:10px 14px;font-weight:900;box-shadow:0 8px 18px rgba(15,23,42,.06);white-space:nowrap}.secretary-call{position:relative;white-space:nowrap}
.medicine-highlight{transition:transform .25s ease,box-shadow .25s ease}.medicine-highlight:hover{transform:translateY(-2px);box-shadow:0 24px 58px rgba(15,23,42,.13)}.medicine-highlight h3{text-transform:none}.accordion details,.doctor-hours-card,.sede-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.accordion details:hover,.doctor-hours-card:hover,.sede-card:hover{transform:translateY(-1px);box-shadow:0 18px 42px rgba(15,23,42,.10);border-color:#bfdbfe}.accordion summary::after,.doctor-hours-card summary::after{transition:transform .22s ease,background .22s ease}.accordion details[open] summary::after,.doctor-hours-card[open] summary::after{transform:rotate(180deg)}.accordion-body{animation:softOpen .22s ease both}.doctor-hours-card[open] .mobile-days{animation:softOpen .22s ease both}@keyframes softOpen{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
footer{background:linear-gradient(135deg,#082f49,#075985);color:#e0f2fe;text-align:center}
@media(max-width:760px){.secretary-strip{padding:14px 4vw 6px}.secretary-card{grid-template-columns:46px 1fr;padding:16px;border-radius:22px;gap:12px}.secretary-icon{width:46px;height:46px;border-radius:16px;font-size:22px}.secretary-copy h2{font-size:34px}.secretary-copy p{font-size:14px;line-height:1.45}.secretary-hours{grid-column:1 / -1;justify-content:flex-start}.secretary-hours span{font-size:14px;padding:9px 12px}.secretary-call{grid-column:1 / -1;width:100%;padding:13px 18px}.medicine-section{padding-top:24px}.medicine-highlight h3{font-size:28px}}

/* v12: domande frequenti, SEO footer e rifinitura pubblicabile */
.faq-section{background:linear-gradient(180deg,#ffffff,#f8fbff)}
.faq-accordion{max-width:980px;margin:0 auto}.faq-accordion .accordion-body p{font-size:16px}.faq-accordion .accordion-body ul{margin-top:8px}.faq-accordion .accordion-body li{margin:6px 0}.site-footer{padding:34px 6vw;background:linear-gradient(135deg,#082f49,#075985);color:#e0f2fe;text-align:left}.footer-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:center}.site-footer img{width:72px;height:72px;object-fit:contain;background:white;border-radius:18px;padding:8px}.site-footer h2{margin:0 0 6px;color:white;font-size:24px}.site-footer p{margin:5px 0;color:#dff7ff}.site-footer a{color:white;font-weight:900;text-decoration:none}.site-footer a:hover{text-decoration:underline}@media(max-width:760px){.site-footer{padding:28px 4vw}.footer-inner{grid-template-columns:56px 1fr;gap:14px}.site-footer img{width:56px;height:56px;border-radius:14px}.site-footer h2{font-size:20px}.site-footer p{font-size:14px;line-height:1.45}.faq-accordion .accordion-body p{font-size:15px}}
