/* =============================================================================
   convocatoria.css — Rediseño de la página pública de evento (evento.php)
   Mobile-first, MODO CLARO. Todo bajo el scope .cv para no chocar con el CSS
   legacy ni con el formulario de inscripción. Basado en el hi-fi de Claude Design.
   ============================================================================= */
/* Nunito + Barlow ya los carga tokens.css; NO usar @import aquí (render-blocking). */

.cv {
  --cv-green: #00E276;
  --cv-green-press: #00c268;
  --cv-green-soft: rgba(0, 226, 118, .14);
  --cv-blue: #0099FF;
  --cv-purple: #B748FF;
  --cv-purple-soft: rgba(183, 72, 255, .13);
  --cv-red: #FC445F;
  --cv-orange: #FF7639;
  --cv-orange-soft: rgba(255, 118, 57, .15);
  --cv-yellow: #FFC55F;
  --cv-ink: #131319;
  --cv-t2: #5A5A66;
  --cv-muted: #8A8A99;
  --cv-page: #F5F6F8;
  --cv-card: #FFFFFF;
  --cv-line: #E3E5EA;
  --cv-hair: rgba(0, 0, 0, .08);
  --cv-nun: 'Nunito', system-ui, -apple-system, sans-serif;
  --cv-bar: 'Barlow', system-ui, sans-serif;
  --cv-sh-sm: 0 1px 3px rgba(19, 19, 25, .07);
  --cv-sh: 0 2px 6px rgba(19, 19, 25, .05), 0 10px 26px rgba(19, 19, 25, .07);
  --cv-sh-lg: 0 8px 20px rgba(19, 19, 25, .10), 0 24px 60px rgba(19, 19, 25, .14);

  background: var(--cv-page);
  font-family: var(--cv-nun);
  color: var(--cv-ink);
  -webkit-font-smoothing: antialiased;
  padding-bottom: 96px; /* espacio para la barra fija */
}
.cv * { box-sizing: border-box; }
.cv .num { font-family: var(--cv-bar); font-variant-numeric: tabular-nums; font-feature-settings: 'tnum'; }
/* .cv-ic NO fija font-family: hereda la de .material-symbols-sharp del sistema */
.cv .cv-ic { line-height: 1; vertical-align: middle; }

/* ---------- Botones ---------- */
.cv .cv-btn {
  border: none; cursor: pointer; font-family: var(--cv-nun); font-weight: 900;
  background: var(--cv-green); color: var(--cv-ink);
  border-radius: 13px; padding: 14px; font-size: 16px;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  transition: transform .12s ease;
}
.cv .cv-btn:active { transform: translateY(1px) scale(.99); }
.cv .cv-btn--primary { box-shadow: 0 6px 18px rgba(0, 226, 118, .32); width: 100%; }
.cv .cv-btn--sm { padding: 8px 15px; font-size: 12.5px; font-weight: 800; border-radius: 10px; }
.cv .cv-btn--ghost {
  background: var(--cv-card); color: var(--cv-ink);
  border: 1px solid var(--cv-line); box-shadow: var(--cv-sh-sm);
}

/* ---------- Layout ---------- */
.cv-body { max-width: 640px; margin: 0 auto; }
.cv-sec { padding: 22px 16px 4px; }
/* Reset de tipografía dentro de .cv: el CSS legacy del sitio ponía los títulos
   en verde/mayúsculas/centrados. El handoff los quiere negros, a la izquierda y
   sin mayúsculas (solo el ícono va en verde). */
.cv h1, .cv h2, .cv h3 { text-transform: none; text-align: left; color: var(--cv-ink); }
.cv .cv-sec__head { display: flex; align-items: center; justify-content: flex-start; gap: 8px; margin-bottom: 12px; text-align: left; }
.cv .cv-sec__head .cv-ic { font-size: 19px; color: var(--cv-green-press); }
.cv .cv-sec__head h2 { margin: 0; font-size: 16px; font-weight: 800; color: var(--cv-ink); text-transform: none; letter-spacing: normal; text-align: left; }
.cv .cv-card {
  background: var(--cv-card); border: 1px solid var(--cv-hair);
  border-radius: 16px; box-shadow: var(--cv-sh-sm); overflow: hidden;
}

/* ---------- HERO (variante Tarjeta) ---------- */
.cv-hero { position: relative; }
.cv-hero__banner {
  height: 240px; background-size: cover; background-position: center 26%;
}
.cv-hero__card {
  margin: -46px 16px 0; position: relative; max-width: 620px;
  margin-left: auto; margin-right: auto;
  background: var(--cv-card); border: 1px solid var(--cv-hair);
  border-radius: 20px; padding: 18px; box-shadow: var(--cv-sh);
}
@media (min-width: 640px) { .cv-hero__card { margin-left: auto; margin-right: auto; } }
.cv-hero__badges { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 4px; }
.cv-badge, .cv-pill {
  font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  padding: 5px 10px; border-radius: 99px; display: inline-flex; align-items: center; gap: 4px;
}
.cv-badge--open { background: var(--cv-green); color: var(--cv-ink); }
.cv-badge--closed { background: var(--cv-red); color: #fff; }
.cv-pill--disc { background: var(--cv-purple-soft); color: var(--cv-purple); }
.cv-hero__logo {
  margin: 12px 0 0; width: 64px; height: 64px; border-radius: 14px; overflow: hidden;
  background: var(--cv-page); border: 1px solid var(--cv-line);
  display: flex; align-items: center; justify-content: center;
}
.cv-hero__logo img { width: 100%; height: 100%; object-fit: contain; }
.cv-title { margin: 11px 0 0; font-weight: 900; font-size: 30px; line-height: 1; letter-spacing: -.02em; }
.cv-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 12px; font-size: 13px; font-weight: 700; color: var(--cv-t2); }
.cv-meta__item { display: inline-flex; align-items: center; gap: 6px; }
.cv-meta__item .cv-ic { font-size: 17px; color: var(--cv-green-press); }
.cv-count {
  display: flex; align-items: center; gap: 8px; margin-top: 15px;
  padding: 12px; background: var(--cv-page); border-radius: 13px;
}
.cv-count > .cv-ic { font-size: 20px; color: var(--cv-orange); }
.cv-count__lbl { font-size: 11px; font-weight: 700; color: var(--cv-t2); }
.cv-count__row { margin-left: auto; display: flex; gap: 10px; text-align: center; align-items: center; }
.cv-count__cell { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; min-width: 34px; }
.cv-count__cell .num { font-size: 22px; font-weight: 800; line-height: 1; display: block; text-align: center; }
.cv-count__cell small { display: block; text-align: center; font-size: 8.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--cv-muted); }
.cv-count__sep { color: var(--cv-line); font-size: 20px; font-weight: 800; }
.cv-hero__card .cv-btn--primary { margin-top: 14px; }
.cv-trust {
  text-align: center; margin: 8px 0 0; font-size: 11px; font-weight: 600; color: var(--cv-t2);
  display: flex; align-items: center; justify-content: center; gap: 6px;
}
.cv-trust .cv-ic { font-size: 14px; color: var(--cv-green-press); }
.cv-social {
  display: flex; justify-content: center; gap: 9px; margin-top: 13px;
  padding-top: 13px; border-top: 1px solid var(--cv-line);
}
.cv-social a {
  width: 34px; height: 34px; border-radius: 99px; background: var(--cv-page);
  display: flex; align-items: center; justify-content: center; text-decoration: none;
}
.cv-social a img { width: 17px; height: 17px; }

/* ---------- DATOS DEL EVENTO ---------- */
.cv-datos__row { display: flex; align-items: center; gap: 12px; padding: 13px 15px; }
/* Móvil: 2 por renglón (Fecha+Salida, Sede+Estado); el aviso ocupa todo el ancho */
.cv .cv-datosCard { display: grid; grid-template-columns: 1fr 1fr; padding: 6px 8px; }
.cv .cv-datosCard .cv-datos__row--full { grid-column: 1 / -1; }
.cv-datos__ic { width: 34px; height: 34px; border-radius: 10px; background: var(--cv-green-soft); display: flex; align-items: center; justify-content: center; flex: none; }
.cv-datos__ic .cv-ic { font-size: 19px; color: var(--cv-green-press); }
.cv-datos__label { font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--cv-muted); }
.cv-datos__valwrap { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 2px; }
.cv-datos__val { font-size: 14px; font-weight: 700; color: var(--cv-ink); }
.cv-tag { font-size: 9.5px; font-weight: 800; padding: 3px 8px; border-radius: 99px; display: inline-flex; align-items: center; gap: 4px; }
.cv-tag--up { background: var(--cv-orange-soft); color: var(--cv-orange); }
.cv-tag--close { background: rgba(252, 68, 95, .13); color: var(--cv-red); }
.cv-tag .cv-ic { font-size: 12px; }

/* ---------- DISTANCIAS ---------- */
/* Contenedor: transparente (que solo se vean las tarjetas de cada distancia) */
.cv .cv-distCard { display: flex; flex-direction: column; gap: 11px; background: transparent; border: 0; box-shadow: none; border-radius: 0; overflow: visible; padding: 0; }
.cv-dist__row { background: var(--cv-card); border: 1px solid var(--cv-hair); border-radius: 15px; box-shadow: var(--cv-sh-sm); padding: 14px 15px; display: flex; flex-direction: column; gap: 6px; }
.cv-dist__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cv-dist__name { line-height: 1.05; }
.cv-dist__price { line-height: 1; }
.cv-dist__cta { width: 100%; padding: 11px; font-size: 14px; border-radius: 11px; }
.cv-dist__info { min-width: 0; }
.cv-dist__name { font-size: 22px; font-weight: 900; letter-spacing: -.01em; }
.cv-dist__pricewrap { text-align: right; flex: none; }
.cv-dist__price { font-size: 26px; font-weight: 800; line-height: 1; color: var(--cv-green-press); }
.cv-dist__serv { font-size: 10px; font-weight: 600; color: var(--cv-muted); }
.cv-dist__urg { font-size: 12px; font-weight: 800; color: var(--cv-red); display: flex; align-items: center; gap: 5px; }
.cv-dist__urg p { margin: 0; }
.cv-dist__urg:empty { display: none; }
.cv-prepago { margin-top: 11px; display: flex; align-items: center; gap: 9px; padding: 11px 13px; background: var(--cv-green-soft); border-radius: 12px; }
.cv-prepago .cv-ic { font-size: 18px; color: var(--cv-green-press); }
.cv-prepago div { font-size: 12px; font-weight: 700; color: var(--cv-ink); }

/* ---------- ACCIONES RÁPIDAS ---------- */
.cv-acc__stack { display: flex; flex-direction: column; gap: 11px; }
.cv-acc__btn {
  width: 100%; border: 1px solid var(--cv-line); cursor: pointer; background: var(--cv-card);
  border-radius: 14px; padding: 14px 15px; display: flex; align-items: center; gap: 12px;
  box-shadow: var(--cv-sh-sm); font-family: var(--cv-nun); text-align: left;
}
.cv-acc__btn .cv-ic { font-size: 22px; }
.cv-acc__btn .cv-acc__ic--cal { color: var(--cv-blue); }
.cv-acc__btn .cv-acc__ic--rec { color: var(--cv-purple); }
.cv-acc__btn span.cv-acc__txt { font-size: 13.5px; font-weight: 800; color: var(--cv-ink); }
.cv-acc__btn .cv-acc__chev { margin-left: auto; color: var(--cv-muted); transition: transform .2s ease; }
.cv-acc__btn[aria-expanded="true"] .cv-acc__chev { transform: rotate(180deg); }

/* Panel de calendario (reusa el JS existente; solo restyle bajo .cv) */
.cv .panelCalendario {
  max-width: none; margin: 11px 0 0; padding: 15px; border-radius: 14px;
  background: var(--cv-card); border: 1px solid var(--cv-hair); box-shadow: var(--cv-sh);
  text-align: left; color: var(--cv-ink);
}
.cv .panelCalendario__titulo { font-size: 13px; font-weight: 800; margin: 0 0 11px; color: var(--cv-ink); }
.cv .panelCalendario__opciones label,
.cv #panelCalendario__opciones label {
  display: flex; align-items: center; gap: 10px; padding: 11px 13px; cursor: pointer;
  color: #131319 !important; border: 1px solid var(--cv-line); background: var(--cv-page);
  border-radius: 11px; margin-bottom: 8px; font-size: 12.5px; font-weight: 700;
}
.cv .panelCalendario__acciones { display: flex; gap: 9px; margin-top: 5px; }
.cv .panelCalendario__acciones .cv-btn { flex: 1; }
.cv .panelCalendario__nota { font-size: 11px; color: var(--cv-muted); margin: 10px 0 0; }

/* ---------- Recupera tu confirmación: panel inline (ya no modal full-screen) ---------- */
#boxConfirmacion.rc-inline {
  position: static !important; inset: auto !important;
  width: 100% !important; height: auto !important; min-height: 0 !important;
  max-width: none !important; margin: 11px 0 0 !important; z-index: auto !important;
  background: var(--cv-card) !important; border: 1px solid var(--cv-hair);
  border-radius: 16px; box-shadow: var(--cv-sh); animation: none !important;
  display: none; overflow: hidden;
}
#boxConfirmacion.rc-inline .contenedorColumnas { max-width: none !important; padding: 16px !important; }
#boxConfirmacion.rc-inline .btnCerrarVentanas { top: 12px; right: 12px; }

/* ---------- COMPARTIR ---------- */
.cv-compartir { padding: 15px; }
.cv-compartir__head { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.cv-compartir__head .cv-ic { font-size: 18px; color: var(--cv-t2); }
.cv-compartir__head span { font-size: 13px; font-weight: 800; }
.cv-share { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.cv .cv-share__btn { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 7px; text-decoration: none; background: transparent; border: 0; padding: 0; cursor: pointer; font-family: var(--cv-nun); }
.cv-share__ic { width: 46px; height: 46px; border-radius: 99px; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 19px; flex: none; }
.cv-share__ic--rect { width: 100%; border-radius: 14px; }
.cv-share__ic svg { display: block; }
.cv-share__ic .cv-ic { line-height: 1; }                         /* centra verticalmente (correo) */
.cv-share__ic--rect .cv-ic { font-size: 26px; }                  /* ícono de enlace más grande */
.cv-share__ic svg { width: 30px; height: 30px; }                 /* WhatsApp/SMS más grandes */
.cv-share__img { width: 52px; height: 52px; display: block; flex: none; filter: drop-shadow(0 4px 9px rgba(19, 19, 25, .18)); }
.cv-share__lbl { font-size: 10.5px; font-weight: 700; color: var(--cv-t2); text-align: center; line-height: 1.2; }
/* Etiquetas de una sola línea → todos los botones misma altura, íconos alineados. */
.cv .cv-share { align-items: flex-start; }
.cv .cv-share__lbl { white-space: nowrap; }

/* ---------- CONVOCATORIA ---------- */
.cv-conv { position: relative; padding: 18px; }
.cv-conv__body { max-height: none; overflow: hidden; }
.cv-conv__body.is-collapsed { max-height: 220px; }
.cv-conv__fade { position: absolute; left: 0; right: 0; height: 80px; background: linear-gradient(180deg, rgba(255, 255, 255, 0), var(--cv-card)); pointer-events: none; }
.cv-conv__toggle {
  margin-top: 14px; width: 100%; border: 1px solid var(--cv-line); cursor: pointer;
  background: var(--cv-page); color: var(--cv-green-press); font-family: var(--cv-nun);
  font-weight: 800; font-size: 13px; padding: 11px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center; gap: 6px;
}
.cv-conv__toggle .cv-ic { font-size: 18px; }
/* la convocatoria viene de Quill: legibilidad editorial */
.cv-conv__body.ql-editor { padding: 0; font-family: var(--cv-nun); color: var(--cv-t2); }
.cv-conv__body.ql-editor h1, .cv-conv__body.ql-editor h2, .cv-conv__body.ql-editor h3 { color: var(--cv-ink); }
.cv-conv__body.ql-editor img { max-width: 100%; height: auto; border-radius: 10px; }
/* El HTML de la convocatoria trae sus propias tablas (barras laterales de color,
   precios, categorías) con anchos y colores INLINE. Las reglas globales de
   componentes.css (`table{width:100%}` y `tbody td{padding:12px 16px;border-bottom}`)
   se filtran a este HTML arbitrario y lo deforman: con table-layout auto la barra
   de 4px se engorda y se meten padding/bordes ajenos. Respetar el layout inline
   dentro del contenedor: fixed honra el width:4px de las barras; sin padding/border. */
.cv-conv__body.ql-editor table { table-layout: fixed; }
.cv-conv__body.ql-editor td { padding: 0; border: 0; }

/* ---------- ORGANIZADOR ---------- */
.cv-org {
  margin: 24px 16px 0; background: var(--cv-ink); border-radius: 16px; padding: 18px;
  display: flex; align-items: center; gap: 13px;
}
.cv-org__logo { width: 48px; height: 48px; border-radius: 99px; object-fit: contain; background: #fff; flex: none; border: 2px solid var(--cv-green); }
.cv-org__meta { min-width: 0; flex: 1; }
.cv-org__over { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; color: var(--cv-muted); }
.cv-org__name { font-size: 15px; font-weight: 800; color: #fff; }
.cv-org__sub { font-size: 11.5px; font-weight: 600; color: rgba(255, 255, 255, .6); }
.cv-org__pb { flex: none; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.cv-org__pb img { height: 28px; width: auto; display: block; }

/* ---------- BARRA FIJA (móvil) ---------- */
.cv-sticky {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
  padding: 11px 14px calc(11px + env(safe-area-inset-bottom));
  background: var(--cv-ink); display: flex; align-items: center; gap: 11px;
}
.cv-sticky__block { flex: none; }
.cv-sticky__block--sep { padding-left: 11px; border-left: 1px solid rgba(255, 255, 255, .14); }
.cv-sticky__lbl { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--cv-muted); }
.cv-sticky__val { font-size: 20px; font-weight: 800; line-height: 1; color: #fff; }
.cv-sticky__val--warn { color: var(--cv-yellow); }
.cv-sticky .cv-btn { margin-left: auto; flex: none; padding: 13px 20px; font-size: 14px; border-radius: 12px; }

/* ---------- Tarjeta de inscripción (aside, solo desktop) ---------- */
.cv-inscard { background: var(--cv-card); border: 1px solid var(--cv-hair); border-radius: 18px; box-shadow: var(--cv-sh); padding: 22px; }
.cv-inscard__top { display: flex; align-items: flex-end; justify-content: space-between; }
.cv-inscard__lbl { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--cv-muted); }
.cv-inscard__price { font-size: 40px; font-weight: 800; line-height: .95; }
.cv-inscard__price span { font-family: var(--cv-nun); font-size: 14px; font-weight: 700; color: var(--cv-muted); }
.cv-inscard__close { font-size: 30px; font-weight: 800; line-height: 1; color: var(--cv-red); }
.cv-inscard .cv-btn--primary { font-size: 17px; padding: 16px; }

/* ---------- HERO DESKTOP (inmersivo full-bleed) — solo ≥960px ---------- */
.cv-heroD { display: none; }
.cv-heroD { position: relative; min-height: 460px; align-items: flex-end; color: #fff; background-size: cover; background-position: center 30%; }
.cv-heroD__bar { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 1240px; display: flex; align-items: center; justify-content: space-between; padding: 22px 40px; }
.cv-heroD__org { display: flex; align-items: center; gap: 11px; }
.cv-heroD__orglogo { width: 44px; height: 44px; border-radius: 12px; background: #fff; object-fit: contain; flex: none; }
.cv-heroD__orgname { font-size: 14px; font-weight: 800; }
.cv-heroD__orgsub { font-size: 11px; color: rgba(255, 255, 255, .72); font-weight: 600; }
.cv-heroD__social { display: flex; gap: 10px; }
.cv-heroD__social a { width: 38px; height: 38px; border-radius: 99px; background: rgba(255, 255, 255, .16); display: flex; align-items: center; justify-content: center; text-decoration: none; }
.cv-heroD__social a img { width: 19px; height: 19px; }
.cv-heroD__inner { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 40px 44px; }
.cv-heroD__badges { display: flex; gap: 8px; flex-wrap: wrap; }
.cv-pill--glass { background: rgba(255, 255, 255, .16); color: #fff; backdrop-filter: blur(4px); }
.cv .cv-heroD__title { margin: 16px 0 0; font-weight: 900; font-size: 60px; line-height: .96; letter-spacing: -.025em; color: #fff; }
.cv-heroD__meta { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 16px; font-size: 16px; font-weight: 700; color: #fff; }
.cv-heroD__meta .cv-meta__item { color: #fff; }
.cv-heroD__meta .cv-meta__item .cv-ic { color: var(--cv-green); font-size: 21px; }

/* ---------- Cronómetro dentro de la tarjeta de inscripción (desktop) ---------- */
.cv-inscard__count { display: flex; gap: 8px; margin-top: 16px; }
.cv-inscard__cell { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: var(--cv-page); border-radius: 12px; padding: 10px 4px; }
.cv-inscard__cell .num { font-size: 24px; font-weight: 800; line-height: 1; display: block; }
.cv-inscard__cell small { font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cv-muted); }

/* ---------- MÓVIL: columna única con el orden del mockup móvil ---------- */
.cv-body { display: flex; flex-direction: column; }
.cv-main, .cv-aside { display: contents; } /* aplanan para poder reordenar por 'order' */
.cv-inscard { display: none; }             /* la tarjeta de inscripción es solo desktop */
.cv-o1 { order: 1; }
.cv-o2 { order: 2; }
.cv-o3 { order: 3; } /* Acciones rápidas (calendario/recupera/compartir) tras distancias */
.cv-o4 { order: 4; }
.cv-o5 { order: 5; }

/* ---------- DESKTOP: 2 columnas + aside sticky (como el mockup PC) ---------- */
@media (min-width: 960px) {
  .cv-hero { display: none; }      /* oculta el hero Tarjeta (móvil) */
  .cv-heroD { display: flex; }     /* muestra el hero inmersivo (PC) */
  .cv-body {
    display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 32px;
    align-items: start; max-width: 1120px; margin: 0 auto; padding: 12px 24px 0;
  }
  .cv-main, .cv-aside { display: block; }
  .cv-main { grid-column: 1; min-width: 0; }
  .cv-main > * { order: 0; }               /* en desktop el orden lo da el DOM/grid */
  .cv-aside { grid-column: 2; position: sticky; top: 24px; display: flex; flex-direction: column; gap: 16px; }
  .cv-inscard { display: block; }
  .cv-sec { padding: 0; margin-bottom: 26px; }
  .cv-aside .cv-sec { margin-bottom: 0; }
  .cv .cv-sec__head { margin-bottom: 14px; }
  .cv .cv-sec__head h2 { font-size: 20px; }
  .cv .cv-sec__head .cv-ic { font-size: 22px; }
  /* Datos del evento en PC: 3 columnas × 2 renglones, sin líneas divisorias */
  .cv .cv-datosCard { display: grid; grid-template-columns: repeat(3, 1fr); padding: 6px 8px; }
  .cv-datosCard .cv-datos__row { padding: 15px 16px; }
  /* Distancias en PC: grid de 2 columnas */
  .cv .cv-distCard { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .cv-distCard .cv-dist__row { padding: 16px; gap: 7px; }
  .cv-distCard .cv-dist__name { font-size: 26px; }
  .cv-distCard .cv-dist__price { font-size: 28px; }
  .cv-distCard .cv-dist__serv { font-size: 10.5px; }
  .cv-distCard .cv-dist__cta { font-size: 14.5px; padding: 12px; }
  .cv-distCard .cv-dist__urg { font-size: 12px; }
  /* Datos del evento (PC) — tamaños del handoff */
  .cv-datosCard .cv-datos__ic { width: 38px; height: 38px; }
  .cv-datosCard .cv-datos__ic .cv-ic { font-size: 21px; }
  .cv-datosCard .cv-datos__label { font-size: 11px; }
  .cv-datosCard .cv-datos__val { font-size: 14.5px; }
  /* Acciones rápidas (PC) */
  .cv-acc__btn span.cv-acc__txt { font-size: 14px; }
  .cv-acc__btn .cv-ic { font-size: 22px; }
  /* Compartir (PC) */
  .cv-compartir__head span { font-size: 14px; }
  .cv-share__ic { width: 48px; height: 48px; font-size: 20px; }
  .cv-share__lbl { font-size: 11px; }
  .cv-org { margin: 0; max-width: none; }
  .cv-sticky { display: none; }            /* en desktop manda la tarjeta sticky */
  .cv { padding-bottom: 40px; }
}
