/* Fidalvet — site à medida (Sites da Terra). Telemóvel primeiro. */
@font-face{font-family:"Figtree";src:url("../fonts/figtree.woff2") format("woff2");font-weight:300 900;font-display:swap}

:root{
  --azul:#1736d0;          /* azul do logótipo */
  --azul-esc:#0e2554;      /* azul-noite */
  --azul-900:#0a1a3d;
  --azul-50:#eef2ff;
  --azul-100:#dfe6ff;
  --ceu:#e9f1fb;
  --coral:#f0645a;
  --estrela:#f5a524;
  --verde:#13895b;
  --tx:#14213d;
  --tx-2:#4a5672;
  --tx-3:#6b7590;
  --bg:#ffffff;
  --bg-2:#f5f7fc;
  --cartao:#ffffff;
  --linha:#e3e8f2;
  --sombra:0 1px 2px rgba(14,37,84,.06),0 8px 24px -8px rgba(14,37,84,.14);
  --sombra-g:0 2px 4px rgba(14,37,84,.06),0 24px 48px -16px rgba(14,37,84,.28);
  --r:20px;--r-s:12px;
  --wrap:1180px;
  --gut:16px;
  --hdr:64px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --azul:#7f97ff;--azul-esc:#c9d4ff;--azul-900:#050c1f;--azul-50:#152349;--azul-100:#1d2d5c;--ceu:#0f1a36;
    --tx:#e9edf7;--tx-2:#b4bdd3;--tx-3:#8f9ab5;--bg:#0b1226;--bg-2:#0f1830;--cartao:#121d3a;--linha:#22305a;
    --sombra:0 1px 2px rgba(0,0,0,.3),0 8px 24px -8px rgba(0,0,0,.5);--sombra-g:0 24px 48px -16px rgba(0,0,0,.6);
    color-scheme:dark;
  }
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 16px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;font-family:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:17px;line-height:1.6;color:var(--tx);background:var(--bg);overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--azul);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
h1,h2,h3{line-height:1.12;letter-spacing:-.02em;margin:0 0 .5em;color:var(--tx);font-weight:800}
h1{font-size:clamp(2.2rem,1.4rem + 3.6vw,3.9rem)}
h2{font-size:clamp(1.75rem,1.3rem + 1.9vw,2.6rem)}
h3{font-size:1.2rem;letter-spacing:-.01em;font-weight:750}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--azul);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--azul-esc);color:#fff;padding:10px 16px;border-radius:10px}
.skip:focus{top:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
@media (min-width:700px){:root{--gut:28px}}

/* faixa de aprovação */
.proto{background:#0a1a3d;color:#dbe3ff;font-size:13px;line-height:1.4;text-align:center;padding:7px var(--gut)}
.proto strong{color:#fff;font-weight:650}

/* cabeçalho */
.hdr{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.hdr.sc{border-bottom-color:var(--linha);box-shadow:0 6px 20px -14px rgba(14,37,84,.35)}
.hdr-in{display:flex;align-items:center;gap:16px;height:var(--hdr)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--tx);flex:none}
.logo img{width:38px;height:38px}
.logo .l-esc{display:none}
@media (prefers-color-scheme:dark){.logo .l-cla{display:none}.logo .l-esc{display:block}}
.logo-txt{display:flex;flex-direction:column;line-height:1}
.logo-txt b{font-size:22px;font-weight:850;font-style:italic;letter-spacing:-.02em;color:var(--azul)}
.logo-txt small{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tx-3);margin-top:4px}
.nav{margin-left:auto;display:none}
.nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0}
.nav a{display:block;padding:8px 12px;border-radius:999px;color:var(--tx);text-decoration:none;font-weight:600;font-size:15.5px}
.nav a:hover{background:var(--azul-50)}
.nav a[aria-current=page]{color:var(--azul);background:var(--azul-50)}
.hdr-tel{display:none;align-items:center;gap:8px;font-weight:700;color:var(--tx);text-decoration:none;font-size:15.5px;white-space:nowrap}
.hdr-tel svg{width:18px;height:18px;color:var(--azul)}
.hdr .hdr-cta{display:none}
.burger{margin-left:auto;width:46px;height:46px;border-radius:12px;border:1px solid var(--linha);background:var(--cartao);color:var(--tx);display:grid;place-items:center;cursor:pointer}
.burger svg{width:22px;height:22px}
@media (min-width:1000px){.nav{display:block}.hdr .burger{display:none}.hdr .hdr-cta{display:inline-flex}.hdr-in{gap:20px}}
@media (min-width:1180px){.hdr-tel{display:inline-flex}}

.mnav{position:fixed;inset:0;z-index:60;background:var(--bg);display:flex;flex-direction:column;padding:0 var(--gut) 24px;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;overflow-y:auto}
.mnav.open{opacity:1;transform:none;visibility:visible}
.mnav-top{display:flex;align-items:center;justify-content:space-between;height:var(--hdr);flex:none}
.mnav nav ul{list-style:none;margin:8px 0 0;padding:0}
.mnav nav a{display:flex;justify-content:space-between;align-items:center;padding:16px 4px;font-size:22px;font-weight:750;color:var(--tx);text-decoration:none;border-bottom:1px solid var(--linha)}
.mnav nav a svg{width:20px;height:20px;color:var(--tx-3)}
.mnav-foot{margin-top:auto;display:grid;gap:10px;padding-top:24px}
.mnav-foot p{margin:4px 0 0;font-size:14px;color:var(--tx-3);text-align:center}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;border:2px solid transparent;font:inherit;font-weight:700;font-size:16.5px;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s;white-space:nowrap}
.btn svg{width:20px;height:20px;flex:none}
.btn:active{transform:translateY(1px)}
.btn-p{background:var(--azul);color:#fff;box-shadow:0 8px 20px -8px rgba(23,54,208,.6)}
.btn-p:hover{background:#1029a8}
.btn-2{background:var(--cartao);color:var(--tx);border-color:var(--linha)}
.btn-2:hover{border-color:var(--azul);color:var(--azul)}
.btn-b{background:#fff;color:#0e2554}
.btn-b:hover{background:#eef2ff}
.btn-o{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.btn-o:hover{border-color:#fff}
.btn-sm{min-height:44px;padding:0 18px;font-size:15.5px}
@media (prefers-color-scheme:dark){.btn-p{background:#3b5bff}.btn-p:hover{background:#4d6bff}}

/* herói */
.hero{position:relative;background:linear-gradient(180deg,var(--ceu),var(--bg));overflow:hidden}
.hero::before{content:"";position:absolute;width:720px;height:720px;right:-220px;top:-260px;border-radius:50%;background:radial-gradient(closest-side,rgba(23,54,208,.12),transparent);pointer-events:none}
.hero-in{position:relative;display:grid;gap:28px;padding-top:28px;padding-bottom:40px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--azul);margin-bottom:14px}
.eyebrow::before{content:"";width:26px;height:3px;border-radius:2px;background:currentColor}
.hero h1{margin-bottom:16px}
.hero h1 em{font-style:normal;color:var(--azul)}
.lead{font-size:clamp(1.08rem,1rem + .4vw,1.3rem);color:var(--tx-2);max-width:34em}
.nota-g{display:inline-flex;align-items:center;gap:12px;padding:10px 16px 10px 12px;background:var(--cartao);border:1px solid var(--linha);border-radius:999px;box-shadow:var(--sombra);text-decoration:none;color:var(--tx);margin:6px 0 22px}
.nota-g .n{font-size:22px;font-weight:850;letter-spacing:-.02em}
.nota-g .t{font-size:14px;color:var(--tx-2);line-height:1.3}
.estrelas{display:inline-flex;gap:2px;color:var(--estrela)}
.estrelas svg{width:17px;height:17px}
.g-logo{width:22px;height:22px;flex:none}
.acoes{display:flex;flex-wrap:wrap;gap:12px}
.acoes .btn{flex:1 1 220px}
@media (min-width:560px){.acoes .btn{flex:0 0 auto}}
.hero-foto{position:relative;margin:0}
.hero-foto img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:28px;box-shadow:var(--sombra-g)}
.estado{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.94);color:#14213d;font-size:14px;font-weight:700;padding:8px 14px;border-radius:999px;box-shadow:0 6px 18px -6px rgba(0,0,0,.25)}
.estado i{width:9px;height:9px;border-radius:50%;background:#9aa3b5}
.estado.aberto i{background:#18a46b;box-shadow:0 0 0 4px rgba(24,164,107,.18)}
.estado[hidden]{display:none}
.hero-cartao{position:absolute;right:14px;bottom:14px;left:14px;background:color-mix(in srgb,var(--cartao) 95%,transparent);color:var(--tx);border:1px solid var(--linha);border-radius:18px;padding:14px 16px;display:flex;gap:12px;align-items:center;box-shadow:0 12px 30px -10px rgba(0,0,0,.35)}
.hero-cartao svg{width:36px;height:36px;flex:none;padding:8px;border-radius:12px;background:var(--azul-50);color:var(--azul)}
.hero-cartao b{display:block;font-size:15px;line-height:1.3}
.hero-cartao span{font-size:13.5px;color:var(--tx-2);line-height:1.35;display:block}
@media (min-width:600px){.hero-cartao{left:auto;max-width:320px}}
@media (min-width:960px){
  .hero-in{grid-template-columns:1.08fr .92fr;align-items:center;gap:56px;padding-top:56px;padding-bottom:72px}
  .hero-foto img{aspect-ratio:4/4.6}
  .hero-cartao{right:auto;left:-36px;bottom:36px}
}

/* tira de factos */
.factos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--linha);border:1px solid var(--linha);border-radius:var(--r);overflow:hidden;box-shadow:var(--sombra);margin-top:-8px}
.facto{background:var(--cartao);padding:18px 16px;display:flex;flex-direction:column;gap:2px}
.facto svg{width:24px;height:24px;color:var(--azul);margin-bottom:6px}
.facto b{font-size:16.5px;line-height:1.25}
.facto span{font-size:14px;color:var(--tx-2);line-height:1.4}
.facto a{color:inherit}
@media (min-width:900px){.factos{grid-template-columns:repeat(4,1fr)}.facto{padding:22px 22px}}

/* secções */
.sec{padding:64px 0}
.sec-2{background:var(--bg-2)}
.sec-esc{background:var(--azul-900);color:#dfe6ff}
.sec-esc h2,.sec-esc h3{color:#fff}
@media (min-width:900px){.sec{padding:96px 0}}
.sec-cab{max-width:720px;margin-bottom:36px}
.sec-cab p{color:var(--tx-2);font-size:1.08rem}
.sec-cab.centro{margin-left:auto;margin-right:auto;text-align:center}
.sec-cab.centro .eyebrow::before{display:none}
.sec-pe{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}

/* serviços (grelha) */
.grelha-s{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:14px}
.serv{position:relative;display:flex;gap:14px;align-items:flex-start;background:var(--cartao);border:1px solid var(--linha);border-radius:var(--r);padding:18px;text-decoration:none;color:var(--tx);transition:border-color .15s,transform .15s,box-shadow .15s}
a.serv:hover{border-color:var(--azul);box-shadow:var(--sombra);transform:translateY(-2px)}
.ico{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--azul-50);color:var(--azul)}
.ico svg{width:26px;height:26px}
.serv h3{font-size:1.06rem;margin:2px 0 4px}
.serv p{margin:0;font-size:15px;color:var(--tx-2);line-height:1.5}

/* galeria da clínica */
.galeria{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
.galeria figure{margin:0;position:relative;border-radius:var(--r-s);overflow:hidden;background:var(--bg-2)}
.galeria img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.galeria figure::after{content:"";position:absolute;left:0;right:0;bottom:0;height:55%;background:linear-gradient(to top,rgba(10,26,61,.78),transparent);pointer-events:none}
.galeria figcaption{z-index:1;position:absolute;left:12px;bottom:10px;right:12px;font-size:14px;font-weight:650;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.galeria .g-a{grid-column:1/-1}
.galeria .g-a img{aspect-ratio:16/9}
@media (min-width:900px){
  .galeria{grid-template-columns:2fr 1fr 1fr;grid-template-rows:auto auto}
  .galeria .g-a{grid-column:1;grid-row:1/3}
  .galeria .g-a img{aspect-ratio:auto;height:100%}
  .galeria figure{border-radius:var(--r)}
}

/* split (texto + foto) */
.split{display:grid;gap:32px;align-items:center}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr;gap:64px}.split.inv>:first-child{order:2}}
.foto-r{margin:0;position:relative}
.foto-r img{width:100%;border-radius:var(--r);box-shadow:var(--sombra-g);object-fit:cover}
.lista-v{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}
.lista-v li{display:flex;gap:12px;align-items:flex-start}
.lista-v svg{flex:none;width:22px;height:22px;color:var(--verde);margin-top:2px}

/* imagens ilustrativas */
.ilus{position:relative}
.ilus-leg{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);background:rgba(10,26,61,.82);color:#fff;font-size:12px;line-height:1.35;font-weight:600;padding:5px 10px;border-radius:8px;backdrop-filter:blur(4px)}

/* equipa */
.equipa{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:14px}
.pessoa{background:var(--cartao);border:1px solid var(--linha);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:14px}
.avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:22px;color:var(--azul);background:linear-gradient(135deg,var(--azul-50),var(--azul-100));letter-spacing:-.02em}
.pessoa h3{margin:0;font-size:1.12rem}
.pessoa p{margin:0;color:var(--tx-2);font-size:15px}
.pessoa .tag{display:inline-block;margin-top:6px;font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--azul)}

/* avaliações */
.aval-topo{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-bottom:28px}
.aval-nota{display:flex;align-items:center;gap:14px}
.aval-nota .n{font-size:56px;font-weight:850;letter-spacing:-.04em;line-height:1}
.aval-nota .estrelas svg{width:22px;height:22px}
.aval-nota small{display:block;color:var(--tx-2);font-size:14.5px}
.avals{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.aval{margin:0;background:var(--cartao);border:1px solid var(--linha);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:12px}
.aval blockquote{margin:0;font-size:16.5px;line-height:1.55}

.aval figcaption{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--tx-2)}
.aval figcaption b{color:var(--tx)}
.aval .ini{width:36px;height:36px;border-radius:50%;background:var(--azul-50);color:var(--azul);display:grid;place-items:center;font-weight:800;font-size:14px;flex:none}
.aval .estrelas svg{width:16px;height:16px}

/* horário */
.horario{width:100%;border-collapse:collapse;font-size:16px}
.horario th,.horario td{padding:12px 0;border-bottom:1px solid var(--linha);text-align:left;vertical-align:top}
.horario th{font-weight:600}
.horario td{text-align:right;color:var(--tx-2);font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:12px}
.horario tr.hoje th,.horario tr.hoje td{color:var(--azul);font-weight:750}
.horario tr.hoje th::after{content:"hoje";display:table;margin-top:4px;font-size:11.5px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;background:var(--azul-50);padding:2px 8px;border-radius:999px;vertical-align:2px}
.cartao{background:var(--cartao);border:1px solid var(--linha);border-radius:var(--r);padding:24px;box-shadow:var(--sombra)}
@media (min-width:700px){.cartao{padding:32px}}
.cartao h3{display:flex;align-items:center;gap:10px}
.cartao h3 svg{width:22px;height:22px;color:var(--azul)}
.contactos-g{display:grid;gap:16px}
@media (min-width:900px){.contactos-g{grid-template-columns:5fr 7fr;align-items:stretch}}
.mapa{border-radius:var(--r);overflow:hidden;border:1px solid var(--linha);min-height:340px;background:var(--bg-2);display:flex;flex-direction:column}
.mapa iframe{border:0;width:100%;flex:1;min-height:340px;display:block}
.morada{font-style:normal;font-size:16.5px;line-height:1.55;margin-bottom:16px}
.dados{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:12px}
.dados li{display:flex;gap:12px;align-items:flex-start}
.dados svg{flex:none;width:22px;height:22px;color:var(--azul);margin-top:2px}
.dados a{font-weight:650;color:var(--tx);text-decoration:none}
.dados a:hover{color:var(--azul);text-decoration:underline}
.dados small{display:block;color:var(--tx-3);font-size:13.5px}

/* cheque veterinário */
.cheque{display:grid;gap:24px;align-items:center;background:linear-gradient(135deg,#0e2554,#1736d0);color:#e6ebff;border-radius:28px;padding:32px 24px;position:relative;overflow:hidden}
.cheque::after{content:"";position:absolute;right:-80px;bottom:-120px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.07)}
.cheque h2{color:#fff;font-size:clamp(1.5rem,1.2rem + 1.4vw,2.2rem)}
.cheque p{color:#d6defc;max-width:42em}
.cheque .acoes{position:relative;z-index:1}
.selo{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);color:#fff;font-size:13px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px;margin-bottom:14px}
.selo svg{width:16px;height:16px}
@media (min-width:900px){.cheque{grid-template-columns:1.4fr .6fr;padding:48px 56px}}

/* serviços (página) */
.indice{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;margin:0 calc(-1*var(--gut));padding-left:var(--gut);padding-right:var(--gut);scrollbar-width:none}
.indice::-webkit-scrollbar{display:none}
@media (max-width:899px){.indice{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}}
.indice a{flex:none;padding:8px 14px;border-radius:999px;background:var(--cartao);border:1px solid var(--linha);font-size:14.5px;font-weight:650;color:var(--tx);text-decoration:none}
.indice a:hover{border-color:var(--azul);color:var(--azul)}
@media (min-width:900px){.indice{flex-wrap:wrap;overflow:visible;margin:0;padding:0}}
.servico{display:grid;gap:20px;padding:36px 0;border-top:1px solid var(--linha)}
.servico:first-child{border-top:0}
.servico .ico{width:56px;height:56px;border-radius:16px}
.servico .ico svg{width:30px;height:30px}
.servico h2{font-size:clamp(1.45rem,1.2rem + 1vw,1.9rem);margin:14px 0 10px}
.servico p{color:var(--tx-2);font-size:1.04rem;max-width:38em}
.servico .foto-r img{aspect-ratio:4/3}
.servico .mini{font-size:15px;color:var(--tx-3)}
@media (min-width:900px){.servico{grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:48px 0}.servico.sem-foto{grid-template-columns:1fr}.servico.inv .foto-r{order:-1}}

/* cabeçalho de página interior */
.pcab{background:linear-gradient(180deg,var(--ceu),var(--bg));padding:40px 0 28px}
.pcab h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.2rem);margin-bottom:12px}
.pcab .lead{margin:0}
.migalhas{font-size:14px;color:var(--tx-3);margin-bottom:14px}
.migalhas a{color:var(--tx-2);text-decoration:none}
.migalhas a:hover{text-decoration:underline}
@media (min-width:900px){.pcab{padding:64px 0 40px}}

/* formulário */
.form{display:grid;gap:16px}
.form .duas{display:grid;gap:16px}
@media (min-width:640px){.form .duas{grid-template-columns:1fr 1fr}}
.campo label{display:block;font-weight:650;font-size:15px;margin-bottom:6px}
.campo label small{font-weight:500;color:var(--tx-3)}
.input,.form select,.form textarea{width:100%;font:inherit;font-size:16px;color:var(--tx);background:var(--bg);border:1.5px solid var(--linha);border-radius:12px;padding:12px 14px;min-height:50px;transition:border-color .15s,box-shadow .15s}
.form textarea{min-height:120px;resize:vertical}
.input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--azul);box-shadow:0 0 0 4px rgba(23,54,208,.15)}
.form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7590' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;padding-right:40px}
.chips{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0}
.chips legend{font-weight:650;font-size:15px;margin-bottom:8px;padding:0}
.chips label{position:relative}
.chips input{position:absolute;opacity:0;inset:0}
.chips span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--linha);font-weight:600;font-size:15px;cursor:pointer;background:var(--bg)}
.chips input:checked+span{border-color:var(--azul);background:var(--azul-50);color:var(--azul)}
.chips input:focus-visible+span{outline:3px solid var(--azul);outline-offset:2px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--tx-2)}
.check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--azul)}
.form-ok{display:none;background:#e9f8f0;border:1px solid #9fd9bd;color:#0f5132;border-radius:14px;padding:18px}
.form-ok.vis{display:block}
.form-ok b{display:block;margin-bottom:4px}
@media (prefers-color-scheme:dark){.form-ok{background:#0f2a20;border-color:#1f5a40;color:#bfe9d3}}
.nota-aprov{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:var(--tx-2);border:1px dashed var(--linha);border-radius:12px;padding:10px 12px;margin-top:16px;background:transparent}
.nota-aprov svg{flex:none;width:16px;height:16px;margin-top:2px}

/* faixa final de contacto */
.cta-final{text-align:center}
.cta-final h2{color:#fff;max-width:18em;margin-left:auto;margin-right:auto}
.cta-final p{color:#c6d1f5;max-width:34em;margin:0 auto 26px}
.cta-final .acoes{justify-content:center}

/* rodapé */
.rod{background:var(--azul-900);color:#b9c4e4;padding:56px 0 calc(28px + env(safe-area-inset-bottom));font-size:15px}
.rod a{color:#fff;text-decoration:none}
.rod a:hover{text-decoration:underline}
.rod-g{display:grid;gap:32px}
@media (min-width:900px){.rod-g{grid-template-columns:1.3fr 1fr 1fr 1fr}}
.rod h3{color:#fff;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.rod ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rod .logo-txt b{color:#fff}
.rod .logo-txt small{color:#9fb0e0}
.rod-base{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:20px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:13.5px;color:#8f9cc4}
.rod-base a{color:#c6d1f5}

/* barra fixa no telemóvel */
.barra{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--linha);transform:translateY(110%);transition:transform .25s}
.barra.vis{transform:none}
.barra .btn{min-height:48px;padding:0 12px;font-size:15.5px}
@media (min-width:1000px){.barra{display:none}}
body.tem-barra .rod{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
@media (min-width:1000px){body.tem-barra .rod{padding-bottom:28px}}

/* 404 */
.e404{text-align:center;padding:96px 0}
.e404 .acoes{justify-content:center}

/* impressão */
@media print{.proto,.hdr,.barra,.mnav,.rod,.mapa{display:none!important}body{font-size:12pt}}

/* telemóvel: grelhas mais compactas */
@media (max-width:599px){
  .grelha-s{grid-template-columns:1fr 1fr;gap:10px}
  .serv{flex-direction:column;gap:10px;padding:14px}
  .serv .ico{width:42px;height:42px;border-radius:12px}
  .serv .ico svg{width:23px;height:23px}
  .serv h3{font-size:15.5px;line-height:1.25;margin:0 0 4px}
  .serv p{font-size:13.5px;line-height:1.4}
  .pessoa{flex-direction:row;align-items:center;padding:16px;gap:14px}
  .avatar{width:54px;height:54px;font-size:19px;flex:none}
  .equipa{gap:10px}
}

.sec-cab .eyebrow{color:var(--azul)}
a[href^="tel:"]{white-space:nowrap}
.serv-acoes{margin-top:8px}
@media (max-width:599px){.serv-acoes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.serv-acoes .btn{padding:0 10px;font-size:15px}.serv-acoes .btn:only-child{grid-column:1/-1}}
.grelha-c{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.serv-c{background:var(--cartao);border:1px solid var(--linha);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;scroll-margin-top:calc(var(--hdr) + 16px)}
.serv-c h2{font-size:1.3rem;margin:14px 0 8px}
.serv-c p{color:var(--tx-2);font-size:1rem}
.serv-c .serv-acoes{margin-top:auto;padding-top:8px}
.serv-c .nota-aprov{margin-top:0;margin-bottom:12px}

/* v2 (18/10/2026): fotografia da Dra. Ana, equipa nova, formulário por email */
img.avatar{object-fit:cover;padding:0;background:var(--azul-50);flex:none}
.foto-leg figcaption{margin-top:10px;font-size:14.5px;font-weight:650;color:var(--tx-2)}
.foto-r.retrato img{aspect-ratio:4/5}
.equipa-split{align-items:start}
.equipa-split h2{margin-bottom:8px}
.equipa-split>div>p:not(.eyebrow){color:var(--tx-2);font-size:1.08rem;margin:0 0 24px}
.equipa-lista{grid-template-columns:1fr;gap:10px}
.equipa-lista .pessoa{flex-direction:row;align-items:center;padding:16px 18px;gap:16px}
.equipa-lista .avatar{width:64px;height:64px}
@media (min-width:900px){.equipa-split{grid-template-columns:5fr 6fr}.equipa-split>div{padding-top:8px}}
.form-nota{margin:-4px 0 0;font-size:14px;line-height:1.45;color:var(--tx-3)}
.form-nota a,.form-ok a{overflow-wrap:anywhere}
.rod small{opacity:.75;font-size:.85em}
h1,h2,h3{text-wrap:balance}
p,li{text-wrap:pretty}
a,button,.btn,.chips span{touch-action:manipulation}
