/* ═══════════════════════════════════════════════════════════════════
   TURISTECH 2.0 — Páginas de detalle (excursion.html · guide.html)
   Usa los tokens de css/premium.css (tema claro por defecto / oscuro).
   ═══════════════════════════════════════════════════════════════════ */
body.tt-page {
  --deep: var(--tt-bg); --mid: var(--tt-bg-alt); --text: var(--tt-ink); --muted: var(--tt-ink-2); --card-bg: var(--tt-surface);
  --glass: color-mix(in srgb, var(--tt-ink) 4%, transparent); --glass2: color-mix(in srgb, var(--tt-ink) 8%, transparent);
  --border: var(--tt-line); --teal: var(--tt-accent); --ocean: var(--tt-ocean);
  background: var(--tt-bg) !important; color: var(--tt-ink) !important; font-family: var(--tt-font-ui) !important; min-height: 100vh; overflow-x: hidden;
  transition: background .4s var(--tt-ease), color .4s var(--tt-ease);
}
body.tt-page::before { display: none !important; }
body.tt-page h1, body.tt-page h2, body.tt-page h3, body.tt-page h4 { color: var(--tt-ink); }
body.tt-page ::-webkit-scrollbar-track { background: var(--tt-bg); }

/* ── Botones ── */
.tt-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 24px; border-radius: 999px; font: 700 .9rem var(--tt-font-ui); letter-spacing: .01em; cursor: pointer; border: 0; text-decoration: none;
  transition: transform .25s var(--tt-ease), box-shadow .25s var(--tt-ease), background .25s, color .25s; }
.tt-btn-primary { color: #fff !important; background: linear-gradient(135deg, var(--tt-caribbean), var(--tt-ocean)); box-shadow: var(--tt-sh-glow); }
.tt-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 14px 40px rgba(15,184,169,.42); }
.tt-btn-primary:active { transform: scale(.97); }
.tt-btn-ghost { color: var(--tt-ink) !important; background: transparent; border: 1.5px solid var(--tt-line); }
.tt-btn-ghost:hover { border-color: var(--tt-caribbean); color: var(--tt-accent-ink) !important; transform: translateY(-2px); }
.tt-btn-lg { padding: 18px 32px; font-size: 1.02rem; width: 100%; }
.tt-btn.is-disabled { pointer-events: none; opacity: .55; filter: saturate(.5); box-shadow: none; }

/* ── Barra superior ── */
.tt-pnav, body.tt-page > nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; height: 68px; display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(16px, 4.5vw, 64px);
  background: color-mix(in srgb, var(--tt-bg) 84%, transparent); -webkit-backdrop-filter: saturate(1.6) blur(18px); backdrop-filter: saturate(1.6) blur(18px);
  border-bottom: 1px solid var(--tt-line); box-shadow: 0 8px 30px rgba(12,35,64,.06); }
.tt-plogo { display: inline-flex; align-items: center; }
.tt-plogo img { height: 84px; width: 84px; margin: -22px 0 -22px -18px; max-width: none; }
.tt-logo-d { display: none; }
html[data-theme="dark"] .tt-logo-l { display: none; }
html[data-theme="dark"] .tt-logo-d { display: block; }
.tt-pnav-right { display: flex; align-items: center; gap: 10px; }
.tt-back { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; font: 600 .82rem var(--tt-font-ui); color: var(--tt-ink) !important; border: 1px solid var(--tt-line); background: var(--tt-surface-2); transition: all .25s var(--tt-ease); }
.tt-back:hover { border-color: var(--tt-caribbean); transform: translateX(-3px); }
.tt-back svg, .tt-back i { width: 16px; height: 16px; }
body.tt-page #themeToggle { color: var(--tt-ink) !important; background: var(--tt-surface-2); border: 1px solid var(--tt-line); margin: 0; }

/* ── Contenedor y estados ── */
.tt-wrap { max-width: 1240px; margin: 0 auto; padding: 96px clamp(16px, 4.5vw, 48px) 80px; }
.tt-state { min-height: 55vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; text-align: center; color: var(--tt-ink-2); }
.tt-state svg { width: 44px; height: 44px; color: var(--tt-caribbean-600); }
.tt-spin { width: 44px; height: 44px; border-radius: 50%; border: 3px solid var(--tt-line); border-top-color: var(--tt-caribbean); animation: ttSpin 1s linear infinite; }
@keyframes ttSpin { to { transform: rotate(360deg); } }
[data-lucide], svg.lucide { stroke-width: 1.9; }

/* ── Cabecera de la excursión ── */
.tt-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: .8rem; color: var(--tt-ink-2); margin-bottom: 18px; }
.tt-crumbs a:hover { color: var(--tt-accent-ink); }
.tt-crumbs svg, .tt-crumbs i { width: 14px; height: 14px; }
.tt-dtags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.tt-tag { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 999px; font: 700 .7rem var(--tt-font-ui); letter-spacing: .08em; text-transform: uppercase; background: color-mix(in srgb, var(--tt-caribbean) 12%, transparent); color: var(--tt-accent-ink); border: 1px solid color-mix(in srgb, var(--tt-caribbean) 28%, transparent); }
.tt-tag-loc { text-transform: none; letter-spacing: 0; font-size: .78rem; }
.tt-tag svg, .tt-tag i { width: 14px; height: 14px; }
.tt-dtitle { font-family: var(--tt-font-display); font-weight: 600; font-size: clamp(2rem, 4.8vw, 3.6rem); letter-spacing: -.025em; line-height: 1.08; max-width: 22ch; }
.tt-dmeta { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 18px; color: var(--tt-ink-2); font-size: .92rem; font-weight: 500; }
.tt-dmeta span { display: inline-flex; align-items: center; gap: 7px; }
.tt-dmeta svg, .tt-dmeta i { width: 17px; height: 17px; color: var(--tt-caribbean-600); }
.tt-rate strong { color: var(--tt-ink); }
.tt-rate svg { color: #f5a623 !important; fill: #f5a623; }

/* ── Galería grande + miniaturas ── */
.tt-gallery { margin: 30px 0 40px; }
.tt-gmain { position: relative; aspect-ratio: 16 / 9; max-height: 640px; width: 100%; border-radius: var(--tt-r-lg); overflow: hidden; background: var(--tt-surface-2); box-shadow: var(--tt-sh-lg); }
.tt-gmain img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity .18s ease, transform 1.2s var(--tt-ease); }
.tt-gmain:hover img { transform: scale(1.02); }
.tt-gmain img.is-fading { opacity: 0; }
.tt-gmain::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, rgba(4,18,43,.35), transparent 35%); }
.tt-gnav { position: absolute; top: 50%; z-index: 2; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; color: var(--tt-ink); background: rgba(255,255,255,.88); box-shadow: var(--tt-sh-md); cursor: pointer; border: 0; transition: transform .25s var(--tt-ease), background .25s; }
.tt-gnav:hover { transform: translateY(-50%) scale(1.08); background: #fff; }
.tt-gprev { left: 18px; } .tt-gnext { right: 18px; }
.tt-gnav svg, .tt-gnav i { width: 22px; height: 22px; }
.tt-gcount { position: absolute; z-index: 2; right: 18px; bottom: 16px; padding: 6px 14px; border-radius: 999px; font: 700 .78rem var(--tt-font-ui); color: #fff; background: rgba(4,18,43,.55); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.tt-gthumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-top: 14px; }
.tt-gthumb { padding: 0; aspect-ratio: 16 / 10; border-radius: 14px; overflow: hidden; border: 2px solid transparent; cursor: pointer; background: var(--tt-surface-2); opacity: .65; transition: opacity .25s, transform .3s var(--tt-ease), border-color .25s; }
.tt-gthumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tt-gthumb:hover { opacity: 1; transform: translateY(-3px); }
.tt-gthumb.on { opacity: 1; border-color: var(--tt-caribbean); box-shadow: var(--tt-sh-glow); }

/* ── Cuerpo ── */
.tt-dgrid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(28px, 4vw, 56px); align-items: start; }
.tt-block { padding: 8px 0 34px; border-bottom: 1px solid var(--tt-line); margin-bottom: 30px; }
.tt-block:last-child { border-bottom: 0; }
.tt-block h2 { font-family: var(--tt-font-display); font-weight: 600; font-size: 1.55rem; letter-spacing: -.015em; margin-bottom: 16px; }
.tt-prose { color: var(--tt-ink-2); line-height: 1.85; font-size: 1.02rem; max-width: 70ch; white-space: pre-wrap; }
.tt-prose + .tt-prose { margin-top: 14px; }
.tt-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; }
.tt-fact { display: flex; align-items: flex-start; gap: 14px; padding: 16px 18px; border-radius: var(--tt-r-md); background: var(--tt-surface-2); }
.tt-fact > svg, .tt-fact > i { width: 22px; height: 22px; flex-shrink: 0; color: var(--tt-caribbean-600); margin-top: 2px; }
.tt-fact span { display: block; font: 700 .68rem var(--tt-font-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--tt-ink-2); margin-bottom: 3px; }
.tt-fact strong { font-weight: 600; font-size: .95rem; line-height: 1.4; }
.tt-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.tt-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 11px; }
.tt-list li { position: relative; padding-left: 32px; line-height: 1.55; color: var(--tt-ink); font-size: .96rem; }
.tt-list li::before { content: ''; position: absolute; left: 0; top: 1px; width: 22px; height: 22px; border-radius: 50%; background-position: center; background-repeat: no-repeat; background-size: 12px; }
.tt-yes li::before { background-color: color-mix(in srgb, var(--tt-caribbean) 16%, transparent); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a9488' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
.tt-no li::before { background-color: rgba(220,60,60,.12); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d33' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E"); }
.tt-bring li::before { background-color: color-mix(in srgb, var(--tt-ocean) 14%, transparent); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b5fc0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); }
.tt-restr li::before { background-color: rgba(245,166,35,.16); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c77d00' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 8v5M12 17h.01'/%3E%3C/svg%3E"); }
.tt-list svg.tt-ico, .tt-list .tt-ico { width: 1em; height: 1em; margin-inline-end: .4em; color: var(--tt-caribbean-600); }

/* ── Guía ── */
.tt-guidecard { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; padding: 24px; border-radius: var(--tt-r-lg); background: var(--tt-surface-2); }
.tt-gavatar { width: 84px; height: 84px; flex-shrink: 0; border-radius: 50%; display: grid; place-items: center; color: #fff; font: 700 1.6rem var(--tt-font-display); background: linear-gradient(135deg, var(--tt-caribbean), var(--tt-ocean)) center / cover no-repeat; box-shadow: 0 0 0 4px var(--tt-surface), var(--tt-sh-md); }
.tt-ginfo { flex: 1 1 260px; min-width: 0; }
.tt-gname { font: 700 1.15rem var(--tt-font-ui); display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.tt-verified { display: inline-flex; align-items: center; gap: 5px; font: 700 .7rem var(--tt-font-ui); color: var(--tt-accent-ink); background: color-mix(in srgb, var(--tt-caribbean) 12%, transparent); padding: 4px 10px; border-radius: 999px; }
.tt-verified svg, .tt-verified i { width: 13px; height: 13px; }
.tt-gbio { color: var(--tt-ink-2); font-size: .92rem; line-height: 1.65; margin-top: 8px; }
.tt-gbits { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 12px; font-size: .84rem; color: var(--tt-ink-2); }
.tt-gbits span { display: inline-flex; align-items: center; gap: 6px; }
.tt-gbits svg, .tt-gbits i { width: 15px; height: 15px; color: var(--tt-caribbean-600); }

/* ── Panel de reserva (sticky) ── */
/* Hotfix UX 2.5C — tarjeta de reserva sticky: arranca junto con el título (dentro de la grilla) y se queda a 120 px del borde */
.tt-book { position: sticky; top: 120px; align-self: start; width: 360px; max-width: 100%; }
.tt-dmain > .tt-dhead { margin-bottom: 28px; }
.tt-bookcard { padding: 28px; border-radius: var(--tt-r-lg); background: linear-gradient(160deg, color-mix(in srgb, var(--tt-caribbean) 9%, var(--tt-surface)), var(--tt-surface)); border: 1px solid color-mix(in srgb, var(--tt-caribbean) 28%, transparent); box-shadow: var(--tt-sh-lg); }
.tt-bprice { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.tt-bamount { font: 700 2.6rem var(--tt-font-display); letter-spacing: -.03em; line-height: 1; }
.tt-bper { color: var(--tt-ink-2); font-size: .85rem; }
.tt-brating { margin-top: 10px; display: flex; align-items: center; gap: 6px; font-size: .88rem; color: var(--tt-ink-2); }
.tt-brating svg, .tt-brating i { width: 16px; height: 16px; color: #f5a623; fill: #f5a623; }
.tt-brating strong { color: var(--tt-ink); }
.tt-bfacts { list-style: none; padding: 18px 0; margin: 18px 0 20px; border-top: 1px dashed var(--tt-line); border-bottom: 1px dashed var(--tt-line); display: grid; gap: 12px; font-size: .9rem; }
.tt-bfacts li { display: flex; align-items: center; gap: 10px; color: var(--tt-ink); }
.tt-bfacts svg, .tt-bfacts i { width: 18px; height: 18px; color: var(--tt-caribbean-600); flex-shrink: 0; }
.tt-bnote { display: flex; align-items: center; gap: 8px; margin-top: 14px; font-size: .78rem; color: var(--tt-ink-2); line-height: 1.4; }
.tt-bnote svg, .tt-bnote i { width: 16px; height: 16px; color: var(--tt-caribbean-600); flex-shrink: 0; }

.tt-mbar { display: none; }

@media (max-width: 980px) {
  .tt-dgrid { grid-template-columns: 1fr; }
  .tt-book { display: block; position: static; width: 100%; margin-top: 8px; }
  .tt-mbar { position: fixed; z-index: 90; left: 0; right: 0; bottom: 0; display: flex !important; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 18px calc(12px + env(safe-area-inset-bottom));
    background: color-mix(in srgb, var(--tt-surface) 92%, transparent); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border-top: 1px solid var(--tt-line); box-shadow: 0 -10px 30px rgba(12,35,64,.10); }
  .tt-mbar-price { font: 700 1.3rem var(--tt-font-display); }
  .tt-mbar-sub { font-size: .72rem; color: var(--tt-ink-2); }
  .tt-wrap { padding-bottom: 120px; }
}
@media (max-width: 640px) {
  .tt-gthumbs { grid-template-columns: repeat(5, 1fr); gap: 8px; }
  .tt-gnav { width: 40px; height: 40px; }
  .tt-two { grid-template-columns: 1fr; gap: 26px; }
  .tt-back span { display: none; }
  .tt-guidecard { padding: 18px; }
}

/* ═════ guide.html — perfil del guía ═════ */
body.tt-page .page-wrap { max-width: 1240px; margin: 0 auto; padding: 100px clamp(16px, 4.5vw, 48px) 80px; }
body.tt-page .profile-hero { position: relative; overflow: hidden; display: flex; align-items: center; gap: clamp(22px, 4vw, 44px); padding: clamp(28px, 4vw, 48px); border-radius: 32px !important;
  background: linear-gradient(135deg, var(--tt-ocean-900) 0%, #0b4f8f 60%, #0a7d8c 130%) !important; border: 0 !important; box-shadow: var(--tt-sh-lg) !important; color: #fff; }
body.tt-page .profile-hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(60% 90% at 100% 0%, rgba(34,224,196,.30), transparent 60%); }
body.tt-page .profile-hero > * { position: relative; }
body.tt-page .profile-avatar { width: clamp(110px, 14vw, 156px) !important; height: clamp(110px, 14vw, 156px) !important; border-radius: 50% !important; flex-shrink: 0; overflow: hidden; display: grid !important; place-items: center;
  font: 700 clamp(2rem, 4vw, 3rem) var(--tt-font-display) !important; color: #fff !important; background: linear-gradient(135deg, var(--tt-caribbean), var(--tt-ocean)) !important; border: 4px solid rgba(255,255,255,.85) !important; box-shadow: 0 16px 40px rgba(0,0,0,.35) !important; }
body.tt-page .profile-avatar img { width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 50%; }
body.tt-page .profile-role-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 999px; font: 700 .7rem var(--tt-font-ui) !important; letter-spacing: .1em; text-transform: uppercase; color: #fff !important; background: rgba(255,255,255,.16) !important; border: 1px solid rgba(255,255,255,.3) !important; }
body.tt-page .profile-name { font-family: var(--tt-font-display) !important; font-weight: 600 !important; font-size: clamp(2rem, 4.5vw, 3.2rem) !important; letter-spacing: -.025em !important; color: #fff !important; margin: 12px 0 6px !important; }
body.tt-page .profile-email { color: rgba(255,255,255,.85) !important; }
body.tt-page .profile-bio { color: rgba(255,255,255,.88) !important; font-size: 1.02rem !important; line-height: 1.75 !important; max-width: 62ch; }
body.tt-page .profile-stats-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
body.tt-page .profile-stat { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; color: #fff !important; background: rgba(255,255,255,.13) !important; border: 1px solid rgba(255,255,255,.24) !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-size: .84rem; }
body.tt-page .profile-stat strong { color: #fff; }
body.tt-page .profile-stat .tt-ico { color: var(--tt-caribbean-glow); }
body.tt-page .section-heading { margin: 48px 0 24px !important; }
body.tt-page .section-heading h3 { font-family: var(--tt-font-display) !important; font-weight: 600 !important; font-size: 1.7rem !important; color: var(--tt-ink) !important; }
body.tt-page .section-heading-icon { background: linear-gradient(135deg, var(--tt-caribbean), var(--tt-ocean)) !important; color: #fff !important; border-radius: 14px !important; }
body.tt-page .section-count { background: color-mix(in srgb, var(--tt-caribbean) 14%, transparent) !important; color: var(--tt-accent-ink) !important; border: 0 !important; }
body.tt-page .cards-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)) !important; gap: 26px !important; }
body.tt-page .card { position: relative; background: var(--tt-surface) !important; border: 1px solid var(--tt-line) !important; border-radius: var(--tt-r-lg) !important; overflow: hidden; box-shadow: var(--tt-sh-sm) !important; color: var(--tt-ink) !important; transition: transform .45s var(--tt-ease), box-shadow .45s var(--tt-ease) !important; }
body.tt-page .card:hover { transform: translateY(-8px) !important; box-shadow: var(--tt-sh-lg) !important; }
body.tt-page .card-img-wrap { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
body.tt-page .card-img { width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .9s var(--tt-ease); }
body.tt-page .card:hover .card-img { transform: scale(1.08); }
body.tt-page .card-badge { z-index: 3; background: rgba(255,255,255,.92) !important; color: var(--tt-ocean-900) !important; border-radius: 999px !important; font-weight: 700 !important; }
body.tt-page .card-body { padding: 20px 22px 22px !important; }
body.tt-page .card-title { font-family: var(--tt-font-display) !important; font-weight: 600 !important; font-size: 1.22rem !important; color: var(--tt-ink) !important; line-height: 1.22 !important; }
body.tt-page .card-loc { color: var(--tt-accent-ink) !important; font-weight: 600 !important; }
body.tt-page .card-desc { color: var(--tt-ink-2) !important; }
body.tt-page .card-chip { background: var(--tt-surface-2) !important; color: var(--tt-ink-2) !important; border: 0 !important; border-radius: 999px !important; }
body.tt-page .card-price { font: 700 1.8rem var(--tt-font-display) !important; color: var(--tt-ink) !important; }
body.tt-page .card-price span { font: 600 .72rem var(--tt-font-ui); color: var(--tt-ink-2); }
body.tt-page .btn-reservar-guide { background: linear-gradient(135deg, var(--tt-caribbean), var(--tt-ocean)) !important; color: #fff !important; border-radius: 999px !important; padding: 11px 22px !important; font-weight: 700 !important; box-shadow: var(--tt-sh-glow) !important; }
.tt-card-link { position: absolute; inset: 0; z-index: 1; }
body.tt-page .empty-guide { color: var(--tt-ink-2); }
body.tt-page #loadingState, body.tt-page #errorState { color: var(--tt-ink-2); }
body.tt-page .loader-ring { border-color: var(--tt-line) !important; border-top-color: var(--tt-caribbean) !important; }
@media (max-width: 720px) { body.tt-page .profile-hero { flex-direction: column; text-align: center; } body.tt-page .profile-stats-row { justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .tt-gmain img, .tt-btn, .tt-gthumb, body.tt-page .card { transition: none !important; } }

/* ── Ajustes de barra superior y enlaces en páginas de detalle ── */
body.tt-page a { color: inherit; text-decoration: none; }
body.tt-page .tt-crumbs a:hover, body.tt-page .tt-back:hover { text-decoration: none; }
nav.tt-pnav { height: 68px !important; padding: 0 clamp(16px, 4.5vw, 64px) !important; justify-content: space-between !important;
  background: color-mix(in srgb, var(--tt-bg) 84%, transparent) !important; -webkit-backdrop-filter: saturate(1.6) blur(18px) !important; backdrop-filter: saturate(1.6) blur(18px) !important;
  border-bottom: 1px solid var(--tt-line) !important; box-shadow: 0 8px 30px rgba(12,35,64,.06) !important; }
nav.tt-pnav .tt-plogo img { height: 108px !important; width: 108px !important; margin: -30px 0 -30px -26px !important; max-width: none !important; }
nav.tt-pnav .tt-back, nav.tt-pnav #themeToggle { color: var(--tt-ink) !important; }
nav.tt-pnav .tt-pnav-right { margin-left: auto; }

/* ═════ SPRINT 5.1 — correcciones del QA visual ═════ */
/* 2 · Flechas de la galería visibles también en tema oscuro (círculo blanco → icono siempre oscuro) */
body.tt-page .tt-gnav { color: #0c2340 !important; background: rgba(255,255,255,.92) !important; }
body.tt-page .tt-gnav svg, body.tt-page .tt-gnav i { stroke: currentColor; }

/* 3 · Valoración y ubicación legibles en las tarjetas del perfil de guía */
body.tt-page .card-meta { flex-wrap: nowrap !important; gap: 10px !important; align-items: center; }
body.tt-page .card-loc { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem !important; }
body.tt-page .card-rating { flex: 0 0 auto; white-space: nowrap; margin-left: 0 !important; font-size: .84rem !important; font-weight: 700 !important; color: #8a5300 !important; padding: 4px 10px; border-radius: 999px; background: #fff3d6; }
html[data-theme="dark"] body.tt-page .card-rating { color: #ffd479 !important; background: rgba(255,200,87,.14); }
body.tt-page .card-chip { font-size: .78rem !important; }

/* 10 · Iconos rojo/ámbar/azul legibles en oscuro */
html[data-theme="dark"] .tt-no li::before { background-color: rgba(255,120,120,.20); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff9a9a' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E"); }
html[data-theme="dark"] .tt-restr li::before { background-color: rgba(255,200,87,.22); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffd479' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 8v5M12 17h.01'/%3E%3C/svg%3E"); }
html[data-theme="dark"] .tt-bring li::before { background-color: rgba(124,196,255,.20); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237cc4ff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); }
html[data-theme="dark"] .tt-yes li::before { background-color: rgba(34,224,196,.20); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322e0c4' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }

/* 12 · Mismo tamaño de logo que la barra de la Home (estado con fondo sólido) */
nav.tt-pnav .tt-plogo img { height: 88px !important; width: 88px !important; margin: -24px 6px -24px -22px !important; }
@media (max-width: 820px) { nav.tt-pnav .tt-plogo img { height: 76px !important; width: 76px !important; margin: -22px 0 -22px -10px !important; } }

/* 13 · Una sola marca por elemento en “Qué incluye”: se oculta el icono duplicado dentro de la lista */
.tt-list .tt-ico, .tt-list svg.lucide, .tt-list i[data-lucide] { display: none !important; }

/* Hotfix UX 2.5C — el botón Reservar nunca sobrepasa la tarjeta */
.tt-bookcard { box-sizing: border-box; }
.tt-bookcard .tt-btn { display: flex; align-items: center; justify-content: center; width: 100%; box-sizing: border-box; }
@media (max-width: 980px) { .tt-dgrid { gap: 12px; } .tt-book { margin-top: 0; } .tt-bookcard { padding: 24px; } }
