/* ==========================================================================
   CorreosMX — design system (rediseño institucional, jun 2026)
   Reemplaza el viejo bootstrap+custom. Tokens + componentes. Mobile-first.
   ========================================================================== */

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0}
img{max-width:100%;height:auto}
button,input,select,textarea{font-family:inherit}

/* ---------- Tokens ---------- */
:root{
  --c-primary:#9F2241; --c-primary-dark:#611232; --c-primary-mid:#7A1A36;
  --c-secondary:#235B4E; --c-secondary-dark:#1B473D;
  --c-accent:#BC955C; --c-accent-text:#9A763F;
  --c-bg:#F4F4F6; --c-surface:#FFFFFF; --c-surface-2:#FBFAFB;
  --c-text:#1F2933; --c-text-soft:#4B5563; --c-text-mut:#6B7280; --c-text-faint:#9CA3AE;
  --c-border:#E7E3E5; --c-border-2:#EFEAEC; --c-input-bd:#D7DBE0;
  --c-success:#1E7E34; --c-error:#C0392B; --c-error-text:#A5281B; --c-warn:#B8860B; --c-warn-text:#996F09;
  --font:"Noto Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r-sm:9px; --r-md:11px; --r-lg:14px; --r-xl:16px; --r-pill:999px;
  --sh-card:0 1px 2px rgba(31,41,51,.04);
  --sh-raise:0 8px 24px -14px rgba(31,41,51,.22);
  --sh-float:0 8px 28px -18px rgba(31,41,51,.30);
  --sh-hero:0 24px 50px -18px rgba(40,8,18,.55);
  --sh-btn:0 4px 12px rgba(159,34,65,.28);
  --container:1140px;
}

/* ---------- Base ---------- */
body{font-family:var(--font);background:var(--c-bg);color:var(--c-text);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{color:var(--c-text);margin:0 0 .5em}
p{margin:0 0 1em}
a{color:var(--c-primary);text-decoration:none}
a:hover{text-decoration:underline}
strong{font-weight:700}
:focus-visible{outline:3px solid rgba(159,34,65,.45);outline-offset:2px;border-radius:4px}
@keyframes cm-spin{to{transform:rotate(360deg)}}
@keyframes cm-pulse{0%,100%{box-shadow:0 0 0 0 rgba(159,34,65,.4)}50%{box-shadow:0 0 0 7px rgba(159,34,65,0)}}

/* ---------- Container + grid compat ---------- */
.container,.cm-container{max-width:var(--container);margin:0 auto;padding:0 20px}
.cm-main{max-width:var(--container);margin:0 auto;padding:8px 20px 0}
.row{display:flex;flex-wrap:wrap;margin:0 -10px}
.row>[class*=col-]{padding:0 10px;width:100%;margin-bottom:18px}
.column{padding:0 10px}
@media(min-width:768px){
  .col-sm-1{width:8.333%}.col-sm-2{width:16.66%}.col-sm-3{width:25%}.col-sm-4{width:33.33%}
  .col-sm-5{width:41.66%}.col-sm-6{width:50%}.col-sm-7{width:58.33%}.col-sm-8{width:66.66%}
  .col-sm-9{width:75%}.col-sm-10{width:83.33%}.col-sm-12{width:100%}
  .col-md-2{width:16.66%}.col-md-5{width:41.66%}.col-md-8{width:66.66%}.col-md-12{width:100%}
}

/* ============================ HEADER ============================ */
.cm-topbar{background:var(--c-primary-dark);color:#F4D9E0}
.cm-topbar .cm-container{height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12.5px;letter-spacing:.2px}
.cm-tb-left{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cm-tb-left svg{stroke:var(--c-accent);flex-shrink:0}
.cm-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--c-border);box-shadow:0 1px 3px rgba(31,41,51,.04)}
.cm-header .cm-bar{height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:var(--container);margin:0 auto;padding:0 20px}
.cm-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.cm-logo:hover{text-decoration:none}
.cm-mark{width:46px;height:46px;border-radius:10px;background:linear-gradient(150deg,var(--c-primary),var(--c-primary-dark));display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(159,34,65,.28)}
.cm-mark svg{stroke:#fff;width:26px;height:26px}
.cm-wm{font-size:23px;font-weight:800;letter-spacing:-.3px;color:var(--c-text);line-height:1.05}
.cm-wm b{color:var(--c-primary);font-weight:800}
.cm-sub{display:block;font-size:11.5px;font-weight:600;color:var(--c-text-mut);letter-spacing:.3px}
.cm-nav{display:flex;align-items:center;gap:4px}
.cm-nav a{position:relative;color:var(--c-text);font-weight:600;font-size:15px;padding:22px 14px;display:inline-flex;align-items:center;text-decoration:none}
.cm-nav a:hover{color:var(--c-primary)}
.cm-nav a.is-active::after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:3px;background:var(--c-primary);border-radius:3px 3px 0 0}
.cm-nav .cm-search{margin-left:8px;width:42px;height:42px;border-radius:9px;border:1px solid #E2E4E9;display:inline-flex;align-items:center;justify-content:center;color:var(--c-primary);padding:0}
.cm-menu-btn{display:none;width:46px;height:46px;border-radius:10px;border:1px solid #E2E4E9;background:#fff;align-items:center;justify-content:center;color:var(--c-text);cursor:pointer}
.cm-menu-btn svg{stroke:currentColor}
.cm-mobile-nav{display:none;border-top:1px solid var(--c-border-2);background:#fff;padding:8px 14px 16px}
.cm-mobile-nav a{display:flex;align-items:center;gap:12px;color:var(--c-text);font-weight:600;font-size:16px;padding:14px 12px;border-radius:9px;border-bottom:1px solid #F1ECEE;text-decoration:none}
.cm-mobile-nav a:last-child{border-bottom:0}
.cm-mobile-nav a svg{stroke:var(--c-primary)}
.cm-header.is-open .cm-mobile-nav{display:block}
@media(max-width:860px){.cm-nav{display:none}.cm-menu-btn{display:inline-flex}}

/* ============================ FOOTER ============================ */
.cm-footer{background:#1F2933;color:#C5CAD2;margin-top:56px}
.cm-foot-stripe{background:var(--c-primary-dark);height:5px}
.cm-footer-grid{max-width:var(--container);margin:0 auto;padding:44px 20px 12px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:36px 28px}
.cm-foot-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.cm-foot-brand .mk{width:36px;height:36px;border-radius:8px;background:var(--c-primary);display:flex;align-items:center;justify-content:center}
.cm-foot-brand .mk svg{stroke:#fff}
.cm-foot-brand .wm{font-size:19px;font-weight:800;color:#fff;letter-spacing:-.3px}
.cm-foot-brand .wm b{color:#D98BA1}
.cm-footer h3{font-size:13px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.6px;margin:0 0 14px}
.cm-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.cm-footer ul a{color:#C5CAD2;font-size:14px}
.cm-footer p.desc{font-size:13.5px;line-height:1.6;color:var(--c-text-faint);max-width:300px;margin:0}
.cm-footer .disclaimer{display:flex;gap:12px;align-items:flex-start;max-width:var(--container);margin:8px auto 24px;padding:14px 16px;background:rgba(188,149,92,.1);border:1px solid rgba(188,149,92,.32);border-radius:10px;font-size:12.5px;line-height:1.6;color:#D7B98A}
.cm-footer .disclaimer strong{color:#E7CFA8}
.cm-footer .disclaimer svg{stroke:var(--c-accent);flex-shrink:0;margin-top:1px}
.cm-foot-bottom{border-top:1px solid #323D49}
.cm-foot-bottom .cm-container{padding:18px 20px;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between}
.cm-foot-bottom p{margin:0;font-size:12.5px;color:#7E8794;display:inline-flex;align-items:center;gap:7px}
@media(max-width:760px){.cm-footer-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}

/* ============================ BREADCRUMB ============================ */
.cp-breadcrumb{font-size:13.5px;color:var(--c-text-mut);display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0 4px}
.cp-breadcrumb a{color:var(--c-primary);font-weight:600}
.cp-breadcrumb span:last-child{color:var(--c-text-mut)}

/* ============================ HEADINGS ============================ */
h1{font-size:clamp(26px,4vw,40px);font-weight:800;letter-spacing:-.8px;line-height:1.12;text-wrap:balance;margin:10px 0}
.boxHeading{margin:6px 0 10px}
.boxHeading h1{margin:6px 0 4px}
.boxHeading h2,h2.cm-sec{display:flex;align-items:center;gap:13px;font-size:clamp(22px,3vw,28px);font-weight:800;letter-spacing:-.5px;margin:30px 0 12px}
.boxHeading h2::before,h2.cm-sec::before{content:"";flex-shrink:0;width:5px;height:26px;background:var(--c-primary);border-radius:3px}
h2{font-size:clamp(22px,3vw,28px);font-weight:800;letter-spacing:-.5px}
h3{font-size:18px;font-weight:700}
.subHeading{font-size:16px;font-weight:700}

/* ============================ CARD (.box) ============================ */
.box{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--sh-card);padding:22px;margin-bottom:18px}
.box .text p:last-child{margin-bottom:0}
.text{line-height:1.65}
.cp-intro{color:var(--c-text-soft);margin:14px 0 0}
.cp-count{color:var(--c-text-mut);font-size:13px;margin:0 0 10px}
.cp-search-inline{margin:14px 0 6px}

/* ============================ BUTTONS ============================ */
.btn,.button,.controls a,button[type=submit],input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 22px;height:46px;border-radius:var(--r-md);font-weight:700;font-size:15px;font-family:inherit;border:1.5px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;line-height:1}
.btn,.button,.controls a,.btn-primary,.btn-default,input[type=submit]{background:var(--c-primary);color:#fff;box-shadow:var(--sh-btn)}
.btn:hover,.button:hover,.controls a:hover,.btn-primary:hover,.btn-default:hover,input[type=submit]:hover{background:var(--c-primary-dark);color:#fff;text-decoration:none}
.btn-outline{background:#fff;color:var(--c-primary);border-color:var(--c-primary);box-shadow:none}
.btn-outline:hover{background:rgba(159,34,65,.06);color:var(--c-primary)}
.btn-green{background:var(--c-secondary);box-shadow:0 4px 12px rgba(35,91,78,.25)}
.btn-green:hover{background:var(--c-secondary-dark)}
.controls{margin-top:14px}

/* ============================ FORMS ============================ */
label,.control-label{font-size:13.5px;font-weight:700;color:var(--c-text);display:block;margin-bottom:7px}
.form-control,input[type=text],input[type=number],input[type=search],select{width:100%;height:50px;border:1.5px solid var(--c-input-bd);border-radius:var(--r-md);padding:0 15px;font-size:16px;color:var(--c-text);background:#fff;font-family:inherit}
.form-control:focus,input:focus,select:focus{border-color:var(--c-primary);outline:none}
select{cursor:pointer}
.input-group{display:flex;gap:10px}
.input-group .form-control{flex:1}
.input-group-btn{display:flex}
.form-group{margin-bottom:16px}
.form-inline .form-group{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}
.has-error .form-control,.has-error input{border-color:var(--c-error)}
.text-danger{color:var(--c-error-text);font-size:13px;font-weight:600;display:block;margin-top:6px}
.alert{border-radius:var(--r-md);padding:13px 16px;font-size:14.5px;font-weight:600;margin-bottom:16px}
.alert-danger{background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.3);color:var(--c-error-text)}
/* Track form (rastreo): fila guía | año | botón */
.cm-track-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,.7fr) auto;gap:16px;align-items:end}
.cm-track-form .fld{display:flex;flex-direction:column;gap:8px;min-width:0}
.cm-track-form .fld label{margin:0}
.cm-track-form input#number,.cm-track-form select#year,.cm-track-form button{height:54px}
.cm-track-form input.is-err{border-color:var(--c-error)}
.cm-track-hint{margin:14px 2px 0;font-size:13px;color:var(--c-text-mut);display:flex;align-items:center;gap:7px}
.cm-track-hint strong{color:var(--c-text)}
.cm-spin{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:cm-spin .7s linear infinite;display:inline-block;flex-shrink:0}
@media(max-width:620px){.cm-track-form{grid-template-columns:1fr}}
.cm-pqx-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end}
.cm-pqx-form .fld{display:flex;flex-direction:column;gap:8px;min-width:0}
.cm-pqx-form .fld label{margin:0}
.cm-pqx-form input,.cm-pqx-form button{height:54px}
@media(max-width:620px){.cm-pqx-form{grid-template-columns:1fr}}

/* autocomplete (oficinas) */
.cm-ac{position:relative}
.cm-ac-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--sh-float);max-height:340px;overflow:auto}
.cm-ac-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;border-radius:8px;cursor:pointer}
.cm-ac-list li:hover,.cm-ac-list li[aria-selected=true]{background:var(--c-surface-2)}
.cm-ac-list li .lft{display:flex;align-items:center;gap:9px;min-width:0}
.cm-ac-list li .m{font-weight:700;color:var(--c-text);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-ac-list li .lvl{flex-shrink:0;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:var(--r-pill);white-space:nowrap}
.cm-ac-list li .lvl-e{background:rgba(159,34,65,.1);color:var(--c-primary)}
.cm-ac-list li .lvl-m{background:rgba(35,91,78,.1);color:var(--c-secondary)}
.cm-ac-list li .e{font-size:12.5px;color:var(--c-text-mut);white-space:nowrap;flex-shrink:0}
.cm-ac-list mark.hl{background:rgba(159,34,65,.13);color:var(--c-primary);font-weight:800;border-radius:3px;padding:0 1px}

/* ============================ TABLES ============================ */
#oficinascontent,.infoTable,.cm-table-wrap{overflow-x:auto}
table.cm-table,table.box-table,table.table,#oficinas-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;font-size:14px;min-width:560px;margin:6px 0 12px}
.cm-table th,.box-table th,table.table th,#oficinas-table th,.cm-table tr:first-child td[colspan]{background:var(--c-primary-dark);color:#fff;font-weight:600;font-size:12.5px;text-align:left;padding:13px 16px}
.cm-table td,.box-table td,table.table td,#oficinas-table td{padding:11px 16px;border-top:1px solid var(--c-border-2);color:var(--c-text-soft);vertical-align:top}
.cm-table tbody tr:nth-child(even),.box-table tbody tr:nth-child(even),#oficinas-table tbody tr:nth-child(even){background:var(--c-surface-2)}
.cm-table a,.box-table a,#oficinas-table a{color:var(--c-primary);font-weight:600}
@media(max-width:600px){.mobile-hidden{display:none}}

/* ===== TABLAS RESPONSIVE (mobile-first): cada fila -> tarjeta "etiqueta / valor".
   La etiqueta sale de data-label en cada <td> (o por nth-child en las oficinas pre-generadas).
   Excluye .cm-dict, que ya tiene su propio layout apilado. ===== */
@media(max-width:600px){
  .cm-table-card>.scroll,.cm-table-wrap,.infoTable,#oficinascontent{overflow-x:visible}
  table.cm-table:not(.cm-dict):not(.cm-2col),table.box-table,#oficinas-table{min-width:0;border:0;border-radius:0;background:transparent;font-size:14px;margin:4px 0 8px}
  .cm-table:not(.cm-dict):not(.cm-2col) thead,.box-table thead,#oficinas-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
  .cm-table:not(.cm-dict):not(.cm-2col) tbody tr,.box-table tbody tr,#oficinas-table tbody tr{display:block;background:#fff;border:1px solid var(--c-border);border-radius:12px;box-shadow:var(--sh-card);padding:6px 16px;margin:0 0 12px}
  .cm-table:not(.cm-dict):not(.cm-2col) tbody tr:nth-child(even),.box-table tbody tr:nth-child(even),#oficinas-table tbody tr:nth-child(even){background:#fff}
  .cm-table:not(.cm-dict):not(.cm-2col) tbody td,.box-table tbody td,#oficinas-table tbody td{display:block;padding:9px 0;border:0;border-top:1px solid var(--c-border-2);text-align:left;white-space:normal!important;color:var(--c-text-soft)}
  .cm-table:not(.cm-dict):not(.cm-2col) tbody td:first-child,.box-table tbody td:first-child,#oficinas-table tbody td:first-child{border-top:0}
  .cm-table:not(.cm-dict):not(.cm-2col) tbody td::before,.box-table tbody td::before,#oficinas-table tbody td::before{content:attr(data-label);display:block;margin-bottom:3px;font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--c-text-faint)}
  .cm-table:not(.cm-dict):not(.cm-2col) tbody td:not([data-label])::before,.box-table tbody td:not([data-label])::before{display:none}
  .cm-table:not(.cm-dict):not(.cm-2col) tbody td:empty,.box-table tbody td:empty,#oficinas-table tbody td:empty{display:none}
  /* Oficinas pre-generadas (home / /oficinas-tabla/): 7 columnas fijas; mostramos Nombre y
     Teléfono (mobile-hidden) en la tarjeta y etiquetamos por posición. */
  .infoTable #oficinas-table .mobile-hidden{display:block}
  .infoTable #oficinas-table td:nth-child(3)::before{content:"Oficina";display:block}
  .infoTable #oficinas-table td:nth-child(4)::before{content:"Dirección";display:block}
  .infoTable #oficinas-table td:nth-child(5)::before{content:"Colonia";display:block}
  .infoTable #oficinas-table td:nth-child(6)::before{content:"Municipio";display:block}
  .infoTable #oficinas-table td:nth-child(7)::before{content:"Teléfono";display:block}
  /* Tablas de referencia "2-up" (Estado/Nº · Estado/dígitos): en móvil se aplanan a una
     sola grilla de 2 columnas "nombre -> valor", sin tarjetas ni scroll. */
  table.cm-table.cm-2col{display:block;min-width:0;border:1px solid var(--c-border);border-radius:12px;overflow:hidden;background:#fff;margin:6px 0 12px}
  .cm-table.cm-2col thead{display:none}
  .cm-table.cm-2col tbody{display:grid;grid-template-columns:1fr auto}
  .cm-table.cm-2col tbody tr{display:contents}
  .cm-table.cm-2col tbody td{border:0;border-top:1px solid var(--c-border-2);padding:10px 14px;white-space:normal;color:var(--c-text-soft)}
  .cm-table.cm-2col tbody td:nth-child(odd){font-weight:600;color:var(--c-text)}
  .cm-table.cm-2col tbody td:nth-child(even){text-align:right;color:var(--c-text-faint);font-variant-numeric:tabular-nums}
}

/* ============================ LINK GRID → CHIPS ============================ */
ul.cp-grid{list-style:none;padding:0;margin:14px 0 4px;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
ul.cp-grid li{margin:0}
ul.cp-grid li a{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-md);padding:11px 14px;color:var(--c-text);font-weight:600;font-size:14px;text-decoration:none;box-shadow:var(--sh-card)}
ul.cp-grid li a:hover{border-color:var(--c-primary);box-shadow:var(--sh-raise);text-decoration:none}
ul.cp-grid li small{color:var(--c-primary);background:rgba(159,34,65,.09);border-radius:var(--r-pill);padding:2px 9px;font-size:12px;font-weight:700}

/* ============================ HERO ============================ */
.cm-hero{position:relative;overflow:hidden;border-radius:var(--r-xl);margin:18px 0 0;padding:clamp(34px,5vw,56px) clamp(20px,4vw,48px);background:linear-gradient(135deg,var(--c-primary),var(--c-primary-mid) 55%,var(--c-primary-dark));color:#fff}
.cm-hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1.5px,transparent 1.5px);background-size:22px 22px;pointer-events:none}
.cm-hero>*{position:relative;z-index:1}
.cm-hero .eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border-radius:var(--r-pill);padding:6px 14px;font-size:13px;font-weight:600;margin-bottom:16px}
.cm-hero h1{color:#fff;font-size:clamp(30px,5vw,52px);letter-spacing:-1px;margin:0 0 12px;max-width:18ch}
.cm-hero p.lead{color:rgba(255,255,255,.9);font-size:clamp(15px,2vw,18px);max-width:46ch;margin:0 0 22px}
.cm-hero-card{background:#fff;border-radius:var(--r-xl);box-shadow:var(--sh-hero);padding:20px;max-width:560px;color:var(--c-text)}
.cm-hero-search{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.cm-hero-search .f{flex:1;min-width:200px}

/* ============================ ACTION CARDS ============================ */
.cm-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:-40px 0 8px;position:relative;z-index:2}
.cm-action{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh-raise);text-decoration:none;color:var(--c-text);display:block;transition:box-shadow .15s,transform .15s}
.cm-action:hover{text-decoration:none;box-shadow:var(--sh-float);transform:translateY(-2px)}
.cm-action .ic{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.cm-action.is-primary .ic{background:rgba(159,34,65,.1);color:var(--c-primary)}
.cm-action.is-green .ic{background:rgba(35,91,78,.1);color:var(--c-secondary)}
.cm-action.is-gold .ic{background:rgba(188,149,92,.16);color:var(--c-accent-text)}
.cm-action h2{font-size:18px;margin:0 0 6px;letter-spacing:0}
.cm-action h2::before{display:none}
.cm-action p{color:var(--c-text-mut);font-size:14px;margin:0 0 12px}
.cm-action .go{color:var(--c-primary);font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:6px}

/* ============================ STATS ============================ */
.cm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:16px 0}
/* En desktop, acerca el título que sigue a las stat cards (sólo donde van pegados, p.ej. /oficinas) */
@media(min-width:768px){.cm-stats + .cm-sec{margin-top:16px}}
.cm-stat{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--sh-card)}
.cm-stat .n{font-size:28px;font-weight:800;letter-spacing:-.5px;line-height:1}
.cm-stat .l{color:var(--c-text-mut);font-size:13px;margin-top:6px}
.cm-stat.c1 .n{color:var(--c-primary)}.cm-stat.c2 .n{color:var(--c-secondary)}.cm-stat.c3 .n{color:var(--c-accent-text)}
/* En móvil, el buscador (acción principal) se muestra ANTES que las stats de credibilidad.
   .cm-lead queda como block en desktop (orden y espaciado idénticos) y pasa a flex solo en móvil. */
@media(max-width:600px){
  .cm-lead{display:flex;flex-direction:column}
  .cm-lead .cm-search-card,.cm-lead .cm-sec{order:-1}
  .cm-lead .cm-sec{margin-top:6px}
}

/* ============================ RASTREO: STEPPER + TIMELINE ============================ */
.cm-track{margin-top:24px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:22px}
@media(max-width:820px){.cm-track{grid-template-columns:1fr}}
.cm-stepper{display:flex;align-items:flex-start;justify-content:space-between;gap:4px;overflow-x:auto;padding:6px 0 8px}
.cm-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;min-width:64px;position:relative}
.cm-step .dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1;background:#fff;border:2.5px solid #C9CDD4;color:#9CA3AE}
.cm-step.done .dot{background:var(--c-secondary);border-color:var(--c-secondary);color:#fff}
.cm-step.current .dot{background:var(--c-primary);border-color:var(--c-primary);color:#fff;animation:cm-pulse 1.8s infinite}
.cm-step .line{position:absolute;top:15px;left:50%;right:-50%;height:3px;background:#C9CDD4}
.cm-step.done .line{background:var(--c-secondary)}
.cm-step:last-child .line{display:none}
.cm-step .lb{font-size:11.5px;font-weight:700;color:var(--c-text-faint);text-align:center;line-height:1.2}
.cm-step.done .lb{color:var(--c-secondary)}.cm-step.current .lb{color:var(--c-primary);font-weight:800}
.cm-timeline{position:relative;padding-left:30px;margin-top:8px}
.cm-timeline::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--c-border)}
.cm-ev{position:relative;padding-bottom:24px}
.cm-ev:last-child{padding-bottom:0}
.cm-ev .nd{position:absolute;left:-27px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--c-secondary);border:3px solid #fff;box-shadow:0 0 0 2px var(--c-secondary)}
.cm-ev.head .nd{left:-30px;width:20px;height:20px;background:var(--c-primary);border:4px solid #fff;box-shadow:0 0 0 2px var(--c-primary)}
.cm-ev .top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cm-ev .top b{font-size:15px;font-weight:600}
.cm-ev.head .top b{color:var(--c-primary);font-weight:700}
.cm-ev .ts{font-size:12.5px;color:var(--c-text-faint);white-space:nowrap}
.cm-ev .loc{margin:4px 0 0;font-size:13.5px;color:var(--c-text-mut)}

/* ============================ FAQ ============================ */
details{background:#fff;border:1px solid var(--c-border);border-radius:12px;overflow:hidden;box-shadow:var(--sh-card);margin-bottom:12px}
details>summary{list-style:none;cursor:pointer;padding:16px 20px;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:14px}
details>summary::-webkit-details-marker{display:none}
details>summary::after{content:"+";color:var(--c-primary);font-size:24px;font-weight:400;line-height:1;flex-shrink:0}
details[open]>summary::after{content:"\2212"}
details .faq-body{padding:0 20px 18px;font-size:14.5px;line-height:1.65;color:var(--c-text-mut)}

/* ============================ AD SLOT ============================ */
.cm-ad{margin-top:clamp(34px,5vw,52px);min-height:120px;border:1px dashed #CFD4DB;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--c-surface-2)}
.cm-ad span{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#A8AEB7;font-family:ui-monospace,"SF Mono",Menlo,monospace}

/* ============================ MISC ============================ */
.fancybox img{border-radius:var(--r-md)}
hr{border:0;border-top:1px solid var(--c-border);margin:24px 0}
pre{background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r-md);padding:14px;overflow:auto;font-size:13px}
.stacked{margin-bottom:0}

/* ==================== Fidelidad al diseño (overrides + componentes) ==================== */
html,body{overflow-x:hidden}
.cm-main{padding-top:0}
.cm-container{max-width:var(--container);margin:0 auto;padding:0 20px}

/* page header */
.cm-pagehead{padding:18px 0 10px}
.cm-pagehead h1{margin:0 0 12px}
.cm-pagehead .lead{margin:0;color:var(--c-text-mut);font-size:clamp(15px,2vw,18px);line-height:1.6;max-width:720px}
.cm-pagehead .lead strong{color:var(--c-text)}

/* HERO full-bleed (override) */
.cm-hero{position:relative;left:50%;right:50%;width:100vw;margin:0 -50vw;border-radius:0;overflow:hidden;
  padding:40px 0 clamp(56px,8vw,96px);
  background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-mid) 55%,var(--c-primary-dark) 100%);color:#fff}
.cm-hero>.cm-container{position:relative;z-index:1}
.cm-hero .eyebrow{border:1px solid rgba(255,255,255,.2)}
.cm-hero h1{margin:18px 0 14px;max-width:760px;line-height:1.08}
.cm-hero p.lead{color:#F4D9E0;font-size:clamp(16px,2vw,19px);max-width:600px;margin:0 0 30px}
.cm-hero-card{max-width:680px}
.cm-hero-card label{display:flex;align-items:center;gap:8px;color:var(--c-primary-dark);font-size:13.5px;font-weight:700;margin-bottom:10px}
.cm-hero-card .note{margin:12px 2px 0;font-size:12.5px;color:var(--c-text-mut)}
.cm-hero-card .form-control,.cm-hero-card input{height:52px;flex:1;min-width:200px}
.cm-hero-card .btn{height:52px}

/* actions full overlap */
.cm-actions{gap:18px}
.cm-action{display:flex;flex-direction:column;gap:14px}
.cm-action h2{font-weight:700}
.cm-action .go{margin-top:auto}

/* section heading helper */
.cm-sec{display:flex;align-items:center;gap:13px;margin:clamp(40px,6vw,56px) 0 12px}
.cm-sec::before{content:"";flex-shrink:0;width:5px;height:26px;border-radius:3px;background:var(--c-primary)}
.cm-sec.green::before{background:var(--c-secondary)} .cm-sec.gold::before{background:var(--c-accent)}
.cm-sec-lead{margin:0 0 22px;color:var(--c-text-mut);font-size:16px;max-width:680px;line-height:1.55}

/* search card (CP) */
.cm-search-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-xl);overflow:visible;box-shadow:var(--sh-float);margin-top:18px}
.cm-search-card .stripe{height:6px;border-radius:var(--r-xl) var(--r-xl) 0 0;background:linear-gradient(90deg,var(--c-secondary),var(--c-secondary-dark))}
.cm-search-card .inner{padding:24px}
.cm-search-card label.lbl{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--c-secondary);margin-bottom:10px}
.cm-search-row{display:flex;gap:10px;flex-wrap:wrap}
.cm-search-row input{flex:1;min-width:200px;height:52px}
.cm-search-row .btn-green{height:52px}
/* Autocompletado del buscador de CP (dropdown de sugerencias, alimentado por /api/cp?q=) */
.cm-ac-wrap{position:relative;flex:1;min-width:200px;display:flex}
.cm-search-row .cm-ac-wrap input{width:100%;min-width:0;padding-right:42px}
/* botón limpiar (✕) dentro del input; visible solo cuando hay texto (placeholder oculto) */
.cm-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;padding:0;border:0;background:transparent;color:var(--c-text-faint);display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;z-index:2}
.cm-clear:hover{background:var(--c-surface-2);color:var(--c-text)}
.cm-ac-wrap input:placeholder-shown ~ .cm-clear{display:none}
.cm-ac-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--sh-float);max-height:344px;overflow-y:auto}
.cm-ac-list[hidden]{display:none}
.cm-ac-item{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:9px;cursor:pointer}
.cm-ac-item:hover,.cm-ac-item.active{background:var(--c-surface-2)}
.cm-ac-item .ac-tx{min-width:0}
.cm-ac-item .ac-t{font-size:14.5px;font-weight:600;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-ac-item .ac-s{font-size:12.5px;color:var(--c-text-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-ac-item .ac-cp{flex-shrink:0;font-size:13.5px;font-weight:700;color:var(--c-secondary);font-variant-numeric:tabular-nums}
.cm-ac-item mark{background:transparent;color:var(--c-primary);font-weight:800}
.cm-ac-item.active mark,.cm-ac-item:hover mark{color:var(--c-primary)}
.cm-ac-note{padding:10px 12px;font-size:12.5px;color:var(--c-text-faint);text-align:center}
.cm-search-sub{margin-top:16px;padding-top:16px;border-top:1px solid var(--c-border-2);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cm-search-sub .q{font-size:13.5px;color:var(--c-text-mut);font-weight:600}
.cm-search-sub form{display:flex;gap:8px;align-items:center}
.cm-search-sub input{width:120px;height:44px;text-align:center;letter-spacing:2px}
.cm-search-sub .btn{height:44px;padding:0 18px;font-size:14px}

/* state grid (cards with pin) */
.cm-states{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.cm-states a{background:#fff;border:1px solid var(--c-border);border-radius:11px;padding:14px 16px;text-decoration:none;color:var(--c-text);display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:var(--sh-card)}
.cm-states a:hover{border-color:var(--c-primary);box-shadow:var(--sh-raise);text-decoration:none}
.cm-states a .nm{display:flex;align-items:center;gap:10px;min-width:0;font-weight:600;font-size:14.5px}
.cm-states a .nm svg{stroke:var(--c-primary);flex-shrink:0}
.cm-states a .nm span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-states a .ct{font-size:12px;color:var(--c-text-faint);white-space:nowrap}

/* chips (pills, municipios) */
.cm-chips{display:flex;flex-wrap:wrap;gap:9px;margin:6px 0}
.cm-chips a{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-pill);padding:8px 14px;text-decoration:none;color:var(--c-text);font-size:13.5px;font-weight:600;box-shadow:var(--sh-card)}
.cm-chips a:hover{border-color:var(--c-primary);text-decoration:none}
.cm-chips a b{color:var(--c-primary);font-weight:700;background:rgba(159,34,65,.09);border-radius:var(--r-pill);padding:1px 7px;font-size:11.5px}

/* office ficha */
.cm-ficha{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-float);margin-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.cm-ficha .body{padding:26px}
.cm-ficha .pill{display:inline-flex;align-items:center;gap:7px;background:rgba(159,34,65,.1);color:var(--c-primary);font-weight:700;font-size:12px;padding:5px 11px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:.3px;margin-bottom:14px}
.cm-ficha h2{margin:0 0 4px;font-size:21px;font-weight:800}
.cm-ficha h2::before{display:none}
.cm-ficha .tipo{margin:0 0 18px;font-size:14px;color:var(--c-primary);font-weight:600}
.cm-ficha ul{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:13px}
.cm-ficha ul li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;color:var(--c-text-soft)}
.cm-ficha ul li svg{stroke:var(--c-primary);flex-shrink:0;margin-top:1px}
.cm-ficha ul li a{color:var(--c-primary);font-weight:700}
.cm-ficha .map{background:#EDEAEC;min-height:200px;display:flex;align-items:center;justify-content:center;color:var(--c-text-faint);text-align:center;
  background-image:linear-gradient(135deg,#E7E3E5 25%,transparent 25%),linear-gradient(225deg,#E7E3E5 25%,transparent 25%),linear-gradient(45deg,#E7E3E5 25%,transparent 25%),linear-gradient(315deg,#E7E3E5 25%,transparent 25%);background-position:11px 0,11px 0,0 0,0 0;background-size:22px 22px}
.cm-ficha .map .lbl{font-size:12px;letter-spacing:.5px;font-family:ui-monospace,Menlo,monospace;text-transform:uppercase;margin-top:10px}

/* numbered steps */
.cm-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.cm-step-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh-card)}
.cm-step-card .num{display:inline-flex;width:34px;height:34px;border-radius:9px;background:var(--c-primary);color:#fff;font-weight:800;font-size:16px;align-items:center;justify-content:center;margin-bottom:14px}
/* Color por posición del paso (guinda / verde / dorado / azul, cíclico). Aplica a todos los cm-steps. */
.cm-steps .cm-step-card:nth-child(4n+2) .num{background:#235B4E}
.cm-steps .cm-step-card:nth-child(4n+3) .num{background:#9A763F}
.cm-steps .cm-step-card:nth-child(4n) .num{background:#2D6A9F}
.cm-step-card h3{margin:0 0 7px;font-size:16px}
.cm-step-card p{margin:0;font-size:14px;line-height:1.55;color:var(--c-text-mut)}

/* contact cards */
.cm-cards2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.cm-contact{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh-card)}
.cm-contact .hd{display:flex;align-items:center;gap:11px;margin-bottom:18px}
.cm-contact .hd .ic{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:rgba(159,34,65,.1);color:var(--c-primary)}
.cm-contact.green .hd .ic{background:rgba(35,91,78,.1);color:var(--c-secondary)}
.cm-contact .hd h3{margin:0;font-size:17px}
.cm-contact ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.cm-contact ul li{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #F1ECEE;padding-bottom:13px}
.cm-contact ul li:last-child{border-bottom:0;padding-bottom:0}
.cm-contact ul li span.k{color:var(--c-text-mut);font-size:14px}
.cm-contact ul li a,.cm-contact ul li span.v{color:var(--c-primary);font-weight:700;font-size:15px;text-align:right}
.cm-contact ul li span.v{color:var(--c-text)}

/* table in card + footer */
.cm-table-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-card);margin:0 0 24px}
.cm-table-card .scroll{overflow-x:auto}
.cm-table-card table{border:0;border-radius:0;margin:0;box-shadow:none}
.cm-table-card .foot{padding:14px 18px;background:var(--c-surface-2);border-top:1px solid var(--c-border-2);font-size:13px;color:var(--c-text-mut);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
/* dictionary table: 2-col term+definition -> stacked cards on mobile (no horizontal scroll) */
@media (max-width:600px){
	.cm-table-card .scroll:has(.cm-dict){overflow-x:visible}
	table.cm-dict{min-width:0}
	.cm-dict thead{display:none}
	.cm-dict tbody tr{display:block;padding:13px 16px;border-top:1px solid var(--c-border-2)}
	.cm-dict tbody tr:first-child{border-top:0}
	.cm-dict tbody td{display:block;padding:0;border:0;white-space:normal!important}
	.cm-dict tbody td:first-child{margin-bottom:4px;font-weight:700!important;color:var(--c-text)!important}
}

/* event-type cards */
.cm-evtypes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.cm-evt{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-card)}
.cm-evt .bar{height:5px}
.cm-evt .in{padding:18px}
.cm-evt h3{margin:0 0 9px;font-size:15px;display:flex;align-items:center;gap:8px}
.cm-evt p{margin:0;font-size:13.5px;line-height:1.55;color:var(--c-text-mut)}

/* sepomex/cotizador */
.cm-2col{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:clamp(40px,6vw,56px)}
.cm-card-head{background:var(--c-secondary);color:#fff;padding:16px 22px;font-size:16px;font-weight:700}

/* cross-links row */
.cm-xlinks{margin:clamp(36px,5vw,48px) 0 0;font-size:15px;color:var(--c-text-mut);display:flex;flex-wrap:wrap;gap:8px 18px}
.cm-xlinks a{color:var(--c-primary);font-weight:700}

/* callout box (formats, highlights) */
.cm-callout{background:var(--c-surface-2);border:1px solid var(--c-border);border-left:4px solid var(--c-secondary);border-radius:var(--r-md);padding:18px 20px;margin:4px 0 8px}
.cm-callout .lbl{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c-secondary);margin-bottom:12px}
.cm-callout .codes{display:flex;flex-wrap:wrap;gap:10px}
.cm-callout code,.cm-code{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:14px;background:#fff;border:1px solid var(--c-border);border-radius:6px;padding:7px 12px;color:var(--c-primary);font-weight:600}

/* code block (API examples, embeds) */
.cm-codeblock{position:relative;background:#1F2933;border-radius:var(--r-md);padding:18px 20px;overflow:auto;margin:2px 0}
.cm-codeblock pre{margin:0;background:none;border:0;padding:0;color:#E6EDF3;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:13.5px;line-height:1.6}
.cm-codeblock .tag{position:absolute;top:10px;right:14px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#8B98A5}

/* 404 marker */
.cm-404{font-size:clamp(64px,12vw,104px);font-weight:800;line-height:1;letter-spacing:-3px;color:var(--c-primary);opacity:.18;margin:8px 0 -6px}

/* prose block (free-form HTML from JSON data) */
.cm-prose{color:var(--c-text-soft);font-size:15.5px;line-height:1.7;max-width:760px}
.cm-prose p{margin:0 0 14px}
.cm-prose p:last-child{margin-bottom:0}
.cm-prose strong{color:var(--c-text)}
.cm-prose a{color:var(--c-primary);font-weight:600}
.cm-prose ul,.cm-prose ol{margin:0 0 14px;padding-left:22px}
.cm-prose li{margin:0 0 7px}

/* Diagrama de formato segmentado (nº de guía, código postal…) — reemplaza PNGs raster */
.cm-fmt{max-width:440px;margin:20px 0;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-xl);box-shadow:var(--sh-card);overflow:hidden}
.cm-fmt-head{margin:0;background:var(--c-primary);color:#fff;text-align:center;font-size:12.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:9px 14px}
.cm-fmt-body{display:flex;align-items:flex-start;justify-content:center;gap:clamp(6px,2.4vw,16px);padding:24px clamp(14px,4vw,26px) 22px}
.cm-fmt-seg{display:flex;flex-direction:column;align-items:center;gap:11px;min-width:0}
.cm-fmt-seg .code{font-weight:800;font-size:clamp(26px,7.5vw,40px);line-height:1;letter-spacing:.5px;font-variant-numeric:tabular-nums}
.cm-fmt-seg .tag{position:relative;font-size:clamp(11px,2.4vw,12.5px);font-weight:700;line-height:1;padding:5px 11px;border-radius:var(--r-pill);white-space:nowrap}
.cm-fmt-seg .tag::before{content:"";position:absolute;left:50%;top:-9px;width:2px;height:7px;transform:translateX(-50%);border-radius:2px;background:currentColor;opacity:.45}
.cm-fmt-seg.seg-a .code{color:var(--c-primary)}
.cm-fmt-seg.seg-a .tag{color:var(--c-primary);background:rgba(159,34,65,.10)}
.cm-fmt-seg.seg-b .code{color:var(--c-secondary)}
.cm-fmt-seg.seg-b .tag{color:var(--c-secondary);background:rgba(35,91,78,.10)}
.cm-fmt-seg.seg-c .code{color:var(--c-accent-text)}
.cm-fmt-seg.seg-c .tag{color:var(--c-accent-text);background:rgba(154,118,63,.13)}
.cm-fmt-foot{background:var(--c-surface-2);border-top:1px solid var(--c-border-2);color:var(--c-text-mut);text-align:center;font-size:12.5px;font-weight:600;padding:10px 14px}

/* Mini-timeline de ejemplo (FAQ "qué datos figuran") — refleja el resultado real del rastreo */
.cm-tl-demo{max-width:460px;margin:20px 0;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-xl);box-shadow:var(--sh-card);overflow:hidden}
.cm-tl-demo>.hd{margin:0;padding:13px 20px;border-bottom:1px solid var(--c-border);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--c-text-faint)}
.cm-tl-demo .tl{position:relative;padding:20px 22px 22px 42px}
.cm-tl-demo .tl::before{content:"";position:absolute;left:21px;top:24px;bottom:24px;width:2px;background:var(--c-border)}
.cm-tl-demo .ev{position:relative;padding-bottom:20px}
.cm-tl-demo .ev:last-child{padding-bottom:0}
.cm-tl-demo .ev .nd{position:absolute;left:-27px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--c-secondary);border:3px solid var(--c-surface);box-shadow:0 0 0 2px var(--c-secondary)}
.cm-tl-demo .ev.head .nd{left:-29px;top:1px;width:16px;height:16px;background:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary)}
.cm-tl-demo .ev .row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cm-tl-demo .ev .ti{margin:0;font-size:14.5px;font-weight:600;color:var(--c-text)}
.cm-tl-demo .ev.head .ti{color:var(--c-primary);font-weight:700}
.cm-tl-demo .ev .ts{font-size:12.5px;color:var(--c-text-faint);white-space:nowrap}
.cm-tl-demo .ev .lo{margin:4px 0 0;font-size:13px;color:var(--c-text-mut)}
