/* Keep immersive card and rune viewers inside the viewport below the global banner. */
.image-modal,
.card-modal,
.full-rune-modal {
  inset:var(--alchemysterium-header-height) 0 0 0 !important;
  height:auto !important;
  max-height:calc(100dvh - var(--alchemysterium-header-height));
}

.wyrd-page .modal {
  inset:var(--alchemysterium-header-height) 0 0 0 !important;
  height:auto !important;
  max-height:calc(100dvh - var(--alchemysterium-header-height));
  padding:18px !important;
}
.wyrd-page .modal-panel {
  max-height:calc(100dvh - var(--alchemysterium-header-height) - 36px) !important;
  overflow:auto;
}
.wyrd-page .modal-symbol-large {
  min-height:min(calc(100dvh - var(--alchemysterium-header-height) - 72px),620px) !important;
  max-height:calc(100dvh - var(--alchemysterium-header-height) - 72px);
  cursor:pointer !important;
}

.lenormand-page #modal {
  inset:var(--alchemysterium-header-height) 0 0 0 !important;
  height:auto !important;
  max-height:calc(100dvh - var(--alchemysterium-header-height));
  padding:18px !important;
}
.lenormand-page .modalbox {
  grid-template-columns:minmax(220px,.72fr) minmax(300px,1fr) !important;
  width:min(100%,960px) !important;
  max-height:calc(100dvh - var(--alchemysterium-header-height) - 36px) !important;
  padding:0 !important;
}
.lenormand-page .modalbox > img {
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:calc(100dvh - var(--alchemysterium-header-height) - 36px) !important;
  object-fit:contain;
}
.lenormand-page .modaltext { max-height:calc(100dvh - var(--alchemysterium-header-height) - 36px) !important; }

.card-modal .card-panel { width:min(100%,960px) !important; }
.card-modal .card-full-view { grid-template-columns:minmax(220px,.72fr) minmax(300px,1fr) !important; gap:16px; align-items:start; }
.card-modal[data-mode="art"] .card-meaning-overlay { display:grid !important; }
.card-modal[data-mode="meaning"] .full-card-art-button { display:grid !important; }
.card-modal .full-card-art-button,.card-modal .card-meaning-overlay { max-height:calc(100dvh - var(--alchemysterium-header-height) - 32px) !important; }
.card-modal .card-meaning-overlay { padding-right:76px !important; }
.card-modal .full-card-image { max-height:calc(100dvh - var(--alchemysterium-header-height) - 32px) !important; }

.image-stage {
  height:calc(100dvh - var(--alchemysterium-header-height)) !important;
  padding:18px !important;
}
.image-stage img {
  max-width:calc(100vw - 36px) !important;
  max-height:calc(100dvh - var(--alchemysterium-header-height) - 36px) !important;
}

.card-modal { padding:16px !important; }
.card-panel {
  max-height:calc(100dvh - var(--alchemysterium-header-height) - 32px) !important;
  padding:0 !important;
}
.card-full-view,
.full-card-art-button {
  max-height:calc(100dvh - var(--alchemysterium-header-height) - 32px) !important;
}
.full-card-image {
  max-width:calc(100vw - 32px) !important;
  max-height:calc(100dvh - var(--alchemysterium-header-height) - 32px) !important;
}

.full-rune-modal { padding:18px !important; }
.full-rune-symbol {
  width:min(100%,720px) !important;
  height:min(calc(100dvh - var(--alchemysterium-header-height) - 36px),720px) !important;
  max-height:calc(100dvh - var(--alchemysterium-header-height) - 36px);
}
.full-rune-actions { top:calc(var(--alchemysterium-header-height) + 12px) !important; }

@media (max-width:680px) {
  .wyrd-page .modal { padding:10px !important; }
  .wyrd-page .modal-panel { max-height:calc(100dvh - var(--alchemysterium-header-height) - 20px) !important; }
  .wyrd-page .modal-symbol-large { min-height:min(42dvh,360px) !important; max-height:none; }
  .image-stage { padding:10px !important; }
  .image-stage img { max-width:calc(100vw - 20px) !important; max-height:calc(100dvh - var(--alchemysterium-header-height) - 20px) !important; }
  .card-modal { padding:10px !important; }
  .card-panel,.card-full-view,.full-card-art-button,.full-card-image { max-height:calc(100dvh - var(--alchemysterium-header-height) - 20px) !important; }
  .full-rune-modal { padding:10px !important; }
  .full-rune-symbol { height:calc(100dvh - var(--alchemysterium-header-height) - 20px) !important; max-height:calc(100dvh - var(--alchemysterium-header-height) - 20px); }
  .full-rune-actions { top:calc(var(--alchemysterium-header-height) + 8px) !important; right:8px !important; }
  .lenormand-page #modal { padding:10px !important; }
  .lenormand-page .modalbox { grid-template-columns:minmax(0,.72fr) minmax(0,1fr) !important; gap:10px; max-height:calc(100dvh - var(--alchemysterium-header-height) - 20px) !important; }
  .lenormand-page .modalbox > img,.lenormand-page .modaltext { max-height:calc(100dvh - var(--alchemysterium-header-height) - 20px) !important; }
  .card-modal .card-full-view { grid-template-columns:minmax(0,.72fr) minmax(0,1fr) !important; gap:10px; }
}

@media (max-width:520px) {
  .lenormand-page .modalbox,.card-modal .card-full-view { grid-template-columns:1fr !important; overflow:auto; }
  .lenormand-page .modalbox > img { max-height:38dvh !important; }
  .lenormand-page .modaltext { max-height:none !important; }
  .card-modal .full-card-art-button { height:38dvh; min-height:240px; }
  .card-modal .card-meaning-overlay { max-height:none !important; }
  .card-modal .card-meaning-overlay { padding-right:58px !important; }
}
