/* Una misma hoja para la lectura, las jaculatorias y las letanías.
   Los dos selectores permanecen fuera de la región que se desplaza. */
#guia-oracion:has(#guia-lector) { overflow: hidden; }
#guia-oracion:has(#guia-lector) > .guia-marco,
#guia-oracion[data-etapa]:has(#guia-lector) > .guia-marco {
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
#guia-lector {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}
#guia-oracion[data-etapa="lectura"] > .guia-marco > #guia-lector {
  flex: 1 1 0;
}
@media (min-width: 851px) {
  /* Anula expresamente el antiguo crecimiento del desplegable abierto. */
  #guia-oracion[data-etapa="lectura"]:has(#oracion-jaculatorias[open]) > .guia-marco:has(> #guia-lector) {
    height: 100%;
    min-height: 0;
  }
}
#guia-lectura-base {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}
#guia-lectura-base > :not(#oracion-texto) { flex-shrink: 0; }
#guia-lector #guia-lectura-base #oracion-texto {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: #8c6a35 #e8daba;
}
#guia-oracion:has(#guia-lector) > .guia-marco > :is(.jaculatorias-opcion, .letanias-opcion),
#solo-oraciones-slot > .guia-marco > :is(.jaculatorias-opcion, .letanias-opcion) {
  flex: 0 0 auto;
}
#guia-lector:not([hidden]) + .jaculatorias-opcion { margin-top: 12px; }
.guia-jaculatorias[open] > summary,
#letanias-abrir[aria-expanded="true"] {
  border-color: #957132;
  background: linear-gradient(180deg, #fff7df, #e8d1a0a6);
  box-shadow: inset 0 0 0 1px #b9954b45;
}
#letanias-abrir[aria-expanded="true"] .jaculatorias-flecha {
  margin-top: 3px;
  transform: rotate(225deg);
}

/* El papel exterior es único: evitamos fondos y marcos superpuestos. */
#guia-lector #jaculatorias-panel {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
.panel-lectura-titulo {
  flex: 0 0 auto;
  margin: 0 0 14px;
  color: #5b4528;
  font: normal clamp(25px, 2.1vw, 31px)/1.2 Georgia, "Times New Roman", serif;
  text-align: center;
  text-wrap: balance;
}
.panel-lectura-titulo:focus { outline: none; }
#guia-lector #jaculatorias-voz { flex: 0 0 auto; }
#guia-lector #jaculatorias-texto {
  flex: 1 1 0;
  min-height: 0;
  max-height: none;
  margin-top: 12px;
  background: none;
}

/* El diálogo sigue ofreciendo su semántica y sus controles, pero forma
   parte de la hoja: no ocupa la capa modal ni tapa los selectores. */
#guia-lector #letanias-rosario {
  position: relative;
  inset: auto;
  flex: 1 1 0;
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  box-shadow: none;
  overflow: hidden;
}
#guia-lector #letanias-rosario[open] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#guia-lector .letanias-encabezado { min-width: 0; }
#guia-lector .letanias-eyebrow { display: none; }
#guia-lector #letanias-titulo {
  min-height: 40px;
  margin: 0 38px 8px;
  padding-top: 3px;
  font-size: clamp(24px, 2vw, 29px);
}
#guia-lector #letanias-cerrar {
  top: 0;
  right: 0;
  width: 36px;
  height: 36px;
  font-size: 26px;
}
#guia-lector #letanias-audio-controles { margin: 0 0 6px; }
#solo-rosario #guia-lector #letanias-audio-modo {
  padding: 8px 10px 8px 30px;
  border: 1px solid #ab8449;
  background: url('../assets/interfaz/narracion-selector.png') center / 100% 100% no-repeat, #f1dfac;
  color: var(--narracion-tinta);
  color-scheme: light;
  font: 14px/1.2 Georgia, 'Times New Roman', serif;
}
#guia-lector #letanias-audio-aviso { margin-top: 4px; font-size: 12px; }
#guia-lector .letanias-audio-acciones { gap: 0 12px; }
#guia-lector .letanias-audio-acciones button { min-height: 30px; padding-block: 3px; }
#guia-lector .letanias-herramientas { gap: 8px; padding-bottom: 7px; }
#guia-lector #letanias-ayuda { font-size: 12px; line-height: 1.4; }
#guia-lector .letanias-tamano { gap: 4px; }
#guia-lector .letanias-tamano button { min-width: 36px; min-height: 36px; font-size: 17px; }
#guia-lector #letanias-texto { padding: 3px 10px 8px 3px; }
#guia-lector #letanias-texto section + section { margin-top: 22px; }
#guia-lector #letanias-texto h3 { margin-bottom: 12px; font-size: 19px; }
#guia-lector .letanias-seccion { padding: 7px 12px; }
#guia-lector .letanias-fila {
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
  margin-bottom: 17px;
}
#guia-lector .letanias-respuesta { padding-left: 16px; }
#guia-lector .letanias-oracion-final .letanias-respuesta { padding-left: 0; }
#guia-lector .letanias-pie { gap: 8px; padding-top: 8px; }
#guia-lector #letanias-volver { min-height: 38px; padding: 5px; font-size: 13px; }
#guia-lector #letanias-terminar {
  width: 200px;
  min-height: 44px;
  padding: 8px 18px;
  font-size: 17px;
}

/* En pantallas estrechas el alto de la hoja cabe en una ventana. El texto
   crece dentro de su propia barra, sin empujar las dos opciones hacia abajo. */
@media (max-width: 850px) {
  #guia-oracion:has(#guia-lector) {
    height: min(850px, calc(100vh - 24px));
    height: min(850px, calc(100dvh - 24px));
  }
  #guia-oracion:has(#guia-lector) > .guia-marco {
    padding-block: 16px;
  }
}

/* La vista sencilla conserva separadas la consulta del misterio y las
   oraciones finales. Al cerrarlas solo quedan sus botones compactos. */
body[data-vista="rosario"].en-oracion #guia-lector[data-contexto="complementos"][data-panel="principal"] {
  display: none;
}
body[data-vista="rosario"].en-oracion #solo-oraciones-slot > .guia-marco {
  overflow: hidden;
}
body[data-vista="rosario"].en-oracion #solo-oraciones-slot #guia-lector:not([data-panel="principal"]) {
  flex: 0 0 auto;
  height: min(660px, calc(100vh - 180px));
  height: min(660px, calc(100dvh - 180px));
  min-height: 0;
  margin-bottom: 12px;
}
body[data-vista="rosario"].en-oracion #solo-lectura-slot #guia-oracion:has(#guia-lector) {
  height: auto;
  overflow: hidden;
}
body[data-vista="rosario"].en-oracion #solo-lectura-slot #guia-oracion > .guia-marco {
  height: auto;
  min-height: 0;
}
body[data-vista="rosario"].en-oracion #solo-lectura-slot #guia-lector {
  flex: 0 0 auto;
  height: min(720px, calc(100vh - 70px));
  height: min(720px, calc(100dvh - 70px));
  min-height: 240px;
}
body[data-vista="rosario"].en-oracion #solo-lectura-slot #guia-lector #oracion-texto { max-height: none; }

@media (pointer: coarse) {
  #guia-lector #letanias-cerrar { width: 44px; height: 44px; }
  #guia-lector #letanias-titulo { margin-inline: 44px; }
  #guia-lector .letanias-tamano button { min-width: 44px; min-height: 44px; }
  #guia-lector .letanias-audio-acciones button,
  #guia-lector #letanias-volver { min-height: 44px; }
}
@media (max-height: 650px) {
  #guia-lector .panel-lectura-titulo { margin-bottom: 8px; }
  #guia-lector #letanias-titulo { min-height: 36px; margin-bottom: 4px; font-size: 24px; }
  #guia-lector #letanias-rosario[open] { gap: 6px; }
  #guia-lector .letanias-herramientas { padding-bottom: 4px; }
  #guia-lector .letanias-pie { padding-top: 4px; }
}
@media (forced-colors: active) {
  #guia-lector #letanias-rosario { background: Canvas; color: CanvasText; }
  #guia-lector .panel-lectura-titulo { color: CanvasText; }
  .guia-jaculatorias[open] > summary,
  #letanias-abrir[aria-expanded="true"] {
    border-color: Highlight;
    background: Canvas;
    box-shadow: none;
    outline: 2px solid Highlight;
    outline-offset: -3px;
  }
}
