/* Karvaan events: event page, card grid, sidebar list and the registration form.
   Colours, fonts and corners follow the site's Neve settings (same tokens as the hero). */
.kev {
	--kev-accent: var(--nv-primary-accent, #c8551e);
	--kev-accent-2: var(--nv-secondary-accent, #8b3a14);
	--kev-bg: var(--nv-site-bg, #f7f1e8);
	--kev-light: var(--nv-light-bg, #efe7d8);
	--kev-text: var(--nv-text-color, #1a1410);
	--kev-dark-text: var(--nv-text-dark-bg, #f7f1e8);
	--kev-muted: #75695d;
	--kev-line: #d8cdbf;
	--kev-card: #fffaf3;
	--kev-r: 22px;
	--kev-serif: var(--headingsfontfamily, Fraunces, Georgia, serif);
	--kev-sans: Arial, Helvetica, sans-serif;
	box-sizing: border-box;
	color: var(--kev-text);
	font-family: var(--kev-sans);
	line-height: 1.6;
}
.kev *, .kev *::before, .kev *::after, .kev-modal *, .kev-modal *::before, .kev-modal *::after { box-sizing: border-box; }
.kev img { display: block; max-width: 100%; height: auto; }
.kev svg { display: block; }

/* Show the price and wording for the visitor's region (events.js sets data-region). */
.kev-scope[data-region="IN"] .kev-intl,
.kev-scope[data-region="INTL"] .kev-in { display: none !important; }

/* Same 1280px column and 24px gutters as the header and the hero. */
.kev-wrap { width: calc(100% - 48px); max-width: 1280px; margin: 0 auto; }
.kev-wrap--narrow { max-width: 1100px; }
.kev-eyebrow { display: inline-flex; align-items: center; gap: 12px; font: 700 12px/1.4 var(--kev-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--kev-accent); }
.kev-eyebrow::before { content: ""; width: 36px; height: 1px; background: currentColor; }
.kev-h2 { font: 500 clamp(28px, 3.6vw, 44px)/1.1 var(--kev-serif); letter-spacing: -.01em; margin: 10px 0 26px; color: inherit; }
.kev-chip { display: inline-block; padding: 4px 12px; border-radius: 999px; font: 700 11px/1.5 var(--kev-sans); letter-spacing: .06em; text-transform: uppercase; }
.kev-chip--free { background: #dfeedd; color: #2c5a2a; }
.kev-chip--paid { background: #f6dccd; color: var(--kev-accent-2); }
.kev-chip--past { background: #e4ddd2; color: #6b6054; }

/* Buttons */
.kev .kev-btn { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 30px; border-radius: 999px; background: var(--kev-accent); color: #fff; font: 600 16px/1.2 var(--kev-sans); text-align: center; transition: background .2s, transform .2s; box-shadow: 0 8px 20px -10px rgba(200, 85, 30, .8); }
.kev .kev-btn:hover { background: var(--kev-accent-2); transform: translateY(-1px); }
.kev .kev-btn:focus-visible, .kev-modal button:focus-visible, .kev-modal input:focus-visible { outline: 3px solid rgba(200, 85, 30, .45); outline-offset: 2px; }
.kev .kev-btn--off { cursor: default; background: #d9cfc0; color: #6b6054; box-shadow: none; }
.kev .kev-btn--off:hover { background: #d9cfc0; transform: none; }

/* ---------- Event page: hero ---------- */
.kev-hero {
	padding: 34px 0 56px;
	background: radial-gradient(900px 420px at 88% -10%, rgba(200, 85, 30, .10), transparent 60%), radial-gradient(700px 360px at -5% 110%, rgba(47, 107, 79, .08), transparent 60%), var(--kev-bg);
}
.kev-crumbs { font-size: 13px; color: var(--kev-muted); margin-bottom: 34px; display: flex; flex-wrap: wrap; gap: 8px; }
.kev-crumbs a { color: inherit; text-decoration: none; }
.kev-crumbs a:hover { color: var(--kev-accent); }
.kev-tags { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.kev-title { font: 500 clamp(36px, 6vw, 74px)/1.04 var(--kev-serif); letter-spacing: -.025em; margin: 16px 0 20px; color: var(--kev-text); }
.kev-lede { font-size: 19px; line-height: 1.65; color: #3b322a; max-width: 54ch; margin: 0; }
.kev-hero-grid { display: grid; gap: 64px; align-items: center; }
.kev-single[data-orient="vertical"] .kev-hero-grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
.kev-single[data-orient="horizontal"] .kev-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
.kev-single[data-orient="horizontal"] .kev-hero-copy { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 14px 56px; align-items: end; }
.kev-single[data-orient="horizontal"] .kev-hero-copy .kev-tags { grid-column: 1 / -1; }
.kev-single[data-orient="horizontal"] .kev-title { margin: 0; }
.kev-single[data-orient="horizontal"] .kev-lede { border-left: 1px solid rgba(26, 20, 16, .2); padding-left: 28px; }
.kev-poster-wrap { position: relative; }
.kev-single[data-orient="vertical"] .kev-poster-wrap { max-width: 440px; margin-left: auto; width: 100%; }
.kev-poster { position: relative; margin: 0; border-radius: var(--kev-r); overflow: hidden; }
.kev-poster-img { width: 100%; height: auto; }
.kev-poster-fallback { display: grid; place-items: center; padding: 32px; text-align: center; background: linear-gradient(145deg, var(--kev-accent), var(--kev-accent-2)); color: #fff; font: 600 clamp(26px, 4vw, 44px)/1.1 var(--kev-serif); }
.kev-single[data-orient="vertical"] .kev-poster-fallback { aspect-ratio: 4 / 5; }
.kev-single[data-orient="horizontal"] .kev-poster-fallback { aspect-ratio: 16 / 9; }

.kev-cta-row { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; margin-top: 30px; }
.kev-cta-meta { font-size: 14px; color: var(--kev-muted); display: grid; gap: 2px; }
.kev-cta-meta b { color: var(--kev-text); }
.kev-quick { display: flex; gap: 20px; margin-top: 22px; font-size: 14px; }
.kev-quick a, .kev .kev-quick button { all: unset; cursor: pointer; display: inline-flex; gap: 7px; align-items: center; color: var(--kev-muted); font: 14px/1.4 var(--kev-sans); }
.kev-quick a:hover, .kev .kev-quick button:hover { color: var(--kev-accent); }
.kev-quick svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.8; }

/* Facts */
.kev-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin-top: 48px; }
.kev-fact { display: flex; gap: 14px; align-items: flex-start; background: var(--kev-card); border: 1px solid var(--kev-line); border-radius: 18px; padding: 20px; }
.kev-ic { width: 42px; height: 42px; border-radius: 12px; background: rgba(200, 85, 30, .1); display: grid; place-items: center; flex: none; }
.kev-ic svg { width: 21px; height: 21px; stroke: var(--kev-accent); fill: none; stroke-width: 1.7; }
.kev-fact small { display: block; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--kev-muted); margin-bottom: 2px; }
.kev-fact strong, .kev-fact strong span { font: 500 18px/1.3 var(--kev-serif); color: var(--kev-text); }
.kev-fact strong { display: block; }
.kev-fact strong a { color: inherit; text-decoration-color: var(--kev-accent); text-underline-offset: 3px; }
.kev-fact > div:last-child > span { display: block; font-size: 13px; color: var(--kev-muted); margin-top: 2px; }

/* ---------- Event page: body ---------- */
.kev-body { padding: 64px 0 72px; background: var(--kev-bg); }
.kev-body-grid { display: grid; grid-template-columns: minmax(0, 1fr) 370px; gap: 64px; align-items: start; }
.kev-prose h2 { font: 500 clamp(28px, 3.6vw, 42px)/1.15 var(--kev-serif); letter-spacing: -.01em; margin: 0 0 18px; }
.kev-prose h3 { font: 500 22px/1.3 var(--kev-serif); margin: 32px 0 8px; }
.kev-prose p, .kev-prose li { font-size: 18px; color: #2d251e; }
.kev-prose p { margin: 0 0 18px; }
.kev-prose ul, .kev-prose ol { padding-left: 22px; }
.kev-prose li { margin-bottom: 6px; }
.kev-prose img { border-radius: 16px; }
.kev-prose a { color: var(--kev-accent); }
.kev-side { position: sticky; top: 90px; background: var(--kev-card); border: 1px solid var(--kev-line); border-radius: var(--kev-r); padding: 28px; box-shadow: 0 24px 40px -30px rgba(60, 30, 10, .4); }
.kev-amt { font: 500 44px/1 var(--kev-serif); }
.kev-amt small { font: 400 14px var(--kev-sans); color: var(--kev-muted); }
.kev-alt { font-size: 13px; color: var(--kev-muted); margin-top: 8px; }
.kev dl, .kev dt, .kev dd { padding: 0; text-align: left; }
.kev-side dl { margin: 22px 0; display: grid; gap: 12px; font-size: 15px; border-top: 1px solid var(--kev-line); padding-top: 20px; }
.kev-side dt { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--kev-muted); }
.kev-side dd { margin: 0; }
.kev-side .kev-btn { width: 100%; }
.kev-meter { height: 6px; border-radius: 6px; background: #e4d9c9; margin: 18px 0 6px; overflow: hidden; }
.kev-meter i { display: block; height: 100%; background: var(--kev-accent); border-radius: 6px; }
.kev-seats { font-size: 13px; color: var(--kev-muted); display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; }
.kev-meter + .kev-seats { margin-top: 0; }

/* Gallery */
.kev-gallery { padding: 0 0 72px; background: var(--kev-bg); }
.kev-gal { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 200px; gap: 14px; }
.kev-gal > div { border-radius: 16px; overflow: hidden; background: var(--kev-light); }
.kev-gal img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.kev-gal > div:hover img { transform: scale(1.05); }
/* The gallery arranges itself so there are no gaps, whatever the number of photos. */
.kev-gal--n1 > div { grid-column: span 4; grid-row: span 2; }
.kev-gal--n2 > div { grid-column: span 2; grid-row: span 2; }
.kev-gal--n3 > div { grid-column: span 2; }
.kev-gal--n3 > div:first-child, .kev-gal--n5 > div:first-child { grid-column: span 2; grid-row: span 2; }
.kev-gal--n4 > div { grid-column: span 2; }

/* Testimonials */
.kev-testi { background: var(--kev-light); border-radius: 40px; padding: 80px 0; margin: 0 24px 72px; }
.kev-tgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 22px; margin-top: 4px; }
.kev-tcard { margin: 0; background: var(--kev-bg); border-radius: 20px; padding: 32px; border: 1px solid rgba(26, 20, 16, .08); position: relative; }
.kev-tcard::before { content: "“"; position: absolute; top: 6px; left: 24px; font: 600 80px/1 var(--kev-serif); color: var(--kev-accent); opacity: .25; }
.kev-tcard blockquote { margin: 0; padding: 0; border: 0; }
.kev-tcard p { font: italic 500 19px/1.55 var(--kev-serif); margin: 26px 0 22px; color: var(--kev-text); }
.kev-who { display: flex; align-items: center; gap: 12px; }
.kev-av { width: 42px; height: 42px; border-radius: 50%; background: var(--kev-accent); color: #fff; display: grid; place-items: center; font: 600 15px var(--kev-serif); flex: none; }
.kev-who b { display: block; font-size: 15px; }
.kev-who small { display: block; font-size: 13px; color: var(--kev-muted); }

/* Closing call to action */
.kev-close { background: var(--kev-text); color: var(--kev-dark-text); border-radius: 40px; margin: 0 24px 72px; padding: 76px 24px; text-align: center; position: relative; overflow: hidden; }
.kev-close::after { content: ""; position: absolute; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle, rgba(200, 85, 30, .4), transparent 65%); right: -140px; top: -200px; pointer-events: none; }
.kev-close > * { position: relative; z-index: 1; }
.kev-close h2 { font: 500 clamp(30px, 4.4vw, 56px)/1.1 var(--kev-serif); margin: 14px auto; max-width: 20ch; color: inherit; }
.kev-close p { max-width: 52ch; margin: 0 auto 28px; color: #cfc2b2; }
.kev-close .kev-eyebrow { color: #ec8a58; }

/* Phone: sticky register bar */
.kev-mbar { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: var(--kev-card); border-top: 1px solid var(--kev-line); padding: 12px 16px; align-items: center; justify-content: space-between; gap: 12px; box-shadow: 0 -10px 30px -18px rgba(0, 0, 0, .4); }
.kev-mbar b { font: 500 22px var(--kev-serif); }
.kev-mbar small { display: block; font-size: 12px; color: var(--kev-muted); }
.kev .kev-mbar .kev-btn { padding: 13px 24px; font-size: 15px; }

/* ---------- Card grid ---------- */
.kev-grid-sec { width: calc(100% - 48px); max-width: 1280px; margin: 0 auto; padding: 8px 0 48px; }
.kev-archive { padding: 56px 0 40px; background: var(--kev-bg); }
.kev-list-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; flex-wrap: wrap; margin-bottom: 28px; }
.kev-list-head .kev-h2 { margin-bottom: 0; }
.kev-pills { display: flex; gap: 8px; flex-wrap: wrap; }
.kev .kev-pills button { all: unset; cursor: pointer; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--kev-line); font: 14px/1.4 var(--kev-sans); background: var(--kev-card); color: var(--kev-text); }
.kev .kev-pills button[aria-pressed="true"] { background: var(--kev-text); color: var(--kev-dark-text); border-color: var(--kev-text); }
.kev-cards { display: grid; grid-template-columns: repeat(var(--kev-cols, 4), minmax(0, 1fr)); gap: 22px; }
.kev-card { display: flex; flex-direction: column; background: var(--kev-card); border: 1px solid var(--kev-line); border-radius: 20px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .25s, box-shadow .25s; }
.kev-card:hover { transform: translateY(-4px); box-shadow: 0 26px 40px -26px rgba(60, 30, 10, .5); }
.kev-card[hidden] { display: none; }
.kev-card.is-past { opacity: .78; }
.kev-card.is-past .kev-media { filter: grayscale(.6); }
.kev-media { position: relative; aspect-ratio: 4 / 5; background: #27573f; overflow: hidden; }
.kev-media .kev-poster-img { width: 100%; height: 100%; object-fit: cover; position: relative; }
/* A wide poster is shown whole, over a soft blurred copy of itself, so nothing is cropped. */
.kev-media--horizontal::before { content: ""; position: absolute; inset: -20px; background: var(--kev-bg-img, none) center / cover; filter: blur(18px) brightness(.75); }
.kev-media--horizontal { background-color: #3a3028; }
.kev-media--horizontal .kev-poster-img { object-fit: contain; position: absolute; inset: 0; margin: auto; height: auto; max-height: 100%; top: 0; bottom: 0; }
.kev-media .kev-poster-fallback { height: 100%; aspect-ratio: auto !important; font-size: 28px; }
.kev-dbadge { position: absolute; top: 12px; left: 12px; background: var(--kev-bg); border-radius: 12px; padding: 6px 11px; text-align: center; line-height: 1.1; box-shadow: 0 6px 14px -8px rgba(0, 0, 0, .5); z-index: 2; color: var(--kev-text); }
.kev-dbadge b { display: block; font: 600 20px var(--kev-serif); }
.kev-dbadge small { font: 700 10px/1 var(--kev-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--kev-accent); }
.kev-chip--over { position: absolute; top: 14px; right: 12px; background: rgba(26, 20, 16, .78); color: #fff; z-index: 2; }
.kev-card-body { padding: 18px 18px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.kev-cat { font: 700 11px/1.4 var(--kev-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--kev-accent); }
.kev-card-body h3 { font: 500 21px/1.2 var(--kev-serif); margin: 0; letter-spacing: -.01em; color: var(--kev-text); }
.kev-meta { font-size: 13.5px; color: var(--kev-muted); }
.kev-foot { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--kev-line); display: flex; justify-content: space-between; align-items: center; font-weight: 700; min-height: 44px; }
.kev-foot span:last-child { color: var(--kev-accent); font-size: 20px; }
.kev-empty { color: var(--kev-muted); padding: 24px 0; }
.kev-more { text-align: right; margin: 26px 0 0; }
.kev-more a { font-weight: 700; font-size: 14px; color: var(--kev-accent); text-decoration: none; }

/* ---------- Events page: filter, upcoming, then past ---------- */
.kev-archive-sec { width: calc(100% - 48px); max-width: 1280px; margin: 0 auto; padding: 8px 0 64px; }
.kev-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px 24px; flex-wrap: wrap; margin-bottom: 36px; padding-bottom: 20px; border-bottom: 1px solid var(--kev-line); }
.kev-count { font-size: 14px; color: var(--kev-muted); }
.kev-select { position: relative; display: inline-flex; align-items: center; gap: 12px; }
.kev-select > span { font: 700 11px/1 var(--kev-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--kev-muted); }
.kev .kev-select select { appearance: none; -webkit-appearance: none; min-width: 220px; height: 46px; padding: 0 44px 0 18px; border: 1px solid var(--kev-line); border-radius: 999px; background: var(--kev-card) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1410' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 16px center / 16px; color: var(--kev-text); font: 600 15px/1 var(--kev-sans); cursor: pointer; box-shadow: none; }
.kev .kev-select select:focus { outline: 3px solid rgba(200, 85, 30, .35); border-color: var(--kev-accent); }
.kev-block + .kev-block { margin-top: 64px; }
.kev-block-head { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin-bottom: 24px; }
.kev-block-head h2 { font: 500 clamp(26px, 3.2vw, 38px)/1.1 var(--kev-serif); letter-spacing: -.01em; margin: 0; color: var(--kev-text); }
.kev-block-head p { margin: 0; font-size: 14px; color: var(--kev-muted); }
.kev-block--past .kev-block-head h2 { color: #6b6054; }
.kev-block[hidden], .kev-note[hidden] { display: none; }
.kev-cards--auto { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.kev-note { padding: 28px; border: 1px dashed var(--kev-line); border-radius: 18px; color: var(--kev-muted); text-align: center; }
.kev-past-label { font: 700 11px/1.4 var(--kev-sans); letter-spacing: .1em; text-transform: uppercase; color: #6b6054; }
.kev-chip--past { background: #3b3229; color: #fff; }
.kev-chip--over.kev-chip--past { background: rgba(59, 50, 41, .92); }

/* ---------- Sidebar list ---------- */
.kev-side-list { background: var(--kev-card); border: 1px solid var(--kev-line); border-radius: 20px; padding: 24px; }
.kev-side-list .kev-h2 { font-size: 24px; margin: 6px 0 14px; }
.kev-side-list .kev-list-head { margin-bottom: 4px; }
.kev-sb-item { display: grid; grid-template-columns: 56px 1fr; gap: 14px; padding: 14px 0; border-top: 1px solid var(--kev-line); text-decoration: none; color: inherit; align-items: center; }
.kev-sb-item:hover strong { color: var(--kev-accent); }
.kev-sb-item.is-past { opacity: .7; }
.kev-sb-date { width: 56px; height: 60px; border-radius: 12px; background: var(--kev-text); color: var(--kev-dark-text); text-align: center; display: grid; place-content: center; line-height: 1.1; }
.kev-sb-date b { display: block; font: 600 22px var(--kev-serif); }
.kev-sb-date small { font: 700 10px/1 var(--kev-sans); letter-spacing: .12em; text-transform: uppercase; color: #ec8a58; }
.kev-sb-text strong { display: block; font: 500 17px/1.25 var(--kev-serif); margin-bottom: 4px; color: var(--kev-text); }
.kev-sb-text > span { display: block; font-size: 13px; color: var(--kev-muted); }
.kev-sb-text b { color: var(--kev-accent); }
.kev-side-list .kev-more { text-align: left; border-top: 1px solid var(--kev-line); padding-top: 16px; margin-top: 0; }

/* ---------- Registration form (modal) ---------- */
.kev-modal { --kev-accent: var(--nv-primary-accent, #c8551e); --kev-accent-2: var(--nv-secondary-accent, #8b3a14); --kev-bg: var(--nv-site-bg, #f7f1e8); --kev-text: var(--nv-text-color, #1a1410); --kev-muted: #75695d; --kev-line: #d8cdbf; --kev-serif: var(--headingsfontfamily, Fraunces, Georgia, serif); position: fixed; inset: 0; z-index: 100000; background: rgba(26, 20, 16, .62); backdrop-filter: blur(3px); display: none; place-items: center; padding: 16px; overflow: auto; font-family: Arial, Helvetica, sans-serif; color: var(--kev-text); }
.kev-modal.is-open { display: grid; }
.kev-modal[hidden] { display: none; }
.kev-modal.is-open[hidden] { display: grid; }
.kev-sheet { background: var(--kev-bg); width: 100%; max-width: 480px; border-radius: 26px; padding: 30px; position: relative; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .6); outline: 0; }
.kev-sheet h3 { font: 500 28px/1.15 var(--kev-serif); margin: 0 0 4px; color: var(--kev-text); }
.kev-sheet .kev-sub { color: var(--kev-muted); font-size: 14px; margin: 0 0 18px; }
.kev-steps { display: flex; gap: 6px; margin-bottom: 20px; }
.kev-steps i { flex: 1; height: 4px; border-radius: 4px; background: #ddd2c2; }
.kev-steps i.on { background: var(--kev-accent); }
.kev-sheet label { display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--kev-muted); margin: 12px 0 4px; }
.kev-sheet label em { color: var(--kev-accent); font-style: normal; }
.kev-sheet input[type="text"], .kev-sheet input[type="email"], .kev-sheet input[type="tel"], .kev-sheet input[type="number"] { width: 100%; padding: 13px 14px; border: 1px solid var(--kev-line); border-radius: 12px; background: #fff; font: 16px Arial, Helvetica, sans-serif; color: var(--kev-text); box-shadow: none; height: auto; }
.kev-sheet input:focus { border-color: var(--kev-accent); }
.kev-two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.kev-hp { position: absolute !important; left: -9999px !important; height: 0; overflow: hidden; }
.kev-summary { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--kev-line); margin-top: 20px; padding-top: 16px; }
.kev-summary b, .kev-summary b span { font: 500 18px/1.3 var(--kev-serif); color: var(--kev-text); }
.kev-summary > span:first-child { font-size: 14px; color: var(--kev-muted); }
.kev-sheet .kev-go { display: flex; width: 100%; justify-content: center; margin-top: 16px; padding: 16px 24px; border: 0; border-radius: 999px; background: var(--kev-accent); color: #fff; font: 600 16px Arial, Helvetica, sans-serif; cursor: pointer; }
.kev-sheet .kev-go:hover { background: var(--kev-accent-2); }
.kev-sheet .kev-go[disabled] { opacity: .6; cursor: wait; }
.kev-sheet .kev-ghost { background: transparent; color: var(--kev-text); border: 1px solid var(--kev-text); }
.kev-sheet .kev-ghost:hover { background: var(--kev-text); color: var(--kev-bg); }
.kev-gw { font-size: 12.5px; color: var(--kev-muted); text-align: center; margin: 12px 0 0; }
.kev-gw b { color: var(--kev-text); }
.kev-error { margin: 14px 0 0; padding: 10px 14px; border-radius: 10px; background: #fbe4e0; color: #8a2b1c; font-size: 14px; }
.kev-modal .kev-sheet button.kev-x { all: unset; box-sizing: border-box; position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font: 400 24px/1 Arial, Helvetica, sans-serif; color: var(--kev-muted); cursor: pointer; background: transparent; transition: background .2s, color .2s; }
.kev-modal .kev-sheet button.kev-x:hover { background: rgba(26, 20, 16, .08); color: var(--kev-text); }
.kev-modal .kev-sheet button.kev-x:focus-visible { outline: 3px solid rgba(200, 85, 30, .45); outline-offset: 1px; }
.kev-ok { text-align: center; padding: 10px 0; }
.kev-tick { width: 64px; height: 64px; border-radius: 50%; background: #dfeedd; color: #2c5a2a; display: grid; place-items: center; font-size: 32px; margin: 0 auto 14px; }
.kev-spin { width: 40px; height: 40px; border-radius: 50%; border: 4px solid #e4d9c9; border-top-color: var(--kev-accent); margin: 8px auto 16px; animation: kev-spin .9s linear infinite; }
@keyframes kev-spin { to { transform: rotate(360deg); } }
body.kev-lock { overflow: hidden; }
.kev-modal .kev-in, .kev-modal .kev-intl { display: inline; }
.kev-modal[data-region="IN"] .kev-intl, .kev-modal[data-region="INTL"] .kev-in { display: none !important; }

@media (max-width: 980px) {
	.kev-single[data-orient="vertical"] .kev-hero-grid { grid-template-columns: 1fr; gap: 44px; }
	.kev-single[data-orient="vertical"] .kev-poster-wrap { margin: 0 auto; max-width: 360px; }
	.kev-single[data-orient="horizontal"] .kev-hero-copy { grid-template-columns: 1fr; }
	.kev-single[data-orient="horizontal"] .kev-lede { border: 0; padding: 0; }
	.kev-body-grid { grid-template-columns: 1fr; }
	.kev-side { display: none; }
	.kev-mbar { display: flex; }
	.kev-single .kev-body { padding-bottom: 110px; }
	.kev-gal { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 150px; }
	.kev-gal > div:nth-child(n) { grid-column: auto; grid-row: auto; }
	.kev-gal--n1 > div, .kev-gal--n3 > div:first-child, .kev-gal--n5 > div:first-child { grid-column: span 2; }
	.kev-testi, .kev-close { margin-left: 12px; margin-right: 12px; border-radius: 28px; }
	.kev-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.kev-cards, .kev-cards--auto { grid-template-columns: minmax(0, 1fr); }
	.kev-select { width: 100%; }
	.kev .kev-select select { min-width: 0; flex: 1; width: 100%; }
	.kev-toolbar { margin-bottom: 28px; }
	.kev-two { grid-template-columns: 1fr; }
	.kev-quick { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
	.kev *, .kev-modal * { transition: none !important; animation-duration: .01ms !important; }
}
