/* One photographic scene, with the booking card placed inside the composition. */
.pcfk-immersive-preview { background:#f5f2fa; }
.ci-page { position:relative; isolation:isolate; min-height:900px; margin:8px; border-radius:34px; background:#323e39; }
.ci-picture { position:absolute; inset:0; z-index:-2; overflow:hidden; border-radius:inherit; }
.ci-picture img { width:100%; height:100%; object-fit:cover; object-position:38% center; }
.ci-page::before { content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; pointer-events:none; background:linear-gradient(0deg,rgba(17,30,24,.72),transparent 62%),linear-gradient(90deg,rgba(17,30,24,.13),transparent 65%); }
.ci-inner { min-height:max(890px,100svh); width:min(1500px,100%); margin:auto; padding:112px clamp(30px,5vw,80px) 42px; display:grid; grid-template-columns:minmax(0,1fr) 440px; align-items:start; gap:clamp(32px,6vw,90px); }
.ci-copy { align-self:end; color:white; padding-bottom:42px; }
.ci-eyebrow { font-size:13px; font-weight:600; letter-spacing:.035em; margin-bottom:19px; }
.ci-copy h1 { color:white; font-size:clamp(44px,4.8vw,72px); line-height:1.03; letter-spacing:-.05em; font-weight:520; text-wrap:balance; }
.ci-lede { font-size:18px; line-height:1.6; margin-top:22px; max-width:29em; }
.ci-moments { display:inline-flex; gap:16px; align-items:center; margin-top:24px; min-height:44px; padding:0 19px; border:1px solid #ffffff80; border-radius:28px; text-decoration:none; color:white; background:#ffffff12; font-size:14px; }
.ci-moments:hover { background:#ffffff28; }
.ci-disclosure { font-size:10px; line-height:1.5; margin-top:21px; color:#ffffffe0; }
.ci-form { border:1px solid #ffffffa6; border-radius:30px; padding:23px; background:rgba(255,253,255,.97); box-shadow:0 18px 70px #20332c25; min-width:0; }
.ci-form-heading { margin:0 0 16px; }
.ci-form-heading .pl-hand { font-size:25px; color:#8b5ed1; margin-bottom:4px; }
.ci-form-heading h2 { font-size:23px; font-weight:580; letter-spacing:-.025em; color:#30233e; }
.ci-form .ticket { background:transparent; padding:0; border:0; border-radius:0; box-shadow:none; gap:12px; }
.ci-form .pf { gap:14px 10px; }
.ci-form .tk-char { background:#eee8fa; }
.ci-form .pf-label { font-size:13px; }
.ci-form .tk-today b { font-size:30px; }
.ci-form .tk-rest { font-size:12px; }
.ci-form .tk-price { padding:12px; }
.ci-form .tk-book { font-size:15px; }
.ci-extras { margin-top:0; border-top:1px solid #e8e1ef; }
.ci-extras > summary { min-height:40px; padding:12px 0 0; font-size:12px; color:#6b587c; cursor:pointer; }
.ci-extras .tk-fine { margin-top:12px; }
.ci-extras .tk-alt { margin-top:10px; display:flex; flex-wrap:wrap; gap:8px 12px; }
.ci-extras .tk-add { margin-top:12px; }
.pcfk-immersive-preview .character-scenes { padding-block:58px; }
.pcfk-immersive-preview .character-scenes-grid img { border-radius:26px; }
.pcfk-immersive-preview .character-scenes h2 { font-size:clamp(32px,4vw,48px); }
@media(max-width:1100px) and (min-width:901px) {
 .ci-inner { grid-template-columns:minmax(0,1fr) 400px; gap:28px; padding-inline:28px; }
 .ci-copy h1 { font-size:48px; }
 .ci-form { padding:20px; }
}
@media(max-width:900px) {
 .ci-page { margin:6px; border-radius:28px; min-height:0; background:#f5f2fa; }
 .ci-picture { height:900px; bottom:auto; border-radius:28px 28px 0 0; }
 .ci-picture img { object-position:center top; }
 .ci-page::before { bottom:auto; height:920px; background:linear-gradient(180deg,transparent 20%,rgba(12,35,26,.10) 32%,rgba(12,35,26,.62) 48%,rgba(12,35,26,.64) 58%,#f5f2fa 95%); }
 .ci-inner { display:block; min-height:0; max-width:650px; padding:100px 16px 20px; }
 .ci-copy { padding:265px 6px 0; }
 .ci-eyebrow { margin-bottom:12px; font-size:12px; }
 .ci-copy h1 { font-size:50px; max-width:10em; text-wrap:initial; }
 .ci-lede { font-size:16px; margin-top:16px; line-height:1.5; }
 .ci-moments { display:none; }
 .ci-disclosure { font-size:9px; margin-top:15px; }
 .ci-form { margin-top:24px; padding:22px; position:relative; border-radius:28px; box-shadow:0 18px 45px #30234116; }
 .ci-form .ticket { padding:0; }
 .ci-form .pf-cal { max-width:calc(100vw - 100px); }
}
@media(max-width:480px) {
 .ci-picture { height:820px; }
 .ci-picture img { object-fit:cover; }
 .ci-copy { padding-top:238px; }
 .ci-copy h1 { font-size:44px; }
 .ci-form { padding:18px; }
 .ci-form-heading h2 { font-size:21px; }
 .ci-form .pf-date-picker,.ci-form select.pf-native { font-size:12px; }
}
@media(max-width:350px) {
 .ci-inner { padding-inline:10px; }
 .ci-copy h1 { font-size:38px; }
 .ci-copy { padding-top:216px; }
 .ci-form { padding:15px; }
 .ci-form .lengths button { font-size:12px; }
 .ci-form .pf-cal { max-width:calc(100vw - 70px); }
}
/* Keep tablet faces above the copy as the portrait grows wider. */
@media(min-width:481px) and (max-width:900px) {
 .ci-picture img { object-position:center calc(190px - 48vw); }
 .ci-copy { padding-top:310px; }
}

/* Exact-character catalog fallback: keep the whole portrait, never expand it across a landscape. */
.ci-page-framed { background:#f4edf5; }
.ci-page-framed::before { display:none; }
.ci-page-framed .ci-inner { min-height:0; padding-top:112px; gap:clamp(26px,4vw,64px); }
.ci-page-framed .ci-copy { align-self:start; padding-bottom:8px; color:#30233e; }
.ci-page-framed .ci-picture { display:block; position:static; border-radius:28px; background:#eae1eb; margin-bottom:24px; }
.ci-page-framed .ci-picture img { display:block; height:clamp(380px,43vw,620px); object-fit:contain; object-position:center; }
.ci-page-framed .ci-copy h1 { color:#30233e; font-size:clamp(36px,4vw,54px); }
.ci-page-framed .ci-eyebrow { margin-bottom:10px; }
.ci-page-framed .ci-lede { margin-top:16px; }
.ci-page-framed .ci-disclosure { color:#685b72; }
.ci-page-framed .ci-moments { color:#513774; border-color:#bca9cb; background:#ffffff80; }
@media(max-width:900px) {
 .ci-page-framed .ci-inner { padding-top:98px; }
 .ci-page-framed .ci-copy { padding:0 6px; }
 .ci-page-framed .ci-picture { height:auto; border-radius:24px; margin-bottom:22px; }
 .ci-page-framed .ci-picture img { height:auto; max-height:540px; object-fit:contain; object-position:center; }
 .ci-page-framed .ci-copy h1 { font-size:40px; }
}

/* Keep the performer visible when previewing the wide 1K Superman image on phones. */
@media(max-width:900px) {
 .ci-page[data-character="superman"] .ci-picture img { object-position:38% top; }
}

/* Reviewed right-hand subject: move the card, not the performer, out of the way. */
@media(min-width:901px) {
 .ci-page-form-left .ci-inner { grid-template-columns:440px minmax(0,1fr); }
 .ci-page-form-left .ci-form { grid-column:1; grid-row:1; }
 .ci-page-form-left .ci-copy { grid-column:2; grid-row:1; }
 .ci-page-form-left .ci-picture img { object-position:70% center; }
}
@media(min-width:901px) and (max-width:1100px) {
 .ci-page-form-left .ci-inner { grid-template-columns:400px minmax(0,1fr); }
}
@media(max-width:900px) {
 .ci-page-form-left .ci-picture img { object-position:64% top; }
}
