*{margin:0;padding:0;box-sizing:border-box}
:root{
  /* ─── Paleta "Verano Médico Profesional" (colores exactos, sin alterar) ─── */
  --arena:#F5F2EE;       /* Fondo principal, aireado */
  --turquesa:#81D4FA;    /* Fondo de secciones / acentos principales */
  --verde-agua:#80CBC4;  /* Fondo de secciones / iconos / toque clínico */
  --gris-piedra:#4A5559; /* SOLO texto: encabezados y legibilidad */
  --blanco:#FFFFFF;      /* Contenedores, amplitud */

  /* ─── Mapeo funcional corregido ───
     Turquesa y Verde Agua son ahora los FONDOS de sección destacada.
     Sobre esos fondos claros, el texto es Gris Piedra (oscuro) para que
     resalte — nunca blanco, porque blanco sobre turquesa/verde claro
     no tiene contraste suficiente. */
  --navy:#81D4FA;        /* fondo de sección destacada = Turquesa Claro */
  --navy-dark:#80CBC4;   /* fondo de sección más profunda = Verde Agua */
  --teal:#80CBC4;        /* Verde Agua — botones CTA, acentos principales */
  --teal-light:#4A5559;  /* texto Gris Piedra sobre fondos turquesa/verde (antes era texto claro) */
  --white:#FFFFFF;       /* Blanco Puro */
  --off:#F5F2EE;         /* Arena Suave — fondo principal alterno */
  --text:#4A5559;        /* Gris Piedra — texto de cuerpo, resalta sobre fondos claros */
  --muted:#5d6669;       /* Gris Piedra aclarado, texto secundario */
  --border:#e3ded6;      /* derivado de Arena Suave, bordes sutiles */
  --gold:#4A5559;        /* Gris Piedra — para iconos/acentos que necesiten máximo contraste */
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--white);color:var(--text);overflow-x:hidden}
h1,h2,h3,h4{font-family:'DM Serif Display',serif;font-weight:400;line-height:1.1}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1160px,92%);margin:auto}

/* ── TICKER ── */
.ticker{background:var(--navy-dark);color:rgba(74,85,89,.75);font-size:12px;letter-spacing:.1em;padding:9px 0;overflow:hidden;white-space:nowrap}
.ticker-track{display:inline-flex;animation:tick 32s linear infinite;gap:0}
.ticker-track span{padding:0 30px}
.ticker-dot{color:var(--teal);margin:0 4px}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── NAV ── */
nav{position:sticky;top:0;z-index:900;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);box-shadow:0 1px 12px rgba(74,85,89,.06)}
.nav-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo-nav img{height:54px;width:auto}
.nav-links{display:flex;gap:28px;list-style:none}
.nav-links a{font-size:13.5px;font-weight:500;color:var(--muted);transition:.2s;letter-spacing:.01em}
.nav-links a:hover{color:var(--navy)}
.nav-cta{display:flex;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:6px;font-size:13.5px;font-weight:500;transition:.25s;cursor:pointer;border:none;font-family:'DM Sans',sans-serif}
.btn-teal{background:var(--teal);color:white}
.btn-teal:hover{background:#6bb8b0;transform:translateY(-1px)}
.btn-outline{border:1.5px solid var(--navy);color:var(--navy);background:transparent}
.btn-outline:hover{background:var(--navy);color:var(--gris-piedra)}
.btn-navy{background:var(--navy);color:var(--gris-piedra)}
.btn-navy:hover{background:var(--navy-dark);transform:translateY(-1px)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none}
.hamburger span{display:block;width:22px;height:2px;background:var(--navy);transition:.3s;border-radius:2px}

/* ── HERO (blanco, logo grande) ── */
.hero-white{background:white;padding:60px 0 0}
.hero-logo-wrap{display:flex;justify-content:center;margin-bottom:40px}
.hero-logo-wrap img{width:min(580px,80%);height:auto;filter:drop-shadow(0 4px 24px rgba(74,85,89,.10))}
.hero-tagline{text-align:center;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:50px;font-weight:500}
.hero-photo-band{position:relative;overflow:hidden;border-radius:20px 20px 0 0;margin:0 auto;width:min(1100px,94%)}
.hero-photo-band img{width:100%;height:520px;object-fit:cover;object-position:center 20%;display:block}
.hero-photo-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(61,69,72,0) 30%,rgba(61,69,72,.85) 100%)}
.hero-photo-content{position:absolute;bottom:0;left:0;right:0;padding:40px 48px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.hero-text-bottom h1{font-size:52px;color:white;margin-bottom:8px}
.hero-text-bottom p{color:rgba(255,255,255,.75);font-size:16px;max-width:540px;line-height:1.7}
.hero-stats-band{background:var(--navy);display:grid;grid-template-columns:repeat(3,1fr);border-radius:0 0 20px 20px;width:min(1100px,94%);margin:0 auto}
.hero-stat{padding:22px;text-align:center;border-right:1px solid rgba(74,85,89,.15)}
.hero-stat:last-child{border-right:none}
.hero-stat strong{display:block;font-family:'DM Serif Display',serif;font-size:34px;color:var(--teal-light)}
.hero-stat span{color:rgba(74,85,89,.7);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-top:4px;display:block}

/* ── CTA BUTTONS row ── */
.hero-btns-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:36px 0 50px}
.hero-cta-btn{background:#25D366;color:white;border:none}
.hero-cta-btn:hover{background:#1ebd5a;transform:translateY(-1px)}

/* ── CLINICS (navy oscuro) ── */
.clinics-section{background:var(--navy-dark);padding:64px 0}
.clinics-section .section-label{color:var(--teal-light)}
.clinics-section .section-title{color:var(--gris-piedra)}
.clinics-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.clinic-card{background:rgba(255,255,255,.55);border:1px solid rgba(74,85,89,.15);border-radius:14px;padding:32px;transition:.3s;position:relative;overflow:hidden}
.clinic-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--teal);transform:scaleX(0);transition:.3s;transform-origin:left}
.clinic-card:hover{background:rgba(255,255,255,.75)}
.clinic-card:hover::before{transform:scaleX(1)}
.clinic-icon{width:52px;height:52px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:18px}
.ci-teal{background:rgba(129,212,250,.2);color:var(--teal-light)}
.ci-gold{background:rgba(128,203,196,.15);color:var(--gold)}
.clinic-card h3{color:var(--gris-piedra);font-size:20px;margin-bottom:8px}
.clinic-card p{color:rgba(74,85,89,.75);font-size:14px;line-height:1.7;margin-bottom:16px}
.clinic-badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500;padding:5px 14px;border-radius:20px}
.badge-teal{background:rgba(129,212,250,.18);color:var(--teal-light);border:1px solid rgba(129,212,250,.3)}
.badge-gold{background:rgba(128,203,196,.15);color:var(--gold);border:1px solid rgba(128,203,196,.25)}
.incot-link{margin-top:14px;display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--teal-light);transition:.2s}
.incot-link:hover{color:var(--gris-piedra);text-decoration:underline}

/* ── SECTIONS commons ── */
section{padding:96px 0}
.section-label{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:12px}
.section-title{font-size:50px;color:var(--navy);margin-bottom:16px}
.section-sub{font-size:17px;color:var(--muted);line-height:1.8;max-width:640px}
.section-header{margin-bottom:52px}

/* ── SPECIALTIES (blanco) ── */
.specialties{background:white}
.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.spec-card{background:var(--off);border-radius:14px;padding:34px 28px;border:1px solid var(--border);transition:.35s;position:relative;overflow:hidden}
.spec-card::after{content:'';position:absolute;bottom:0;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--navy));transition:.35s}
.spec-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(74,85,89,.09);background:white}
.spec-card:hover::after{width:100%}
.spec-icon{font-size:28px;margin-bottom:16px}
.spec-num{font-size:10.5px;letter-spacing:.14em;color:var(--teal);font-weight:600;margin-bottom:10px;text-transform:uppercase}
.spec-card h3{font-size:24px;margin-bottom:10px;color:var(--navy)}
.spec-card p{font-size:13.5px;color:var(--muted);line-height:1.75}

/* ── CORI (navy) ── */
.cori-section{background:var(--navy);color:var(--gris-piedra);position:relative;overflow:hidden}
.cori-section::before{content:'';position:absolute;right:-150px;top:-150px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(129,212,250,.1) 0%,transparent 70%)}
.cori-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.cori-label{color:var(--teal-light)}
.cori-title{color:var(--gris-piedra);font-size:46px}
.cori-sub{color:rgba(74,85,89,.75);font-size:16px;line-height:1.8;margin-bottom:28px}
.cori-checks{display:flex;flex-direction:column;gap:14px}
.cori-check{display:flex;align-items:flex-start;gap:14px;font-size:15px;color:rgba(74,85,89,.9)}
.cori-check-icon{width:26px;height:26px;background:rgba(129,212,250,.2);border:1px solid rgba(129,212,250,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--teal-light);font-size:12px;flex-shrink:0;margin-top:1px}
.cori-box{background:rgba(255,255,255,.55);border:1px solid rgba(74,85,89,.15);border-radius:16px;padding:38px;position:relative;z-index:1}
.cori-compare{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.cori-col{background:rgba(255,255,255,.45);border-radius:10px;padding:22px}
.cori-col h4{font-family:'DM Sans',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.h4-teal{color:var(--teal-light)}
.h4-muted{color:rgba(74,85,89,.45)}
.cori-col li{list-style:none;font-size:13px;line-height:1.6;margin-bottom:8px;padding-left:14px;position:relative;color:rgba(74,85,89,.85)}
.cori-col li::before{content:'—';position:absolute;left:0;color:var(--teal-light);font-size:10px;top:4px}
.li-muted{color:rgba(74,85,89,.45)!important}
.li-muted::before{color:rgba(74,85,89,.3)!important}
.cori-footer-label{text-align:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(129,212,250,.7)}

/* ── ABOUT (blanco con foto) ── */
.about-section{background:white}
.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
.about-img-wrap{position:relative}
.about-img-wrap img{width:100%;border-radius:16px;box-shadow:0 24px 64px rgba(74,85,89,.14);object-fit:cover;object-position:center top;height:auto}
.about-badge{position:absolute;bottom:28px;right:-20px;background:var(--navy);color:var(--gris-piedra);padding:18px 22px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.2);text-align:center}
.about-badge strong{display:block;font-family:'DM Serif Display',serif;font-size:28px;color:var(--teal-light)}
.about-badge span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(74,85,89,.7);display:block;margin-top:2px}
.cv-list{display:flex;flex-direction:column;gap:18px;margin-top:28px}
.cv-item{display:flex;gap:16px;align-items:flex-start}
.cv-bullet{width:10px;height:10px;border-radius:50%;background:var(--teal);margin-top:5px;flex-shrink:0}
.cv-item strong{display:block;font-size:14.5px;font-weight:600;color:var(--navy);margin-bottom:2px}
.cv-item p{font-size:13.5px;color:var(--muted);line-height:1.6}

/* ── TESTIMONIALS (off blanco) ── */
.testimonials-section{background:var(--off)}
.reviews-track{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.test-card{background:white;border-radius:14px;padding:32px;border:1px solid var(--border);box-shadow:0 2px 12px rgba(74,85,89,.05)}
.test-card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}
.stars{color:#f5a623;font-size:14px}
.google-icon svg{width:18px;height:18px;opacity:.5}
.test-card p{font-size:14.5px;color:var(--text);line-height:1.75;margin-bottom:20px;font-style:italic}
.test-author{display:flex;align-items:center;gap:12px}
.test-avatar{width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--teal-light);display:flex;align-items:center;justify-content:center;font-family:'DM Serif Display',serif;font-size:18px;flex-shrink:0}
.test-author strong{font-size:14px;font-weight:600;display:block;color:var(--navy)}
.test-author span{font-size:12px;color:var(--muted)}
.carousel-nav{display:flex;justify-content:center;gap:12px;margin-top:32px;align-items:center}
.carousel-btn{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--border);background:white;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;color:var(--navy);transition:.2s}
.carousel-btn:hover{border-color:var(--teal);color:var(--teal)}
.carousel-page{font-size:13px;color:var(--muted);min-width:40px;text-align:center}
.google-badge{display:flex;align-items:center;gap:12px;padding:16px 26px;background:white;border-radius:12px;border:1px solid var(--border);width:fit-content;margin:0 auto 48px;box-shadow:0 2px 12px rgba(74,85,89,.06)}

/* ── CONTACT (navy dark) ── */
.contact-section{background:var(--navy-dark);color:var(--gris-piedra);padding:96px 0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contact-intro .section-label{color:var(--teal-light)}
.contact-intro .section-title{color:var(--gris-piedra)}
.contact-intro p{color:rgba(74,85,89,.8);font-size:15px;line-height:1.8;margin-top:16px}
.contact-box{background:rgba(255,255,255,.5);border:1px solid rgba(74,85,89,.15);border-radius:16px;overflow:hidden;margin-bottom:20px}
.contact-box-head{padding:22px 26px;border-bottom:1px solid rgba(74,85,89,.12)}
.contact-box-head.teal{background:var(--teal)}
.contact-box-head.navy{background:rgba(74,85,89,.08)}
.contact-box-head h3{color:var(--gris-piedra);font-size:19px}
.contact-box-head p{color:rgba(74,85,89,.8);font-size:12.5px;margin-top:3px}
.contact-links{padding:16px 20px;display:flex;flex-direction:column;gap:10px}
.contact-link{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;color:rgba(74,85,89,.85);font-size:14px;background:rgba(255,255,255,.35);border:1px solid rgba(74,85,89,.12);transition:.2s}
.contact-link:hover{background:rgba(129,212,250,.15);border-color:rgba(129,212,250,.4);color:white}
.link-icon{width:32px;height:32px;border-radius:6px;background:rgba(74,85,89,.1);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}

/* ── FOOTER ── */
footer{background:var(--navy-dark);border-top:1px solid rgba(74,85,89,.12);padding:30px 0}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.footer-logo img{height:38px;opacity:.85}
.footer-legal{font-size:12px;color:rgba(74,85,89,.55)}
.footer-links{display:flex;gap:20px}
.footer-links a{font-size:12px;color:rgba(74,85,89,.6);transition:.2s}
.footer-links a:hover{color:rgba(74,85,89,.95)}

/* ── WHATSAPP FLOAT ── */
.wa-float{position:fixed;bottom:28px;right:28px;z-index:999;width:58px;height:58px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(37,211,102,.45);transition:.3s}
.wa-float:hover{transform:scale(1.08);box-shadow:0 6px 32px rgba(37,211,102,.6)}
.wa-float svg{width:30px;height:30px;fill:white}

/* ── MOBILE MENU ── */
.mobile-menu{display:none;position:fixed;inset:0;background:white;z-index:950;padding:80px 28px 40px;flex-direction:column;gap:4px;overflow-y:auto}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:20px;font-family:'DM Serif Display',serif;color:var(--navy);padding:14px 0;border-bottom:1px solid var(--border)}
.mobile-menu .btn{margin-top:16px;justify-content:center;font-size:15px}
.mobile-close{position:absolute;top:22px;right:26px;font-size:28px;cursor:pointer;color:var(--navy);background:none;border:none;line-height:1}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  .nav-links,.nav-cta{display:none}
  .hamburger{display:flex}
  .hero-text-bottom h1{font-size:36px}
  .cori-grid,.about-grid,.contact-grid{grid-template-columns:1fr}
  .spec-grid{grid-template-columns:1fr 1fr}
  .clinics-grid{grid-template-columns:1fr}
  .section-title,.cori-title{font-size:38px}
  .hero-photo-band img{height:360px}
  .hero-photo-content{padding:28px 24px}
  .about-img-wrap img{height:380px}
  .about-badge{right:10px}
  .reviews-track{grid-template-columns:1fr}
}
@media(max-width:560px){
  .spec-grid{grid-template-columns:1fr}
  .hero-logo-wrap img{width:90%}
  .hero-photo-content{flex-direction:column;align-items:flex-start}
}

/* ── BOOKING SECTION ── */
.booking-section{background:white;padding:96px 0;border-top:1px solid var(--border)}
.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:52px;align-items:start}
.booking-card{background:var(--off);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:.3s}
.booking-card:hover{box-shadow:0 12px 40px rgba(74,85,89,.10);transform:translateY(-3px)}
.booking-card-head{padding:24px 28px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px}
.booking-card-head.teal-head{background:linear-gradient(135deg,var(--teal),var(--navy))}
.booking-card-head.navy-head{background:linear-gradient(135deg,var(--teal),var(--navy))}
.booking-card-head h3{color:var(--gris-piedra);font-size:20px;margin:0}
.booking-card-head p{color:rgba(74,85,89,.8);font-size:12.5px;margin-top:2px}
.booking-logo{width:44px;height:44px;background:rgba(255,255,255,.2);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.booking-body{padding:28px}
.booking-body p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:20px}
.booking-widget-wrap{background:white;border-radius:10px;padding:20px;border:1px solid var(--border);display:flex;justify-content:center;min-height:180px;align-items:center}
.booking-features{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.booking-feature{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--text)}
.booking-feature::before{content:'✓';color:var(--teal);font-weight:700;flex-shrink:0}
.booking-fallback-btn{display:flex;flex-direction:column;gap:10px}
@media(max-width:760px){.booking-grid{grid-template-columns:1fr}}

/* ── ABOUT v2 ── */
.about-section{background:white;padding:100px 0}
.about-layout{display:grid;grid-template-columns:420px 1fr;gap:64px;align-items:start}
.about-photo-col{position:sticky;top:90px}
.about-photo-col img{width:100%;border-radius:16px;box-shadow:0 24px 64px rgba(74,85,89,.14);display:block}
.about-badge-row{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}
.about-mini-badge{flex:1;min-width:100px;background:var(--navy);color:var(--gris-piedra);border-radius:10px;padding:14px;text-align:center}
.about-mini-badge strong{display:block;font-family:"DM Serif Display",serif;font-size:26px;color:var(--teal-light)}
.about-mini-badge span{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(74,85,89,.65);margin-top:2px;display:block}
.about-content-col{}
.lang-tabs{display:flex;gap:0;margin-bottom:32px;border:1px solid var(--border);border-radius:8px;overflow:hidden;width:fit-content}
.lang-tab{padding:10px 24px;font-size:13.5px;font-weight:600;cursor:pointer;transition:.2s;border:none;background:transparent;font-family:"DM Sans",sans-serif;color:var(--muted)}
.lang-tab.active{background:var(--navy);color:var(--gris-piedra)}
.cv-panel{display:none}
.cv-panel.active{display:block}
.cv-block{margin-bottom:36px}
.cv-block-title{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.cv-entry{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.cv-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);margin-top:6px;flex-shrink:0}
.cv-entry-body strong{display:block;font-size:14px;font-weight:600;color:var(--navy);line-height:1.4;margin-bottom:2px}
.cv-entry-body p{font-size:13px;color:var(--muted);line-height:1.55}
.cv-entry-body .cv-date{font-size:11.5px;color:var(--teal);font-weight:600;margin-top:2px;display:block}
.cv-intro-text{font-size:15px;color:var(--muted);line-height:1.85;margin-bottom:28px;border-left:3px solid var(--teal);padding-left:18px}
@media(max-width:960px){
  .about-layout{grid-template-columns:1fr}
  .about-photo-col{position:static}
  .about-photo-col img{max-width:380px;margin:auto}
}

/* ══════════ BLOG / PATOLOGÍAS ══════════ */
.blog-section{background:var(--off);padding:100px 0}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:52px}

.blog-card{background:white;border-radius:16px;overflow:hidden;border:1px solid var(--border);
  transition:.35s;display:flex;flex-direction:column;cursor:pointer}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(74,85,89,.11)}

.blog-card-top{padding:28px 28px 0;position:relative}
.blog-tag{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;padding:5px 12px;border-radius:20px;margin-bottom:16px}
.tag-menisco{background:#e6f6fb;color:#277a96}
.tag-lca{background:#eef9ee;color:#2a7a2a}
.tag-tendon{background:#fff7e6;color:#a06020}
.tag-cartilago{background:#f3eeff;color:#6640c0}
.tag-artrosis{background:#fff0f0;color:#c03030}
.tag-robotica{background:#e8f0ff;color:#4A5559}

.blog-card-top h3{font-size:22px;line-height:1.2;color:var(--navy);margin-bottom:10px}
.blog-card-top p{font-size:13.5px;color:var(--muted);line-height:1.7;font-style:italic;margin-bottom:16px}
.blog-meta{display:flex;align-items:center;gap:12px;font-size:11.5px;color:var(--muted);
  padding-top:12px;border-top:1px solid var(--border);margin-bottom:20px}
.blog-meta span{display:flex;align-items:center;gap:4px}

.blog-card-body{padding:0 28px 28px;flex:1;display:flex;flex-direction:column}
.blog-excerpt{font-size:13.5px;color:var(--muted);line-height:1.75;margin-bottom:20px;flex:1}
.blog-read-more{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;
  color:var(--teal);transition:.2s;margin-top:auto}
.blog-card:hover .blog-read-more{gap:12px;color:var(--navy)}

.blog-accent-bar{height:4px;background:linear-gradient(90deg,var(--teal),var(--navy));
  transform:scaleX(0);transform-origin:left;transition:.35s}
.blog-card:hover .blog-accent-bar{transform:scaleX(1)}

/* ── MODAL / ARTÍCULO COMPLETO ── */
.article-overlay{display:none;position:fixed;inset:0;background:rgba(40,46,48,.6);
  z-index:1000;backdrop-filter:blur(4px);overflow-y:auto;padding:40px 20px}
.article-overlay.open{display:flex;align-items:flex-start;justify-content:center}
.article-modal{background:white;border-radius:20px;max-width:780px;width:100%;
  position:relative;overflow:hidden;animation:slideUp .35s ease}
@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

.article-modal-head{padding:36px 44px 28px;border-bottom:1px solid var(--border)}
.article-modal-head .blog-tag{margin-bottom:14px}
.article-modal-head h2{font-size:36px;color:var(--navy);margin-bottom:8px;line-height:1.15}
.article-modal-head p.subtitle{font-size:16px;color:var(--muted);font-style:italic;margin-bottom:14px}
.article-modal-head .blog-meta{border-top:none;padding-top:0;margin-bottom:0}

.article-close{position:absolute;top:20px;right:24px;width:36px;height:36px;border-radius:50%;
  border:1.5px solid var(--border);background:white;cursor:pointer;font-size:18px;
  display:flex;align-items:center;justify-content:center;color:var(--navy);transition:.2s;z-index:10}
.article-close:hover{background:var(--navy);color:var(--gris-piedra);border-color:var(--navy)}

.article-body{padding:36px 44px 44px}
.article-body h4{font-family:"DM Serif Display",serif;font-size:20px;color:var(--navy);
  margin:28px 0 12px;font-weight:400}
.article-body p{font-size:15px;color:var(--text);line-height:1.85;margin-bottom:16px}
.article-body ul,.article-body ol{margin:0 0 16px 0;padding-left:0;list-style:none}
.article-body li{font-size:14.5px;color:var(--text);line-height:1.75;margin-bottom:8px;
  padding-left:20px;position:relative}
.article-body li::before{content:"—";position:absolute;left:0;color:var(--teal);font-weight:700}
.article-body ol li::before{content:counter(li) ".";counter-increment:li;color:var(--navy)}
.article-body ol{counter-reset:li}

.article-callout{background:var(--off);border-left:4px solid var(--teal);border-radius:0 10px 10px 0;
  padding:16px 20px;margin:20px 0;font-size:14px;color:var(--navy);line-height:1.7}
.article-callout strong{color:var(--teal)}
.article-callout.warning{border-color:#e8a020;background:#fffbf0}
.article-callout.warning strong{color:#a06010}
.article-callout.tip{border-color:#2a8a2a;background:#f0fff0}
.article-callout.tip strong{color:#1a6a1a}

.article-symptoms{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.symptom-chip{background:var(--off);border:1px solid var(--border);border-radius:10px;
  padding:12px 16px;display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--text)}
.symptom-chip-icon{font-size:20px;flex-shrink:0}
.symptom-chip strong{display:block;font-size:13px;font-weight:600;color:var(--navy)}
.symptom-chip span{font-size:12px;color:var(--muted)}

.article-steps{display:flex;flex-direction:column;gap:14px;margin:20px 0}
.article-step{display:flex;gap:16px;align-items:flex-start;padding:16px;
  background:var(--off);border-radius:10px;border:1px solid var(--border)}
.step-num{width:32px;height:32px;border-radius:50%;background:var(--navy);color:var(--gris-piedra);
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}
.step-body strong{display:block;font-size:14px;font-weight:600;color:var(--navy);margin-bottom:2px}
.step-body p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}

.article-cta{background:var(--navy);border-radius:14px;padding:28px 32px;margin-top:32px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.article-cta p{color:rgba(74,85,89,.85);font-size:14px;margin:0}
.article-cta strong{display:block;color:var(--gris-piedra);font-size:17px;margin-bottom:4px}

@media(max-width:960px){
  .blog-grid{grid-template-columns:1fr 1fr}
  .article-modal-head,.article-body{padding-left:28px;padding-right:28px}
  .article-symptoms{grid-template-columns:1fr}
}
@media(max-width:600px){
  .blog-grid{grid-template-columns:1fr}
  .article-modal-head h2{font-size:26px}
  .article-cta{flex-direction:column}
}

/* Botones hero — fondo verde WhatsApp, letras blancas */
.btn-wa{
  background:#25D366;
  color:white!important;
  font-weight:600;
  border:none;
  box-shadow:0 2px 10px rgba(37,211,102,.28);
}
.btn-wa:hover{
  background:#1ebe5d;
  transform:translateY(-2px);
  box-shadow:0 4px 16px rgba(37,211,102,.38);
}

/* ══════════ BANNER DE COOKIES ══════════ */
.cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:1100;
  background:white;border-top:1px solid var(--border);
  box-shadow:0 -8px 30px rgba(74,85,89,.12);
  padding:24px;transform:translateY(100%);transition:transform .4s ease;
}
.cookie-banner.show{transform:translateY(0)}
.cookie-inner{
  max-width:1160px;margin:auto;display:flex;align-items:center;
  justify-content:space-between;gap:28px;flex-wrap:wrap;
}
.cookie-text{flex:1;min-width:260px}
.cookie-text strong{display:block;font-size:15px;color:var(--gris-piedra);margin-bottom:4px;font-family:'DM Serif Display',serif;font-weight:400;font-size:18px}
.cookie-text p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}
.cookie-text a{color:var(--teal);text-decoration:underline;font-weight:500}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}
.cookie-btn{padding:11px 20px;border-radius:8px;font-size:13px;font-weight:600;
  cursor:pointer;border:none;font-family:'DM Sans',sans-serif;transition:.2s;white-space:nowrap}
.cookie-btn-accept{background:#25D366;color:white}
.cookie-btn-accept:hover{background:#1ebe5d}
.cookie-btn-reject{background:var(--off);color:var(--gris-piedra);border:1.5px solid var(--border)}
.cookie-btn-reject:hover{background:#e9e4dc}
.cookie-btn-config{background:transparent;color:var(--gris-piedra);border:1.5px solid var(--teal);text-decoration:none}
.cookie-btn-config:hover{background:rgba(129,212,250,.12)}
@media(max-width:760px){
  .cookie-inner{flex-direction:column;align-items:stretch}
  .cookie-actions{justify-content:stretch}
  .cookie-btn{flex:1}
}

/* ══════════ PANEL DE CONFIGURACIÓN DE COOKIES ══════════ */
.cookie-config-overlay{display:none;position:fixed;inset:0;background:rgba(40,46,48,.6);
  z-index:1150;backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:20px}
.cookie-config-overlay.open{display:flex}
.cookie-config-modal{background:white;border-radius:18px;max-width:560px;width:100%;
  max-height:85vh;overflow-y:auto;animation:slideUp .3s ease}
.cookie-config-head{padding:28px 32px 16px;border-bottom:1px solid var(--border)}
.cookie-config-head h3{font-size:24px;color:var(--gris-piedra);margin-bottom:6px}
.cookie-config-head p{font-size:13.5px;color:var(--muted);line-height:1.6}
.cookie-config-body{padding:20px 32px}
.cookie-category{padding:16px 0;border-bottom:1px solid var(--border)}
.cookie-category:last-child{border-bottom:none}
.cookie-cat-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.cookie-cat-head strong{font-size:14.5px;color:var(--gris-piedra)}
.cookie-cat-head span.badge-required{font-size:10.5px;color:var(--muted);text-transform:uppercase;
  letter-spacing:.06em;background:var(--off);padding:3px 10px;border-radius:12px}
.cookie-category p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}
.cookie-toggle{position:relative;width:44px;height:24px;border-radius:14px;background:var(--border);
  cursor:pointer;transition:.2s;flex-shrink:0}
.cookie-toggle.active{background:var(--teal)}
.cookie-toggle::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;
  border-radius:50%;background:white;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.cookie-toggle.active::after{transform:translateX(20px)}
.cookie-toggle.disabled{cursor:not-allowed;opacity:.6}
.cookie-config-footer{padding:20px 32px;border-top:1px solid var(--border);display:flex;gap:10px;flex-wrap:wrap}
.cookie-config-footer .cookie-btn{flex:1}

/* ══════════ MODALES LEGALES (reutiliza patrón article-modal) ══════════ */
.legal-modal-head{padding:36px 44px 24px;border-bottom:1px solid var(--border)}
.legal-modal-head h2{font-size:30px;color:var(--navy);margin-bottom:6px}
.legal-modal-head p.legal-updated{font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.legal-body{padding:28px 44px 44px}
.legal-body h4{font-family:'DM Serif Display',serif;font-size:18px;color:var(--navy);margin:26px 0 10px;font-weight:400}
.legal-body h4:first-child{margin-top:0}
.legal-body p{font-size:14px;color:var(--text);line-height:1.8;margin-bottom:12px}
.legal-body ul{margin:0 0 14px 0;padding-left:0;list-style:none}
.legal-body li{font-size:13.5px;color:var(--text);line-height:1.7;margin-bottom:6px;padding-left:18px;position:relative}
.legal-body li::before{content:"—";position:absolute;left:0;color:var(--teal);font-weight:700}
.legal-body strong{color:var(--navy)}
.legal-body a{color:var(--teal);text-decoration:underline}
.legal-contact-box{background:var(--off);border-radius:10px;padding:18px 22px;margin:18px 0;font-size:13.5px;color:var(--text);line-height:1.7}
@media(max-width:760px){
  .legal-modal-head,.legal-body{padding-left:26px;padding-right:26px}
}