/* ==========================================================================
   MediCenter · /cotizar + /gracias — consume tokens.css. CSS aislado.
   ========================================================================== */
[x-cloak]{display:none !important}

/* --- Hero --- */
.cz-hero{background:linear-gradient(180deg,#fff,var(--mc-brand-subtle));
  border-bottom:1px solid var(--mc-border-default);padding:48px 0 38px}
.cz-hero h1{font-size:2.4rem;line-height:1.1;margin:4px 0 0;max-width:20ch}
.cz-hero__lead{margin:14px 0 0;color:var(--mc-text-secondary);font-size:1.08rem;line-height:1.55;max-width:56ch}

/* --- Layout --- */
.cz-body{padding:44px 0 60px}
.cz-grid{display:grid;grid-template-columns:1.6fr .9fr;gap:36px;align-items:start}

/* --- Alertas --- */
.cz-alert{border-radius:var(--mc-radius);padding:14px 16px;margin:0 0 22px;font-size:.95rem;line-height:1.5}
.cz-alert--err{background:#FBEDEC;border:1px solid #E8C4C0;color:var(--mc-danger)}
.cz-alert strong{display:block;margin-bottom:4px}
.cz-alert ul{margin:0;padding-left:18px}

/* --- Formulario --- */
.cz-form{display:flex;flex-direction:column;gap:18px}
.cz-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cz-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.cz-field label{font-family:var(--mc-font-sans);font-size:.9rem;font-weight:600;color:var(--mc-text-primary)}
.cz-req{color:var(--mc-danger)}
.cz-opt{font-weight:400;color:var(--mc-text-secondary)}
.cz-field input,
.cz-field select,
.cz-field textarea{
  font:inherit;font-size:1rem;color:var(--mc-text-primary);background:var(--mc-bg-surface);
  border:1px solid var(--mc-border-strong);border-radius:var(--mc-radius-sm);padding:11px 13px;width:100%}
.cz-field textarea{resize:vertical;min-height:104px}
.cz-field input:focus,
.cz-field select:focus,
.cz-field textarea:focus{outline:2px solid var(--mc-brand-primary);outline-offset:1px;border-color:var(--mc-brand-primary)}
.cz-field input[aria-invalid="true"],
.cz-field select[aria-invalid="true"],
.cz-field textarea[aria-invalid="true"]{border-color:var(--mc-danger)}
.cz-err{margin:0;font-size:.85rem;color:var(--mc-danger)}

/* --- Consentimiento --- */
.cz-check__label{display:flex;gap:10px;align-items:flex-start;font-weight:400;line-height:1.45;cursor:pointer}
.cz-check__label input{width:auto;flex:none;margin-top:3px}
.cz-check__label span{font-size:.95rem;color:var(--mc-text-secondary)}

/* --- Acciones --- */
.cz-actions{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.cz-note{margin:0;font-size:.85rem;color:var(--mc-text-secondary)}

/* --- Honeypot (oculto sin display:none para no delatar el truco a bots simples) --- */
.cz-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* --- Aside --- */
.cz-aside__card{background:var(--mc-bg-soft);border:1px solid var(--mc-border-default);
  border-radius:var(--mc-radius);padding:24px 22px;position:sticky;top:calc(var(--mc-header-h) + 16px)}
.cz-aside__card h2{font-size:1.15rem;margin:0 0 6px}
.cz-aside__card>p{color:var(--mc-text-secondary);font-size:.95rem;line-height:1.5;margin:0 0 16px}
.cz-aside__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.cz-aside__list li{display:flex;gap:12px;align-items:center}
.cz-aside__ic{flex:none;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;
  background:var(--mc-brand-soft);color:var(--mc-brand-primary)}
.cz-aside__ic svg{width:20px;height:20px}
.cz-aside__list a{color:var(--mc-text-primary);text-decoration:none;font-weight:600}
.cz-aside__list a:hover{color:var(--mc-brand-primary);text-decoration:underline}

/* --- /gracias --- */
.cz-thanks{padding:80px 0}
.cz-thanks__inner{max-width:560px;text-align:center}
.cz-thanks__ic{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;
  background:var(--mc-brand-soft);color:var(--mc-brand-primary);margin:0 auto 18px}
.cz-thanks__ic svg{width:34px;height:34px}
.cz-thanks h1{font-size:2.2rem;margin:0}
.cz-thanks__lead{color:var(--mc-text-secondary);font-size:1.08rem;line-height:1.6;margin:12px 0 26px}
.cz-thanks__cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* --- Responsive --- */
@media (max-width:960px){
  .cz-grid{grid-template-columns:1fr;gap:28px}
  .cz-aside__card{position:static}
}
@media (max-width:768px){
  .cz-hero{padding:38px 0 30px}
  .cz-hero h1{font-size:2rem}
}
@media (max-width:560px){
  .cz-row{grid-template-columns:1fr}
  .cz-thanks{padding:56px 0}
  .cz-thanks__cta .mc-btn{flex:1;justify-content:center}
}
