/* Ruta de Tapas · piezas públicas (idiomas, rutas y ficha de tapa) */
.rdt-lang { display: inline-flex; gap: 2px; padding: 3px; border-radius: 999px; background: rgba(31, 36, 48, 0.06); }
.rdt-lang a { padding: 4px 10px; border-radius: 999px; font-size: 13px; font-weight: 600; text-decoration: none; color: inherit; opacity: 0.6; }
.rdt-lang a.is-current { background: #fff; opacity: 1; box-shadow: 0 1px 3px rgba(20, 24, 36, 0.12); }

.rdt-routes { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.rdt-route-card { display: grid; gap: 6px; min-height: 180px; align-content: end; padding: 22px; border-radius: 24px; background: var(--rdt-color); color: #fff !important; text-decoration: none !important; box-shadow: 0 18px 40px -20px var(--rdt-color); transition: transform 0.2s ease; }
.rdt-route-card:hover { transform: translateY(-3px); }
.rdt-route-card strong { font-size: 28px; letter-spacing: -0.02em; line-height: 1.05; }
.rdt-route-card span { font-size: 14px; opacity: 0.92; }
.rdt-route-badge { justify-self: start; margin-bottom: auto; padding: 4px 10px; border-radius: 999px; background: rgba(255, 255, 255, 0.22); font-size: 12px !important; font-weight: 600; }

/* Ficha de tapa */
.rdt-tapa { --rdt-ink: #1f2430; --rdt-muted: #6b7280; color: var(--rdt-ink); }
.rdt-gallery { position: relative; overflow: hidden; height: clamp(260px, 46vw, 520px); margin: 0 0 32px; border-radius: 28px; background: #eef0ee; }
.rdt-gallery-track { display: flex; gap: 12px; height: 100%; width: max-content; animation: rdt-drift var(--rdt-duration, 60s) linear infinite; }
.rdt-gallery:hover .rdt-gallery-track { animation-play-state: paused; }
.rdt-gallery-img { height: 100%; width: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 20px; flex: none; }
@keyframes rdt-drift { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 6px)); } }

.rdt-tapa-grid { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 900px) {
  .rdt-tapa-grid { grid-template-columns: 1.2fr 1fr; }
  .rdt-block-map { grid-column: 1 / -1; }
}
.rdt-block { padding: 28px; border-radius: 28px; background: #fff; box-shadow: 0 1px 0 rgba(20, 24, 36, 0.04), 0 18px 40px -28px rgba(20, 24, 36, 0.25); }
.rdt-block-tapa { background: var(--rdt-color); color: #fff; }
.rdt-block-tapa .rdt-label, .rdt-block-tapa .rdt-muted, .rdt-block-tapa .rdt-eyebrow { color: rgba(255, 255, 255, 0.85); }
.rdt-eyebrow { margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rdt-color); }
.rdt-tapa-title { margin: 0 0 12px; font-size: clamp(30px, 4.4vw, 48px); line-height: 1.04; letter-spacing: -0.03em; color: inherit; }
.rdt-tapa-description { font-size: 18px; line-height: 1.5; opacity: 0.95; }
.rdt-label { margin: 22px 0 8px; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--rdt-muted); }
.rdt-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rdt-chips li { padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, 0.95); color: var(--rdt-ink); font-size: 14px; font-weight: 600; }
.rdt-lines { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: 15px; }
.rdt-note { margin: 18px 0 0; font-weight: 600; }
.rdt-muted { color: var(--rdt-muted); }
.rdt-restaurant-name { margin: 0 0 6px; font-size: 28px; letter-spacing: -0.02em; line-height: 1.1; }
.rdt-address { margin: 0; color: var(--rdt-muted); }
.rdt-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; }
.rdt-button { padding: 10px 16px; border-radius: 999px; background: rgba(31, 36, 48, 0.06); color: var(--rdt-ink) !important; font-weight: 600; font-size: 15px; text-decoration: none !important; }
.rdt-button.is-primary { background: var(--rdt-color); color: #fff !important; }
.rdt-button:hover { filter: brightness(0.96); }
.rdt-block-map { padding: 0; overflow: hidden; }
.rdt-tapa-map { height: 360px; }
.rdt-pin-static { display: block; width: 26px; height: 26px; border-radius: 50%; background: var(--rdt-color); border: 4px solid #fff; box-shadow: 0 4px 14px rgba(20, 24, 36, 0.3); }
.rdt-back { margin: 28px 0 0; }
.rdt-back a { font-weight: 600; text-decoration: none; }

@media (prefers-reduced-motion: reduce) {
  .rdt-gallery { overflow-x: auto; }
  .rdt-gallery-track { animation: none; }
}
