/* Descubre El Hoyo · V82 — controles, contraste y herramientas */
:root {
  --v82-ink: #071c19;
  --v82-paper: #fffaf0;
  --v82-acid: #d9f668;
  --v82-forest: #0b3e32;
  --v82-cobalt: #1557a5;
  --v82-copper: #a94727;
}

/* Pies y fuentes: nunca texto blanco sobre papel claro. */
.article-card .story-signal .story-photo-single > figcaption,
.article-card .story-signal .story-photo-single > figcaption :is(strong, span, a),
.article-card .story-signal .story-photo-single > figcaption .photo-credit,
.article-card .story-signal .open-media-figure > figcaption,
.article-card .story-signal .open-media-figure > figcaption :is(strong, span, a) {
  background: #fffdfa !important;
  color: #17352e !important;
  text-shadow: none !important;
}

.article-card .story-signal :is(a.source-chip, .source-chip.external-link),
.story-signal :is(a.source-chip, .source-chip.external-link) {
  background: #fffdfa !important;
  color: var(--v82-ink) !important;
  border-color: rgba(7, 28, 25, .24) !important;
  text-shadow: none !important;
}

/* El mismo lenguaje visual de Sorpréndeme: borde de tinta, papel y sombra franca. */
.v80-scroll-top,
.mobile-utility-launcher,
.village-page-tools .v82-hand-launcher {
  border: 2px solid var(--v82-ink) !important;
  background: linear-gradient(145deg, #fffef9 0%, #f5eddc 100%) !important;
  color: var(--v82-ink) !important;
  box-shadow: 4px 4px 0 var(--v82-ink), 0 16px 34px rgba(7, 28, 25, .19) !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.v80-scroll-top:hover,
.v80-scroll-top:focus-visible,
.mobile-utility-launcher:hover,
.mobile-utility-launcher:focus-visible,
.village-page-tools .v82-hand-launcher:hover,
.village-page-tools .v82-hand-launcher:focus-visible {
  background: var(--v82-acid) !important;
  color: var(--v82-ink) !important;
  transform: translate(-3px, -3px) !important;
  box-shadow: 7px 7px 0 var(--v82-ink), 0 18px 40px rgba(7, 28, 25, .2) !important;
}

.v80-scroll-top {
  width: 3.6rem !important;
  height: 3.6rem !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
}

.v80-scroll-top:not(.is-visible) { pointer-events: none !important; }
.v82-up-arrow { position: relative; width: 20px; height: 24px; display: block; }
.v82-up-arrow::before {
  content: ""; position: absolute; left: 9px; top: 4px; width: 3px; height: 19px;
  border-radius: 999px; background: currentColor;
}
.v82-up-arrow::after {
  content: ""; position: absolute; left: 4px; top: 3px; width: 11px; height: 11px;
  border-left: 3px solid currentColor; border-top: 3px solid currentColor;
  transform: rotate(45deg); border-radius: 2px 0 0 0;
}

.v82-hand-icon,
.mobile-utility-launcher svg {
  width: 25px !important; height: 25px !important; fill: none !important;
  stroke: currentColor !important; stroke-width: 1.8 !important;
  stroke-linecap: round !important; stroke-linejoin: round !important;
}

.village-page-tools .v82-hand-launcher {
  width: auto !important; min-width: 4.8rem !important; padding: .48rem .72rem !important;
  border-radius: 999px !important; gap: .32rem !important;
}
.village-page-tools .v82-hand-launcher span {
  display: inline !important; font-size: .64rem !important; font-weight: 900 !important;
  letter-spacing: .06em !important; text-transform: uppercase !important;
}
.mobile-utility-launcher { width: 66px !important; height: 66px !important; }
.mobile-utility-launcher span { font-size: .5rem !important; font-weight: 950 !important; }

/* En tableta y portátil, A mano sigue disponible y adopta una presencia lateral. */
@media (min-width: 901px) and (max-width: 1280px) {
  body:not(:has(.village-page-tools)):not(.utilities-page):not(.pocket-home) .mobile-utility-launcher {
    display: flex !important;
  }
}

/* Herramientas más nítidas, variadas y adultas, conservando texto grande. */
.utilities-page .menu-group { --v82-group: var(--v82-forest); }
.utilities-page .menu-group:nth-child(2) { --v82-group: var(--v82-cobalt); }
.utilities-page .menu-group:nth-child(3) { --v82-group: var(--v82-copper); }
.utilities-page .menu-group:nth-child(4) { --v82-group: #6544a3; }
.utilities-page .quick-row,
.utilities-page .action-row {
  position: relative; overflow: hidden; min-height: 70px;
  border: 1px solid color-mix(in srgb, var(--v82-group, var(--v82-forest)) 30%, white) !important;
  border-radius: 18px !important;
  background: linear-gradient(105deg, #fffef9 0%, color-mix(in srgb, var(--v82-group, var(--v82-forest)) 7%, white) 100%) !important;
  box-shadow: 0 10px 24px rgba(7, 28, 25, .09), inset 4px 0 0 var(--v82-group, var(--v82-forest)) !important;
}
.utilities-page .quick-row::after,
.utilities-page .action-row::after {
  content: "→"; color: var(--v82-group, var(--v82-forest)); font-weight: 950;
  position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
}
.utilities-page .quick-row:hover,
.utilities-page .quick-row:focus-visible,
.utilities-page .action-row:hover,
.utilities-page .action-row:focus-visible {
  transform: translateY(-2px); box-shadow: 0 15px 30px rgba(7, 28, 25, .14), inset 4px 0 0 var(--v82-group, var(--v82-forest)) !important;
}
.utilities-page .quick-icon,
.utilities-page .action-icon {
  background: linear-gradient(145deg, color-mix(in srgb, var(--v82-group, var(--v82-forest)) 78%, white), var(--v82-group, var(--v82-forest))) !important;
  color: #fff !important; box-shadow: 0 6px 14px rgba(7, 28, 25, .2), inset 0 1px rgba(255,255,255,.32) !important;
}

/* Las seis aventuras siempre forman parte del flujo visible. */
body.kids-version :is(.kids-mission-grid, .adventure-route-grid) {
  max-height: none !important; overflow: visible !important;
}
body.kids-version :is(.kids-mission-card, .adventure-route) {
  display: grid !important; visibility: visible !important; opacity: 1 !important;
}
.kids-adventure-count {
  display: inline-flex; align-items: center; gap: .4rem; margin: .2rem 0 1rem;
  padding: .55rem .85rem; border: 2px solid #101813; border-radius: 999px;
  background: #fff; color: #101813; font-weight: 900;
  box-shadow: 3px 3px 0 #101813;
}

.v82-source-story {
  margin: 2.2rem 0; padding: clamp(1.2rem, 3vw, 2rem);
  border: 1px solid rgba(7, 28, 25, .2); border-radius: 24px;
  background: linear-gradient(135deg, #f7f0df 0%, #fffdf7 58%, #eef6ee 100%);
  box-shadow: 0 18px 44px rgba(7, 28, 25, .09);
}
.v82-source-story__eyebrow {
  margin: 0 0 .5rem; color: #8c351f; font-size: .72rem; font-weight: 950;
  letter-spacing: .12em; text-transform: uppercase;
}
.v82-source-story h2 { margin-top: 0; }
.v82-source-story .source-chip { display: inline-flex; margin-top: .55rem; }

@media (max-width: 767px) {
  .v80-scroll-top { width: 3.25rem !important; height: 3.25rem !important; }
  .mobile-utility-launcher { width: 60px !important; height: 60px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .v80-scroll-top,
  .mobile-utility-launcher,
  .village-page-tools .v82-hand-launcher,
  .utilities-page :is(.quick-row, .action-row) { transition: none !important; }
}
