/* ============================================================================
   CSS de las secciones de landing, heredado de todoplanes.cl/comparar-isapres/
   ----------------------------------------------------------------------------
   OJO: en todoplanes esto NO vive en styles.css sino en tres bloques <style>
   dentro del propio index.html de esa pagina. Por eso, al enlazar solo
   styles.css, el hero y las secciones tpc-* quedaban SIN estilos.

   Contenido: (1) critical CSS del layout — .tp-container, .tp-eyebrow,
   .tp-button, .tp-navbar; (2) las secciones tpc-* del comparador;
   (3) el wrapper de Tom Select para que el selector de comuna calce con los
   demas campos del formulario.

   Los colores salen de las variables --tp-*, que este sitio sobrescribe en el
   bloque scopado a body.tp-page-primerotusalud (ver build.py).
   ============================================================================ */
@font-face{font-family:'Poppins Fallback';src:local('Arial');size-adjust:112.16%;ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%} html{scroll-behavior:smooth}body{font-family:'Poppins','Poppins Fallback',sans-serif;background:var(--tp-bg-main);color:var(--tp-text-main);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img{max-width:100%;height:auto;display:block}.tp-container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:24px}.tp-section>.tp-container{position:relative;z-index:1}.tp-eyebrow{display:inline-block;padding:6px 16px;background:rgba(0, 103, 178,0.06);color:var(--tp-blue-bright);border-radius:var(--tp-radius-pill);font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:1.2rem;border:1px solid rgba(0, 103, 178,0.12)}.tp-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 32px;font-family:inherit;font-size:0.95rem;font-weight:700;text-decoration:none;border-radius:var(--tp-radius-sm);transition:all var(--tp-transition);border:none;cursor:pointer;white-space:nowrap;letter-spacing:-0.01em}.tp-button--primary{background:var(--tp-blue-navy);color:white}.tp-button--primary:hover{background:#1a2536;transform:translateY(-2px);box-shadow:0 8px 24px rgba(36,51,76,0.25)}.tp-button--secondary{background:transparent;color:var(--tp-blue-navy);border:2px solid var(--tp-border)}.tp-button--secondary:hover{border-color:var(--tp-blue-navy);background:rgba(36,51,76,0.03);transform:translateY(-2px)}.tp-banner .tp-eyebrow{background:rgba(255,255,255,0.1);color:var(--tp-green);border-color:rgba(255,255,255,0.15)}.tp-banner .tp-button--primary{background:var(--tp-green)}.tp-banner .tp-button--primary:hover{background:var(--tp-green-dark);box-shadow:0 8px 24px rgba(97,217,127,0.3)}.tp-banner .tp-button--secondary{border-color:rgba(255,255,255,0.3);color:white}.tp-banner .tp-button--secondary:hover{border-color:white;background:rgba(255,255,255,0.08)}@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.tp-navbar{position:sticky;top:0;z-index:200;background:rgba(255,255,255,0.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--tp-border);transition:box-shadow var(--tp-transition)}.tp-navbar.is-scrolled{box-shadow:0 4px 24px rgba(36,51,76,0.08)}.tp-navbar__inner{display:flex;align-items:center;justify-content:space-between;height:84px;gap:16px}.tp-navbar__logo{flex-shrink:0;display:flex;align-items:center;text-decoration:none}.tp-navbar__logo img{height:56px;width:auto;display:block}.tp-navbar__links{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}.tp-navbar__links a{display:block;padding:8px 14px;font-size:0.88rem;font-weight:500;color:var(--tp-text-light);text-decoration:none;border-radius:var(--tp-radius-sm);transition:color var(--tp-transition),background var(--tp-transition);white-space:nowrap}.tp-navbar__links a:hover,.tp-navbar__links a[aria-current="page"]{color:var(--tp-blue-bright);background:rgba(0, 103, 178,0.06)}.tp-navbar__actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.tp-button--cta{background:var(--tp-blue-bright);color:white;font-size:0.88rem;font-weight:700;padding:0 22px;min-height:42px;border-radius:var(--tp-radius-sm);text-decoration:none;display:inline-flex;align-items:center;transition:background var(--tp-transition),transform var(--tp-transition),box-shadow var(--tp-transition)}.tp-button--cta:hover{background:#0050a0;transform:translateY(-1px);box-shadow:0 6px 18px rgba(0, 103, 178,0.28)}.tp-navbar__burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:transparent;border:none;cursor:pointer;padding:6px;border-radius:var(--tp-radius-sm);transition:background var(--tp-transition)}.tp-navbar__burger:hover{background:rgba(0, 103, 178,0.06)}.tp-navbar__burger span{display:block;width:100%;height:2px;background:var(--tp-blue-navy);border-radius:2px;transition:transform 0.3s ease,opacity 0.3s ease,width 0.3s ease}.tp-navbar__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.tp-navbar__burger[aria-expanded="true"] span:nth-child(2){opacity:0;width:0}.tp-navbar__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width:860px){.tp-navbar__burger{display:flex}.tp-navbar__links{position:absolute;top:68px;left:0;right:0;background:white;border-bottom:1px solid var(--tp-border);flex-direction:column;align-items:stretch;padding:12px 16px 20px;gap:4px;box-shadow:0 12px 32px rgba(36,51,76,0.1);opacity:0;transform:translateY(-8px);pointer-events:none;visibility:hidden;transition:opacity 0.25s ease,transform 0.25s ease,visibility 0.25s}.tp-navbar__links.is-open{opacity:1;transform:translateY(0);pointer-events:auto;visibility:visible}.tp-navbar__links a{padding:11px 14px;font-size:0.95rem;border-radius:var(--tp-radius-sm)}}@media (max-width:480px){.tp-navbar__inner{height:68px}.tp-navbar__links{top:68px}.tp-navbar__logo img{height:42px}.tp-button--cta{font-size:0.82rem;padding:0 16px;min-height:38px}}.tp-button--cta-white{display:inline-flex;align-items:center;justify-content:center;padding:0 22px;min-height:44px;background:white;color:var(--tp-blue-bright);font-size:0.88rem;font-weight:700;border-radius:var(--tp-radius-sm);text-decoration:none;align-self:flex-start;transition:background var(--tp-transition),box-shadow var(--tp-transition)}.tp-button--cta-white:hover{background:#f0f7ff;box-shadow:0 4px 14px rgba(0,0,0,0.12)}.tp-marquee-wrap{position:relative;overflow:hidden;margin-top:48px;-webkit-mask-image:linear-gradient( to right,transparent 0%,black 8%,black 92%,transparent 100% );mask-image:linear-gradient( to right,transparent 0%,black 8%,black 92%,transparent 100% )}#autoridad + .tp-marquee-wrap{margin-top:20px}.tp-marquee-track{display:flex;width:max-content;animation:tp-marquee-scroll 32s linear infinite}.tp-marquee-track:hover{animation-play-state:paused}.tp-marquee-set{display:flex;align-items:center;gap:64px;padding-right:64px;flex-shrink:0}.tp-marquee-logo{height:40px;width:auto;max-width:160px;object-fit:contain;filter:brightness(0) invert(0.35);opacity:0.75;transition:opacity 0.25s ease,filter 0.25s ease;flex-shrink:0;display:block}.tp-marquee-logo:hover{opacity:1;filter:brightness(0) invert(0.15)}@keyframes tp-marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes tp-blob-morph{0%{border-radius:60% 40% 55% 45% / 50% 55% 45% 50%}33%{border-radius:45% 55% 40% 60% / 55% 45% 55% 45%}66%{border-radius:55% 45% 60% 40% / 45% 55% 45% 55%}100%{border-radius:60% 40% 55% 45% / 50% 55% 45% 50%}}@keyframes tp-float-idle{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes tp-pulse-dot{0%,100%{box-shadow:0 0 0 3px rgba(97,217,127,0.25)}50%{box-shadow:0 0 0 6px rgba(97,217,127,0.10)}}.tp-marquee-wrap--hero{margin-top:0}@keyframes tp-cf-pulse{0%,100%{box-shadow:0 0 0 4px var(--tp-bg-soft)}50%{box-shadow:0 0 0 8px rgba(97,217,127,0.20)}}.tp-button--compact{min-height:42px;padding:0 20px;font-size:0.85rem}@media (max-width:600px){.tp-hero-li__cta .tp-button{width:100%}}main>section ~ section{content-visibility:auto;contain-intrinsic-size:auto 800px}footer{content-visibility:auto;contain-intrinsic-size:auto 600px}


    /* HERO comparativo */
    .tpc-hero {
      padding: 56px 16px 48px;
      background: linear-gradient(180deg, #E8F2FA 0%, #FFFFFF 100%);
    }
    .tpc-hero__inner {
      max-width: 1100px;
      margin: 0 auto;
      text-align: center;
    }
    .tpc-hero h1 {
      font-size: clamp(30px, 4.4vw, 48px);
      line-height: 1.1;
      letter-spacing: -0.02em;
      color: var(--tp-blue-navy);
      margin: 0 0 16px;
    }
    .tpc-hero h1 span {
      color: var(--tp-blue-bright);
    }
    .tpc-hero__lead {
      font-size: 17px;
      line-height: 1.55;
      color: #4b5563;
      max-width: 720px;
      margin: 0 auto 28px;
    }
    .tpc-hero__cta {
      display: inline-flex;
      gap: 12px;
      flex-wrap: wrap;
      justify-content: center;
    }
    /* Override scoped: el secundario del hero pasa a amarillo (acento corporativo) */
    .tpc-hero__cta .tp-button--secondary {
      background: #fbbf24;
      color: var(--tp-blue-navy);
      border-color: #fbbf24;
      font-weight: 700;
    }
    .tpc-hero__cta .tp-button--secondary:hover {
      background: #f59e0b;
      border-color: #f59e0b;
      color: var(--tp-blue-navy);
    }
    /* HERO floats estilo index — cards con icono color + número + label */
    .tpc-hero__floats {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      max-width: 760px;
      margin: 36px auto 0;
    }
    @media (max-width: 640px) {
      .tpc-hero__floats { grid-template-columns: 1fr; gap: 10px; }
    }
    .tpc-hero__float {
      background: transparent;
      border-radius: 0;
      padding: 6px 4px;
      box-shadow: none;
      border: none;
      display: flex;
      align-items: center;
      gap: 12px;
      text-align: left;
    }
    .tpc-hero__float-icon {
      width: 40px; height: 40px;
      border-radius: 10px;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
    }
    .tpc-hero__float-icon--blue   { background: rgba(0, 103, 178,0.12);  color: var(--tp-blue-bright); }
    .tpc-hero__float-icon--green  { background: rgba(22,163,74,0.12); color: #16A34A; }
    .tpc-hero__float-icon--coral  { background: rgba(231,111,81,0.14); color: #E76F51; }
    .tpc-hero__float-text strong {
      display: block;
      font-size: 19px;
      font-weight: 800;
      color: var(--tp-blue-navy);
      line-height: 1;
    }
    .tpc-hero__float-text span {
      font-size: 12px;
      color: #6b7280;
      margin-top: 4px;
      display: block;
      letter-spacing: 0.2px;
    }

    /* MARQUESINA — banda con logos en color (reutiliza tp-marquee del global) */
    .tpc-marquee {
      padding: 28px 0 20px;
      background: #fff;
      border-top: 1px solid rgba(36,51,76,0.05);
    }
    .tpc-marquee__label {
      text-align: center;
      font-size: 13px;
      color: #6b7280;
      margin: 0 0 14px;
      letter-spacing: 0.3px;
      text-transform: uppercase;
      font-weight: 600;
    }

    /* TABLA COMPARATIVA */
    .tpc-comparativa { padding: 56px 16px; background: #F8F9FB; }
    .tpc-comparativa__inner { max-width: 1200px; margin: 0 auto; }

    /* ═══ FOLD: herramienta al alcance (hero + cotizador + tabla) ═══ */
    .tpc-fold { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "hero" "tabla" "form"; background: #fff; }
    .tpc-fold > #hero-comparar   { grid-area: hero; }
    .tpc-fold > .tp-form-section { grid-area: form; }
    .tpc-fold > #comparativa     { grid-area: tabla; }
    .tpc-hero__lead--short { display: block; }
    .tpc-hero__lead--long  { display: none; }
    @media (min-width: 960px) {
      .tpc-fold {
        grid-template-columns: minmax(0, 540px) minmax(0, 600px);
        grid-template-areas: "hero form" "tabla tabla";
        justify-content: center;      /* centra las 2 columnas como grupo */
        align-items: start;           /* pega el hero arriba junto al form (mata el hueco) */
        column-gap: 64px;
        background: #fff;             /* limpio, sin lavado morado */
      }
      /* HERO: pegado arriba, alineado a la izquierda, respirando */
      .tpc-fold > #hero-comparar   { background: transparent; padding: 76px 0 56px; }
      .tpc-fold .tpc-hero__inner   { max-width: 540px; margin: 0; text-align: left; }
      .tpc-fold .tpc-hero h1       { margin: 0 0 18px; }
      .tpc-fold .tpc-hero__lead--long  { display: block; margin: 0 0 30px; max-width: none; }
      .tpc-fold .tpc-hero__lead--short { display: none; }
      .tpc-fold .tpc-hero__cta     { justify-content: flex-start; margin: 0; }
      /* Chips de datos: fila limpia con separador — toque visual sobrio */
      .tpc-fold .tpc-hero__floats  {
        margin: 34px 0 0; max-width: none;
        padding-top: 30px; border-top: 1px solid #EDEFF3;
        gap: 20px 24px;
      }
      /* FORM: card blanca elevada flotando sobre blanco (profundidad sin color) */
      .tpc-fold > .tp-form-section { background: transparent; padding: 56px 0; }
      .tpc-fold .tp-form-section .tp-container   { max-width: 600px; margin: 0; padding: 0; }
      .tpc-fold .tp-form-section .tp-form-layout { display: block; }
      .tpc-fold .tp-form-section .tp-form-copy   { display: none; }
      .tpc-fold .tp-form-wrap      { width: 100%; }
      /* TABLA: rompe a ancho completo aunque el grid esté centrado */
      .tpc-fold > #comparativa     { width: 100vw; margin-left: calc(50% - 50vw); }
    }

    
    /* Accent color por fila — paralelo a las cards de isapres-en-chile */
    .tpc-table__row { transition: background 0.15s; }
    .tpc-table__row td:first-child {
      border-left: 4px solid var(--brand-color, transparent);
    }
    .tpc-table__row:hover {
      background: color-mix(in srgb, var(--brand-color, var(--tp-blue-bright)) 5%, transparent) !important;
    }
    /* Chip "tipo plan" hereda color de marca */
    .tpc-table__row .tpc-table__tipo {
      background: color-mix(in srgb, var(--brand-color, var(--tp-blue-bright)) 12%, transparent);
      color: var(--brand-color, var(--tp-blue-bright));
    }
    /* CTA "Ver planes" en color de marca */
    .tpc-table__row .tpc-table__cta {
      background: var(--brand-color, var(--tp-blue-navy));
    }
    .tpc-table__row .tpc-table__cta:hover {
      filter: brightness(1.10);
    }
    /* UF "Desde" también con tinte de marca */
    .tpc-table__row .tpc-table__uf {
      color: var(--brand-color, var(--tp-blue-bright));
    }

    /* Logo en col 1 de la tabla */
    .tpc-table__brand {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .tpc-table__logo {
      width: auto;
      max-width: 100px;
      height: 28px;
      object-fit: contain;
      object-position: left center;
      flex-shrink: 0;
    }

    .tpc-section-head {
      text-align: center;
      max-width: 720px;
      margin: 0 auto 32px;
    }
    .tpc-section-head h2 {
      font-size: clamp(24px, 3.2vw, 34px);
      color: var(--tp-blue-navy);
      margin: 0 0 12px;
    }
    .tpc-section-head h2 span { color: var(--tp-blue-bright); }
    .tpc-section-head p {
      color: #4b5563;
      font-size: 16px;
      line-height: 1.55;
      margin: 0;
    }
    .tpc-disclaimer {
      background: #FFF8E5;
      border-left: 3px solid #fbbf24;
      padding: 12px 16px;
      border-radius: 6px;
      font-size: 13px;
      color: #4b5563;
      margin: 0 0 24px;
      max-width: 1100px;
      margin-left: auto;
      margin-right: auto;
    }
    .tpc-table-wrap {
      overflow-x: auto;
      border-radius: 16px;
      box-shadow: 0 8px 24px -10px rgba(36,51,76,0.12);
      border: 1px solid rgba(36,51,76,0.06);
      background: #fff;
    }
    .tpc-table {
      width: 100%;
      min-width: 760px;
      border-collapse: collapse;
      font-size: 15px;
    }
    .tpc-table thead {
      background: linear-gradient(135deg, var(--tp-blue-navy) 0%, #1a2638 100%);
    }
    .tpc-table thead th:first-child { border-top-left-radius: 12px; }
    .tpc-table thead th:last-child  { border-top-right-radius: 12px; }
    .tpc-table th {
      text-align: left;
      padding: 16px 16px;
      font-weight: 700;
      font-size: 12px;
      letter-spacing: 0.6px;
      text-transform: uppercase;
      color: #fff;
      border-bottom: none;
    }
    .tpc-table td {
      padding: 18px 16px;
      border-bottom: 1px solid rgba(36,51,76,0.06);
      vertical-align: middle;
    }
    .tpc-table tbody tr:last-child td { border-bottom: none; }
    .tpc-table tbody tr:hover { background: #FAFBFC; }
    .tpc-table__name {
      font-weight: 700;
      color: var(--tp-blue-navy);
      font-size: 16px;
    }
    .tpc-table__diff {
      color: #4b5563;
      font-size: 14px;
      line-height: 1.45;
    }
    .tpc-table__uf {
      font-weight: 700;
      color: var(--tp-blue-bright);
      font-size: 17px;
      white-space: nowrap;
    }
    .tpc-table__clp {
      display: block;
      font-size: 12px;
      color: #6b7280;
      font-weight: 500;
      margin-top: 2px;
    }
    .tpc-table__tipo {
      display: inline-block;
      padding: 4px 10px;
      background: rgba(0, 103, 178,0.08);
      color: var(--tp-blue-bright);
      border-radius: 999px;
      font-size: 12px;
      font-weight: 600;
      white-space: nowrap;
    }
    .tpc-table__cta {
      display: inline-block;
      padding: 8px 14px;
      background: var(--tp-blue-navy);
      color: white;
      border-radius: 8px;
      text-decoration: none;
      font-size: 13px;
      font-weight: 600;
      transition: background 0.2s;
      white-space: nowrap;
    }
    .tpc-table__cta:hover { background: var(--tp-blue-bright); }

    /* ═══ TABLA EN MÓVIL (≤640px): tarjeta apilada — logo arriba, diferenciador + precio,
       y botón Ver planes a ancho completo. Sin Tipo plan ni encabezado de columnas.
       Datos y desktop intactos; solo re-fluye la misma tabla vía grid. */
    @media (max-width: 640px) {
      .tpc-table-wrap { overflow: hidden; }               /* ya no hace falta scroll horizontal */
      .tpc-table { min-width: 0; width: 100%; display: block; }
      .tpc-table thead { display: none; }                 /* sin encabezado de columnas en móvil */
      .tpc-table tbody { display: block; }

      /* Cada isapre = tarjeta de 3 líneas */
      .tpc-table__row {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-areas:
          "brand brand"
          "diff  price"
          "cta   cta";
        column-gap: 12px;
        row-gap: 13px;
        padding: 16px;
        border-bottom: 1px solid rgba(36,51,76,0.10);
      }
      .tpc-table__row:last-child { border-bottom: none; }
      .tpc-table__row > td { display: block; padding: 0; border: none !important; box-sizing: border-box; min-width: 0; }
      .tpc-table__row > td:nth-child(1) { grid-area: brand; }              /* logo arriba */
      .tpc-table__row > td:nth-child(2) { grid-area: diff; align-self: center; }
      .tpc-table__row > td:nth-child(3) { grid-area: price; text-align: right; align-self: center; }
      .tpc-table__row > td:nth-child(4) { display: none; }                 /* Tipo plan fuera en móvil */
      .tpc-table__row > td:nth-child(5) { grid-area: cta; }

      .tpc-table__logo { height: 34px; max-width: 150px; }
      .tpc-table__diff { font-size: 14px; }
      .tpc-table__uf   { font-size: 18px; }
      .tpc-table__clp::after { content: " / mes"; }
      /* Ver planes: botón a ancho completo abajo */
      .tpc-table__cta { display: block; width: 100%; box-sizing: border-box; text-align: center; padding: 12px; font-size: 15px; }
    }

    /* A11y — visually-hidden estándar */
    .visually-hidden {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      padding: 0 !important;
      margin: -1px !important;
      overflow: hidden !important;
      clip: rect(0,0,0,0) !important;
      white-space: nowrap !important;
      border: 0 !important;
    }

    /* Marquesina — grayscale por default + hover individual al logo (no toda la marquesina) */
    .tpc-marquee .tp-marquee-logo {
      filter: grayscale(100%);
      opacity: 0.62;
      transition: filter 0.3s ease, opacity 0.3s ease;
    }
    .tpc-marquee .tp-marquee-logo:hover {
      filter: grayscale(0%);
      opacity: 1;
    }

    /* Alternancia de secciones (bg gris ↔ bg blanco) — separación visual clara */
    .tpc-priorizar { background: #fff !important; }       /* era gris, ahora white */
    .tpc-form-bg-soft { background: #F8F9FB; }            /* form en gris claro */
    /* metodología: dejamos white (default) */
    .tpc-faq { background: #F8F9FB !important; }          /* era white, ahora gris */

    .tpc-uf-note {
      font-size: 13px;
      color: #6b7280;
      margin: 16px 0 0;
      text-align: center;
    }
    .tpc-uf-note a { color: var(--tp-blue-bright); text-decoration: none; }
    .tpc-uf-note a:hover { text-decoration: underline; }

    /* PRIORIZAR (4 filtros visuales) */
    .tpc-priorizar { padding: 56px 16px; background: #F8F9FB; }
    .tpc-priorizar__inner { max-width: 1100px; margin: 0 auto; }
    .tpc-filtros-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
      margin-top: 28px;
    }
    @media (max-width: 900px) { .tpc-filtros-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 480px) { .tpc-filtros-grid { grid-template-columns: 1fr; } }
    .tpc-filtro {
      background: #fff;
      border: 1px solid rgba(36,51,76,0.08);
      border-radius: 16px;
      padding: 24px 20px;
      text-decoration: none;
      color: var(--tp-blue-navy);
      transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
      display: block;
    }
    .tpc-filtro:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 28px -12px rgba(36,51,76,0.15);
      border-color: rgba(0, 103, 178,0.25);
    }
    .tpc-filtro__icon {
      width: 44px; height: 44px;
      border-radius: 12px;
      background: rgba(0, 103, 178,0.10);
      color: var(--tp-blue-bright);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 14px;
    }
    .tpc-filtro--coral .tpc-filtro__icon { background: rgba(231,111,81,0.12); color: #E76F51; }
    .tpc-filtro--green .tpc-filtro__icon { background: rgba(22,163,74,0.10); color: #16A34A; }
    .tpc-filtro--purple .tpc-filtro__icon { background: rgba(91,95,199,0.10); color: #5B5FC7; }
    .tpc-filtro h3 {
      font-size: 17px;
      font-weight: 700;
      margin: 0 0 6px;
      color: var(--tp-blue-navy);
    }
    .tpc-filtro p {
      font-size: 13px;
      line-height: 1.5;
      color: #6b7280;
      margin: 0;
    }

    /* METODOLOGÍA */
    .tpc-metodo { padding: 56px 16px; background: #fff; }
    .tpc-metodo__inner { max-width: 900px; margin: 0 auto; }
    .tpc-metodo__list {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-top: 28px;
    }
    @media (max-width: 768px) { .tpc-metodo__list { grid-template-columns: 1fr; } }
    .tpc-metodo__item {
      padding: 20px;
      background: #F8F9FB;
      border-radius: 12px;
    }
    .tpc-metodo__item h3 {
      font-size: 15px;
      color: var(--tp-blue-bright);
      margin: 0 0 8px;
      font-weight: 700;
    }
    .tpc-metodo__item p { font-size: 14px; line-height: 1.55; color: #4b5563; margin: 0; }

    /* FAQ */
    .tpc-faq { padding: 56px 16px; background: #fff; }
    .tpc-faq__inner { max-width: 760px; margin: 0 auto; }
    .tpc-faq-list { margin-top: 24px; }
    .tpc-faq-item {
      border-bottom: 1px solid rgba(36,51,76,0.08);
      padding: 16px 0;
    }
    .tpc-faq-item summary {
      cursor: pointer;
      font-weight: 600;
      color: var(--tp-blue-navy);
      font-size: 16px;
      list-style: none;
      position: relative;
      padding-right: 30px;
    }
    .tpc-faq-item summary::-webkit-details-marker { display: none; }
    .tpc-faq-item summary::after {
      content: "+";
      position: absolute;
      right: 0; top: 50%;
      transform: translateY(-50%);
      font-size: 22px;
      color: var(--tp-blue-bright);
      font-weight: 400;
      transition: transform 0.2s;
    }
    .tpc-faq-item[open] summary::after { content: "−"; }
    .tpc-faq-item__body {
      margin-top: 10px;
      color: #4b5563;
      line-height: 1.6;
      font-size: 15px;
    }
  


    /* ========================================================================
       Tom-Select wrapper: imitar exactamente las celdas .tp-field__input
       del form (mismo bg, padding, border, radius, focus state).
       Usa las CSS vars del proyecto para mantener consistencia.
       ======================================================================== */
    #f-region + .ts-wrapper {
      width: 100%;
    }
    #f-region + .ts-wrapper .ts-control {
      width: 100%;
      padding: 10px 14px;
      font-family: inherit;
      font-size: 0.9rem;
      color: var(--tp-text-main);
      background-color: var(--tp-bg-soft);
      border: 1.5px solid var(--tp-border);
      border-radius: var(--tp-radius-sm);
      box-shadow: none;
      transition: border-color var(--tp-transition), box-shadow var(--tp-transition), background var(--tp-transition);
      min-height: auto;
      cursor: text;
    }
    /* Sin caret: es un autocomplete con búsqueda, no un select clásico */
    #f-region + .ts-wrapper .ts-control {
      background-image: none;
    }
    #f-region + .ts-wrapper.focus .ts-control {
      border-color: var(--tp-blue-bright);
      background-color: white;
      box-shadow: 0 0 0 3px rgba(0, 103, 178, 0.10);
    }
    #f-region + .ts-wrapper .ts-control input {
      font-family: inherit;
      font-size: 0.9rem;
      color: var(--tp-text-main);
      padding: 0;
      margin: 0;
      background: transparent;
      box-shadow: none;
      width: 100% !important;
      max-width: 100% !important;
    }
    #f-region + .ts-wrapper .ts-control input::placeholder {
      color: var(--tp-text-muted);
      font-size: 0.85rem;
      font-style: normal;
    }
    /* Dropdown panel */
    #f-region + .ts-wrapper .ts-dropdown {
      margin-top: 4px;
      background: white;
      border: 1.5px solid var(--tp-border);
      border-radius: var(--tp-radius-sm);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
      font-family: inherit;
      font-size: 0.9rem;
      z-index: 1000;
    }
    #f-region + .ts-wrapper .ts-dropdown-content {
      background: white;
    }
    #f-region + .ts-wrapper .ts-dropdown .option {
      background: white;
    }
    #f-region + .ts-wrapper .ts-dropdown .option:hover,
    #f-region + .ts-wrapper .ts-dropdown .option.active {
      background-color: rgba(0, 103, 178, 0.08);
      color: var(--tp-blue-bright);
    }
    #f-region + .ts-wrapper .ts-dropdown .option {
      padding: 8px 14px;
      color: var(--tp-text-main);
    }
    /* Cuando ya hay una comuna seleccionada (.has-items), ocultamos el input
       interno para que NO se pueda seguir tipeando. Tom-Select muestra el
       item seleccionado como texto fijo dentro del .ts-control. */
    /* Comuna elegida y SIN foco: se muestra como texto fijo (input oculto). */
    #f-region + .ts-wrapper.has-items:not(.focus) .ts-control > input {
      display: none !important;
    }
    /* Al hacer CLIC para corregir (con foco): ocultamos el texto fijo y dejamos
       el input a todo el ancho para volver a escribir y filtrar la comuna. */
    #f-region + .ts-wrapper.has-items.focus .ts-control .item {
      display: none !important;
    }
    #f-region + .ts-wrapper.has-items.focus .ts-control > input {
      display: inline-block !important;
      width: 100% !important;
    }
    /* Sin caret de flecha; cursor de texto (editable). */
    #f-region + .ts-wrapper.has-items .ts-control {
      background-image: none;
      padding-right: 14px;
      cursor: text;
    }
    /* El item seleccionado se muestra como texto normal (no como tag/chip) */
    #f-region + .ts-wrapper .ts-control .item {
      background: transparent;
      border: none;
      padding: 0;
      margin: 0;
      color: var(--tp-text-main);
      font-size: 0.9rem;
    }
    #f-region + .ts-wrapper .ts-dropdown .no-results {
      padding: 12px 14px;
      color: var(--tp-text-muted);
      font-style: italic;
      text-align: center;
    }
  