/* Descubre El Hoyo · navegación clara y jerarquía inequívoca */

.menu-shortcuts {
  display: grid;
  gap: .55rem;
  margin-top: 1.15rem;
}
.menu-shortcuts a {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  padding: .68rem .82rem;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 14px;
  color: #fff;
  font-weight: 850;
  text-decoration: none;
}
.menu-shortcuts a::after { content: '→'; }
.menu-shortcuts a:last-child {
  background: #d9f668;
  color: #071c19;
  border-color: #071c19;
  box-shadow: 3px 3px 0 #071c19;
}

.mega-menu .menu-section-title {
  display: flex;
  align-items: center;
  gap: .55rem;
}
.mega-menu .menu-column ul {
  display: grid;
  gap: .35rem;
}
.mega-menu .menu-column li a[aria-current='page'] {
  background: rgba(217,246,104,.16);
  box-shadow: inset 4px 0 0 #d9f668;
}

/* Un único dock editorial: Inicio, Explorar, A mano y Participa. */
.village-dock {
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
}
.village-dock :is(a,button) {
  min-width: 0;
}
.village-dock [data-open-pocket] span {
  font-size: 1.15rem;
}
@media (max-width: 360px) {
  .village-dock :is(a,button) { font-size: .62rem !important; }
}

/* En móvil no hay un segundo botón flotante que duplique A mano. */
@media (max-width: 767px) {
  body.village-alive .village-page-tools { display: none !important; }
}

/* En escritorio solo queda el acceso práctico a El Hoyo a mano. */
@media (min-width: 768px) {
  .village-page-tools { gap: .55rem; }
  .village-page-tools [data-village-random],
  .village-page-tools [data-village-passport] { display: none !important; }
}

/* Cabecera de El Hoyo a mano: entrada y salida inequívocas. */
.pocket-top {
  grid-template-columns: minmax(0,1fr) 50px !important;
}
.pocket-exit {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 2px solid #071c19;
  border-radius: 50%;
  background: #fffdf7;
  color: #071c19;
  box-shadow: 3px 3px 0 #071c19;
  text-decoration: none;
  font-size: 1.3rem;
  font-weight: 950;
}
.pocket-exit:hover,
.pocket-exit:focus-visible {
  background: #d9f668;
  transform: translate(-2px,-2px);
  box-shadow: 5px 5px 0 #071c19;
}

.app-menu-top--simple {
  grid-template-columns: 50px minmax(0,1fr) !important;
}
.app-menu-top--simple > div { text-align: left; }

/* Las herramientas siguen una jerarquía fija: atrás = nivel anterior; casa = A mano. */
:is(.round-nav,.route-round,.weather-nav-button,.tool-circle)[data-pocket-home] {
  background: #fffdf7 !important;
}

.pocket-return-note {
  margin: 1rem 0 6.5rem;
  text-align: center;
}
.pocket-return-note a {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 46px;
  padding: .65rem .9rem;
  border: 2px solid #071c19;
  border-radius: 999px;
  background: #fffdf7;
  color: #071c19;
  box-shadow: 3px 3px 0 #071c19;
  font-weight: 900;
  text-decoration: none;
}

/* Accesos de la portada editorial: texto explícito, sin metáforas funcionales. */
.village-hero__doors {
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.village-hero__doors :is(a,button) {
  text-align: left;
  line-height: 1.18;
}
@media (max-width: 760px) {
  .village-hero__doors { grid-template-columns: 1fr; }
}

/* El selector de relación y sus resultados forman un único bloque visual. */
.village-entrances + .village-switchboard {
  margin-top: 0 !important;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.village-entrances {
  margin-bottom: 0 !important;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

@media (max-width: 760px) {
  .mega-menu { display: grid; gap: 1rem; }
  .mega-menu .menu-column { border-top: 1px solid rgba(255,255,255,.2); padding-top: .8rem; }
  .menu-intro h2 { font-size: clamp(1.8rem,9vw,2.7rem); }
}


/* Protección tipográfica: conserva el diseño original sin cortar textos. */
:is(.editorial-card-copy,.choice-card,.menu-column li a,.adaptive-page-summary__highlights li,.switch-card,.resource-card) { min-width: 0; }
:is(.editorial-card-copy,.choice-card,.menu-column li a,.adaptive-page-summary__highlights li,.switch-card,.resource-card) :is(h2,h3,strong,p,small,span:not([aria-hidden="true"])) {
  max-width: 100%; white-space: normal; overflow: visible; text-overflow: clip; word-break: normal; overflow-wrap: break-word; hyphens: none;
}
@media (max-width: 767px) {
  .village-dock { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
  .village-dock :is(a,button) { overflow: hidden; text-overflow: clip; white-space: normal; line-height: 1.08; }
}

/* ===== Regreso inequívoco y siempre disponible ===== */
.page-context-return{
  width:min(1480px,calc(100% - clamp(1.5rem,6vw,6rem)));
  margin-inline:auto;
  position:relative;
  z-index:8;
}
.page-context-return--top{
  margin-top:.85rem;
  margin-bottom:.2rem;
}
.page-context-return__link{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:.72rem;
  color:#10231d;
  text-decoration:none;
  font-family:Inter,system-ui,sans-serif;
}
.page-context-return__link--top{
  min-height:48px;
  max-width:min(100%,34rem);
  padding:.52rem .9rem .52rem .55rem;
  border:1.5px solid #10231d;
  border-radius:999px;
  background:#fffdf7;
  box-shadow:3px 3px 0 #10231d;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.page-context-return__link--top:hover,
.page-context-return__link--top:focus-visible{
  transform:translate(-2px,-2px);
  background:#d9f668;
  box-shadow:5px 5px 0 #10231d;
}
.page-context-return__arrow{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#10231d;
  color:#fff;
  font-size:1rem;
  font-weight:900;
}
.page-context-return__copy{
  min-width:0;
  display:grid;
  gap:.05rem;
  line-height:1.12;
}
.page-context-return__copy small{
  color:#64716c;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.page-context-return__copy strong{
  max-width:100%;
  overflow:visible;
  color:inherit;
  font-size:.82rem;
  font-weight:900;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:balance;
}
.page-context-return--bottom{
  margin-top:clamp(2rem,5vw,4rem);
  margin-bottom:clamp(1rem,3vw,2rem);
}
.page-context-return__link--bottom{
  width:min(100%,42rem);
  min-height:66px;
  justify-content:flex-start;
  padding:.75rem 1.15rem .75rem .75rem;
  border-radius:22px;
  background:#b54a30;
  color:#fff;
  box-shadow:5px 5px 0 #10231d;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.page-context-return__link--bottom .page-context-return__arrow{
  background:#fff;
  color:#10231d;
}
.page-context-return__link--bottom .page-context-return__copy small{
  color:rgba(255,255,255,.76);
}
.page-context-return__link--bottom:hover,
.page-context-return__link--bottom:focus-visible{
  transform:translate(-2px,-2px);
  background:#9e3c26;
  box-shadow:7px 7px 0 #10231d;
}
body.kids-version .page-context-return{display:none!important}
@media(max-width:600px){
  .page-context-return{width:calc(100% - 1.4rem)}
  .page-context-return--top{margin-top:.65rem}
  .page-context-return__link--top{width:100%;max-width:none}
  .page-context-return__copy strong{font-size:.78rem}
  .page-context-return__link--bottom{width:100%}
}
@media print{.page-context-return{display:none!important}}
