:root{
  --p:#1fc49a;
  --pd:#148c72;
  --n:#173942;
  --n2:#0f2d34;
  --t:#263940;
  --m:#607177;
  --s:#f6f8f8;
  --s2:#eef5f3;
  --l:#d9e4e1;
  --sh:0 10px 28px rgba(16,46,53,.08);
}
html{scroll-behavior:smooth}
body{overflow-x:hidden;background:#fff}
a{transition:color .18s ease,background .18s ease,border-color .18s ease}
.wp-site-blocks{min-height:100vh}

/* Barra institucional */
.cmba-topbar{background:var(--n2);color:rgba(255,255,255,.86);font-size:.78rem;letter-spacing:.005em}
.cmba-topbar a{color:#fff;text-decoration:none}
.cmba-topbar a:hover{color:#bff3e5}
.cmba-topbar .wp-block-group{gap:1.4rem}

/* Cabecera */
.cmba-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #e6ecea;box-shadow:0 3px 12px rgba(22,54,62,.035)}
.admin-bar .cmba-header{top:32px}
.cmba-header-inner{min-height:82px}
.cmba-header .wp-block-site-logo img{max-height:54px;width:auto}
.cmba-brand-fallback{font-weight:750;color:var(--n);font-size:1.12rem!important;letter-spacing:-.015em}
.cmba-header .wp-block-navigation{font-size:.91rem;font-weight:600}
.cmba-header .wp-block-navigation a{color:#33464c;text-decoration:none}
.cmba-header .wp-block-navigation a:hover{color:var(--pd)}
.cmba-header .wp-block-navigation__submenu-container{border:1px solid var(--l);box-shadow:var(--sh)}

/* Botones */
.wp-block-button__link{border-radius:7px!important;box-shadow:none!important;transition:background .18s ease,border-color .18s ease,color .18s ease!important}
.wp-block-button__link:hover{transform:none!important;box-shadow:none!important;background:#18ad89!important}
.cmba-btn-outline .wp-block-button__link{background:#fff!important;color:var(--pd)!important;border:1px solid #33b594!important}
.cmba-btn-outline .wp-block-button__link:hover{background:#f1faf7!important;border-color:var(--pd)!important;color:#0d755f!important}
.cmba-btn-dark .wp-block-button__link{background:var(--n)!important;color:#fff!important}
.cmba-btn-dark .wp-block-button__link:hover{background:var(--n2)!important}

/* Hero: corporativo, sobrio */
.cmba-hero{position:relative;overflow:hidden;min-height:545px;display:flex;align-items:center;background:#fff;border-bottom:1px solid #e6ecea}
.cmba-hero:before{content:'';position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--p)}
.cmba-hero:after{content:'';position:absolute;right:-80px;top:-100px;width:370px;height:370px;border:1px solid rgba(31,196,154,.16);border-radius:50%;pointer-events:none}
.cmba-hero>.wp-block-columns{position:relative;z-index:2;gap:clamp(2rem,5vw,5rem)!important}
.cmba-hero .wp-block-heading{max-width:760px;letter-spacing:-.038em;margin-top:.35rem;margin-bottom:1.25rem}
.cmba-eyebrow{color:var(--pd);text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:800}
.cmba-hero-copy{max-width:640px;font-size:1.02rem;color:var(--m);line-height:1.75}
.cmba-hero .wp-block-buttons{margin-top:1.65rem}
.cmba-hero-panel{position:relative;z-index:2;background:#f8fbfa;border:1px solid var(--l);border-top:4px solid var(--p);box-shadow:none;border-radius:10px;padding:1.6rem 1.7rem}
.cmba-hero-panel>.cmba-eyebrow{margin-bottom:1.15rem}
.cmba-mini-card{border-radius:6px;padding:.95rem 1rem;background:#fff;border:1px solid #dfe8e6;margin-bottom:.72rem}
.cmba-mini-card:last-child{margin-bottom:0}
.cmba-mini-card strong{display:block;color:var(--n);font-size:.95rem;margin-bottom:.12rem}
.cmba-mini-card span{color:var(--m);font-size:.83rem}
.cmba-mini-card a{font-size:.84rem;font-weight:700;color:var(--pd)}

/* Secciones */
.cmba-section{padding-top:clamp(3.7rem,6.3vw,6rem);padding-bottom:clamp(3.7rem,6.3vw,6rem)}
.cmba-soft{background:var(--s)}
.cmba-section-title{max-width:740px;margin-bottom:2.2rem}
.cmba-section-title .cmba-eyebrow{margin-bottom:.55rem}
.cmba-section-title h2{margin-top:0;letter-spacing:-.025em}
.cmba-section-title p{color:var(--m);max-width:680px}
.cmba-section-title:after{content:'';display:block;width:56px;height:3px;background:var(--p);margin-top:1.15rem}

/* Servicios */
.cmba-card-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.cmba-card{position:relative;background:#fff;border:1px solid var(--l);border-radius:10px;padding:1.45rem 1.45rem 1.35rem;box-shadow:none;transition:border-color .18s ease,box-shadow .18s ease}
.cmba-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;border-radius:10px 0 0 10px;transition:background .18s ease}
.cmba-card:hover{transform:none!important;box-shadow:0 8px 24px rgba(16,46,53,.06);border-color:#c8d9d5}
.cmba-card:hover:before{background:var(--p)}
.cmba-icon{width:42px;height:42px;border-radius:6px;display:grid;place-items:center;margin-bottom:1rem;color:var(--pd);background:#eff8f5;border:1px solid #d6eee8;font-weight:800;font-size:.78rem;letter-spacing:.05em}
.cmba-card h3{margin-top:0;font-size:1.04rem;line-height:1.35}
.cmba-card p{color:var(--m);font-size:.9rem;line-height:1.65}
.cmba-card a{font-weight:700;font-size:.86rem;color:var(--pd)}

/* Accesos del paciente */
.cmba-quick-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.cmba-quick,.cmba-quick:nth-child(2),.cmba-quick:nth-child(3),.cmba-quick:nth-child(4){min-height:168px;border-radius:8px;padding:1.35rem;background:#fff!important;color:var(--t)!important;border:1px solid var(--l);border-top:3px solid var(--p);display:flex;flex-direction:column;justify-content:space-between;box-shadow:none}
.cmba-quick h3{color:var(--n)!important;font-size:1rem;margin-top:0}
.cmba-quick p{color:var(--m)!important;font-size:.86rem;line-height:1.55}
.cmba-quick a{color:var(--pd)!important;font-weight:750;font-size:.86rem}

/* Institucional / Nosotros */
.cmba-about{border-radius:10px;padding:clamp(2.2rem,4vw,3.4rem);background:var(--n);color:#fff;position:relative;overflow:hidden}
.cmba-about:after{content:'';position:absolute;right:0;top:0;width:8px;height:100%;background:var(--p)}
.cmba-about h2{color:#fff;letter-spacing:-.025em}
.cmba-about p{color:rgba(255,255,255,.82)}
.cmba-about .cmba-eyebrow{color:#7ae0c5}
.cmba-pills{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.2rem}
.cmba-pill{border:1px solid rgba(255,255,255,.24);border-radius:4px;padding:.48rem .68rem;font-size:.78rem;color:rgba(255,255,255,.9)}

/* Sedes */
.cmba-location{border-left:3px solid var(--p);padding:.25rem 0 .25rem 1rem}
.cmba-location strong{display:block;color:var(--n);font-size:.94rem;margin-bottom:.25rem}
.cmba-location span{color:var(--m);font-size:.86rem;line-height:1.55}

/* CTA */
.cmba-contact-strip{border-radius:9px;padding:clamp(2rem,4vw,3rem);background:var(--n);color:#fff;border-left:6px solid var(--p)}
.cmba-contact-strip h2{color:#fff;letter-spacing:-.02em}
.cmba-contact-strip p{color:rgba(255,255,255,.8)}

/* Páginas internas */
.cmba-page-hero{padding:4rem 0 2.9rem;background:#f7faf9;border-bottom:1px solid var(--l);border-top:3px solid var(--p)}
.cmba-page-hero .wp-block-post-title{letter-spacing:-.035em}
.cmba-content{padding-top:3rem;padding-bottom:5rem}
.cmba-content>*{max-width:920px;margin-left:auto;margin-right:auto}
.cmba-content>.alignwide{max-width:1180px}
.cmba-service-intro,.cmba-contact-card{background:#fff;border:1px solid var(--l);border-radius:8px;padding:1.35rem}
.cmba-contact-card{border-left:3px solid var(--p)}

/* Footer */
.cmba-footer{background:var(--n2);color:rgba(255,255,255,.72);border-top:4px solid var(--p)}
.cmba-footer h3,.cmba-footer h4{color:#fff}
.cmba-footer a{color:rgba(255,255,255,.86)}
.cmba-footer a:hover{color:#7ae0c5}
.cmba-footer-note{font-size:.76rem;color:rgba(255,255,255,.5)}

/* Responsive */
@media(max-width:1080px){
  .cmba-header-inner{gap:1rem}
  .cmba-header .wp-block-navigation{font-size:.86rem}
}
@media(max-width:980px){
  .cmba-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cmba-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cmba-hero{min-height:auto;padding:4.2rem 0}
  .cmba-header-actions{display:none!important}
  .cmba-hero>.wp-block-columns{gap:2.4rem!important}
}
@media(max-width:782px){
  .admin-bar .cmba-header{top:46px}
  .cmba-topbar{display:none}
  .cmba-header-inner{min-height:70px}
  .cmba-card-grid,.cmba-quick-grid{grid-template-columns:1fr}
  .cmba-section{padding-top:3.2rem;padding-bottom:3.2rem}
  .cmba-hero{padding:3.5rem 0}
  .cmba-hero:before{width:4px}
  .cmba-hero-panel{margin-top:.75rem}
  .cmba-brand-fallback{font-size:1rem!important}
}
