/* EventPurchase / Module 10 / VIP-only v6.0.0
   Add-on to the approved v5 public stylesheet. Only the VIP page loads this file.
   All selectors are namespaced. Do not replace the shared v5 CSS or JavaScript. */
.ep6-vip-page .ep6-vip-entry {
    padding:30px 0 36px;
    background:radial-gradient(ellipse at 8% 70%,rgba(208,154,124,.065),transparent 43%),linear-gradient(125deg,#0c1821,#163246);
}
.ep6-vip-layout {
    display:grid;
    grid-template-columns:minmax(0,1.07fr) minmax(0,1fr);
    grid-template-areas:"guide form";
    gap:66px;
    align-items:start;
    max-width:1110px;
}
.ep6-vip-form-card {
    grid-area:form;
    width:100%;
    max-width:496px;
    justify-self:end;
    padding:29px 32px 24px;
    border-radius:22px;
    scroll-margin-top:100px;
}
.ep6-vip-card-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.ep6-vip-card-heading .ep5-label { font-size:10px; letter-spacing:.12em; }
.ep6-vip-lock { display:grid; place-items:center; width:32px; height:32px; border:1px solid #e7dfd5; border-radius:9px; color:#995133; background:#fbf8f4; flex:none; }
.ep6-vip-lock svg { width:18px; height:18px; }
.ep6-vip-form-card h1 { font-size:34px; line-height:1.12; letter-spacing:-.035em; margin:0; }
.ep6-vip-form-description { margin:12px 0 0 !important; font-size:13px; color:var(--ep5-muted); line-height:1.75; max-width:360px; }
.ep6-vip-form { margin-top:23px; gap:18px; }
.ep6-vip-form .ep5-field label { font-size:13px; margin-bottom:8px; }
.ep6-vip-form .ep5-field .ep5-access-input { min-height:63px; font-size:22px; font-weight:600; letter-spacing:.095em; border-radius:10px; background:#fbfaf8; }
.ep6-vip-form .ep5-field .ep5-access-input:focus { box-shadow:0 0 0 4px rgba(169,86,50,.14); }
.ep6-code-field-help { display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:9px; color:#637078; font-size:10.5px; line-height:1.55; }
.ep6-code-field-help a { color:#914321; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
.ep6-vip-form .ep5-form-actions { margin-top:7px; /* 18px form row gap + 7px, in addition to the helper row. */ }
.ep6-vip-form .ep5-form-actions .ep5-button { min-height:53px; font-size:14px; gap:20px; }
.ep6-vip-form-help { border-top:1px solid var(--ep5-line); padding-top:16px; margin-top:21px; }
.ep6-vip-form-help > p:first-child { color:#53616a; font-size:11px; line-height:1.6; }
.ep6-vip-form-help a { color:#914321; text-decoration:underline; text-underline-offset:3px; }
.ep6-vip-form-help #ep6-preview-note { margin-top:10px; color:#6d7478; font-size:10px; line-height:1.55; }
.ep6-vip-guide { grid-area:guide; min-width:0; padding-top:6px; scroll-margin-top:100px; }
.ep6-guide-label { display:block; color:#d09a7c; font-size:9.5px; letter-spacing:.145em; font-weight:650; line-height:1.6; }
.ep6-guide-heading h2 { color:#fff; font-size:26px; line-height:1.2; margin-top:9px; letter-spacing:-.025em; }
.ep6-guide-heading p { color:#c3cfd6; font-size:12.5px; line-height:1.7; margin-top:9px; }
.ep6-card-guide-figure { margin:24px 0 0; }
.ep6-card-stage { position:relative; width:100%; aspect-ratio:1.48; isolation:isolate; }
.ep6-card-front { position:absolute; left:3%; top:3%; width:75%; transform:rotate(-6deg); transform-origin:50% 50%; border:1px solid rgba(208,154,124,.37); border-radius:10px; overflow:hidden; box-shadow:0 19px 35px rgba(0,0,0,.28); }
.ep6-card-front img, .ep6-card-back img { width:100%; height:auto; display:block; aspect-ratio:1.75; }
.ep6-card-back { position:absolute; width:89%; right:0; bottom:1%; border:1px solid rgba(247,244,239,.55); border-radius:10px; background:#f7f4ef; box-shadow:0 25px 45px rgba(0,0,0,.26); }
.ep6-card-back img { border-radius:9px; }
/* Panel coordinates match the print artwork: x16,y87,w146,h35 on a 252x144pt card. */
.ep6-code-highlight { pointer-events:none; position:absolute; left:5.15%; top:59.3%; width:60.5%; height:27%; border:2px solid #d69970; border-radius:7px; box-shadow:0 0 0 4px rgba(208,154,124,.2); }
.ep6-card-guide-figure figcaption { padding:19px 0 0 11%; }
.ep6-card-guide-figure figcaption strong { display:flex; align-items:center; gap:8px; color:#e1ad8e; font-size:10px; letter-spacing:.08em; font-weight:650; }
.ep6-location-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:#d69a72; }
.ep6-card-guide-figure figcaption > span { display:block; color:#bac8d0; font-size:10.5px; line-height:1.6; margin-top:5px; max-width:390px; }
.ep6-guide-return { display:none; }
.ep6-vip-page .ep6-vip-next { padding:24px 0; }
.ep6-vip-next > .ep5-shell { max-width:1110px; }
.ep6-vip-next h2 { font-size:15px; margin-top:7px; }
.ep6-vip-next p { font-size:11.5px; margin-top:6px; }
@media (max-width:1199px) {
    .ep6-vip-layout { gap:38px; max-width:1040px; }
    .ep6-vip-form-card { padding:26px 28px 24px; }
    .ep6-vip-form-card h1 { font-size:32px; }
}
@media (min-width:821px) and (max-height:740px) {
    .ep6-vip-page .ep6-vip-entry { padding-top:22px; padding-bottom:27px; }
    .ep6-vip-form-card { padding-top:23px; padding-bottom:21px; }
    .ep6-vip-card-heading { margin-bottom:5px; }
    .ep6-vip-form { margin-top:20px; }
    .ep6-vip-form-help { margin-top:18px; padding-top:13px; }
}
@media (max-width:820px) {
    /* Form remains FIRST. No marketing copy or card image precedes it. */
    .ep6-vip-page .ep6-vip-entry { padding:21px 0 32px; }
    .ep6-vip-layout { grid-template-columns:minmax(0,1fr); grid-template-areas:"form" "guide"; max-width:540px; gap:31px; }
    .ep6-vip-form-card { justify-self:stretch; max-width:none; padding:25px 27px 23px; }
    .ep6-vip-guide { padding:0 8px; }
    .ep6-vip-guide .ep6-guide-heading { padding-top:25px; border-top:1px solid rgba(255,255,255,.13); }
    .ep6-guide-heading h2 { font-size:23px; }
    .ep6-guide-heading p { font-size:13px; }
    .ep6-card-guide-figure { margin-top:22px; }
    .ep6-card-stage { aspect-ratio:1.44; }
    .ep6-card-front { top:4%; }
    .ep6-card-guide-figure figcaption { padding-top:21px; padding-left:7%; }
    .ep6-guide-return { display:inline-flex; align-items:center; gap:14px; color:#e2ac8b; font-size:12px; margin-top:18px; padding:10px 0; }
    .ep6-guide-return:hover { text-decoration:underline; text-underline-offset:4px; }
    .ep6-vip-next > .ep5-shell { max-width:540px; }
}
@media (max-width:460px) {
    .ep6-vip-form-card { padding:22px 21px; border-radius:18px; }
    .ep6-vip-form-card h1 { font-size:29px; }
    .ep6-vip-card-heading .ep5-label { font-size:9px; }
    .ep6-vip-form-description { font-size:13px; line-height:1.65; }
    .ep6-vip-form .ep5-field .ep5-access-input { min-height:59px; font-size:20px; letter-spacing:.035em; padding-inline:9px; }
    .ep6-code-field-help { gap:5px 9px; font-size:10px; }
    .ep6-vip-form-help > p:first-child { font-size:10.5px; }
    .ep6-vip-form-help #ep6-preview-note { font-size:9.5px; }
    .ep6-guide-label { font-size:8.5px; }
    .ep6-vip-guide { padding-inline:2px; }
    .ep6-card-guide-figure figcaption > span { font-size:10px; }
    .ep6-code-highlight { border-width:1.5px; border-radius:5px; box-shadow:0 0 0 3px rgba(208,154,124,.2); }
}
@media (prefers-reduced-motion:reduce) {
    .ep6-vip-page .ep6-vip-entry *, .ep6-vip-page .ep6-vip-entry *::before, .ep6-vip-page .ep6-vip-entry *::after { animation:none !important; transition:none !important; }
}
