/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!../shared/vue/components/adi/AdiButton.vue?vue&type=style&index=0&id=9d775daa&scoped=true&lang=css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.adi-btn[data-v-9d775daa] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  border-radius: 999px;
  border: 1px solid transparent;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s, opacity 0.15s;
  white-space: nowrap;
  line-height: 1.2;
}
.adi-btn--sm[data-v-9d775daa] { font-size: 0.75rem; padding: 0.4rem 0.85rem;
}
.adi-btn--md[data-v-9d775daa] { font-size: 0.95rem; padding: 0.6rem 1.2rem;
}
.adi-btn--lg[data-v-9d775daa] { font-size: 1.05rem; padding: 0.75rem 1.6rem;
}
.adi-btn--primary[data-v-9d775daa] {
  background: #FF6B00;
  color: #fff;
  border-color: #FF6B00;
  box-shadow: 0 4px 14px rgba(255, 107, 0, 0.3);
}
.adi-btn--primary[data-v-9d775daa]:hover { background: #D95700; border-color: #D95700;
}
.adi-btn--secondary[data-v-9d775daa] {
  background: #F7EFE4;
  color: #1F1F1F;
  border-color: #E8D8C8;
}
.adi-btn--secondary[data-v-9d775daa]:hover { background: #EDE5D8;
}
.adi-btn--outline[data-v-9d775daa] {
  background: #fff;
  color: #6B625A;
  border-color: #E8D8C8;
}
.adi-btn--outline[data-v-9d775daa]:hover { border-color: #FF6B00; color: #FF6B00;
}
.adi-btn--ghost[data-v-9d775daa] {
  background: transparent;
  color: #6B625A;
  border-color: transparent;
}
.adi-btn--ghost[data-v-9d775daa]:hover { background: #F7EFE4;
}
.adi-btn--danger[data-v-9d775daa] {
  background: #DC2626;
  color: #fff;
  border-color: #DC2626;
}
.adi-btn--danger[data-v-9d775daa]:hover { background: #B91C1C;
}
.adi-btn--success[data-v-9d775daa] {
  background: #15803D;
  color: #fff;
  border-color: #15803D;
}
.adi-btn--success[data-v-9d775daa]:hover { background: #166534;
}
.adi-btn--warning[data-v-9d775daa] {
  background: #F59E0B;
  color: #1F1F1F;
  border-color: #F59E0B;
}
.adi-btn--warning[data-v-9d775daa]:hover { background: #D97706;
}
.adi-btn--dark[data-v-9d775daa] {
  background: #1F1F1F;
  color: #fff;
  border-color: #1F1F1F;
}
.adi-btn--dark[data-v-9d775daa]:hover { background: #3D3D3D;
}
.adi-btn--disabled[data-v-9d775daa] {
  opacity: 0.55;
  cursor: not-allowed;
}
.adi-btn--full[data-v-9d775daa] { width: 100%;
}
.adi-btn__icon[data-v-9d775daa] { font-size: 0.95em;
}
.adi-btn__spinner[data-v-9d775daa] {
  width: 0.9em;
  height: 0.9em;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: adi-btn-spin-9d775daa 0.7s linear infinite;
  flex-shrink: 0;
}
.adi-btn--outline .adi-btn__spinner[data-v-9d775daa],
.adi-btn--ghost .adi-btn__spinner[data-v-9d775daa] {
  border-color: rgba(107, 98, 90, 0.25);
  border-top-color: #6B625A;
}
.adi-btn--warning .adi-btn__spinner[data-v-9d775daa] {
  border-color: rgba(31, 31, 31, 0.25);
  border-top-color: #1F1F1F;
}
@keyframes adi-btn-spin-9d775daa {
to { transform: rotate(360deg);
}
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/adi/BotonAdi.vue?vue&type=style&index=0&id=5cc0384e&scoped=true&lang=css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.boton-adi[data-v-5cc0384e] .adi-btn {
  border-radius: 0 !important;
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/layout/AppNavbar.vue?vue&type=style&index=0&id=216aa6dc&scoped=true&lang=css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.app-navbar[data-v-216aa6dc] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
  padding: .6rem 1rem;
  transition: background-color 0.3s ease;
}
.app-navbar__inner[data-v-216aa6dc] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0 1rem;
}
.app-navbar__actions[data-v-216aa6dc] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.app-navbar__main-tabs[data-v-216aa6dc] {
  display: none;
}
@media (min-width: 992px) {
.app-navbar__main-tabs[data-v-216aa6dc] {
    display: flex;
}
}
.app-navbar__city-selector--desktop[data-v-216aa6dc] {
  display: none;
}
@media (min-width: 992px) {
.app-navbar__city-selector--desktop[data-v-216aa6dc] {
    display: flex;
}
}
.app-navbar__city-selector--mobile[data-v-216aa6dc] {
  display: inline-flex;
}
@media (min-width: 992px) {
.app-navbar__city-selector--mobile[data-v-216aa6dc] {
    display: none;
}
}
.app-navbar__user-name[data-v-216aa6dc] {
  display: none;
}
@media (min-width: 768px) {
.app-navbar__user-name[data-v-216aa6dc] {
    display: inline;
}
}
.app-navbar__dropdown-heading[data-v-216aa6dc] {
  padding: 0.5rem 1rem 0.25rem;
  font-weight: 600;
}
.app-navbar__dropdown-subheading[data-v-216aa6dc] {
  padding: 0.25rem 1rem 0.25rem;
  font-weight: 600;
}
.app-navbar__dropdown-body[data-v-216aa6dc] {
  padding: 0 1rem 0.5rem;
}
.app-navbar__hint[data-v-216aa6dc] {
  font-size: 0.875em;
  color: #6c757d;
  margin-top: 0.25rem;
}
.app-navbar__step-title--no-margin[data-v-216aa6dc] {
  margin-bottom: 0;
}
.app-navbar__offcanvas-header[data-v-216aa6dc] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}
.app-navbar__offcanvas-field[data-v-216aa6dc] {
  margin-bottom: 0.5rem;
}

/* ── Tabs principales ── */
.main-tabs[data-v-216aa6dc] {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: .25rem;
  align-items: center;
}
.main-tab__icon[data-v-216aa6dc] { font-size: 1rem; line-height: 1;
}
.main-tab__label[data-v-216aa6dc] { white-space: nowrap;
}
.navbar-solid[data-v-216aa6dc] {
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.navbar-transparent[data-v-216aa6dc] {
  background-color: transparent;
  box-shadow: none;
}
.city-selector[data-v-216aa6dc] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}
.navbar-brand[data-v-216aa6dc],
.navbar-brand span[data-v-216aa6dc],
.city-selector[data-v-216aa6dc] {
  color: var(--primary-color) !important;
}
.navbar-transparent .navbar-brand[data-v-216aa6dc],
.navbar-transparent .city-selector[data-v-216aa6dc] {
  color: #fff !important; /* Color blanco para el home */
}
.navbar-brand[data-v-216aa6dc] {
  color: var(--primary-color) !important;
  font-weight: bold;
  font-size: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.navbar-logo[data-v-216aa6dc] {
  height: 2rem;
  width: auto;
}
.ubicacion-step[data-v-216aa6dc] {
  display: flex;
  flex-direction: column;
}
.step-title[data-v-216aa6dc] {
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: var(--primary-color);
}
.ubicacion-list[data-v-216aa6dc] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-height: 58vh;
  overflow: auto;
  padding-right: 0.25rem;
}
.ubicacion-item[data-v-216aa6dc] {
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: #fff;
  border-radius: 0;
  padding: 0.9rem 0.9rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-align: left;
}
.ubicacion-icon[data-v-216aa6dc] {
  width: 38px;
  height: 38px;
  border-radius: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--provincia-color, var(--brand-amber));
  color: var(--primary-dark);
  flex: 0 0 auto;
}
.ubicacion-name[data-v-216aa6dc] {
  font-weight: 700;
  color: var(--primary-color);
}
.ubicacion-chevron[data-v-216aa6dc] {
  margin-left: auto;
  color: rgba(0, 0, 0, 0.35);
}

/* ── Selector de ubicación desktop ── */
.ubicacion-desktop[data-v-216aa6dc] {
  position: relative;
}
.ubicacion-trigger[data-v-216aa6dc] {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  color: inherit;
  font-size: inherit;
}
.ubicacion-panel[data-v-216aa6dc] {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  min-width: 220px;
  max-height: 70vh;
  overflow: auto;
  background: #fff;
  border-radius: 0;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  z-index: 1000;
  padding: 0.5rem 0;
}
.ubicacion-opcion[data-v-216aa6dc] {
  padding: 0.5rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--primary-color);
  background: transparent;
  border: none;
  cursor: pointer;
  width: 100%;
  text-align: left;
  font-size: 0.95rem;
}
.ubicacion-opcion[data-v-216aa6dc]:hover {
  background: #FFF1E6;
  color: #FF6B00;
}
.ubicacion-opcion--muted[data-v-216aa6dc] {
  color: #6c757d;
}
.ubicacion-input[data-v-216aa6dc] {
  width: 100%;
  padding: 0.375rem 0.75rem;
  border: 1px solid #E8D8C8;
  border-radius: 0;
  background: #fff;
  color: #1F1F1F;
  font-size: 0.95rem;
}
.ubicacion-input[data-v-216aa6dc]:disabled {
  background: #F7EFE4;
  opacity: 0.7;
}

/* ── Panel mobile de ubicación ── */
.ubicacion-mobile-overlay[data-v-216aa6dc] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1050;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.ubicacion-mobile-panel[data-v-216aa6dc] {
  width: 100%;
  max-height: 85vh;
  background: #fff;
  border-radius: 0;
  box-shadow: 0 -4px 24px rgba(0,0,0,0.15);
  display: flex;
  flex-direction: column;
}
.ubicacion-mobile-header[data-v-216aa6dc] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  border-bottom: 1px solid #E8D8C8;
}
.ubicacion-mobile-title[data-v-216aa6dc] {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #1F1F1F;
}
.ubicacion-mobile-cerrar[data-v-216aa6dc] {
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0.25rem;
  font-size: 1.25rem;
  color: #6B625A;
  line-height: 1;
}
.ubicacion-mobile-body[data-v-216aa6dc] {
  padding: 1rem;
  overflow: auto;
}
.ubicacion-mobile-cambiar[data-v-216aa6dc] {
  padding: 0.35rem 0.75rem;
  border: 1px solid #E8D8C8;
  background: #fff;
  color: #FF6B00;
  border-radius: 0;
  cursor: pointer;
  font-size: 0.85rem;
  font-weight: 600;
}
.ubicacion-mobile-link[data-v-216aa6dc] {
  width: 100%;
  margin-top: 0.5rem;
  padding: 0.5rem;
  border: none;
  background: transparent;
  color: #6c757d;
  cursor: pointer;
  text-align: center;
  font-size: 0.95rem;
}
@media (min-width: 992px) {
.ubicacion-mobile-overlay[data-v-216aa6dc] {
    display: none;
}
}

/* ── Auth buttons (anónimo) ── */
.auth-buttons[data-v-216aa6dc] {
  display: flex;
  align-items: center;
  gap: 8px;
}


/* ── User menu (autenticado) ── */
.user-menu[data-v-216aa6dc] {
  position: relative;
}
.user-menu-trigger[data-v-216aa6dc] {
  display: flex;
  align-items: center;
  gap: 8px;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 0;
  transition: background 0.15s;
  color: inherit;
}
.user-menu-trigger[data-v-216aa6dc]:hover {
  background: rgba(0,0,0,0.05);
}
.navbar-transparent .user-menu-trigger[data-v-216aa6dc] {
  color: #fff;
}
.navbar-transparent .user-menu-trigger[data-v-216aa6dc]:hover {
  background: rgba(255,255,255,0.12);
}
.user-avatar[data-v-216aa6dc] {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: #FF6B00;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  flex-shrink: 0;
}
.user-avatar--lg[data-v-216aa6dc] {
  width: 40px; height: 40px;
  font-size: 0.9rem;
}
.user-name[data-v-216aa6dc] {
  font-size: 0.85rem;
  font-weight: 600;
}
.user-dropdown-panel[data-v-216aa6dc] {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  min-width: 240px;
  padding: 0;
  border-radius: 0;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  overflow: hidden;
  background: #fff;
  z-index: 1000;
}
.user-dropdown-sep[data-v-216aa6dc] {
  border: none;
  border-top: 1px solid #ffe5cc;
  margin: 0.5rem 0;
}
.user-dropdown-header[data-v-216aa6dc] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: #FFF8EF;
}
.user-dropdown-name[data-v-216aa6dc] {
  font-weight: 700;
  font-size: 0.9rem;
  color: #1F1F1F;
}
.user-dropdown-role[data-v-216aa6dc] {
  font-size: 0.75rem;
  color: #6B625A;
}
.user-dropdown-panel .user-dropdown-item[data-v-216aa6dc] {
  padding: 8px 16px;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #1F1F1F;
  background: transparent;
  border: none;
  cursor: pointer;
  width: 100%;
  text-align: left;
}
.user-dropdown-panel .user-dropdown-item[data-v-216aa6dc]:hover {
  background: #FFF1E6;
  color: #FF6B00;
}
.user-dropdown-panel .user-dropdown-item i[data-v-216aa6dc] {
  width: 18px;
  text-align: center;
  color: #6B625A;
}
.user-dropdown-panel .user-dropdown-item:hover i[data-v-216aa6dc] {
  color: #FF6B00;
}
.user-dropdown-panel .user-dropdown-item--danger[data-v-216aa6dc] {
  color: #dc3545;
}
.user-dropdown-panel .user-dropdown-item--danger[data-v-216aa6dc]:hover {
  background: #fff5f5;
  color: #dc3545;
}
.user-dropdown-panel .user-dropdown-item--danger i[data-v-216aa6dc] {
  color: #dc3545;
}

/* ── Transiciones de paneles ── */
.ubicacion-panel-enter-active[data-v-216aa6dc],
.ubicacion-panel-leave-active[data-v-216aa6dc] {
  transition: opacity 120ms ease, transform 120ms ease;
}
.ubicacion-panel-enter-from[data-v-216aa6dc],
.ubicacion-panel-leave-to[data-v-216aa6dc] {
  opacity: 0;
  transform: translateY(-4px);
}
.user-dropdown-enter-active[data-v-216aa6dc],
.user-dropdown-leave-active[data-v-216aa6dc] {
  transition: opacity 120ms ease, transform 120ms ease;
}
.user-dropdown-enter-from[data-v-216aa6dc],
.user-dropdown-leave-to[data-v-216aa6dc] {
  opacity: 0;
  transform: translateY(-4px);
}
.ubicacion-mobile-enter-active[data-v-216aa6dc],
.ubicacion-mobile-leave-active[data-v-216aa6dc] {
  transition: opacity 150ms ease;
}
.ubicacion-mobile-enter-from[data-v-216aa6dc],
.ubicacion-mobile-leave-to[data-v-216aa6dc] {
  opacity: 0;
}
.ubicacion-mobile-enter-active .ubicacion-mobile-panel[data-v-216aa6dc],
.ubicacion-mobile-leave-active .ubicacion-mobile-panel[data-v-216aa6dc] {
  transition: transform 150ms ease;
}
.ubicacion-mobile-enter-from .ubicacion-mobile-panel[data-v-216aa6dc],
.ubicacion-mobile-leave-to .ubicacion-mobile-panel[data-v-216aa6dc] {
  transform: translateY(100%);
}


/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/layout/BottomNavbar.vue?vue&type=style&index=0&id=f61cd9c0&scoped=true&lang=css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.bnav[data-v-f61cd9c0] {
  display: none;
}
@media (max-width: 991px) {
.bnav[data-v-f61cd9c0] {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid rgba(253,126,20,.15);
    box-shadow: 0 -2px 12px rgba(0,0,0,.07);
    z-index: 1000;
    padding-bottom: env(safe-area-inset-bottom, 0px);
}
.bnav--hidden[data-v-f61cd9c0] { display: none;
}
.bnav__item[data-v-f61cd9c0] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .15rem;
    padding: .45rem .25rem;
    background: none;
    border: none;
    cursor: pointer;
    color: #b2bec3;
    transition: color .15s;
    -webkit-tap-highlight-color: transparent;
}
.bnav__icon[data-v-f61cd9c0]  { font-size: 1.3rem; line-height: 1;
}
.bnav__label[data-v-f61cd9c0] { font-size: .65rem; font-weight: 500; letter-spacing: .2px;
}
.bnav__item--activo[data-v-f61cd9c0] {
    color: #fd7e14;
}
.bnav__item--activo .bnav__label[data-v-f61cd9c0] { font-weight: 700;
}
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/layout/MobileBackButton.vue?vue&type=style&index=0&id=240447c0&scoped=true&lang=css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.mobile-back[data-v-240447c0] {
  display: none;
}
@media (max-width: 991px) {
.mobile-back[data-v-240447c0] {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: calc(.75rem + env(safe-area-inset-top, 0px));
    left: .75rem;
    z-index: 200;
    width: 2.25rem;
    height: 2.25rem;
    background: #fd7e14;
    color: #fff;
    border: none;
    border-radius: 50%;
    font-size: 1.1rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(253,126,20,.4);
    transition: background .15s, transform .15s;
    -webkit-tap-highlight-color: transparent;
}
.mobile-back[data-v-240447c0]:hover  { background: #e8700d;
}
.mobile-back[data-v-240447c0]:active { transform: scale(.93);
}
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/descubrimiento/TerritorialSelector.vue?vue&type=style&index=0&id=036528ea&scoped=true&lang=css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.territorial-selector[data-v-036528ea] {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.selector-row[data-v-036528ea] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.selector-label[data-v-036528ea] {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #374151;
  flex: 1;
}
.selector-select[data-v-036528ea] {
  padding: 0.5rem 0.75rem;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 0.875rem;
  background: white;
  cursor: pointer;
  min-width: 200px;
}
.selector-select[data-v-036528ea]:focus {
  outline: none;
  border-color: #fd7e14;
  box-shadow: 0 0 0 3px rgba(253, 126, 20, 0.1);
}
.selector-select[data-v-036528ea]:disabled {
  background: #f3f4f6;
  cursor: not-allowed;
  color: #9ca3af;
}
.selector-loading[data-v-036528ea] {
  color: #fd7e14;
  font-size: 1rem;
}
.spin[data-v-036528ea] {
  display: inline-block;
  animation: spin-036528ea 1s linear infinite;
}
@keyframes spin-036528ea {
from { transform: rotate(0deg);
}
to { transform: rotate(360deg);
}
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/descubrimiento/OnboardingModal.vue?vue&type=style&index=0&id=20c3a988&scoped=true&lang=css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.onboarding-overlay[data-v-20c3a988] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 1rem;
}
.onboarding-modal[data-v-20c3a988] {
  background: white;
  border-radius: 16px;
  max-width: 600px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  padding: 2rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.onboarding-header[data-v-20c3a988] {
  text-align: center;
  margin-bottom: 1.5rem;
}
.onboarding-title[data-v-20c3a988] {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.5rem 0;
}
.onboarding-subtitle[data-v-20c3a988] {
  font-size: 1rem;
  color: #666;
  margin: 0;
}
.onboarding-options[data-v-20c3a988] {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}
.option-card[data-v-20c3a988] {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem;
  border: 2px solid #e5e7eb;
  border-radius: 12px;
  background: white;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: left;
}
.option-card[data-v-20c3a988]:hover {
  border-color: #fd7e14;
  transform: translateY(-1px);
}
.option-selected[data-v-20c3a988] {
  border-color: #fd7e14;
  background: #fff7ed;
}
.option-icon[data-v-20c3a988] {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}
.option-nearby .option-icon[data-v-20c3a988] {
  background: #dcfce7;
  color: #16a34a;
}
.option-city .option-icon[data-v-20c3a988] {
  background: #dbeafe;
  color: #2563eb;
}
.option-country .option-icon[data-v-20c3a988] {
  background: #fef3c7;
  color: #d97706;
}
.option-content[data-v-20c3a988] {
  flex: 1;
}
.option-title[data-v-20c3a988] {
  font-size: 1.1rem;
  font-weight: 600;
  color: #1a1a1a;
  margin: 0 0 0.25rem 0;
}
.option-desc[data-v-20c3a988] {
  font-size: 0.875rem;
  color: #666;
  margin: 0;
  line-height: 1.4;
}
.option-detail[data-v-20c3a988] {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #e5e7eb;
}
.radius-label[data-v-20c3a988] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #374151;
}
.radius-slider[data-v-20c3a988] {
  width: 100%;
  accent-color: #fd7e14;
}
.onboarding-actions[data-v-20c3a988] {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.btn-confirm[data-v-20c3a988] {
  padding: 0.875rem 1.5rem;
  background: #fd7e14;
  color: white;
  border: none;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}
.btn-confirm[data-v-20c3a988]:hover:not(:disabled) {
  background: #f97316;
}
.btn-confirm[data-v-20c3a988]:disabled {
  background: #d1d5db;
  cursor: not-allowed;
}
.btn-skip[data-v-20c3a988] {
  padding: 0.75rem 1.5rem;
  background: transparent;
  color: #6b7280;
  border: none;
  font-size: 0.875rem;
  cursor: pointer;
  transition: color 0.2s ease;
}
.btn-skip[data-v-20c3a988]:hover {
  color: #374151;
}
.onboarding-footer[data-v-20c3a988] {
  text-align: center;
  font-size: 0.75rem;
  color: #9ca3af;
  margin-top: 1rem;
  margin-bottom: 0;
}
@media (max-width: 640px) {
.onboarding-modal[data-v-20c3a988] {
    padding: 1.5rem;
}
.option-card[data-v-20c3a988] {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
}
.option-icon[data-v-20c3a988] {
    width: 40px;
    height: 40px;
    font-size: 1.25rem;
}
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************/

#app {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--text-color);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
main {
  flex: 1;
}
@media (max-width: 991.98px) {
main {
    padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); /* Espacio para la barra de navegación inferior */
}
}
main.main--fullscreen {
  padding: 0;
  flex: none;
}
.page-fade-enter-active,
.page-fade-leave-active {
  transition: opacity 0.15s ease;
}
.page-fade-enter-from,
.page-fade-leave-to {
  opacity: 0;
}
.content-with-padding {
  padding-top: 80px; /* Espacio para el navbar fijo */
}

/*!*********************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-14.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-14.use[2]!./src/assets/global.css ***!
  \*********************************************************************************************************************************************************************/
:root {
  /* Colores */
  --brand-amber: #fff3e0;   /* naranja clarito */
  --brand-primary: #fd7e14; /* naranja */
  /* Tokens unificados */
  --primary-color: #fd7e14;
  --primary-light: #ff922b;
  --primary-dark: #f76707;
  --text-color: #2d3748;
  --card-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --surface: #f8f9fa;
  --text: #212529;

  /* Mapeo a variables de Bootstrap 5 */
  --bs-primary: var(--primary-color);
  /* RGB de #fd7e14 => 253, 126, 20 */
  --bs-primary-rgb: 253, 126, 20;

  /* Spacing */
  --space-x: 16px;
  --radius: 10px;

  /* Modal */
  --modal-amber: var(--brand-amber);

  /* Breakpoints (coherentes con Bootstrap) */
  --bp-sm: 576px;
  --bp-md: 768px;
  --bp-lg: 992px;
  --bp-xl: 1200px;
  --bp-xxl: 1400px;
}

html, body {
  width: 100%;
  height: 100%;
}

body {
  background-color: rgb(249, 246, 239);
  background-image: url(/img/fondo.a94a385b.png);
  background-repeat: repeat;
  background-size: 480px auto;
  background-attachment: fixed;
  color: var(--text-color);
  overflow-x: hidden; /* evita desbordes horizontales en mobile */
  overscroll-behavior-y: none; /* evita que la barra del sistema Android salte al hacer scroll */
}

/* Overrides de utilidades Bootstrap usando nuestros tokens */
.bg-primary { background-color: var(--primary-color) !important; }
.text-primary { color: var(--primary-color) !important; }
.btn-primary {
  --bs-btn-bg: var(--primary-color);
  --bs-btn-border-color: var(--primary-color);
  --bs-btn-hover-bg: var(--primary-dark);
  --bs-btn-hover-border-color: var(--primary-dark);
}

/* Utilidad adicional coherente con el esquema */
.bg-amber { background-color: var(--brand-amber) !important; }

/* Utilidades generales PWA */
.full-width {
  width: 100% !important;
}
.no-overflow-x {
  overflow-x: hidden !important;
}
.img-fluid-keep {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Container fluid sin padding lateral */
.container-fluid {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Utilidades de diseño */
.section-y {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.no-gutters-x {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.shadow-card {
  box-shadow: var(--card-shadow);
}
.rounded-10 {
  border-radius: var(--radius);
}
.bg-surface {
  background-color: var(--surface);
}

/* Tablas responsivas */
.table-responsive {
  -webkit-overflow-scrolling: touch; /* suaviza scroll en iOS */
}

/* Ajustes de tipografía y espacios en pantallas pequeñas */
@media (max-width: var(--bp-sm)) {
  h1 { font-size: 1.6rem; }
  h2 { font-size: 1.35rem; }
  h3 { font-size: 1.2rem; }
}
