/* Lectura guiada a pantalla completa, independiente del lienzo de escritorio. */
.prayer-dialog { position: fixed; inset: 0; margin: 0; width: 100%; max-width: none; height: 100dvh; max-height: none; border: 0; padding: 0; overflow: hidden; color: #fcfaed; background: linear-gradient(180deg, #9dcfff, #aa91fa); font-family: 'Parkinsans', sans-serif; }
.prayer-dialog[open] { animation: prayer-open .5s ease both; }
.prayer-dialog::backdrop { background: #aa91fa; }
.prayer-header { position: absolute; inset: 0 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 24px 3.5vw; z-index: 3; }
.prayer-header strong { font-size: 22px; display: flex; align-items: center; gap: 10px; }
.prayer-header strong img { width: 30px; height: 28px; object-fit: contain; }
.prayer-dialog button { color: inherit; font: inherit; cursor: pointer; }
.prayer-close { width: 44px; height: 44px; border: 0; background: transparent; font-size: 32px !important; }
.prayer-scroll { position: absolute; inset: 100px 0 100px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #ffffff70 transparent; z-index: 2; }
.prayer-reading { position: absolute; inset: 110px 8vw 120px; display: flex; flex-direction: column; justify-content: center; gap: 40px; max-width: 1020px; margin: auto; pointer-events: none; }
.prayer-reading p { margin: 0; font-size: clamp(24px, 3vw, 40px); line-height: 1.5; font-weight: 500; text-wrap: pretty; text-shadow: 0 2px 8px #00000012; animation: prayer-rise .7s ease both; }
.prayer-progress { position: absolute; bottom: 92px; left: 50%; transform: translateX(-50%); width: min(480px, 70vw); height: 3px; border-radius: 4px; background: #ffffff30; overflow: hidden; z-index: 3; }
.prayer-progress span { display: block; width: 100%; height: 100%; background: #fcfaed; transform: scaleX(0); transform-origin: left; }
.prayer-controls { position: absolute; inset: auto 0 0; padding: 24px; display: flex; align-items: center; justify-content: center; gap: 24px; font-size: 13px; z-index: 3; }
.prayer-toggle { border: 1px solid #ffffff80; border-radius: 32px; padding: 10px 22px; background: #ffffff15; }
.prayer-count, .prayer-toggle { white-space: nowrap; flex-shrink: 0; }
@media (max-width: 760px) {
  .prayer-controls {
    display: grid; grid-template-columns: auto auto minmax(0, 1fr);
    gap: 14px; padding: 20px 20px calc(20px + env(safe-area-inset-bottom, 0px));
    font-size: 12px;
  }
  .prayer-toggle { padding: 10px 16px; }
  .prayer-hint { justify-self: end; line-height: 1.5; white-space: nowrap; }
  .prayer-hint-rest { display: block; }
}
.prayer-dialog :focus-visible { outline: 2px solid #fcfaed; outline-offset: 4px; }
@keyframes prayer-open { from { opacity: 0; } to { opacity: 1; } }
@keyframes prayer-rise { from { transform: translateY(24px); opacity: 0; } to { transform: translateY(0); opacity: var(--phrase-opacity, 1); } }
@media (max-height: 650px) { .prayer-reading { gap: 20px; } .prayer-reading p { font-size: 24px; } }
@media (prefers-reduced-motion: reduce) { .prayer-dialog[open], .prayer-reading p { animation: none; } }


.verses-dialog { position: fixed; inset: 0; margin: auto; width: min(854px, calc(100vw - 48px)); max-width: none; max-height: min(860px, calc(100dvh - 64px)); padding: 0; border: 0; border-radius: 28px; color: #1d1d1b; background: #fcfaed; font-family: 'Parkinsans', sans-serif; overflow: hidden; box-shadow: 0 24px 100px #00000030; }
.verses-dialog[open] { display: flex; flex-direction: column; animation: verses-enter .25s ease-out both; }
.verses-dialog::backdrop { background: #1d1d1ba6; backdrop-filter: blur(5px); }
.verses-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 32px 40px 24px; border-bottom: 1px solid #1d1d1b12; flex-shrink: 0; }
.verses-chip { display: inline-block; border: 1px solid #f47174; border-radius: 30px; padding: 6px 14px; color: #db565b; font-size: 12px; font-weight: 600; text-transform: uppercase; }
.verses-header h2 { margin-top: 14px; font-size: 28px; font-weight: 600; }
.verses-close { cursor: pointer; background: transparent; border: 0; color: #1d1d1b; font-size: 32px; width: 44px; height: 44px; flex-shrink: 0; }
.verses-content { padding: 30px 40px 40px; overflow-y: auto; overscroll-behavior: contain; min-height: 0; }
.verses-content article + article { margin-top: 28px; padding-top: 28px; border-top: 1px solid #1d1d1b12; }
.verses-content h3 { margin: 0 0 10px; color: #7549ff; font-size: 19px; font-weight: 600; }
.verses-content p { margin: 0; font-size: 18px; line-height: 1.7; }
.verses-close:focus-visible { outline: 2px solid #7549ff; border-radius: 50%; outline-offset: 2px; }
@keyframes verses-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .verses-dialog[open] { animation: none; } }



.mobile-prayer-shortcut { display: none; }
@media (max-width: 760px) {
  .mobile-prayer-shortcut {
    display: flex; align-items: center; justify-content: center; position: fixed; right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 80;
    width: 44px; height: 44px; padding: 0; border: 1px solid #f47174;
    border-radius: 40px; background: #fcfaed; color: #f47174;
    font: 600 13px 'Parkinsans', sans-serif; cursor: pointer;
    opacity: 0; visibility: hidden; transform: translateY(8px); pointer-events: none;
    transition: opacity .4s ease, transform .5s cubic-bezier(.22,1,.36,1), visibility .4s;
  }
  .mobile-prayer-shortcut.is-visible { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
  .mobile-prayer-shortcut:focus-visible { outline: 2px solid #6d2eff; outline-offset: 3px; }
  .home > .hero [data-node-id="14345:739"] { justify-content: flex-end; }
  .home > .layout-168 [data-node-id="14345:794"] { align-self: flex-end; }
  .layout-190 [data-node-id="14345:888"] { align-self: flex-start; }
}
@media (prefers-reduced-motion: reduce) { .mobile-prayer-shortcut { transition: none; } }

/* Paleta de la experiencia y bienvenida previa a la oración. */
.prayer-dialog{color:#1d1d1b;background:linear-gradient(180deg,#b1c8d8,#b49ccc)}
.prayer-dialog::backdrop{background:#b1c8d8}
.prayer-progress{background:#1d1d1b20}
.prayer-progress span{background:#1d1d1b}
.prayer-toggle{border-color:#1d1d1b70;background:#fcfaed50}
.prayer-dialog :focus-visible{outline-color:#3949ab}
.prayer-scroll{scrollbar-color:#1d1d1b70 transparent}
.prayer-welcome{position:absolute;inset:96px 24px 36px;max-width:720px;margin:auto;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:24px;overflow:auto}
.welcome-eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.prayer-welcome h2{font-size:clamp(32px,4vw,52px);line-height:1.2;font-weight:600}
.prayer-welcome p{font-size:clamp(16px,2vw,20px);line-height:1.65}
.prayer-start{border:1px solid #1d1d1b;border-radius:40px;background:#1d1d1b;color:#fcfaed!important;padding:14px 24px;font-weight:600!important}
.prayer-dialog:not(.is-welcome) .prayer-welcome{display:none}
.prayer-dialog.is-welcome .prayer-scroll,.prayer-dialog.is-welcome .prayer-reading,.prayer-dialog.is-welcome .prayer-progress,.prayer-dialog.is-welcome .prayer-controls{display:none}
.prayer-reading strong{font-weight:700}
.verses-content h3{color:#3949ab}
.verse-group{font-size:16px;margin:0 0 18px;color:#3949ab;font-weight:600}
.verses-chip{max-width:100%;white-space:normal;color:#3949ab;border-color:#3949ab;text-transform:none}
.collection-tag{position:absolute;left:12%;bottom:5%;display:flex;align-items:center;gap:12px;color:#1d1d1b;text-decoration:none;font-size:12px}
.collection-tag strong{font-size:13px;text-transform:uppercase;border:.5px solid #1d1d1b;padding:5px 15px;border-radius:40px;font-weight:700}
@media(max-width:760px){
.verses-header{padding:22px;gap:12px}.verses-content{padding:22px}.verses-content p{font-size:16px}
.prayer-header{padding:16px 22px}.prayer-header strong{font-size:18px}
.prayer-welcome{gap:18px;inset:88px 24px 24px}
.prayer-reading{inset:90px 24px 120px}.prayer-reading p{font-size:clamp(20px,2.9vh,26px);line-height:1.5}
}
@media(max-width:700px),(orientation:portrait){
.collection-tag{left:9%;bottom:3%;gap:10px;font-size:11px}.collection-tag strong{font-size:11px;padding:4px 10px}
.intro-middle{bottom:9%}
}

@media(max-width:700px){
.prayer-dialog{top:var(--dialog-top,0px);left:0;right:0;bottom:auto;margin:0;width:100%;max-width:none;height:var(--dialog-height,100dvh);max-height:none;border-radius:0}


.prayer-header{padding-top:max(18px,env(safe-area-inset-top))}
.prayer-welcome{bottom:calc(24px + env(safe-area-inset-bottom,0px));justify-content:safe center}
}


/* Lectura manual de la oración completa. */
.prayer-full-text{display:none;max-width:850px;margin:auto;padding:45dvh 8%}
.prayer-full-text p{margin:0 0 44px;font-size:clamp(22px,2.8vw,36px);line-height:1.65;transition:opacity .12s linear}
.prayer-full-text p:last-child{margin-bottom:0}
.prayer-dialog.is-manual .prayer-full-text{display:block}
.prayer-dialog.is-manual .prayer-space,.prayer-dialog.is-manual .prayer-reading,.prayer-dialog.is-manual .prayer-progress{display:none}
.prayer-dialog.is-manual .prayer-scroll{mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent)}
@media(max-width:700px){.prayer-full-text{padding-inline:24px}.prayer-full-text p{font-size:22px;line-height:1.6;margin-bottom:36px}}
@media(prefers-reduced-motion:reduce){.prayer-full-text p{transition:none}}

/* Lectura amplia en escritorio, con el mismo cambio a texto completo. */
@media(min-width:701px){
.prayer-dialog.is-manual .prayer-scroll{inset:90px 0 88px}
.prayer-full-text{width:82%;max-width:1160px;padding-inline:0}
.prayer-full-text p{font-size:clamp(28px,2.5vw,40px);line-height:1.55;margin-bottom:60px}
}
