/**
 * Geo picker en registro-perfil — tema por sector + tarjetas como categorías.
 * Tarjetas País/Estado/Ciudad: shell unificado con Home (.ch-geo-modal--home + home-geo-pais-premium.css).
 * Las reglas legacy de tarjetas abajo solo aplican sin .ch-geo-modal--home.
 */

html .ch-geo-modal.ch-geo-modal--registro {
  background: #f6f8fa;
}

html .ch-geo-modal.ch-geo-modal--registro[data-rp-sector="adultos"] {
  background: #fde8f0;
}

html .ch-geo-modal.ch-geo-modal--registro[data-rp-sector="salud"] {
  background: linear-gradient(165deg, #f4f8fb 0%, #eef5fc 100%);
}

html .ch-geo-modal.ch-geo-modal--registro[data-rp-sector="profesionales"] {
  background: linear-gradient(165deg, #f5f5f5 0%, #eceff1 100%);
}

html .ch-geo-modal.ch-geo-modal--registro[data-rp-sector="bienes-raices"] {
  background: linear-gradient(165deg, #faf8f5 0%, #efebe9 100%);
}

html .ch-geo-modal.ch-geo-modal--registro[data-rp-sector="bienestar"] {
  background: linear-gradient(165deg, #f4f7f2 0%, #eef3ea 100%);
}

html .ch-geo-modal.ch-geo-modal--registro[data-rp-sector="tecnologia"] {
  background: linear-gradient(165deg, #e8eaf6 0%, #eef2f7 100%);
}

html .ch-geo-modal.ch-geo-modal--registro[data-rp-sector="automotriz"] {
  background: linear-gradient(165deg, #eef5fc 0%, #e3f2fd 100%);
}

html .ch-geo-modal.ch-geo-modal--registro[data-rp-sector="hogar"] {
  background: linear-gradient(165deg, #fff8f5 0%, #fbe9e7 100%);
}

html .ch-geo-modal.ch-geo-modal--registro[data-rp-sector="comercio"] {
  background: linear-gradient(165deg, #f1f8f6 0%, #e0f2f1 100%);
}

html .ch-geo-modal.ch-geo-modal--registro[data-rp-sector="eventos"] {
  background: linear-gradient(165deg, #fff8f0 0%, #fff3e0 100%);
}

html .ch-geo-modal.ch-geo-modal--registro[data-rp-sector="transporte"] {
  background: linear-gradient(165deg, #e3f2fd 0%, #e1f5fe 100%);
}

html .ch-geo-modal.ch-geo-modal--registro[data-rp-sector="industria"] {
  background: linear-gradient(165deg, #eceff1 0%, #e0e0e0 100%);
}

html .ch-geo-modal.ch-geo-modal--registro[data-rp-sector="educacion"] {
  background: linear-gradient(165deg, #f1f8e9 0%, #e8f5e9 100%);
}

html .ch-geo-modal.ch-geo-modal--registro[data-rp-sector="restaurantes"] {
  background: linear-gradient(165deg, #fff3e8 0%, #fbe9e7 100%);
}

html .ch-geo-modal.ch-geo-modal--registro[data-rp-sector="mascotas"] {
  background: linear-gradient(165deg, #f1f8e9 0%, #e8f5e9 100%);
}

html .ch-geo-modal.ch-geo-modal--registro:not([data-rp-sector="adultos"]) .ch-geo-sheet__panel {
  background: linear-gradient(180deg, #ffffff 0%, #f6f8fa 55%, #eef1f5 100%);
}

html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__banner {
  display: block;
  position: relative;
  width: 100%;
  margin: 8px 0 10px;
  height: 72px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 18px color-mix(in srgb, var(--rp-form-accent, #e91e63) 14%, rgba(0, 0, 0, 0.1));
}

html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__head {
  text-align: center;
  padding: 12px 14px 6px;
}

html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__head--pais .ch-geo-sheet__heading,
html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__head--estado .ch-geo-sheet__heading,
html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__head--ciudad .ch-geo-sheet__heading {
  justify-content: center;
  margin-bottom: 6px;
}

html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__head--ciudad .ch-geo-sheet__heading {
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__subtitle {
  text-align: center;
  margin: 0;
}

html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__search {
  height: 40px;
  margin: 0 0 10px;
  padding: 0 14px;
  border-radius: 20px;
  border-width: 1px;
  border-color: color-mix(in srgb, var(--rp-form-accent, #e91e63) 12%, #eee);
  box-shadow: 0 2px 10px color-mix(in srgb, var(--rp-form-accent, #e91e63) 6%, transparent);
}

html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__search-icon {
  width: 16px;
  height: 16px;
  color: var(--rp-form-accent, #e91e63);
}

html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__search input {
  font-size: 14px;
}

html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__section-title,
html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__title,
html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__heading {
  color: var(--rp-form-accent, #e91e63);
}

html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__nav,
html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__close {
  color: var(--rp-form-accent, #e91e63);
  border-color: color-mix(in srgb, var(--rp-form-accent, #e91e63) 18%, #dde3e8);
}

html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__list {
  gap: 12px;
}

/* Tarjetas — mismo patrón que categorías en registro-perfil */
html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 104px;
  height: 104px;
  padding: 0;
  gap: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* País — tarjeta más baja */
html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card--pais {
  min-height: 84px;
  height: 84px;
}

/* Estado y ciudad — misma anchura, menos altura */
html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card--estado,
html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card--ciudad {
  min-height: 84px;
  height: 84px;
}

html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card__thumb {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  flex: none;
  width: clamp(122px, 43%, 152px);
  max-width: none;
  height: 104px;
  min-height: 0;
  border-radius: 14px;
  overflow: hidden;
  background: #f0f0f0;
}

html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card--pais .ch-geo-card__thumb {
  width: clamp(108px, 40%, 136px);
  height: 84px;
}

html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card--estado .ch-geo-card__thumb,
html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card--ciudad .ch-geo-card__thumb {
  width: clamp(122px, 43%, 152px);
  height: 84px;
}

html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card__thumb--flag-real,
html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card__thumb--flag {
  background: transparent;
}

html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card__thumb--flag-real img {
  object-fit: cover;
  object-position: center;
  padding: 0;
  background: transparent;
}

html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 14px;
}

html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card__body {
  position: relative;
  z-index: 1;
  flex: 1;
  min-width: 0;
  min-height: 0;
  height: 104px;
  max-height: 104px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 7px 10px 7px clamp(106px, 37%, 132px);
  box-sizing: border-box;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 22px color-mix(in srgb, var(--rp-form-accent, #e91e63) 10%, rgba(0, 0, 0, 0.08));
}

html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card--pais .ch-geo-card__body {
  height: 84px;
  max-height: 84px;
  padding: 6px 8px 6px clamp(92px, 35%, 118px);
}

html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card--estado .ch-geo-card__body,
html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card--ciudad .ch-geo-card__body {
  height: 84px;
  max-height: 84px;
  padding: 6px 8px 6px clamp(106px, 37%, 132px);
}

html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card__text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 6px;
  text-align: left;
  padding-left: clamp(32px, 9vw, 46px);
  box-sizing: border-box;
}

html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card--pais .ch-geo-card__text {
  gap: 3px;
  padding-left: clamp(24px, 7vw, 38px);
}

html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  width: 100%;
  font-size: clamp(12px, 3.2vw, 14px);
  font-weight: 800;
  color: var(--rp-form-accent, #e91e63);
  line-height: 1.16;
  letter-spacing: -0.01em;
}

html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card--pais .ch-geo-card__title {
  -webkit-line-clamp: 1;
  font-size: clamp(13px, 3.4vw, 15px);
  line-height: 1.15;
}

html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card__meta {
  display: flex;
  align-items: center;
  margin: 0;
  font-size: 9px;
  font-weight: 500;
  color: #666;
  line-height: 1.2;
  gap: 4px;
}

html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card__meta svg {
  width: 9px;
  height: 9px;
  color: var(--rp-form-accent, #e91e63);
  flex-shrink: 0;
}

html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card__go {
  position: relative;
  right: auto;
  top: auto;
  transform: none;
  z-index: 3;
  flex: 0 0 32px;
  align-self: center;
  width: 32px;
  height: 32px;
  min-width: 32px;
  margin: 0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  color: #fff;
  background: var(--geo-grad, linear-gradient(180deg, #ff5c9a 0%, #e91e63 52%, #d81b7a 100%));
  box-shadow: 0 3px 10px color-mix(in srgb, var(--rp-form-accent, #e91e63) 24%, transparent);
}

html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card__go svg {
  width: 16px;
  height: 16px;
  display: block;
}

/* Encabezados registro — igual que referencia */
html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__head--pais .ch-geo-sheet__title,
html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__head--estado .ch-geo-sheet__title,
html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__head--ciudad .ch-geo-sheet__title {
  color: #000;
}

html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__footer {
  background: var(--geo-grad, linear-gradient(180deg, #ff5c9a 0%, #e91e63 52%, #d81b7a 100%));
  color: #fff;
  box-shadow: var(--geo-shadow, 0 8px 24px color-mix(in srgb, var(--rp-form-accent, #e91e63) 38%, transparent));
}

html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__more {
  border-color: color-mix(in srgb, var(--rp-form-accent, #e91e63) 35%, transparent);
  color: var(--rp-form-accent, #e91e63);
}

html .ch-geo-modal.ch-geo-modal--registro .ch-geo-sheet__icon--flag-img {
  background: transparent;
  box-shadow: none;
}

@media (max-width: 380px) {
  html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card__thumb {
    width: clamp(112px, 41%, 136px);
  }

  html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card--pais .ch-geo-card__thumb {
    width: clamp(100px, 38%, 124px);
  }

  html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card--estado .ch-geo-card__thumb,
  html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card--ciudad .ch-geo-card__thumb {
    width: clamp(112px, 41%, 136px);
  }

  html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card__text {
    padding-left: clamp(26px, 8vw, 38px);
  }

  html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card--pais .ch-geo-card__text {
    padding-left: clamp(20px, 6vw, 32px);
  }

  html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card__title {
    font-size: 11px;
  }

  html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card__go {
    flex-basis: 30px;
    width: 30px;
    height: 30px;
    min-width: 30px;
  }

  html .ch-geo-modal.ch-geo-modal--registro:not(.ch-geo-modal--home) .ch-geo-card__go svg {
    width: 14px;
    height: 14px;
  }
}

/* Banderas emoji cuando no hay imagen local */
html .ch-geo-modal .ch-geo-card__thumb--flag-emoji {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(165deg, #f8f9fc 0%, #eef1f5 100%);
}

html .ch-geo-modal .ch-geo-card__flag-emoji {
  font-size: clamp(28px, 8vw, 40px);
  line-height: 1;
}

/* Home — botones país/estado/ciudad alineados con registro-perfil */
body[data-page="home"] .home-search .home-field--pais,
body[data-page="home"] .home-search .home-field--estado,
body[data-page="home"] .home-search .home-field--ciudad {
  min-height: 42px;
  border-radius: 14px;
  background: linear-gradient(180deg, #ff2d6f 0%, #ec1458 45%, #c8004a 100%) !important;
  box-shadow: 0 5px 16px rgba(220, 0, 82, 0.35), 0 0 0 0.5px rgba(255, 50, 110, 0.22) !important;
}

body[data-page="home"] .home-search .home-field--pais .home-field__drop-text,
body[data-page="home"] .home-search .home-field--estado .home-field__drop-text,
body[data-page="home"] .home-search .home-field--ciudad .home-field__drop-text {
  font-size: 10px;
  letter-spacing: 0.05em;
}
