/* Job Pass presentation: price, entitlement, dates and checkout stay server-controlled. */
.jobs-runtime .jp-page { max-width:1260px; width:calc(100% - 48px); margin:0 auto; padding:24px 0 120px; color:var(--theme-text,#17251f); }
.jobs-runtime :is(.jp-page,.jp-offer,.jp-active-mini) * { box-sizing:border-box; }
.jp-page :is(h1,h2,h3,p),.jp-offer :is(strong,p),.jp-active-mini :is(strong,p) { overflow-wrap:anywhere; }
.jp-breadcrumb { display:flex; gap:10px; margin:0 0 18px; font-size:12px; color:var(--theme-text-muted,#56655e); }
.jp-breadcrumb a,.jp-return { color:var(--theme-link,#174c3d); text-decoration:none; }
.jp-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.jp-language,.jp-region { min-width:0; padding:0; border:0; margin:0; }
.jp-language > label,.jp-region > label { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 16px; margin:0 6px 14px 0; border:1px solid var(--theme-border,#d9dfd6); border-radius:8px; color:var(--theme-link,#174c3d); background:var(--theme-surface,#fff); font-size:12px; font-weight:700; cursor:pointer; }
.jp-language > input:checked + label,.jp-region > input:checked + label { background:var(--theme-primary-bg,#174c3d); color:var(--theme-primary-text,#fff); border-color:var(--theme-primary-bg,#174c3d); }
.jp-language > input:focus-visible + label,.jp-region > input:focus-visible + label,.jp-page :is(a,button,summary):focus-visible,.jp-offer a:focus-visible { outline:3px solid var(--theme-focus,#005fcc); outline-offset:3px; }
#jp-en:checked ~ .jp-content > .jp-lang-panel[lang=hi],#jp-hi:checked ~ .jp-content > .jp-lang-panel[lang=en],
#jp-en:checked ~ .jp-content :is(.jp-hero,.jp-validity,.jp-return) [lang=hi],#jp-hi:checked ~ .jp-content :is(.jp-hero,.jp-validity,.jp-return) [lang=en] { display:none; }
.jp-art { --jp-ink:#3e2b16; --jp-color:#b78024; --jp-wash:#f5e3c1; position:relative; isolation:isolate; overflow:hidden; }
.jp-art[data-jp-look=ruby] { --jp-ink:#481a29; --jp-color:#b32957; --jp-wash:#f5d9e4; }
.jp-art[data-jp-look=emerald] { --jp-ink:#14382d; --jp-color:#23765b; --jp-wash:#d7ecdf; }
.jp-art[data-jp-look=sapphire] { --jp-ink:#17314f; --jp-color:#326eb1; --jp-wash:#dce9f6; }
.jp-photos,.jp-photo { position:absolute; inset:0; z-index:-2; }
.jp-photo { opacity:0; transition:opacity .6s ease; }
.jp-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.jp-art[data-jp-look=gold] .jp-photo--gold,.jp-art[data-jp-look=ruby] .jp-photo--ruby,.jp-art[data-jp-look=emerald] .jp-photo--emerald,.jp-art[data-jp-look=sapphire] .jp-photo--sapphire { opacity:1; }
.jp-art::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(105deg,color-mix(in srgb,var(--jp-ink) 96%,transparent),color-mix(in srgb,var(--jp-ink) 78%,transparent) 55%,color-mix(in srgb,var(--jp-ink) 62%,transparent)); }
.jp-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,420px); align-items:center; gap:48px; padding:44px; border:1px solid var(--jp-color); border-radius:22px; color:#fff; }
.jp-eyebrow { display:block; font-size:10px; line-height:1.6; font-weight:750; letter-spacing:.05em; text-transform:uppercase; }
.jp-hero-copy { min-width:0; }
.jp-hero-copy h1 { font:650 clamp(32px,4.5vw,58px)/1.12 Georgia,serif; letter-spacing:-.02em; color:#fff; margin:20px 0; }
.jp-hero-copy h1 [lang=hi] { font-family:inherit; font-weight:700; font-size:clamp(28px,4vw,46px); line-height:1.5; letter-spacing:0; }
.jp-hero-copy > p { font-size:14px; line-height:1.9; color:#ffffffea; max-width:570px; }
.jp-hero-facts { display:flex; flex-wrap:wrap; gap:32px; padding:18px 0; margin:22px 0; border-block:1px solid #ffffff40; }
.jp-hero-facts > span { display:flex; flex-direction:column; font-size:11px; gap:6px; }
.jp-hero-facts strong { color:#fff; font-size:22px; }
.jp-hero-copy .jp-hero-price { margin:0 0 20px; font-size:11px; }
.jp-hero-price strong { font-size:24px; color:#fff; margin-right:6px; }
.jp-appearance-options { display:flex; flex-wrap:wrap; gap:6px; }
.jp-appearance-options button { min-height:44px; padding:8px 12px; border:1px solid #ffffff60; border-radius:8px; background:#ffffff10; color:#fff; font-size:11px; font-weight:700; cursor:pointer; }
.jp-appearance-options button[aria-pressed=true] { background:var(--jp-wash); color:var(--jp-ink); border-color:var(--jp-wash); }
.jp-hero-copy .jp-appearance-note { font-size:10px; line-height:1.7; margin:12px 0 0; }
.jp-motion { padding:8px 0; min-height:44px; font-size:10px; color:#fff; background:none; border:0; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.jp-ticket { min-width:0; background:var(--theme-surface,#fff); color:var(--theme-text,#17251f); border:1px solid var(--jp-color); border-radius:18px; padding:26px; box-shadow:0 16px 50px #00000020; }
.jp-ticket-heading { display:flex; align-items:center; gap:8px; padding-bottom:16px; border-bottom:1px dashed var(--theme-border,#d9dfd6); flex-wrap:wrap; color:var(--theme-heading,#17251f); }
.jp-ticket-heading svg { width:24px; height:24px; flex:none; color:var(--jp-color); }
.jp-ticket-status { padding:4px 7px; border-radius:6px; background:var(--jp-wash); color:var(--jp-ink); font-size:9px; font-weight:750; margin-left:auto; }
.jp-ticket h2 { color:var(--theme-heading,#17251f); font:650 26px/1.35 Georgia,serif; margin:22px 0 16px; }
.jp-price { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; color:var(--theme-text-muted,#56655e); font-size:12px; }
.jp-price strong { color:var(--theme-heading,#17251f); font-size:48px; line-height:1.2; letter-spacing:-.03em; }
.jp-ticket > p,.jp-ticket-benefits { font-size:12px; line-height:1.8; color:var(--theme-text-muted,#56655e); }
.jp-ticket-benefits { padding-left:18px; margin:20px 0; }
.jp-ticket-benefits li { margin:8px 0; padding-left:3px; }
.jp-ticket-benefits li::marker { color:var(--jp-color); }
.jp-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; width:100%; padding:12px 16px; border:1px solid var(--theme-primary-bg,#174c3d); border-radius:10px; background:var(--theme-primary-bg,#174c3d); color:var(--theme-primary-text,#fff); text-decoration:none; font-size:12px; font-weight:750; line-height:1.6; text-align:center; cursor:pointer; }
.jp-button:hover { background:var(--theme-primary-hover-bg,#123e32); color:var(--theme-primary-hover-text,#fff); }
.jp-button > span[aria-hidden] { flex:none; }
.jp-gateway { margin:0 0 10px; padding:10px; border:1px solid var(--theme-border,#d9dfd6); border-radius:8px; background:var(--theme-surface-muted,#f5f2eb); color:var(--theme-text-muted,#56655e); font-size:11px; line-height:1.7; }
.jp-small,.jp-ticket .jp-small { color:var(--theme-text-muted,#56655e); font-size:11px; line-height:1.8; }
.jp-ticket .jp-ticket-footer { margin:18px 0 0; padding-top:14px; border-top:1px dashed var(--theme-border,#d9dfd6); font-size:10px; }
.jp-ticket-dates { margin:20px 0; }
.jp-ticket-dates > div { padding:10px 0; border-bottom:1px solid var(--theme-border,#d9dfd6); }
.jp-ticket-dates dt { color:var(--theme-text-muted,#56655e); font-size:10px; }
.jp-ticket-dates dd { margin:5px 0 0; color:var(--theme-heading,#17251f); font-size:13px; font-weight:750; overflow-wrap:anywhere; }
.jp-section { margin:34px 0; }
.jp-section-heading { margin:0 0 20px; }
.jp-section-heading h2 { color:var(--theme-heading,#17251f); font:650 30px/1.35 Georgia,serif; margin:6px 0 10px; }
.jp-section-heading p { color:var(--theme-text-muted,#56655e); font-size:13px; line-height:1.8; margin:0; }
.jp-validity { padding:26px; border:1px solid var(--theme-border,#d9dfd6); border-radius:18px; background:var(--theme-surface,#fff); }
.jp-timeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:20px 0 0; padding:0; list-style:none; }
.jp-timeline li > span,.jp-step-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--theme-accent-bg,#f5ecd7); border:1px solid var(--theme-border,#d9dfd6); color:var(--theme-accent-text,#51391c); font-size:11px; font-weight:700; margin:0 0 14px; }
.jp-timeline strong { display:block; font-size:13px; color:var(--theme-heading,#17251f); line-height:1.7; }
.jp-timeline p,.jp-benefits p { margin:8px 0 0; color:var(--theme-text-muted,#56655e); font-size:12px; line-height:1.9; }
.jp-validity-status { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:12px; color:var(--theme-heading,#17251f); }
.jp-validity-status > span { color:var(--theme-text-muted,#56655e); }
.jp-progress { height:6px; border-radius:9px; background:var(--theme-surface-muted,#f5f2eb); overflow:hidden; margin:16px 0; }
.jp-progress > span { display:block; height:100%; background:var(--theme-primary-bg,#174c3d); }
.jp-comparison { border:1px solid var(--theme-border,#d9dfd6); border-radius:14px; overflow:hidden; }
.jp-comparison table { width:100%; border-collapse:collapse; font-size:12px; background:var(--theme-surface,#fff); }
.jp-comparison :is(th,td) { text-align:left; padding:18px; line-height:1.8; border-bottom:1px solid var(--theme-border,#d9dfd6); overflow-wrap:anywhere; }
.jp-comparison thead th { color:var(--theme-text-muted,#56655e); font-size:10px; background:var(--theme-surface-muted,#f5f2eb); }
.jp-comparison tbody tr:last-child > * { border-bottom:0; }
.jp-comparison-pass { background:var(--theme-accent-bg,#f5ecd7); color:var(--theme-accent-text,#51391c); }
.jp-benefits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.jp-benefits article { padding:22px; background:var(--theme-surface,#fff); border:1px solid var(--theme-border,#d9dfd6); border-radius:14px; }
.jp-benefits h3 { color:var(--theme-heading,#17251f); font-size:14px; line-height:1.7; margin:0; }
.jp-example-disclosure { font-weight:650; }
.jp-region > label { font-size:11px; padding:8px 12px; }
.jp-story { display:none; align-items:center; gap:20px; padding:22px; border:1px solid var(--theme-border,#d9dfd6); border-left:4px solid var(--theme-icon,#174c3d); border-radius:12px; background:var(--theme-surface,#fff); }
.jp-story-avatar { display:grid; place-items:center; width:50px; height:50px; border-radius:50%; flex:none; background:var(--theme-accent-bg,#f5ecd7); color:var(--theme-accent-text,#51391c); font:650 24px Georgia,serif; }
.jp-story h3 { margin:4px 0 8px; color:var(--theme-heading,#17251f); font-size:15px; line-height:1.7; }
.jp-story h3 small { font-size:11px; font-weight:400; color:var(--theme-text-muted,#56655e); margin-left:10px; }
.jp-story p { font-size:12px; line-height:1.9; color:var(--theme-text-muted,#56655e); margin:0; }
.jp-region > input[value="0"]:checked ~ .jp-story--0,.jp-region > input[value="1"]:checked ~ .jp-story--1,.jp-region > input[value="2"]:checked ~ .jp-story--2,.jp-region > input[value="3"]:checked ~ .jp-story--3,.jp-region > input[value="4"]:checked ~ .jp-story--4,.jp-region > input[value="5"]:checked ~ .jp-story--5 { display:flex; }
.jp-faq { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:32px; }
.jp-faq details { border-top:1px solid var(--theme-border,#d9dfd6); }
.jp-faq summary { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:52px; padding:14px 0; color:var(--theme-heading,#17251f); font-size:13px; font-weight:700; line-height:1.8; list-style:none; cursor:pointer; }
.jp-faq summary::-webkit-details-marker { display:none; }
.jp-faq summary > span { flex:none; font-size:20px; font-weight:400; }
.jp-faq details[open] summary > span { transform:rotate(45deg); }
.jp-faq details p { margin:0 0 16px; font-size:12px; line-height:1.9; color:var(--theme-text-muted,#56655e); }
.jp-return { display:inline-flex; align-items:center; min-height:44px; font-size:12px; }
.jobs-runtime .jp-offer,.jobs-runtime .jp-active-mini { padding:22px 18px; margin:16px 0; border:1px solid var(--jp-color); border-radius:14px; color:#fff; }
.jp-offer-copy { position:relative; min-width:0; }
.jp-offer-copy > strong { display:block; font:650 24px/1.35 Georgia,serif; color:#fff; margin:8px 0; }
.jp-offer-copy p { font-size:12px; line-height:1.8; color:#ffffffeb; margin:8px 0 14px; }
.jp-offer-copy > small { display:block; font-size:10px; line-height:1.7; color:#ffffffdb; margin-top:12px; }
.jp-offer-bottom { display:flex; flex-direction:column; gap:12px; }
.jp-offer-bottom > span { font-size:24px; font-weight:750; }
.jp-offer-bottom small { font-size:11px; font-weight:400; }
.jp-text-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#fff; font-size:11px; text-underline-offset:4px; }
.jobs-runtime .jp-single-label { font-size:11px; line-height:1.8; color:var(--theme-text-muted,#56655e); }
.jobs-runtime .jp-single-unlock-form .cook-ticket-btn-gold { background:var(--theme-surface,#fff) !important; color:var(--theme-link,#174c3d) !important; border:1px solid var(--theme-border,#d9dfd6) !important; box-shadow:none; }
.jobs-runtime .cook-ticket-pass-active:has(.jp-active-mini) { display:block; padding:0; border:0; background:none; }
.jobs-runtime .cook-ticket-pass-active-left:has(.jp-active-mini) { display:block; }
.jobs-runtime .cook-ticket-pass-active-left:has(.jp-active-mini) > .cook-ticket-pass-seal,.jobs-runtime .cook-ticket-pass-active:has(.jp-active-mini) > .cook-ticket-pass-days { display:none; }
.jobs-runtime .cook-ticket-pass-active-left:has(.jp-active-mini) > div { width:100%; min-width:0; }
@media(max-width:1099px) { .jp-hero { gap:26px; padding:28px; grid-template-columns:minmax(0,1fr) minmax(0,350px); } .jp-hero-copy h1 { font-size:42px; } .jp-benefits,.jp-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .jp-hero { grid-template-columns:minmax(0,1fr); padding:26px; gap:24px; } .jp-hero-copy h1 { font-size:40px; } .jp-faq { grid-template-columns:minmax(0,1fr); gap:0; } }
@media(max-width:639px) {
 .jobs-runtime .jp-page { width:calc(100% - 16px); padding-top:18px; }
 .jp-hero { padding:22px 16px; border-radius:16px; } .jp-hero-copy h1 { font-size:36px; } .jp-hero-copy > p { font-size:13px; }
 .jp-hero-facts { gap:22px; } .jp-hero-facts strong { font-size:20px; }
 .jp-ticket { padding:20px 16px; } .jp-price strong { font-size:42px; } .jp-ticket h2 { font-size:23px; }
 .jp-section-heading h2 { font-size:26px; } .jp-section { margin:26px 0; } .jp-validity { padding:20px 16px; }
 .jp-timeline,.jp-benefits { grid-template-columns:minmax(0,1fr); gap:16px; }
 .jp-timeline li { display:grid; grid-template-columns:34px minmax(0,1fr); gap:4px 12px; } .jp-timeline li > span { grid-row:1/3; } .jp-timeline p { grid-column:2; margin:0; }
 .jp-comparison table,.jp-comparison tbody,.jp-comparison tr,.jp-comparison :is(th,td) { display:block; } .jp-comparison thead { display:none; }
 .jp-comparison :is(th,td) { padding:12px 16px; border:0; } .jp-comparison tr + tr { border-top:1px solid var(--theme-border,#d9dfd6); }
 .jp-comparison td::before { content:attr(data-label); display:block; font-size:10px; font-weight:700; opacity:.8; }
 .jp-story { padding:18px 14px; gap:12px; align-items:flex-start; } .jp-story-avatar { width:36px; height:36px; font-size:20px; } .jp-story h3 small { display:block; margin:4px 0 0; }
}
@media(prefers-reduced-motion:reduce) { .jp-photo { transition:none; } }

/* Scalable vector pass: the transparent card keeps the 85.6 × 54 credit-card ratio. */
.jp-pass-card { --jp-card-metal:color-mix(in srgb,var(--theme-primary-bg,#123e32) 30%,#061b15); margin:0; min-width:0; width:100%; max-width:560px; position:relative; }
.jp-pass-card svg { display:block; width:100%; height:auto; aspect-ratio:856/540; overflow:visible; filter:drop-shadow(0 12px 16px #00000022); }
.jp-pass-card svg [lang=hi] { display:none; }
#jp-hi:checked ~ .jp-content .jp-pass-card svg [lang=hi] { display:initial; }
#jp-hi:checked ~ .jp-content .jp-pass-card svg [lang=en] { display:none; }
.jp-ticket.jp-ticket--card { background:none; border:0; padding:0; box-shadow:none; display:grid; gap:18px; align-self:center; }
.jp-ticket-body { padding:22px; border:1px solid var(--theme-border,#d9dfd6); border-radius:16px; background:var(--theme-surface,#fff); color:var(--theme-text,#17251f); }
.jp-ticket-body h2 { margin:0 0 14px; }
.jp-ticket-body > p { font-size:12px; line-height:1.8; color:var(--theme-text-muted,#56655e); }
.jobs-runtime :is(.jp-offer,.jp-active-mini).jp-offer--card { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); align-items:center; gap:22px; padding:22px; }
.jp-offer--card .jp-pass-card { justify-self:center; }
.jp-offer--card .jp-offer-copy > strong { font-size:clamp(22px,2.4vw,28px); }
.jp-offer--card .jp-offer-bottom { gap:12px; }
@media(max-width:639px) { .jp-ticket-body { padding:18px 16px; } .jobs-runtime :is(.jp-offer,.jp-active-mini).jp-offer--card { padding:18px 12px; gap:16px; } }
@media(prefers-reduced-motion:reduce) { .jp-pass-card svg { filter:none; } }

/* Pricing uses its own English/Hindi control; share the same card language. */
.mp-access .jp-pass-card { margin:18px auto 14px; }
#mp-hi:checked ~ .mp-content .jp-pass-card svg [lang=hi] { display:initial; }
#mp-hi:checked ~ .mp-content .jp-pass-card svg [lang=en] { display:none; }
