/* The Dragon Chamber · añadidos de la portada (sobre el tema Ebotic)
   1. Fondo dividido   2. Slider de novedades con la mano de cartas   3. De tu pedido a tu mesa (dragón)
   4. Ticket "Comprar aquí"   Modo oscuro: html[data-theme=dark] (botón de dragonchamber.js) */

body.dc-portada {
  --dc-navy: #08111f; --dc-cyan: #23f8fd; --dc-cyan-2: #00c4f1; --dc-gold: #c9a227;
  --dc-panel: #fff; --dc-ink: #1b1b2f; --dc-soft: #5d5878; --dc-paper: #f6f4fb; --dc-line: #d4cee6;
}
html[data-theme=dark] body.dc-portada {
  --dc-panel: #0f0e1a; --dc-ink: #ecebf5; --dc-soft: #a6a2bf; --dc-paper: #1a1830; --dc-line: #2e2b4a;
}

/* ---------- 1. Fondo: montón de cartas a la izquierda, mesa de pintura a la derecha ----------
   Cada lado ocupa solo la franja que queda libre junto a la columna de contenido (más un margen que
   se esconde detrás), así las imágenes conservan su proporción y no se deforman. */
html:has(body.dc-portada) { background: var(--dc-fondo-suelo, #070d18); }
html[data-theme] body.dc-portada, html body.dc-portada { background: transparent !important; }
body.dc-portada { --dc-col: 1470px; --dc-franja: max(0px, calc((100vw - var(--dc-col)) / 2)); }
html body.dc-portada #wrapper,
html body.dc-portada #main,
html body.dc-portada #content-wrapper,
html body.dc-portada #hero_section { background: transparent !important; }
body.dc-portada #wrapper .elementor-9 {
  position: relative; z-index: 1; max-width: var(--dc-col); margin: 0 auto; padding: 20px 20px 40px; background: var(--dc-panel);
}
/* La columna es un tablero apoyado sobre la mesa: sombra suave hacia abajo, solo donde hay fondo detrás */
@media (min-width: 1511px) { body.dc-portada #wrapper .elementor-9 { box-shadow: 0 30px 70px rgba(0, 0, 0, .55), 0 6px 18px rgba(0, 0, 0, .35); } }
.dc-fondo { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.dc-fondo__lado { position: absolute; top: 0; bottom: 0; width: calc(var(--dc-franja) + 140px); }
.dc-fondo__lado--cartas { left: 0; -webkit-mask-image: linear-gradient(to right, #000 55%, transparent); mask-image: linear-gradient(to right, #000 55%, transparent); }
.dc-fondo__lado--pintura { right: 0; -webkit-mask-image: linear-gradient(to left, #000 55%, transparent); mask-image: linear-gradient(to left, #000 55%, transparent); }
.dc-fondo__lado--pintura img { width: 100%; height: 100%; object-fit: cover; object-position: 64% 55%; filter: brightness(.62) saturate(.85); }
/* Las cartas: dorsos reales, girados, con sombra (flotan sobre la mesa) y más oscuros cuanto más al fondo */
.dc-fondo__carta {
  /* --l es una fracción de la franja visible: las cartas caben en ella y solo una esquina pasa bajo la columna */
  position: absolute; top: var(--t); left: calc(var(--dc-franja) * var(--l)); width: clamp(130px, calc(var(--dc-franja) * .8), 240px); height: auto; aspect-ratio: 5 / 7; object-fit: cover;
  border-radius: 9px; z-index: var(--z); transform: rotate(var(--r)); filter: brightness(var(--b)) saturate(.8);
  box-shadow: 0 18px 30px rgba(0, 0, 0, .55), 0 2px 4px rgba(0, 0, 0, .4);
}
/* Sin franja libre (pantallas de 1510 px o menos) no se dibuja el fondo */
@media (max-width: 1510px) {
  .dc-fondo { display: none; }
  body.dc-portada #wrapper .elementor-9 { padding: 20px 0 40px; }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 1511px) {
  .dc-fondo__carta { animation: dc-carta-cae .9s cubic-bezier(.16, 1, .3, 1) both; animation-delay: calc(var(--z) * 80ms); }
  @keyframes dc-carta-cae { from { opacity: 0; transform: translateY(-40px) rotate(calc(var(--r) - 12deg)); } }
}

/* ---------- 2. Slider de novedades ---------- */
.dc-hero { position: relative; margin: 0; border-radius: 12px; overflow: hidden; background: var(--dc-navy); }
.dc-hero__slides { position: relative; min-height: clamp(520px, 40vw, 600px); }
.dc-slide {
  position: absolute; inset: 0; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center;
  gap: 32px; padding: 36px clamp(56px, 7vw, 110px) 210px; background: var(--c); color: #fff;
  opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility 0s linear .6s;
}
.dc-slide.is-on { opacity: 1; visibility: visible; transition: opacity .6s ease; }
.dc-slide__txt { position: relative; max-width: 560px; }
.dc-slide__when { margin: 0 0 10px; color: var(--k); font-weight: 600; font-size: 15px; letter-spacing: .02em; }
.dc-slide h2 { margin: 0 0 14px; color: #fff; font-family: Belleza, Poppins, sans-serif; font-weight: 600; font-size: clamp(28px, 3vw, 44px); line-height: 1.1; }
.dc-slide__txt > p:not(.dc-slide__when) { margin: 0 0 22px; color: rgba(255, 255, 255, .9); font-size: 16px; line-height: 1.55; }
.dc-slide__btn {
  display: inline-block; padding: 12px 26px; border-radius: 6px; background: var(--dc-cyan); color: var(--dc-navy) !important;
  font-weight: 600; text-decoration: none !important; transition: transform .18s ease, background-color .18s;
}
.dc-slide__btn:hover { transform: translateY(-2px); background: #8ffcfe; }
.dc-slide__img { position: relative; margin: 0; justify-self: center; width: min(100%, 280px); aspect-ratio: 1; padding: 14px;
  background: #fff; border-radius: 14px; transform: rotate(3deg); box-shadow: 0 18px 40px rgba(0, 0, 0, .35); }
.dc-slide__img img { width: 100%; height: 100%; object-fit: contain; }
.dc-slide__img--foto { width: min(100%, 460px); aspect-ratio: 4 / 3; padding: 10px 10px 30px; }
.dc-slide__img--foto img { object-fit: cover; object-position: 40% 60%; border-radius: 6px; }
.dc-slide__img figcaption { position: absolute; left: 12px; right: 12px; bottom: 7px; font-size: 11px; color: #5d5878; text-align: right; }
.dc-slide__img figcaption a { color: inherit; }

.dc-hero__arrow {
  position: absolute; top: 42%; z-index: 3; width: 44px; height: 44px; border-radius: 50%; border: 0; cursor: pointer;
  background: rgba(255, 255, 255, .14); color: #fff; font-size: 30px; line-height: 40px; transition: background-color .18s;
}
.dc-hero__arrow:hover { background: var(--dc-cyan); color: var(--dc-navy); }
.dc-hero__arrow--prev { left: 14px; } .dc-hero__arrow--next { right: 14px; }
.dc-hero button:focus-visible, .dc-hero a:focus-visible { outline: 3px solid var(--dc-gold); outline-offset: 3px; }

/* ---------- La mano de cartas (estilo Slay the Spire) ----------
   Cartas completas en miniatura, solapadas en abanico y cortadas por el borde inferior.
   La seleccionada sube, se endereza, crece y aparta a las vecinas. Posiciones calculadas en portada.js. */
.dc-hand { position: absolute; left: 0; right: 0; bottom: 0; height: 0; z-index: 3; }
.dc-mcard {
  --w: 124px; --x: 0px; --y: 0px; --r: 0deg; --s: 1;
  position: absolute; left: 50%; bottom: -46px; width: var(--w); aspect-ratio: 5 / 7; padding: 0; border: 0; cursor: pointer;
  background: none; color: #fff; font-family: Poppins, sans-serif; text-align: left;
  transform-origin: 50% 100%;
  transform: translateX(-50%) translate(var(--x), var(--y)) rotate(var(--r)) scale(var(--s));
  transition: transform .42s cubic-bezier(.16, 1, .3, 1);
}
.dc-mcard__cara {
  position: absolute; inset: 0; display: flex; flex-direction: column; border-radius: 10px; overflow: hidden;
  background: var(--c); border: 3px solid #c9a227; box-shadow: 0 8px 18px rgba(0, 0, 0, .45);
  transition: box-shadow .3s, border-color .3s;
}
.dc-mcard__cinta { margin: 9px 6px 0 18px; padding: 3px 6px; border-radius: 4px; background: rgba(0, 0, 0, .35);
  font-size: 10px; font-weight: 700; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--k); }
.dc-mcard__arte { flex: 1; margin: 5px 6px 0; border-radius: 4px; background: #fff; overflow: hidden; }
.dc-mcard__arte img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dc-mcard__tipo { align-self: center; margin-top: -8px; padding: 1px 7px; border-radius: 3px; background: #1b1b2f; color: #e9eef3; font-size: 9px; font-weight: 600; }
.dc-mcard__fecha { padding: 4px 6px 8px; font-size: 10px; font-weight: 600; text-align: center; line-height: 1.2; color: #fff; }
.dc-mcard__gema {
  position: absolute; left: -8px; top: -8px; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
  background: #1b1b2f; border: 2px solid #c9a227; z-index: 2;
}
.dc-mcard__gema svg { width: 16px; height: 22px; }
/* Seleccionada: brillo de carta jugable */
.dc-mcard[aria-current="true"] .dc-mcard__cara {
  border-color: #f5d76e;
  box-shadow: 0 16px 30px rgba(0, 0, 0, .5), 0 0 0 3px rgba(35, 248, 253, .9), 0 0 22px 6px rgba(35, 248, 253, .55);
}
.dc-mcard:focus-visible { outline: none; }
.dc-mcard:focus-visible .dc-mcard__cara { box-shadow: 0 0 0 3px #c9a227, 0 0 0 6px #fff; }
@media (max-width: 767px) {
  .dc-mcard { --w: 74px; bottom: -34px; }
  .dc-mcard__cinta { font-size: 8px; margin: 6px 4px 0 14px; padding: 2px 4px; }
  .dc-mcard__tipo { display: none; }
  .dc-mcard__fecha { font-size: 8px; padding: 3px 4px 6px; }
  .dc-mcard__gema { width: 24px; height: 24px; left: -6px; top: -6px; }
  .dc-mcard__gema svg { width: 13px; height: 18px; }
}
@media (prefers-reduced-motion: reduce) { .dc-mcard { transition: none; } }

/* ---------- 3. De tu pedido a tu mesa ---------- */
.dc-pedido {
  display: grid; grid-template-columns: minmax(0, 1fr) 340px; grid-template-areas: "head head" "ruta ticket" "pasos ticket";
  column-gap: 40px; margin: 72px 24px 56px; color: var(--dc-ink);
}
.dc-pedido__head { grid-area: head; margin-bottom: 26px; }
.dc-h2 { margin: 0 0 6px; font-family: Belleza, Poppins, sans-serif; font-weight: 600; font-size: 30px; text-transform: uppercase; color: var(--dc-ink); }
.dc-pedido__head p { margin: 0; color: var(--dc-soft); font-size: 16px; }

.dc-ruta { grid-area: ruta; position: relative; height: 150px; margin: 0 40px; touch-action: pan-y; }
.dc-ruta__linea { position: absolute; left: 0; right: 0; top: 104px; height: 6px; border-radius: 3px; background: var(--dc-line); }
.dc-ruta__hecho { display: block; height: 100%; width: 0; border-radius: 3px; background: var(--dc-cyan-2); }
.dc-ruta__paradas { list-style: none; margin: 0; padding: 0; position: absolute; left: 0; right: 0; top: 96px; height: 50px; }
.dc-ruta__paradas li { position: absolute; top: 0; transform: translateX(-50%); }
.dc-ruta__paradas button {
  display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 0; border: 0; background: none; cursor: pointer;
  color: var(--dc-soft); font: 500 13px Poppins, sans-serif; white-space: nowrap;
}
.dc-ruta__paradas button::before { content: ""; width: 22px; height: 22px; border-radius: 50%; background: var(--dc-panel); border: 4px solid var(--dc-line); transition: border-color .2s, transform .2s; }
.dc-ruta__paradas button.is-hecho::before { border-color: var(--dc-cyan-2); }
.dc-ruta__paradas button.is-aqui { color: var(--dc-ink); font-weight: 600; }
.dc-ruta__paradas button.is-aqui::before { transform: scale(1.2); background: var(--dc-cyan-2); border-color: var(--dc-cyan-2); }
.dc-ruta__paradas button:hover::before { transform: scale(1.2); }

.dc-dragon {
  position: absolute; top: 0; left: 0; width: 120px; height: 96px; margin-left: -60px; cursor: grab; touch-action: none; z-index: 2;
  transform: translateX(var(--x, 0px));
}
.dc-dragon:active, .dc-dragon.is-arrastrando { cursor: grabbing; }
.dc-dragon:focus-visible { outline: 3px solid var(--dc-gold); outline-offset: 2px; border-radius: 12px; }
.dc-dragon svg { width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 6px 6px rgba(0, 0, 0, .3)); }
.dc-dragon:not(.is-arrastrando) { transition: transform .45s cubic-bezier(.2, .8, .2, 1); }
.dc-dragon.mira-izq svg { transform: scaleX(-1); }
.dc-dragon__ala { transform-origin: 62px 36px; }
.dc-dragon__cuerpo, .dc-dragon__paquete { transform-origin: 52px 70px; }

.dc-pasos {
  grid-area: pasos; list-style: none; margin: 10px 0 0; padding: 0 0 6px; display: flex; gap: 22px;
  overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
}
.dc-pasos::-webkit-scrollbar { display: none; }
.dc-pasos li { flex: 0 0 230px; scroll-snap-align: start; transition: transform .3s cubic-bezier(.16, 1, .3, 1); }
.dc-pasos li img { transition: opacity .3s; }
.dc-pasos li:not(.is-aqui) img { opacity: .5; }
.dc-pasos li.is-aqui { transform: translateY(-6px); }
.dc-pasos img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 12px; }
.dc-pasos h3 { margin: 12px 0 4px; font: 600 17px Poppins, sans-serif; color: var(--dc-ink); }
.dc-pasos p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--dc-soft); }

/* ---------- 4. Ticket "Comprar aquí" ---------- */
.dc-ticket {
  grid-area: ticket; align-self: start; position: relative; background: var(--dc-paper); color: var(--dc-ink);
  padding: 30px 24px 26px; font-size: 14px;
  --z: 10px;
  clip-path: polygon(0 var(--z), 5% 0, 10% var(--z), 15% 0, 20% var(--z), 25% 0, 30% var(--z), 35% 0, 40% var(--z), 45% 0, 50% var(--z), 55% 0, 60% var(--z), 65% 0, 70% var(--z), 75% 0, 80% var(--z), 85% 0, 90% var(--z), 95% 0, 100% var(--z),
    100% calc(100% - var(--z)), 95% 100%, 90% calc(100% - var(--z)), 85% 100%, 80% calc(100% - var(--z)), 75% 100%, 70% calc(100% - var(--z)), 65% 100%, 60% calc(100% - var(--z)), 55% 100%, 50% calc(100% - var(--z)), 45% 100%, 40% calc(100% - var(--z)), 35% 100%, 30% calc(100% - var(--z)), 25% 100%, 20% calc(100% - var(--z)), 15% 100%, 10% calc(100% - var(--z)), 5% 100%, 0 calc(100% - var(--z)));
}
.dc-ticket__t { margin: 0 0 16px; text-align: center; font-family: Belleza, Poppins, sans-serif; font-weight: 600; font-size: 24px; text-transform: uppercase; color: var(--dc-ink); }
.dc-ticket h3 { margin: 18px 0 8px; font: 600 15px Poppins, sans-serif; color: var(--dc-ink); }
.dc-ticket dl { margin: 0; display: grid; gap: 10px; }
.dc-ticket dl > div { display: grid; grid-template-columns: auto minmax(16px, 1fr) auto; align-items: baseline; column-gap: 8px; }
.dc-ticket dl > div::after { content: ""; grid-column: 2; grid-row: 1; border-bottom: 3px dotted var(--dc-soft); transform: translateY(-3px); opacity: .7; }
.dc-ticket dt { font-weight: 500; }
.dc-ticket dd { grid-column: 3; grid-row: 1; margin: 0; font-weight: 600; text-align: right; }
.dc-ticket dd.d { grid-column: 1 / -1; grid-row: 2; margin-top: 2px; font-weight: 400; text-align: left; color: var(--dc-soft); font-size: 13px; }
.dc-ticket__mas { margin-top: 6px; }
.dc-ticket__links { margin: 16px 0 0; font-size: 13px; }
.dc-ticket__btn {
  display: block; width: 100%; margin-top: 18px; padding: 10px; border: 0; border-radius: 6px; cursor: pointer;
  background: var(--dc-navy); color: var(--dc-cyan); font: 600 14px Poppins, sans-serif; transition: transform .18s, background-color .18s;
}
html[data-theme=dark] .dc-ticket__btn { background: var(--dc-cyan); color: var(--dc-navy); }
.dc-ticket__btn:hover { transform: translateY(-2px); }

/* ---------- Tableta y móvil ---------- */
@media (max-width: 991px) {
  .dc-pedido { grid-template-columns: 1fr; grid-template-areas: "head" "ruta" "pasos" "ticket"; }
  .dc-ticket { margin-top: 30px; justify-self: center; width: min(100%, 380px); }
}
@media (max-width: 767px) {
  .dc-hero { margin: 10px 0 0; border-radius: 0; }
  .dc-hero__slides { min-height: 700px; }
  .dc-slide { grid-template-columns: 1fr; padding: 28px 20px 170px; gap: 18px; align-content: start; }
  .dc-slide__img { width: 150px; order: -1; justify-self: start; transform: rotate(-3deg); }
  .dc-slide h2 { font-size: 26px; }
  .dc-hero__arrow { display: none; }
  .dc-ruta { margin: 0 24px; }
  .dc-ruta__paradas button { font-size: 0; gap: 0; min-width: 44px; min-height: 44px; justify-content: flex-start; }
  .dc-ruta__paradas button.is-aqui { font-size: 12px; gap: 6px; }
  .dc-pasos li { flex-basis: 70vw; }
  .dc-pedido { margin: 48px 16px; }
  .dc-tcg { margin: 40px 16px 48px; }
}

/* ---------- Movimiento ---------- */
@media (prefers-reduced-motion: no-preference) {
  .dc-dragon.is-volando .dc-dragon__ala { animation: dc-aleteo .25s ease-in-out infinite alternate; }
  .dc-dragon .dc-dragon__ala { animation: dc-aleteo 1.2s ease-in-out infinite alternate; }
  .dc-dragon__cuerpo, .dc-dragon__paquete { animation: dc-flota 2.6s ease-in-out infinite; }
  @keyframes dc-aleteo { from { transform: rotate(0); } to { transform: rotate(-16deg); } }
  @keyframes dc-flota { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
}
@media (prefers-reduced-motion: reduce) {
  .dc-slide, .dc-dragon:not(.is-arrastrando) { transition: none; }
}

/* ---------- 5. Juegos de cartas: dorsos con enlace ---------- */
.dc-tcg { margin: 56px 24px 64px; text-align: center; }
.dc-tcg .dc-h2 { margin-bottom: 28px; }
.dc-tcg__row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px; perspective: 700px; }
.dc-tcgcard { display: flex; flex-direction: column; align-items: center; gap: 14px; text-decoration: none !important; color: var(--dc-ink) !important; }
.dc-tcgcard__card {
  position: relative; display: block; width: min(100%, 210px); aspect-ratio: 5 / 7; border-radius: 12px; overflow: hidden;
  transform: translateY(var(--lift, 0px)) scale(var(--sc, 1)) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
  transition: transform .18s cubic-bezier(.16, 1, .3, 1), box-shadow .25s;
  box-shadow: 0 12px 24px rgba(0, 0, 0, .3);
}
.dc-tcgcard__card svg, .dc-tcgcard__card img { display: block; width: 100%; height: 100%; }
.dc-tcgcard__card img { object-fit: cover; }
.dc-tcgcard__card::after {
  content: ""; position: absolute; inset: 0; opacity: 0; transition: opacity .2s; pointer-events: none; mix-blend-mode: overlay;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255, 255, 255, .75), transparent 50%),
    linear-gradient(115deg, transparent 25%, rgba(255, 220, 120, .45) 45%, rgba(120, 200, 255, .45) 55%, transparent 75%);
}
.dc-tcgcard:hover .dc-tcgcard__card, .dc-tcgcard:focus-visible .dc-tcgcard__card { --lift: -14px; --sc: 1.07; box-shadow: 0 34px 48px rgba(0, 0, 0, .5); }
.dc-tcgcard:hover .dc-tcgcard__card::after, .dc-tcgcard:focus-visible .dc-tcgcard__card::after { opacity: 1; }
.dc-tcgcard:focus-visible { outline: 3px solid var(--dc-gold); outline-offset: 6px; border-radius: 12px; }
.dc-tcgcard__name { font: 600 16px Poppins, sans-serif; }

/* Accesorios: álbum con fundas y dos dados que ruedan (posición final si no hay animación) */
.dc-dado--1 { transform: translate(92px, 282px) rotate(18deg); }
.dc-dado--2 { transform: translate(165px, 280px) rotate(-12deg); }
@media (prefers-reduced-motion: no-preference) {
  .dc-dado--1 { animation: dc-rueda1 3.4s cubic-bezier(.3, .7, .4, 1) infinite alternate; }
  .dc-dado--2 { animation: dc-rueda2 3.4s cubic-bezier(.3, .7, .4, 1) infinite alternate; animation-delay: -.6s; }
  .dc-album__brillo { animation: dc-brilla 2.4s ease-in-out infinite alternate; }
  .dc-tcgcard--acc:hover .dc-dado { animation-duration: 1.4s; }
  @keyframes dc-rueda1 {
    0% { transform: translate(40px, 240px) rotate(0deg); }
    35% { transform: translate(70px, 286px) rotate(200deg); }
    50% { transform: translate(82px, 272px) rotate(250deg); }
    65%, 100% { transform: translate(92px, 282px) rotate(378deg); }
  }
  @keyframes dc-rueda2 {
    0% { transform: translate(215px, 236px) rotate(0deg); }
    35% { transform: translate(185px, 284px) rotate(-220deg); }
    50% { transform: translate(175px, 268px) rotate(-280deg); }
    65%, 100% { transform: translate(165px, 280px) rotate(-372deg); }
  }
  @keyframes dc-brilla { from { opacity: .25; } to { opacity: .9; } }
}
@media (max-width: 991px) {
  .dc-tcg__row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .dc-tcg__row { display: flex; overflow-x: auto; gap: 16px; scroll-snap-type: x mandatory; padding-bottom: 8px; scrollbar-width: none; }
  .dc-tcgcard { flex: 0 0 42vw; scroll-snap-align: start; }
}

/* ---------- Pulido (impeccable) ---------- */
/* Modo oscuro: los textos de las diapositivas siguen siendo claros sobre su color */
html[data-theme=dark] body.dc-portada .dc-slide__txt > p:not(.dc-slide__when) { color: rgba(255, 255, 255, .9) !important; }
html[data-theme=dark] body.dc-portada .dc-slide__when { color: var(--k) !important; }
html[data-theme=dark] body.dc-portada .dc-slide h2 { color: #fff !important; }
html[data-theme=dark] body.dc-portada .dc-pasos p,
html[data-theme=dark] body.dc-portada .dc-pedido__head p,
html[data-theme=dark] body.dc-portada .dc-ticket dd.d { color: var(--dc-soft) !important; }
/* Foco visible y selección con los colores de la marca */
.dc-ruta__paradas button:focus-visible, .dc-ticket__btn:focus-visible, .dc-pasos:focus-visible,
.dc-hero__arrow:focus-visible { outline: 3px solid var(--dc-gold); outline-offset: 3px; }
body.dc-portada ::selection { background: var(--dc-cyan); color: var(--dc-navy); }
.dc-ticket__btn:active, .dc-slide__btn:active { transform: translateY(1px); }
