

#pr-external-guide {
  position: fixed;
  inset: 0;
  z-index: 2147483100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
  background: var(--v4-bg-cream);
  opacity: 0;
  pointer-events: none;
  transition: opacity .08s ease;
  overflow: hidden;
}
#pr-external-guide.show { opacity: 1; }
.pr-external-guide-card {
  min-width: min(272px, calc(100vw - 48px));
  max-width: min(352px, calc(100vw - 48px));
  border-radius: 22px;
  background: rgba(255,253,249,.98);
  border: 1px solid rgba(212,170,106,.22);
  box-shadow: 0 16px 38px rgba(14,21,53,.13);
  padding: 22px 20px 21px;
  text-align: center;
  color: var(--v4-text-main);
}
.pr-external-guide-cross { margin: 0 auto 12px; }
.pr-external-guide-text {
  font-size: 15px;
  line-height: 1.55;
  font-weight: 800;
  letter-spacing: -.02em;
  word-break: keep-all;
}
html.pr-external-guide-active #prayer-bar,
html.pr-external-guide-active #prayer-tabs,
html.pr-external-guide-active #prayer-search-bar {
  visibility: hidden !important;
}
html.pr-external-guide-active.oai-stability-veil::before,
html.pr-external-guide-active.oai-stability-veil::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
}
#pr-external-guide::before,
#pr-external-guide::after,
.pr-external-guide-card::before,
.pr-external-guide-card::after {
  content: none !important;
  display: none !important;
}

/* V8-1-14-471: route choice modal CSS is managed in this single consolidated block. */
#route-choice-modal{
  position:fixed;
  inset:0;
  z-index:14000;
  display:none;
  align-items:flex-end;
  justify-content:center;
  padding:20px 18px calc(env(safe-area-inset-bottom, 0px) + 6px);
  box-sizing:border-box;
}
#route-choice-modal.open{display:flex;}
.route-choice-backdrop{
  position:absolute;
  inset:0;
  background:rgba(17,24,39,.36);
  backdrop-filter:blur(2px);
}
.route-choice-panel{
  position:relative;
  width:min(360px,calc(100vw - 44px));
  max-height:calc(100vh - 96px - env(safe-area-inset-bottom, 0px));
  overflow:auto;
  background:#fffdf7;
  border:1.5px solid rgba(183,121,31,.22);
  border-radius:20px;
  box-shadow:0 18px 45px rgba(17,24,39,.22);
  padding:18px 16px 16px;
  box-sizing:border-box;
  text-align:left;
  transform:translateY(44px);
}
.route-choice-title{
  font-size:20px;
  font-weight:900;
  color:var(--v4-text-main);
  line-height:1.25;
  letter-spacing:-.04em;
  margin-bottom:6px;
}
.route-choice-desc{
  font-size:13px;
  color:#5f513f;
  font-weight:700;
  line-height:1.35;
  margin-bottom:14px;
}
.route-choice-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
#route-choice-modal .route-choice-btn{
  width:100%;
  min-height:62px;
  padding:0 16px;
  border-radius:14px;
  border:2.5px solid transparent;
  box-sizing:border-box;
  font-size:16px;
  font-weight:900;
  font-family:inherit;
  letter-spacing:-.04em;
  line-height:1.15;
  touch-action:manipulation;
  box-shadow:none;
}
#route-choice-modal .route-choice-btn.start{order:1;}
#route-choice-modal .route-choice-btn.end{order:2;}
#route-choice-modal .route-choice-btn.cancel{order:3;grid-column:1 / -1;}
#route-choice-modal .route-choice-btn.start,
#route-choice-modal .route-choice-btn.danger{
  background:#0e1535;
  color:#ffffff;
  border-color:#050816;
}
#route-choice-modal .route-choice-btn.end{
  background:#1565c0;
  color:#ffffff;
  border-color:#0d47a1;
}
#route-choice-modal .route-choice-btn.cancel,
#route-choice-modal .route-choice-btn.keep{
  background:#16803c;
  color:#ffffff;
  border-color:#0b5d2a;
}
#route-choice-modal .route-choice-btn:active{
  transform:translateY(1px);
  filter:brightness(.94);
}
@media(max-width:520px){
  .route-choice-panel{width:calc(100vw - 36px);padding:18px 14px 16px;}
  #route-choice-modal .route-choice-btn{min-height:60px;font-size:15.5px;}
}
html:not(.ios-device) .guide-modal{padding-bottom:calc(14px + var(--oai-android-bottom-gap, 10px))!important;}
html:not(.ios-device) .modal-panel,
html:not(.ios-device) .guide-panel{max-height:calc(100vh - 96px - var(--oai-android-bottom-gap, 10px))!important;}
