/* Clínica Ivo — components on top of theme.json tokens. Identity decided 2026-11-06. */
:root{
  --ivo-blue:var(--wp--preset--color--blue,#012D61);
  --ivo-blue-hover:var(--wp--preset--color--blue-hover,#0A2A52);
  --ivo-ink:var(--wp--preset--color--ink,#1A1A1A);
  --ivo-muted:var(--wp--preset--color--muted,#4D4D4D);
  --ivo-pearl:var(--wp--preset--color--pearl,#F1EAE5);
  --ivo-line:var(--wp--preset--color--line,#E6E6E6);
  --ivo-urg:var(--wp--preset--color--urgencias,#E4002B);
  --ivo-radius:8px; --ivo-radius-card:12px;
}
html{-webkit-font-smoothing:antialiased;scroll-padding-top:80px}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
:focus-visible{outline:3px solid var(--ivo-blue);outline-offset:2px}

/* Wordmark */
.ivo-brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ivo-blue);min-height:44px}
.ivo-brand .ivo-mark{flex:none}
.ivo-brand__name{font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:1.25rem;line-height:1}
.ivo-brand__tag{display:block;font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ivo-muted);margin-top:.35rem}
.ivo-brand--light{color:#fff}.ivo-brand--light .ivo-brand__tag{color:#CFE0F5}

/* Header */
.ivo-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--ivo-line)}
.ivo-header .wp-block-navigation a{color:var(--ivo-ink);padding:.6rem 0}
.ivo-header .wp-block-navigation a:hover{color:var(--ivo-blue)}
.ivo-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:0 1.25rem;border-radius:var(--ivo-radius);font-weight:600;font-size:.9375rem;text-decoration:none;border:1.5px solid transparent;transition:background .15s,color .15s}
.ivo-btn--primary{background:var(--ivo-blue);color:#fff}.ivo-btn--primary:hover{background:var(--ivo-blue-hover);color:#fff}
.ivo-btn--outline{border-color:var(--ivo-blue);color:var(--ivo-blue);background:#fff}.ivo-btn--outline:hover{background:var(--ivo-blue);color:#fff}
.ivo-btn--urgencias{border-color:var(--ivo-urg);color:var(--ivo-urg);background:#fff}.ivo-btn--urgencias:hover{background:var(--ivo-urg);color:#fff}
.ivo-btn--urgencias-solid{background:var(--ivo-urg);color:#fff}
.ivo-btn--light{background:#fff;color:var(--ivo-blue)}.ivo-btn--light:hover{background:var(--ivo-pearl);color:var(--ivo-blue)}
.ivo-btn--ghost-light{border-color:#fff;color:#fff}.ivo-btn--ghost-light:hover{background:#fff;color:var(--ivo-blue)}

/* Labels, bands, cards */
.ivo-eyebrow{font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ivo-blue);margin:0 0 .75rem}
.ivo-band--pearl{background:var(--ivo-pearl)}
.ivo-band--blue{background:var(--ivo-blue);color:#fff}
.ivo-band--blue a{color:#fff}.ivo-band--blue .ivo-eyebrow{color:#CFE0F5}.ivo-band--blue .ivo-muted{color:#DBE7F5}
.ivo-muted{color:var(--ivo-muted)}
.ivo-card{background:#fff;border:1px solid var(--ivo-line);border-radius:var(--ivo-radius-card);padding:1.75rem;display:flex;flex-direction:column;gap:.875rem}
.ivo-card h3{margin:0}
.ivo-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.ivo-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr))}

/* Symptom tiles */
.ivo-tiles{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.ivo-tile{display:flex;flex-direction:column;justify-content:space-between;gap:.625rem;min-height:150px;padding:1.5rem;border:1px solid var(--ivo-line);border-radius:var(--ivo-radius-card);text-decoration:none;color:var(--ivo-ink);background:#fff;transition:border-color .15s,box-shadow .15s}
.ivo-tile:hover{border-color:var(--ivo-blue);box-shadow:0 2px 12px rgba(1,45,97,.08)}
.ivo-tile strong{font-size:1.125rem;line-height:1.3}
.ivo-tile span{font-size:.9375rem;font-weight:600;color:var(--ivo-blue)}
.ivo-tile--urgencias{border-color:var(--ivo-urg)}.ivo-tile--urgencias span{color:var(--ivo-urg)}

/* Trust strip */
.ivo-trust{display:grid;gap:1.5rem 2.5rem;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.ivo-trust__item{display:flex;gap:.875rem;align-items:flex-start;font-size:1rem;line-height:1.45}
.ivo-trust__item svg{flex:none;color:var(--ivo-blue)}

/* Review stamp */
.ivo-stamp{display:inline-flex;align-items:center;gap:.6rem;min-height:40px;padding:0 .875rem;border-radius:var(--ivo-radius);border:1px solid var(--ivo-line);font-size:.875rem;color:var(--ivo-muted);background:#fff}
.ivo-stamp svg{color:var(--ivo-blue)}

/* Padecimiento template */
.ivo-toc{background:#fff;border:1px solid var(--ivo-line);border-radius:var(--ivo-radius-card);padding:1.25rem 1.5rem;font-size:.9375rem}
.ivo-toc a{display:block;padding:.375rem 0;color:var(--ivo-ink);text-decoration:none}
.ivo-toc a:hover{color:var(--ivo-blue)}
.ivo-toc a.is-urgencias{color:var(--ivo-urg)}
.ivo-urgencias-box{border:1.5px solid var(--ivo-urg);border-radius:var(--ivo-radius-card);padding:1.5rem 1.75rem}
.ivo-urgencias-box h2{color:var(--ivo-urg);font-size:1.75rem}
.ivo-faq{list-style:none;margin:0;padding:0;border-top:1px solid var(--ivo-line)}
.ivo-faq li{padding:1.25rem 0;border-bottom:1px solid var(--ivo-line)}
.ivo-faq li p{margin:0}.ivo-faq li p+p{margin-top:.5rem;color:var(--ivo-muted);font-size:1.0625rem}

/* Real photos */
.ivo-figure{margin:0;border-radius:var(--ivo-radius-card);overflow:hidden;background:var(--ivo-pearl)}
.ivo-figure img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:5/4}
.ivo-figure--portrait{max-width:480px}.ivo-figure--portrait img{aspect-ratio:4/5;object-position:50% 15%}
.ivo-band--blue .ivo-figure{background:#0F3F7A}

/* Photo placeholder until the real photos exist */
.ivo-photo{margin:0;border-radius:var(--ivo-radius-card);background:var(--ivo-pearl);border:1px dashed #C9BFB6;aspect-ratio:5/4;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;color:var(--ivo-muted);font-size:.9375rem}
.ivo-photo--portrait{aspect-ratio:4/5;max-width:480px}
.ivo-band--blue .ivo-photo{background:#0F3F7A;border-color:#6F93C2;color:#DBE7F5}

/* Mobile action bar */
.ivo-mobile-bar{display:none}
@media (max-width:760px){
  .ivo-mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.625rem .75rem calc(.875rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--ivo-line)}
  .ivo-mobile-bar .ivo-btn{font-size:.875rem;min-height:48px;padding:0 .5rem}
  body{padding-bottom:84px}
  .ivo-header .ivo-brand__tag{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
