/* ==================================================================
 * Exclusive Access front-end, v7 refresh.
 * One premium dark surface; the event's selected theme drives the accent
 * entirely through the .ea-preset-<slug> CSS variables defined at the
 * bottom (CSP-safe: presale style-src is 'self', so per-event colour can
 * only arrive as fixed preset constants, never inline). Every component
 * paints from var(--ea-brand) and friends, so a theme swap re-skins the
 * whole flow with zero per-surface work.
 * The diamond eyebrow motif is NOBO-only (template adds .ea-eyebrow--dia);
 * the generic eyebrow uses a quiet themed rule instead.
 * ================================================================== */

.ea-apply,
.exclusive-access-cta {
    --ea-panel: #0F0F12;
    --ea-panel-2: #16161A;
    --ea-line: #25252C;
    --ea-line-2: #2F2F37;
    --ea-muted: #9C968B;
    --ea-faint: #6E6A61;
    box-sizing: border-box;
}
.ea-apply *,
.exclusive-access-cta * { box-sizing: border-box; }

/* ---- the event-page access-gate box ------------------------------ */
.exclusive-access-cta {
    background: var(--ea-panel);
    border: 1px solid var(--ea-line);
    border-radius: 16px;
    padding: 26px 28px;
    margin: 0 auto 22px;
    max-width: 560px;
    color: var(--ea-text, #F3EFE6);
    font-family: inherit;
    text-align: center;
}
.exclusive-access-cta .ea-cta-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 13px;
}
.exclusive-access-cta .ea-cta-mark {
    width: 40px; height: 40px;
    flex: none;
    display: flex; align-items: center; justify-content: center;
    border-radius: 10px;
    background: var(--ea-brand-faint, rgba(200,166,74,.07));
    border: 1px solid var(--ea-brand-soft, rgba(200,166,74,.3));
    color: var(--ea-brand, #C8A64A);
    font-size: 18px;
}
.exclusive-access-cta h3 {
    margin: 0;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -.01em;
    color: var(--ea-text, #F3EFE6);
}
.exclusive-access-cta p {
    margin: 0 auto 20px;
    font-size: 14.5px;
    line-height: 1.62;
    color: var(--ea-muted);
    text-align: center;
    width: 100%;
}
.exclusive-access-cta.approved p { margin-bottom: 0; }

/* ---- the brand CTA button (gate + forms) ------------------------- */
.ea-goldbox,
.exclusive-access-cta a.exclusive-access-btn,
.exclusive-access-cta a.exclusive-access-btn.btn,
.exclusive-access-cta a.exclusive-access-btn.btn.btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    height: 48px;
    padding: 0 24px;
    border: none;
    border-radius: 12px;
    background: var(--ea-brand, #C8A64A) !important;
    color: var(--ea-secondary, #0A0A0A) !important;
    /* Solid-gold pill: keep the glyph dark so it reads black on gold. The one
       exception (the apply-form submit, which a theme may repaint OUTLINED) is
       handled by the .ea-apply-submit override below. */
    -webkit-text-fill-color: var(--ea-secondary, #0A0A0A) !important;
    font-size: 14.5px;
    font-weight: 600;
    letter-spacing: .01em;
    text-decoration: none !important;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .22s ease, filter .16s ease;
    box-shadow: 0 1px 0 rgba(255,255,255,.06) inset;
}
.ea-goldbox .ea-btn-arrow,
.exclusive-access-btn .ea-btn-arrow {
    transition: transform .2s ease;
    font-size: 16px;
}
.ea-goldbox:hover,
.ea-goldbox:focus,
.exclusive-access-cta a.exclusive-access-btn:hover,
.exclusive-access-cta a.exclusive-access-btn:focus {
    filter: brightness(1.05);
    transform: translateY(-1px);
    box-shadow: 0 8px 24px var(--ea-brand-soft, rgba(200,166,74,.3));
    color: var(--ea-secondary, #0A0A0A) !important;
}
.ea-goldbox:hover .ea-btn-arrow,
.exclusive-access-btn:hover .ea-btn-arrow { transform: translateX(3px); }
.ea-goldbox:active,
.exclusive-access-btn:active { transform: translateY(0) scale(.99); }
.ea-goldbox::before, .ea-goldbox::after { content: none; }

/* The apply-form submit is the one .ea-goldbox that a theme may repaint as an
   OUTLINED button (e.g. nobo-winter's button[type=submit] rule: dark fill, gold
   border + text). The dark text-fill above would be dark-on-dark there, so let
   the submit's fill follow its resolved color (gold on those themes, dark on
   solid-gold themes). The gate CTA keeps the dark fill -> black on its gold pill. */
html body .ea-apply .ea-apply-submit,
html body .ea-apply-panel .ea-apply-submit {
    -webkit-text-fill-color: currentColor !important;
}

/* ---- page wrapper for form / message screens --------------------- */
.ea-apply {
    max-width: 680px;
    margin: 8px auto 40px;
    color: var(--ea-text, #F3EFE6);
    font-family: inherit;
}

/* quiet themed eyebrow (no diamond by default) */
.ea-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--ea-brand, #C8A64A);
    margin-bottom: 16px;
}
.ea-eyebrow::before {
    content: "";
    width: 22px; height: 1px;
    background: var(--ea-brand, #C8A64A);
    opacity: .75;
}
.ea-eyebrow--dia::before {
    width: auto; height: auto;
    content: "\25C6";
    font-size: 11px;
    opacity: 1;
}
.ea-eyebrow--check::before {
    content: "";
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--ea-brand, #C8A64A);
    box-shadow: 0 0 0 4px var(--ea-brand-faint, rgba(200,166,74,.12));
}

.ea-apply-title {
    margin: 0 0 8px;
    font-size: 30px;
    font-weight: 600;
    letter-spacing: -.015em;
    line-height: 1.12;
    color: var(--ea-text, #F3EFE6);
}
.ea-apply-lede {
    margin: 0 0 4px;
    font-size: 15px;
    line-height: 1.62;
    color: var(--ea-muted);
    max-width: 480px;
}

/* the form card */
.ea-apply-panel {
    margin-top: 22px;
    background: var(--ea-panel);
    border: 1px solid var(--ea-line);
    border-radius: 18px;
    padding: 26px 28px;
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 16px 20px;
}
.ea-apply-panel-message {
    display: block;
    text-align: center;
    padding: 38px 32px;
    max-width: 580px;
    margin: 0 auto;
}

.ea-apply-field { min-width: 0; }
.ea-apply-field--wide { grid-column: 1 / -1; }
.ea-apply-label {
    display: block;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #8C877D;
    margin-bottom: 7px;
}
.ea-apply-label .ea-req { color: var(--ea-brand, #C8A64A); margin-left: 2px; }
.ea-apply-label .ea-opt {
    text-transform: none; letter-spacing: 0; font-weight: 400;
    color: #5E5A52; margin-left: 6px;
}
.ea-apply-help { font-size: 12px; color: var(--ea-faint); margin: 6px 0 0; }
.ea-apply-error { font-size: 12.5px; color: #E5777A; margin: 6px 0 0; }

/* text controls */
.ea-apply-panel input[type="text"],
.ea-apply-panel input[type="email"],
.ea-apply-panel input[type="tel"],
.ea-apply-panel input[type="number"],
.ea-apply-panel input[type="date"],
.ea-apply-panel select,
.ea-apply-panel textarea {
    width: 100%;
    background: var(--ea-panel-2);
    border: 1px solid var(--ea-line-2);
    border-radius: 12px;
    color: var(--ea-text, #F3EFE6);
    font-size: 15px;
    font-family: inherit;
    padding: 0 14px;
    height: 46px;
    line-height: 44px;
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}
.ea-apply-panel textarea { height: auto; min-height: 88px; line-height: 1.55; padding: 12px 14px; resize: vertical; }
.ea-apply-panel select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238C877D' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 38px;
}
.ea-apply-panel input::placeholder,
.ea-apply-panel textarea::placeholder { color: var(--ea-faint); }
.ea-apply-panel input:focus,
.ea-apply-panel select:focus,
.ea-apply-panel textarea:focus {
    border-color: var(--ea-brand, #C8A64A);
    box-shadow: 0 0 0 3px var(--ea-brand-faint, rgba(200,166,74,.12));
}
.ea-apply-field-error input,
.ea-apply-field-error select,
.ea-apply-field-error textarea { border-color: #8E2C2E; }

/* native date input: the calendar picker glyph ships dark and vanished on the
   dark field (Drohi flagged the date-of-birth picker as invisible). Flip it
   light and give it a pointer cursor. */
.ea-apply-panel input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1) brightness(1.4);
    opacity: .7;
    cursor: pointer;
}
.ea-apply-panel input[type="date"]::-webkit-calendar-picker-indicator:hover { opacity: 1; }

/* smart phone field — searchable country selector (default BD) + per-country
   validation; the live tick only shows for a genuinely valid number. */
.ea-phone {
    position: relative;
    display: flex;
    align-items: center;
    height: 46px;
    background: var(--ea-panel-2);
    border: 1px solid var(--ea-line-2);
    border-radius: 12px;
    padding: 0 12px;
    gap: 8px;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.ea-phone.is-focus { border-color: var(--ea-brand, #C8A64A); box-shadow: 0 0 0 3px var(--ea-brand-faint, rgba(200,166,74,.12)); }

.ea-phone-country {
    display: inline-flex; align-items: center; gap: 6px; flex: none;
    height: 28px; margin: 0 2px 0 0; padding: 0 9px 0 0;
    background: transparent; border: 0; border-right: 1px solid var(--ea-line-2);
    color: var(--ea-text, #F3EFE6); font: inherit; cursor: pointer;
}
.ea-phone-flag { font-size: 18px; line-height: 1; }
.ea-phone-dial { color: var(--ea-muted); font-size: 15px; }
.ea-phone-caret { color: var(--ea-faint); font-size: 9px; }
.ea-phone-country:hover .ea-phone-dial,
.ea-phone-country:hover .ea-phone-caret { color: var(--ea-text, #F3EFE6); }

.ea-phone > input { flex: 1; min-width: 0; background: transparent !important; border: none !important; height: 44px; color: var(--ea-text, #F3EFE6); font-size: 15px; box-shadow: none !important; padding: 0; }
.ea-phone > input:focus { box-shadow: none !important; }
.ea-phone-ok { color: #3FA66A; font-size: 18px; opacity: 0; transition: opacity .15s ease; flex: none; }
.ea-phone.is-valid .ea-phone-ok { opacity: 1; }

/* country dropdown */
.ea-phone-menu {
    display: none; position: absolute; z-index: 40; top: calc(100% + 6px); left: 0;
    width: 300px; max-width: 88vw;
    background: var(--ea-panel-2); border: 1px solid var(--ea-line-2);
    border-radius: 12px; box-shadow: 0 18px 50px rgba(0, 0, 0, .5); overflow: hidden;
}
.ea-phone.is-open .ea-phone-menu { display: block; }
.ea-phone .ea-phone-search {
    width: 100% !important; height: 40px !important; border: 0 !important;
    border-bottom: 1px solid var(--ea-line) !important; border-radius: 0 !important;
    background: var(--ea-panel) !important; color: var(--ea-text, #F3EFE6);
    font-size: 14px; padding: 0 14px !important; outline: none; box-shadow: none !important;
}
.ea-phone .ea-phone-search::placeholder { color: var(--ea-faint); }
.ea-phone-list { max-height: 256px; overflow-y: auto; padding: 6px; }
.ea-phone-item {
    display: flex; align-items: center; gap: 10px; width: 100%;
    padding: 9px 10px; border: 0; border-radius: 8px;
    background: transparent; color: var(--ea-text, #F3EFE6); font: inherit;
    text-align: left; cursor: pointer;
}
.ea-phone-item:hover { background: rgba(255, 255, 255, .05); }
.ea-phone-item.is-sel { background: var(--ea-brand-faint, rgba(200, 166, 74, .08)); }
.ea-phone-item-flag { font-size: 18px; line-height: 1; flex: none; }
.ea-phone-item-name { flex: 1; min-width: 0; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ea-phone-item-dial { color: var(--ea-muted); font-size: 13px; flex: none; }

/* @-prefixed handle fields */
.ea-prefix {
    display: flex; align-items: center; height: 46px;
    background: var(--ea-panel-2); border: 1px solid var(--ea-line-2);
    border-radius: 12px; padding: 0 14px; gap: 8px;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.ea-prefix.is-focus { border-color: var(--ea-brand, #C8A64A); box-shadow: 0 0 0 3px var(--ea-brand-faint, rgba(200,166,74,.12)); }
.ea-prefix-sign { color: var(--ea-faint); font-size: 15px; }
.ea-prefix input { flex: 1; min-width: 0; background: transparent !important; border: none !important; height: 44px; color: var(--ea-text, #F3EFE6); font-size: 15px; box-shadow: none !important; padding: 0; }

/* ticket type as selectable cards (native radios, CSS-styled) */
.ea-cards { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; }
.ea-cards label {
    display: flex; justify-content: space-between; align-items: center; gap: 10px;
    background: var(--ea-panel-2); border: 1px solid var(--ea-line-2);
    border-radius: 12px; padding: 13px 16px; cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
}
.ea-cards label:hover { border-color: var(--ea-line-2); background: #1A1A1F; }
.ea-cards input { position: absolute; opacity: 0; width: 0; height: 0; }
.ea-cards .ea-card-name { font-size: 14.5px; font-weight: 500; color: var(--ea-text, #F3EFE6); }
.ea-cards .ea-card-dot { width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid #4A4A50; flex: none; transition: all .15s ease; }
.ea-cards input:checked + label,
.ea-cards label.is-checked { border-color: var(--ea-brand, #C8A64A); background: var(--ea-brand-faint, rgba(200,166,74,.06)); }
.ea-cards input:checked + label .ea-card-dot,
.ea-cards label.is-checked .ea-card-dot { border-color: var(--ea-brand, #C8A64A); background: var(--ea-brand, #C8A64A); box-shadow: inset 0 0 0 3px var(--ea-panel-2); }

/* pill choices (gender) */
.ea-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.ea-pills label {
    font-size: 13.5px; padding: 8px 16px; border-radius: 999px; cursor: pointer;
    background: var(--ea-panel-2); border: 1px solid var(--ea-line-2); color: #CFC9BD;
    transition: all .14s ease;
}
.ea-pills input { position: absolute; opacity: 0; width: 0; height: 0; }
.ea-pills input:checked + label,
.ea-pills label.is-checked { background: var(--ea-brand, #C8A64A); border-color: var(--ea-brand, #C8A64A); color: var(--ea-secondary, #0A0A0A); font-weight: 500; }

/* photo upload + live preview */
.ea-photo {
    display: flex; align-items: center; gap: 16px;
    background: var(--ea-panel-2); border: 1px dashed var(--ea-line-2);
    border-radius: 12px; padding: 14px 16px; cursor: pointer;
    transition: border-color .15s ease;
}
.ea-photo:hover { border-color: var(--ea-brand-soft, rgba(200,166,74,.3)); }
.ea-photo-thumb {
    width: 54px; height: 54px; border-radius: 50%; flex: none;
    background: #222226 center/cover no-repeat;
    display: flex; align-items: center; justify-content: center;
    color: #5E5E66; font-size: 24px; overflow: hidden;
    border: 1px solid var(--ea-line-2);
}
.ea-photo-cta { font-size: 14px; color: #E7E2D7; }
.ea-photo-cta .ea-photo-ico { color: var(--ea-brand, #C8A64A); margin-right: 6px; }
.ea-photo-sub { font-size: 12.5px; color: var(--ea-faint); margin-top: 3px; }
.ea-photo input[type="file"] { display: none; }

/* submit row */
.ea-apply-submit {
    grid-column: 1 / -1;
    justify-content: center;
    width: 100%;
    height: 50px;
    font-size: 15px;
    margin-top: 4px;
}
.ea-apply-foot {
    grid-column: 1 / -1;
    display: flex; justify-content: space-between; align-items: center;
    flex-wrap: wrap; gap: 12px;
    margin-top: 6px; padding-top: 18px; border-top: 1px solid var(--ea-line);
}
.ea-apply-note { font-size: 12.5px; color: var(--ea-faint); }
.ea-apply-note i { color: var(--ea-brand, #C8A64A); margin-right: 5px; }

/* message screens (submitted / approved) */
.ea-apply-panel-message .ea-apply-title { font-size: 27px; }
.ea-apply-panel-message .ea-apply-lede { margin-left: auto; margin-right: auto; }
.ea-apply-panel-message .ea-eyebrow { margin-bottom: 14px; }
.ea-msg-foot { font-size: 12.5px; color: var(--ea-faint); margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--ea-line); }
.ea-approved-hero {
    font-size: 34px; font-weight: 600; letter-spacing: .01em; line-height: 1.1;
    color: var(--ea-accent, #F7DF9C); margin: 0 0 10px;
}
.ea-apply-panel-message .ea-apply-submit { display: inline-flex; width: auto; padding: 0 30px; margin-top: 22px; }

/* responsive: collapse to single column */
@media (max-width: 560px) {
    .ea-apply-panel { grid-template-columns: 1fr; padding: 22px 18px; }
    .ea-cards { grid-template-columns: 1fr; }
    .ea-apply-title { font-size: 26px; }
    .ea-approved-hero { font-size: 28px; }
    .exclusive-access-cta { padding: 22px 20px; }
}

/* ------------------------------------------------------------------
 * CSP-safe preset palettes. presale style-src 'self' drops inline
 * <style> injection; these fixed constants are the only compliant
 * channel. The box/page wrapper carries .ea-preset-<slug>.
 * ------------------------------------------------------------------ */
.ea-preset-matcha   { --ea-brand:#97C13A; --ea-brand-soft:rgba(151,193,58,.18); --ea-brand-faint:rgba(151,193,58,.07); --ea-brand-hover:rgba(151,193,58,.08); --ea-brand-focus:rgba(151,193,58,.35); --ea-secondary:#0B1605; --ea-accent:#D6F0A8; --ea-text:#F4F7EC; }
.ea-preset-gilt     { --ea-brand:#C8A64A; --ea-brand-soft:rgba(200,166,74,.18); --ea-brand-faint:rgba(200,166,74,.07); --ea-brand-hover:rgba(200,166,74,.08); --ea-brand-focus:rgba(200,166,74,.35); --ea-secondary:#1A1407; --ea-accent:#F0EDE8; --ea-text:#F7F2E7; }
.ea-preset-crimson  { --ea-brand:#E5484D; --ea-brand-soft:rgba(229,72,77,.18); --ea-brand-faint:rgba(229,72,77,.07); --ea-brand-hover:rgba(229,72,77,.08); --ea-brand-focus:rgba(229,72,77,.35); --ea-secondary:#2A0608; --ea-accent:#F4E7E9; --ea-text:#F7F3F4; }
.ea-preset-voltage  { --ea-brand:#0BA7FF; --ea-brand-soft:rgba(11,167,255,.18); --ea-brand-faint:rgba(11,167,255,.07); --ea-brand-hover:rgba(11,167,255,.08); --ea-brand-focus:rgba(11,167,255,.35); --ea-secondary:#041223; --ea-accent:#D6F0FF; --ea-text:#F1F8FF; }
.ea-preset-nexus    { --ea-brand:#E5484D; --ea-brand-soft:rgba(229,72,77,.18); --ea-brand-faint:rgba(229,72,77,.07); --ea-brand-hover:rgba(229,72,77,.08); --ea-brand-focus:rgba(229,72,77,.35); --ea-secondary:#2A0608; --ea-accent:#F4E7E9; --ea-text:#F0EDE8; }
.ea-preset-aurora   { --ea-brand:#7C3AED; --ea-brand-soft:rgba(124,58,237,.18); --ea-brand-faint:rgba(124,58,237,.07); --ea-brand-hover:rgba(124,58,237,.08); --ea-brand-focus:rgba(124,58,237,.35); --ea-secondary:#160A2E; --ea-accent:#E9DDFF; --ea-text:#F7F3FF; }
.ea-preset-ember    { --ea-brand:#F15B2A; --ea-brand-soft:rgba(241,91,42,.18); --ea-brand-faint:rgba(241,91,42,.07); --ea-brand-hover:rgba(241,91,42,.08); --ea-brand-focus:rgba(241,91,42,.35); --ea-secondary:#2A1109; --ea-accent:#FFE2D5; --ea-text:#FFF7F3; }
.ea-preset-specter  { --ea-brand:#14B8A6; --ea-brand-soft:rgba(20,184,166,.18); --ea-brand-faint:rgba(20,184,166,.07); --ea-brand-hover:rgba(20,184,166,.08); --ea-brand-focus:rgba(20,184,166,.35); --ea-secondary:#04211D; --ea-accent:#99F6E4; --ea-text:#F0FDFA; }
.ea-preset-nobo_winter { --ea-brand:#E8B53A; --ea-brand-soft:rgba(232,181,58,.18); --ea-brand-faint:rgba(232,181,58,.07); --ea-brand-hover:rgba(232,181,58,.08); --ea-brand-focus:rgba(232,181,58,.35); --ea-secondary:#1B1403; --ea-accent:#F7DF9C; --ea-text:#FBF7F0; }

/* autofill counter (UA paints its own bg; inset shadow is the only override) */
.ea-apply-panel input:-webkit-autofill,
.ea-apply-panel input:-webkit-autofill:hover,
.ea-apply-panel input:-webkit-autofill:focus,
.ea-apply-panel textarea:-webkit-autofill,
.ea-apply-panel select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px var(--ea-panel-2) inset !important;
    box-shadow: 0 0 0 1000px var(--ea-panel-2) inset !important;
    -webkit-text-fill-color: var(--ea-text, #F3EFE6) !important;
    caret-color: var(--ea-text, #F3EFE6);
    transition: background-color 99999s ease-out 0s;
}

/* ------------------------------------------------------------------
 * NOBO gate CTA = Fable's outlined hero button (.ec-nobow-goldbox), not the
 * solid-gold pill. The base .ea-goldbox selectors above include
 * `.exclusive-access-cta a.exclusive-access-btn.btn.btn-primary` (0,4,1), which
 * outranks the nobo theme's own outlined rule (0,3,0) and forces a solid pill.
 * Re-assert the outlined look here, nobo-scoped (matcha/others untouched), with
 * winning specificity + the gold text-fill so the glyph isn't dark-on-dark.
 * ------------------------------------------------------------------ */
.ec-nobow-wrap .exclusive-access-cta a.exclusive-access-btn.btn.btn-primary {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    height: auto !important;
    background: rgba(5, 4, 2, .55) !important;
    border: 1px solid #D4A017 !important;
    color: #E8C158 !important;
    -webkit-text-fill-color: #E8C158 !important;
    border-radius: 2px !important;
    font-family: 'Rethink Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: .28em !important;
    text-indent: .28em !important;
    text-transform: uppercase !important;
    padding: 16px 34px !important;
    box-shadow: none !important;
}
.ec-nobow-wrap .exclusive-access-cta a.exclusive-access-btn.btn.btn-primary:hover,
.ec-nobow-wrap .exclusive-access-cta a.exclusive-access-btn.btn.btn-primary:focus {
    background: rgba(232, 181, 58, .08) !important;
    border-color: #D4A017 !important;
    color: #F7DF9C !important;
    -webkit-text-fill-color: #F7DF9C !important;
    box-shadow: 0 0 18px rgba(212, 160, 23, .18) !important;
    transform: none !important;
}

/* Same for Matcha (sym): its layout intends an outlined green button too, also
   clobbered by the base selector. Mirror the nobo override with matcha's palette. */
.ec-matcha-wrap .exclusive-access-cta a.exclusive-access-btn.btn.btn-primary {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    height: auto !important;
    background: transparent !important;
    border: 1px solid #97C13A !important;
    color: #B7DC6A !important;
    -webkit-text-fill-color: #B7DC6A !important;
    border-radius: 2px !important;
    font-family: 'Rethink Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: .28em !important;
    text-indent: .28em !important;
    text-transform: uppercase !important;
    padding: 16px 34px !important;
    box-shadow: none !important;
}
.ec-matcha-wrap .exclusive-access-cta a.exclusive-access-btn.btn.btn-primary:hover,
.ec-matcha-wrap .exclusive-access-cta a.exclusive-access-btn.btn.btn-primary:focus {
    background: rgba(151, 193, 58, .10) !important;
    border-color: #97C13A !important;
    color: #D5EE9E !important;
    -webkit-text-fill-color: #D5EE9E !important;
    box-shadow: 0 0 18px rgba(151, 193, 58, .20) !important;
    transform: none !important;
}
