/* MACHUPICCHU BEST - Combined non-critical CSS generated 2026-05-23T13:23:37+00:00 */

/* ==== mobile-fix.css ==== */
/* ==========================================================
   FIX MÓVIL GLOBAL - MACHUPICCHU BEST
   Objetivo: evitar desplazamiento horizontal, centrar la web
   y mantener visibles botones/contenidos en celulares.
   ========================================================== */

html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overscroll-behavior-x: none;
}

@supports (overflow-x: clip) {
  html,
  body {
    overflow-x: clip !important;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box !important;
  min-width: 0;
}

img,
video,
canvas,
svg,
iframe {
  max-width: 100% !important;
}

body,
.page,
#page-home,
#page-dashboard,
#page-admin,
#page-checkout,
.section,
.section-inner,
.hero,
.hero-content,
.dashboard,
.checkout-wrap,
.admin-wrap,
.admin-main,
footer,
.footer-inner {
  width: 100% !important;
  max-width: 100% !important;
}

/* Evita que textos largos, emails, URLs o títulos empujen la página */
.nav-logo,
.hero-title,
.hero-subtitle,
.section-title,
.section-sub,
.tour-title,
.modal-title,
.booking-title,
.mob-row-name,
.footer-brand,
.footer-brand-sub,
.form-group input,
.form-group textarea,
.booking-meta span,
.order-line,
.admin-title {
  overflow-wrap: anywhere !important;
  word-break: normal;
}

/* ==========================================================
   NAVEGACIÓN MÓVIL
   Antes intentaba meter demasiados botones en una sola línea.
   Ahora el header se reparte en varias filas y nunca empuja
   la pantalla hacia la derecha.
   ========================================================== */
@media (max-width: 900px) {
  :root {
    --bottom-app-h: calc(86px + env(safe-area-inset-bottom));
  }

  body {
    padding-bottom: var(--bottom-app-h) !important;
    font-size: 15px;
  }

  #mainNav,
  nav {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  #mainNav .nav-inner,
  .nav-inner {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: .55rem .55rem .65rem !important;
    gap: .35rem !important;
  }

  .nav-logo {
    width: 100% !important;
    max-width: calc(100% - 52px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: .98rem !important;
    line-height: 1.08 !important;
    white-space: normal !important;
  }

  .nav-logo span {
    font-size: .74rem !important;
  }

  .hamburger {
    position: absolute !important;
    top: .5rem !important;
    right: .55rem !important;
    width: 38px !important;
    height: 38px !important;
    padding: .45rem !important;
    z-index: 5 !important;
  }

  .nav-right {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .28rem !important;
    overflow: visible !important;
  }

  .lang-group,
  .curr-group {
    flex: 0 1 auto !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: .18rem !important;
  }

  #authBtns,
  #userMenu {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: .35rem !important;
    overflow: visible !important;
  }

  #authBtns.hidden,
  #userMenu.hidden {
    display: none !important;
  }

  #adminMenuBtn {
    flex: 1 1 100% !important;
    width: 100% !important;
    text-align: center !important;
  }

  .lang-btn,
  .currency-btn {
    font-size: .68rem !important;
    padding: .32rem .45rem !important;
    min-height: 32px !important;
  }

  .btn-login,
  .btn-register,
  #authBtns .btn-login,
  #authBtns .btn-register,
  #userMenu .btn-login,
  #userMenu .btn-register,
  #adminMenuBtn .btn-register {
    flex: 1 1 135px !important;
    max-width: 170px !important;
    min-height: 40px !important;
    padding: .5rem .55rem !important;
    font-size: .78rem !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: normal !important;
    line-height: 1.1 !important;
  }

  .mobile-nav {
    top: var(--real-nav-h, 96px) !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 1rem .95rem calc(var(--bottom-app-h) + 1rem) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .mobile-nav-actions button {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
  }

  /* Hero y botones principales */
  .hero {
    min-height: auto !important;
    padding: 3rem 0 2.4rem !important;
  }

  .hero-content {
    padding: 1rem .85rem !important;
  }

  .hero-title {
    font-size: clamp(1.9rem, 10vw, 3.1rem) !important;
  }

  .hero-btns,
  .tour-foot,
  .form-actions,
  .booking-actions,
  .pay-tabs {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: .65rem !important;
  }

  .hero-btns button,
  .tour-foot button,
  .form-actions button,
  .booking-actions button,
  .pay-tab,
  .modal-book-btn,
  .auth-submit,
  .btn-primary,
  .btn-secondary,
  .btn-book,
  .btn-detail {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    text-align: center !important;
    justify-content: center !important;
  }

  .section {
    padding-left: .85rem !important;
    padding-right: .85rem !important;
  }

  .tours-grid,
  .why-grid,
  .footer-grid,
  .form-row,
  .card-form,
  .admin-stats {
    grid-template-columns: 1fr !important;
  }

  .hero-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .tour-card,
  .why-card,
  .checkout-section,
  .admin-table-wrap,
  .booking-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  .booking-card {
    display: block !important;
    overflow: visible !important;
  }

  .booking-img {
    width: 100% !important;
    height: 150px !important;
  }

  .booking-info {
    width: 100% !important;
    padding: 1rem !important;
  }

  .booking-status {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .65rem !important;
    align-items: stretch !important;
  }

  .dashboard,
  .checkout-wrap {
    padding-left: .85rem !important;
    padding-right: .85rem !important;
    padding-bottom: calc(var(--bottom-app-h) + 2rem) !important;
  }

  .checkout-wrap {
    display: block !important;
  }

  .checkout-section {
    margin-bottom: 1rem !important;
    padding: 1rem !important;
  }

  .dash-tabs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    overflow: visible !important;
    border-bottom: 0 !important;
    background: rgba(255,255,255,.035) !important;
    border-radius: 12px !important;
    padding: .25rem !important;
  }

  .dash-tab {
    text-align: center !important;
    border-bottom: 0 !important;
    border-radius: 9px !important;
    padding: .65rem .25rem !important;
    font-size: .74rem !important;
    white-space: normal !important;
  }

  .dash-tab.active {
    background: rgba(201,168,76,.16) !important;
  }

  input,
  select,
  textarea {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Modales: no usar 100vw con padding porque genera desborde en algunos navegadores móviles */
  .modal-overlay,
  .auth-overlay,
  .form-overlay {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: flex-start !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 0 !important;
  }

  .modal,
  .auth-modal,
  .form-modal {
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    min-height: 100dvh !important;
    border-radius: 0 !important;
    padding-bottom: calc(var(--bottom-app-h) + 1.5rem) !important;
    overflow-x: hidden !important;
  }

  .modal-body {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .modal-close,
  .auth-close {
    position: fixed !important;
    top: calc(.75rem + env(safe-area-inset-top)) !important;
    right: .75rem !important;
    z-index: 9600 !important;
  }

  /* Panel admin móvil */
  .admin-main {
    padding: .9rem .75rem calc(var(--bottom-app-h) + 1.5rem) !important;
  }

  .admin-header {
    align-items: stretch !important;
  }

  .admin-header .admin-add-btn,
  .admin-header .btn-register {
    width: 100% !important;
    min-height: 44px !important;
    justify-content: center !important;
  }

  .admin-tabbar {
    width: 100% !important;
    max-width: 100% !important;
    height: var(--bottom-app-h) !important;
    padding-bottom: env(safe-area-inset-bottom) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none;
  }

  .admin-tabbar::-webkit-scrollbar {
    display: none;
  }

  .admin-tab {
    min-width: 68px !important;
    flex: 0 0 68px !important;
  }

  .action-btns,
  .mob-row-foot {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: .5rem !important;
  }

  .action-btn {
    width: 100% !important;
    min-height: 42px !important;
  }

  /* Barra inferior del usuario */
  .bottom-app-nav {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: var(--bottom-app-h) !important;
    padding-bottom: env(safe-area-inset-bottom) !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    overflow: hidden !important;
    z-index: 8800 !important;
  }

  .bottom-app-nav button {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    white-space: normal !important;
    padding: .38rem .03rem .32rem !important;
    line-height: 1.08 !important;
    gap: 4px !important;
  }

  .bottom-app-nav .ico {
    font-size: 1.55rem !important;
  }

  .bottom-app-nav button span:last-child {
    display: block !important;
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    font-size: .68rem !important;
    line-height: 1.12 !important;
    font-weight: 700 !important;
  }

  /* IziPay / PayPal en celular */
  #izipayOverlay {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: .75rem !important;
    padding-top: calc(.75rem + env(safe-area-inset-top)) !important;
  }

  #izipayOverlay > div,
  #micuentawebstd_rest_wrapper,
  .kr-embedded,
  .kr-smart-form,
  .kr-form {
    width: 100% !important;
    max-width: 100% !important;
  }

  #izipayOverlay > div {
    max-height: none !important;
    min-height: auto !important;
    margin-bottom: calc(var(--bottom-app-h) + 1rem) !important;
    border-radius: 14px !important;
  }

  .toast {
    left: .75rem !important;
    right: .75rem !important;
    bottom: calc(var(--bottom-app-h) + .65rem) !important;
    width: auto !important;
    max-width: none !important;
    white-space: normal !important;
  }
}

@media (max-width: 380px) {
  .nav-inner {
    padding-left: .4rem !important;
    padding-right: .4rem !important;
  }

  .btn-login,
  .btn-register,
  #authBtns .btn-login,
  #authBtns .btn-register {
    flex-basis: 125px !important;
    font-size: .72rem !important;
  }

  .lang-btn,
  .currency-btn {
    padding: .28rem .38rem !important;
    font-size: .63rem !important;
  }

  .bottom-app-nav button span:last-child {
    font-size: .61rem !important;
  }
}


/* ==========================================================
   ICONOS VERTICALES EN TOURS Y PAQUETES
   Favoritos, carrito y compartir se apilan como una columna.
   ========================================================== */
.tour-img {
  position: relative !important;
}
.card-icon-actions {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  bottom: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: .38rem !important;
  z-index: 8 !important;
  max-width: 46px !important;
}
.card-icon-actions .card-icon-btn,
.card-icon-actions .fav-floating {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
}
.tour-img .tour-rating {
  right: 58px !important;
}
.tour-img .tour-badge {
  max-width: calc(100% - 62px) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
@media (max-width: 900px) {
  .card-icon-actions {
    top: 8px !important;
    right: 8px !important;
    gap: .32rem !important;
    max-width: 42px !important;
  }
  .card-icon-actions .card-icon-btn,
  .card-icon-actions .fav-floating {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
  }
  .tour-img .tour-rating {
    right: 52px !important;
  }
}

/* ==========================================================
   MODO CLARO / OSCURO + MENÚ MÓVIL LIMPIO
   - En móvil se ocultan Ingresar/Registrarse/Cuenta del header.
   - Esos accesos pasan al menú hamburguesa.
   - El botón Modo claro/oscuro vive dentro del menú móvil.
   ========================================================== */
body.theme-light {
  --dark:#F7F3EA;
  --dark2:#FFFFFF;
  --dark3:#EFE7D8;
  --text:#1B2430;
  --text2:#394456;
  --text3:#6E7582;
  background:#F7F3EA !important;
  color:#1B2430 !important;
}
body.theme-light .hero-bg {
  background:linear-gradient(135deg,#F7F3EA 0%,#EFE2C3 45%,#F6D7C5 75%,#DDEDF5 100%) !important;
}
body.theme-light nav,
body.theme-light #mainNav,
body.theme-light .mobile-nav,
body.theme-light .bottom-app-nav {
  background:rgba(255,255,255,.96) !important;
  border-color:rgba(154,122,46,.22) !important;
}
body.theme-light .tour-card,
body.theme-light .why-card,
body.theme-light .booking-card,
body.theme-light .checkout-section,
body.theme-light .admin-table-wrap,
body.theme-light .admin-stat,
body.theme-light .modal,
body.theme-light .auth-modal,
body.theme-light .form-modal,
body.theme-light footer {
  background:#FFFFFF !important;
  border-color:rgba(154,122,46,.18) !important;
  box-shadow:0 10px 28px rgba(27,36,48,.06);
}
body.theme-light .mobile-nav a,
body.theme-light .nav-links a,
body.theme-light .dash-tab,
body.theme-light .booking-meta,
body.theme-light .tour-meta,
body.theme-light .footer-col a {
  color:var(--text2) !important;
}
body.theme-light .form-group input,
body.theme-light .form-group textarea,
body.theme-light .form-group select,
body.theme-light .auth-form input {
  background:#F8F4EC !important;
  color:#1B2430 !important;
  border-color:rgba(27,36,48,.12) !important;
}
body.theme-light .btn-login,
body.theme-light .btn-secondary,
body.theme-light .mobile-menu-btn.outline {
  background:transparent !important;
  color:#9A7A2E !important;
  border-color:#9A7A2E !important;
}
body.theme-light .mobile-menu-btn.theme {
  background:#F2E8D3 !important;
  color:#1B2430 !important;
  border-color:rgba(154,122,46,.26) !important;
}
body.theme-light .toast {
  background:#FFFFFF !important;
  color:#1B2430 !important;
}

.mobile-auth-group {
  width:100%;
  display:flex;
  flex-direction:column;
  gap:.7rem;
}
.mobile-menu-btn {
  width:100%;
  max-width:100%;
  min-height:48px;
  border-radius:12px;
  font-family:'Raleway',sans-serif;
  font-size:1rem;
  font-weight:700;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:.4rem;
  padding:.85rem 1rem;
}
.mobile-menu-btn.outline {
  background:transparent;
  border:1px solid var(--gold);
  color:var(--gold);
}
.mobile-menu-btn.primary {
  background:var(--gold);
  border:1px solid var(--gold);
  color:var(--dark);
}
.mobile-menu-btn.danger {
  background:rgba(139,26,26,.14);
  border:1px solid rgba(220,70,70,.38);
  color:#FF9999;
}
.mobile-menu-btn.theme {
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  color:var(--text2);
}

@media (max-width: 900px) {
  #mainNav #authBtns,
  #mainNav #userMenu,
  #mainNav #adminMenuBtn {
    display:none !important;
  }

  #mainNav .nav-inner,
  .nav-inner {
    display:grid !important;
    grid-template-columns:1fr 44px !important;
    align-items:center !important;
    padding:.62rem .65rem !important;
    gap:.5rem !important;
  }

  .nav-logo {
    grid-column:1 / 2 !important;
    width:auto !important;
    max-width:100% !important;
    text-align:left !important;
    margin:0 !important;
    padding-left:.05rem !important;
  }

  .hamburger {
    grid-column:2 / 3 !important;
    position:static !important;
    justify-self:end !important;
    align-self:center !important;
  }

  .nav-right {
    grid-column:1 / -1 !important;
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:.35rem !important;
  }

  .mobile-nav-actions {
    margin-top:1.2rem !important;
    display:flex !important;
    flex-direction:column !important;
    gap:.75rem !important;
  }

  .mobile-nav a {
    display:block !important;
    width:100% !important;
  }
}


/* ===== PWA / APP INSTALABLE ===== */
@media all and (display-mode: standalone){
  body{padding-top:env(safe-area-inset-top);}
  nav{top:env(safe-area-inset-top);}
}

/* ===== FIX: estado de sesión en móvil ===== */
@media (max-width: 900px) {
  #mainNav #authBtns,
  #mainNav #userMenu,
  #mainNav #adminMenuBtn {
    display: none !important;
  }
  #mobileGuestActions.hidden,
  #mobileUserActions.hidden {
    display: none !important;
  }
  #mobileGuestActions:not(.hidden),
  #mobileUserActions:not(.hidden) {
    display: grid !important;
    gap: .75rem !important;
  }
  #mn-account {
    font-weight: 700 !important;
  }
}


/* ==========================================================
   AJUSTE: ICONOS INFERIORES MAS GRANDES EN MOVIL
   Explorar, Favoritos, Carrito, Reservas e Iniciar sesión/Mi cuenta
   ========================================================== */
@media (max-width: 900px) {
  :root {
    --bottom-app-h: calc(86px + env(safe-area-inset-bottom)) !important;
  }

  .bottom-app-nav {
    min-height: var(--bottom-app-h) !important;
    height: var(--bottom-app-h) !important;
  }

  .bottom-app-nav button {
    gap: 4px !important;
    padding-top: .42rem !important;
    padding-bottom: .34rem !important;
  }

  .bottom-app-nav .ico {
    font-size: 1.58rem !important;
    line-height: 1 !important;
  }

  .bottom-app-nav button span:last-child,
  .bottom-app-nav #bottomLoginText {
    font-size: .69rem !important;
    line-height: 1.12 !important;
    font-weight: 700 !important;
  }
}

@media (max-width: 380px) {
  :root {
    --bottom-app-h: calc(82px + env(safe-area-inset-bottom)) !important;
  }

  .bottom-app-nav .ico {
    font-size: 1.45rem !important;
  }

  .bottom-app-nav button span:last-child,
  .bottom-app-nav #bottomLoginText {
    font-size: .62rem !important;
  }
}


/* ==========================================================
   FIX FINAL: MODO CLARO / OSCURO FUNCIONAL
   Aplica tema usando body.theme-light, html.theme-light y data-theme.
   ========================================================== */
html.theme-light body,
html[data-theme="light"] body,
body.theme-light,
body[data-theme="light"] {
  --dark:#F7F3EA;
  --dark2:#FFFFFF;
  --dark3:#EFE7D8;
  --text:#1B2430;
  --text2:#394456;
  --text3:#6E7582;
  background:#F7F3EA !important;
  color:#1B2430 !important;
}

html.theme-light .hero-bg,
html[data-theme="light"] .hero-bg,
body.theme-light .hero-bg {
  background:linear-gradient(135deg,#F7F3EA 0%,#EFE2C3 45%,#F6D7C5 75%,#DDEDF5 100%) !important;
}

html.theme-light nav,
html.theme-light #mainNav,
html.theme-light .mobile-nav,
html.theme-light .bottom-app-nav,
html[data-theme="light"] nav,
html[data-theme="light"] #mainNav,
html[data-theme="light"] .mobile-nav,
html[data-theme="light"] .bottom-app-nav {
  background:rgba(255,255,255,.96) !important;
  border-color:rgba(154,122,46,.22) !important;
}

html.theme-light .tour-card,
html.theme-light .why-card,
html.theme-light .booking-card,
html.theme-light .checkout-section,
html.theme-light .admin-table-wrap,
html.theme-light .admin-stat,
html.theme-light .modal,
html.theme-light .auth-modal,
html.theme-light .form-modal,
html.theme-light footer,
html[data-theme="light"] .tour-card,
html[data-theme="light"] .why-card,
html[data-theme="light"] .booking-card,
html[data-theme="light"] .checkout-section,
html[data-theme="light"] .admin-table-wrap,
html[data-theme="light"] .admin-stat,
html[data-theme="light"] .modal,
html[data-theme="light"] .auth-modal,
html[data-theme="light"] .form-modal,
html[data-theme="light"] footer {
  background:#FFFFFF !important;
  border-color:rgba(154,122,46,.18) !important;
}

html.theme-light input,
html.theme-light textarea,
html.theme-light select,
html[data-theme="light"] input,
html[data-theme="light"] textarea,
html[data-theme="light"] select {
  background:#F8F4EC !important;
  color:#1B2430 !important;
  border-color:rgba(27,36,48,.12) !important;
}

html.theme-light .mobile-menu-btn.theme,
html[data-theme="light"] .mobile-menu-btn.theme {
  background:#F2E8D3 !important;
  color:#1B2430 !important;
  border-color:rgba(154,122,46,.26) !important;
}

#mobileThemeToggle {
  cursor:pointer !important;
  user-select:none !important;
}


/* ==== loading-logo-replace.css ==== */
/* Reemplaza el texto del pageloading por el logo MACHU PICCHU BEST */
#loading .loader-inca{
  display:none !important;
}
#loading .loader-logo{
  font-size:0 !important;
  line-height:0 !important;
  letter-spacing:0 !important;
  color:transparent !important;
  margin-bottom:1.35rem !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  text-align:center !important;
}
#loading .loader-logo span{
  display:none !important;
}
#loading .loader-logo .loading-brand-logo{
  display:block !important;
  width:min(340px,82vw) !important;
  max-height:118px !important;
  height:auto !important;
  object-fit:contain !important;
  margin:0 auto !important;
  border-radius:12px !important;
  box-shadow:0 14px 34px rgba(0,0,0,.25) !important;
}
@media (max-width:480px){
  #loading .loader-logo .loading-brand-logo{
    width:min(280px,82vw) !important;
    max-height:94px !important;
  }
  #loading .loader-text{
    max-width:82vw !important;
    line-height:1.4 !important;
  }
}


/* ==== logo-header.css ==== */
/* MACHUPICCHU BEST - Logo superior izquierdo */
.nav-logo{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:.55rem !important;
  min-width:0 !important;
  max-width:220px !important;
  line-height:1 !important;
}
.nav-logo.site-logo-ready{
  font-size:0 !important;
  color:transparent !important;
  overflow:visible !important;
}
.site-logo-img{
  display:block !important;
  width:auto !important;
  height:42px !important;
  max-width:190px !important;
  object-fit:contain !important;
  flex-shrink:0 !important;
}
@media(max-width:899px){
  .nav-inner{
    align-items:center !important;
  }
  .nav-logo{
    max-width:160px !important;
  }
  .site-logo-img{
    height:38px !important;
    max-width:145px !important;
  }
}
@media(max-width:380px){
  .site-logo-img{
    height:34px !important;
    max-width:128px !important;
  }
}


/* ==== i18n-master-clean.css ==== */
.footer-grid-clean,.footer-grid-no-support{grid-template-columns:1.5fr 1fr!important;align-items:start}
.footer-app-text{color:var(--text3);font-size:.82rem;line-height:1.6;margin-bottom:.75rem;max-width:280px}
.footer-app-btn{background:var(--gold);color:var(--dark);border:none;border-radius:10px;padding:.72rem 1rem;font-family:'Raleway',sans-serif;font-weight:700;cursor:pointer;min-height:44px}
.footer-app-btn:active{opacity:.85}
@media(max-width:767px){.footer-grid-clean{grid-template-columns:1fr!important}.footer-brand-col,.footer-app-col{grid-column:1/-1}.footer-app-btn{width:100%}}


/* ==== price-dollar-usd-final.css ==== */
.price-usd,
.modal-price-big,
.booking-price,
.cart-price,
.order-line .gold,
[data-price-format-fixed="1"]{
  white-space: nowrap !important;
}
.price-pen,
.modal-price-sol{
  display: none !important;
}


/* ==== price-usd-clean-final.css ==== */
/* MACHUPICCHU BEST - Price USD clean final */
.price-pen,
.price-sol,
.modal-price-sol,
.currency-pen,
.pen-price {
  display: none !important;
}

.price-usd-clean,
.price-usd,
.modal-price-big,
.booking-price {
  white-space: nowrap;
}

.tour-price {
  display: flex;
  align-items: baseline;
  gap: .35rem;
  flex-wrap: wrap;
}

.tour-price .price-usd-clean,
.tour-price .price-usd {
  font-family: 'Playfair Display', serif;
  color: var(--gold);
  font-weight: 700;
}

@media (max-width: 600px) {
  .tour-price .price-usd-clean,
  .tour-price .price-usd {
    font-size: 1.15rem;
  }
}


/* ==== price-format-i18n.css ==== */
/* MACHUPICCHU BEST - Price format i18n safe fix */
.price-usd,.modal-price-big,.mb-price-from,.booking-price{white-space:nowrap}
.tour-price{flex-wrap:wrap;align-items:baseline}
.mb-price-from{font-family:'Playfair Display',serif;font-size:1.18rem;color:var(--gold);font-weight:700;line-height:1.2}
.modal-price-big.mb-price-from{font-size:clamp(1.35rem,5vw,2rem)}
@media(max-width:520px){.mb-price-from{font-size:1.05rem}.modal-price-big.mb-price-from{font-size:1.45rem}}


/* ==== Render-safe fallback fixes ==== */
html,body{max-width:100%;overflow-x:hidden}
img,video,canvas,svg{max-width:100%;height:auto}
.nav-inner{width:100%;max-width:1300px;min-width:0}
.nav-logo{display:flex!important;align-items:center;min-width:0;flex:0 1 auto}
.nav-logo img,.nav-logo .site-logo-img,.header-logo-img{display:block;max-height:52px;width:auto;object-fit:contain}
@media(max-width:899px){
  nav{width:100%;left:0;right:0}
  .nav-inner{height:auto;min-height:60px;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.5rem!important;padding:.45rem .65rem!important;flex-wrap:nowrap!important}
  .nav-right{margin-left:auto;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:.35rem!important;min-width:0!important;flex-wrap:nowrap!important}
  .curr-group,#authBtns,#userMenu,#adminMenuBtn{display:none!important}
  .lang-group{display:flex!important;gap:.18rem!important;flex-shrink:0!important}
  .lang-btn{font-size:.72rem!important;padding:.32rem .42rem!important;min-width:30px!important}
  .hamburger{display:flex!important;flex:0 0 38px!important;width:38px!important;height:38px!important;padding:.35rem!important}
  .nav-logo img,.nav-logo .site-logo-img,.header-logo-img{max-width:145px!important;max-height:48px!important}
  .page{max-width:100vw;overflow-x:hidden}
  body{padding-bottom:78px}
}
.tour-price,.modal-price-row,.booking-price,.order-line{white-space:normal!important}
.price-usd,.modal-price-big{font-feature-settings:'tnum'}
.price-pen,.currency-btn,.curr-group,#pixTabWrap{display:none!important}
.modal-close,.auth-close{z-index:9999!important;position:sticky!important;top:.75rem!important;background:rgba(10,14,26,.92)!important;color:#fff!important;border:1px solid rgba(201,168,76,.65)!important;box-shadow:0 8px 20px rgba(0,0,0,.35)!important}
@media(max-width:599px){.modal-close{width:46px!important;height:46px!important;font-size:1.35rem!important;margin:.65rem .65rem 0 auto!important}}
/* Bottom mobile nav normalized */
.mobile-bottom-nav,.bottom-nav,.app-bottom-nav,#mobileBottomNav{height:74px!important;min-height:74px!important}
.mobile-bottom-nav .icon,.bottom-nav .icon,.app-bottom-nav .icon,#mobileBottomNav .icon{font-size:1.55rem!important;line-height:1!important}
.mobile-bottom-nav span,.bottom-nav span,.app-bottom-nav span,#mobileBottomNav span{font-size:.72rem!important;line-height:1.1!important}