
.jaccaCustomIntro { display:flex; box-sizing:border-box; width:100%; height:auto; min-height:100vh; max-height:none; text-align:center; }
/* Keep public Intro content above expanded browser chrome. A minimum (not a
   fixed height/cap) still lets tall images, text and ads extend the document.
   Retain the older WebKit fallback; current browsers use the small viewport.
   The Admin canvas has its own fixed preview dimensions. */
.ui-content.main.jaccaCustomIntro {
 min-height:-webkit-fill-available;
 min-height:100svh;
 padding-bottom:env(safe-area-inset-bottom, 0px);
}
.jaccaCustomIntroItems { flex:1; min-width:0; display:flex; flex-direction:column; justify-content:space-evenly; gap:12px; }
.jaccaCustomIntroItems > * { box-sizing:border-box; flex-shrink:0; max-width:100%; }
.jaccaCustomIntroItems .customIntroItem { overflow-wrap:anywhere; text-align:center; }
.jaccaCustomIntroItems .customIntroVisual img { display:block; max-width:100%; height:auto; margin:auto; }
.jaccaCustomIntroItems a { color:inherit; font-family:inherit; }
.jaccaCustomIntroItems a:focus-visible { outline:3px solid currentColor; outline-offset:4px; }
.jaccaCustomIntroItems .bannerHost { width:100%; flex:none; }
.jaccaCustomIntro .customIntroLanguage { display:flex; align-items:center; justify-content:center; gap:12px; }
.jaccaCustomIntro .customIntroLanguage > span { flex:none; }
/* jQuery Mobile copies the select classes onto its visible label. Do not let
   the legacy .culture percentage width clip that label inside the flex row. */
.jaccaCustomIntro .customIntroLanguage > .ui-select { flex:0 1 auto; min-width:0; max-width:75%; margin:0; }
.jaccaCustomIntro .customIntroLanguage .ui-select > .ui-btn { position:relative; box-sizing:border-box; min-height:44px; padding:.35em .5em; font:inherit; color:inherit; line-height:1.4; }
.jaccaCustomIntro .customIntroLanguage .ui-select .ui-btn > span.culture { width:auto; max-width:none; font:inherit; white-space:normal; overflow-wrap:anywhere; }
/* The transparent native control must cover the entire visible button. */
.jaccaCustomIntro .customIntroLanguage .ui-select select { width:100%; max-width:100%; height:100%; font:inherit; }
/* Usable before enhancement, or in a frontend without jQuery Mobile. */
.jaccaCustomIntro .customIntroLanguage > select { position:static; box-sizing:border-box; width:auto; min-width:0; max-width:75%; height:auto; min-height:44px; max-height:none; padding:.35em .5em; font:inherit; color:inherit; opacity:1; filter:none; appearance:auto; -webkit-appearance:menulist; }
.jaccaCustomIntro .customIntroLanguage img { height:30px; border-radius:5px; }
.customIntroPreviewDevice { max-width:100%; overflow:auto!important; }
.customIntroPreviewCanvasRoot { min-height:1109px; height:auto; }
@media (prefers-reduced-motion: reduce) {
 .jaccaCustomIntro, .jaccaCustomIntro *, .customIntroPreviewCanvasRoot * { animation:none!important; transition:none!important; }
}

.customIntroPreviewScaleHost { position:relative; width:100%; height:520px; overflow:hidden; }
.customIntroPreviewScaleHost > div { position:absolute; top:0; left:0; }
