/* =============================================================================
   Subscribe Kit — inscricoes.css  (Four Eventos dark theme 2026)
   ============================================================================= */

/* ---- Reset ----------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html, body {
    margin: 0; padding: 0;
    background: var(--sk-bg);
    color: var(--sk-text);
    font-family: var(--sk-font-body);
    font-size: var(--sk-font-size-base);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

a { color: var(--sk-primary); text-decoration: none; }
a:hover { color: var(--sk-primary-hover); text-decoration: underline; }

/* ---- Topbar ---------------------------------------------------------------- */
.sk-topbar {
    background: rgba(0,3,42,.92);
    border-bottom: 1px solid var(--sk-border);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    position: sticky;
    top: 0;
    z-index: 100;
}
.sk-topbar__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: .75rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.sk-topbar__logo { height: 38px; width: auto; display: block; }
.sk-topbar__brand {
    font-weight: 800;
    font-size: 1.1rem;
    color: var(--sk-primary);
    letter-spacing: -.01em;
    text-transform: uppercase;
}
.sk-topbar__nav a {
    font-size: .85rem;
    font-weight: 700;
    color: var(--sk-text);
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: .45rem 1rem;
    border: 1.5px solid var(--sk-primary);
    border-radius: var(--sk-radius-full);
    color: var(--sk-primary);
    transition: all var(--sk-transition);
}
.sk-topbar__nav a:hover {
    background: var(--sk-primary);
    color: var(--sk-primary-contrast);
    text-decoration: none;
}

/* ---- Hero ------------------------------------------------------------------ */
.sk-hero--full {
    position: relative;
    overflow: hidden;
}
.sk-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}
.sk-hero__bg--gradient {
    background: linear-gradient(135deg, #00032a 0%, #020e59 50%, #00032a 100%);
}
/* Linha neon decorativa no topo do hero quando sem foto */
.sk-hero__bg--gradient::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, #08ffb6, transparent);
}
.sk-hero--full::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,3,42,.3) 0%,
        rgba(0,3,42,.75) 100%
    );
}
.sk-hero__overlay {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    align-items: flex-end;
    padding-bottom: 2.25rem;
}
.sk-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    background: var(--sk-primary);
    color: var(--sk-primary-contrast);
    padding: .3rem .9rem;
    border-radius: var(--sk-radius-full);
    font-size: var(--sk-font-size-xs);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: .65rem;
}
.sk-hero__badge--warn {
    background: var(--sk-warn);
    color: #fff;
}
.sk-hero__title {
    font-size: 2rem;
    font-weight: 900;
    color: #fff;
    margin: 0 0 .35rem;
    line-height: 1.15;
    text-shadow: 0 2px 12px rgba(0,0,0,.6);
    letter-spacing: -.02em;
    text-transform: uppercase;
}
.sk-hero__sub {
    color: rgba(255,255,255,.8);
    margin: 0;
    font-size: .9rem;
    display: flex;
    align-items: center;
    gap: .35rem;
}
.sk-hero__sub strong { color: var(--sk-primary); }

/* ---- Container ------------------------------------------------------------- */
.sk-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 1.75rem 1.25rem 3rem;
}

/* ---- Layout grid ----------------------------------------------------------- */
.sk-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 1.5rem;
    align-items: start;
}
.sk-layout__main { min-width: 0; }
.sk-layout__aside { position: sticky; top: 4rem; align-self: start; }

/* ---- Steps ----------------------------------------------------------------- */
.sk-steps {
    display: flex;
    align-items: center;
    background: var(--sk-surface);
    border: 1px solid var(--sk-border);
    border-radius: var(--sk-radius);
    padding: 1rem 1.5rem;
    margin-bottom: 1rem;
    box-shadow: var(--sk-shadow-sm);
}
.sk-steps__item {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex: 1;
}
.sk-steps__num {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--sk-primary);
    color: var(--sk-primary-contrast);
    font-size: .78rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.sk-steps__label {
    font-size: .82rem;
    font-weight: 700;
    color: var(--sk-text-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
}
.sk-steps__sep {
    flex: none;
    width: 28px;
    height: 2px;
    background: var(--sk-border);
    margin: 0 .5rem;
}
.sk-steps__sep--done { background: var(--sk-primary); opacity: .6; }
.sk-steps__item--done .sk-steps__num {
    background: transparent;
    border: 2px solid var(--sk-primary);
    color: var(--sk-primary);
    font-size: .9rem;
}
.sk-steps__item--active .sk-steps__num {
    box-shadow: 0 0 0 3px rgba(8,255,182,.25);
}
.sk-steps__item--active .sk-steps__label {
    color: var(--sk-text);
}
.sk-steps__item--done .sk-steps__label {
    color: var(--sk-primary);
    opacity: .8;
}

/* ---- Alert hero ------------------------------------------------------------ */
.sk-alert-hero {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
    background: var(--sk-surface);
    border: 1px solid var(--sk-border);
    border-left: 4px solid var(--sk-warn);
    border-radius: var(--sk-radius);
    padding: 1.5rem;
    box-shadow: var(--sk-shadow-sm);
}
.sk-alert-hero__icon {
    flex-shrink: 0;
    width: 44px; height: 44px;
    background: var(--sk-warn-light);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--sk-warn);
}
.sk-alert-hero h2 { margin: 0 0 .4rem; font-size: 1.1rem; }
.sk-alert-hero p  { margin: 0; color: var(--sk-text-muted); font-size: .9rem; }

/* ---- Form ------------------------------------------------------------------ */
.sk-form {
    background: var(--sk-surface);
    border: 1px solid var(--sk-border);
    border-radius: var(--sk-radius);
    padding: 1.5rem;
    box-shadow: var(--sk-shadow);
}

.sk-fieldset {
    border: 0; padding: 0; margin: 0 0 1.75rem;
}
.sk-fieldset:last-of-type { margin-bottom: 1.25rem; }
.sk-fieldset + .sk-fieldset {
    border-top: 1px solid var(--sk-border);
    padding-top: 1.5rem;
}
.sk-fieldset legend {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-weight: 800;
    font-size: .9rem;
    color: var(--sk-text);
    text-transform: uppercase;
    letter-spacing: .06em;
    /* margin-bottom: 0.6rem; */
    padding: 0;
    width: 100%;
}
.sk-fieldset__num {
    width: 24px; height: 24px;
    border-radius: 50%;
    background: var(--sk-primary);
    color: var(--sk-primary-contrast);
    font-size: .75rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center; justify-content: center;
    flex-shrink: 0;
}

/* Rows & Fields -------------------------------------------------------------- */
.sk-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: .875rem;
    margin-bottom: .875rem;
}
.sk-row--stack { grid-template-columns: 1fr; gap: .5rem; }
.sk-field { display: flex; flex-direction: column; gap: .35rem; }
.sk-field--wide { grid-column: 1 / -1; }

.sk-field > span,
.sk-label {
    font-size: var(--sk-font-size-xs);
    font-weight: 700;
    color: var(--sk-text-muted);
    text-transform: uppercase;
    letter-spacing: .05em;
}
.sk-field em, .sk-label em {
    color: var(--sk-danger);
    font-style: normal;
    margin-left: .1rem;
}

/* Inputs -------------------------------------------------------------------- */
.sk-field input[type="text"],
.sk-field input[type="email"],
.sk-field input[type="number"],
.sk-field input[type="date"],
.sk-field select,
.sk-field textarea {
    width: 100%;
    padding: .65rem .9rem;
    border: 1.5px solid var(--sk-border);
    border-radius: var(--sk-radius-sm);
    background: rgba(255,255,255,.05);
    color: var(--sk-text);
    font: inherit;
    font-size: .9rem;
    transition: border-color var(--sk-transition), box-shadow var(--sk-transition), background var(--sk-transition);
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    height: 44px;
}
.sk-field input::placeholder { color: var(--sk-text-subtle); }
.sk-field select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2308ffb6' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .9rem center;
    padding-right: 2.25rem;
    cursor: pointer;
}
/* Fix date input color on dark */
.sk-field input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(1) hue-rotate(100deg); opacity: .6; }
.sk-field textarea { height: auto; min-height: 90px; resize: vertical; }

.sk-field input:focus,
.sk-field select:focus,
.sk-field textarea:focus {
    border-color: var(--sk-primary);
    box-shadow: 0 0 0 3px var(--sk-primary-glow);
    background: rgba(8,255,182,.04);
}
.sk-field input:user-invalid,
.sk-field select:user-invalid { border-color: var(--sk-danger); }
.sk-form.was-validated .sk-field input:invalid,
.sk-form.was-validated .sk-field select:invalid { border-color: var(--sk-danger); }

/* Select2 dark ---------------------------------------------------------------- */
.select2-container--default .select2-selection--single {
    height: 44px !important;
    border: 1.5px solid var(--sk-border) !important;
    border-radius: var(--sk-radius-sm) !important;
    background: rgba(255,255,255,.05) !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 42px !important;
    color: var(--sk-text) !important;
    padding-left: .9rem !important;
    font-family: var(--sk-font-body) !important;
    font-size: .9rem !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--sk-primary) transparent transparent transparent !important;
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent var(--sk-primary) transparent !important;
}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--sk-primary) !important;
    box-shadow: 0 0 0 3px var(--sk-primary-glow) !important;
}
.select2-dropdown {
    background: var(--sk-surface-2) !important;
    border-color: var(--sk-primary) !important;
    border-radius: var(--sk-radius-sm) !important;
}
.select2-results__option { color: var(--sk-text) !important; }
.select2-results__option--highlighted {
    background: var(--sk-primary) !important;
    color: var(--sk-primary-contrast) !important;
}
.select2-search--dropdown .select2-search__field {
    background: var(--sk-surface-3) !important;
    border-color: var(--sk-border) !important;
    color: var(--sk-text) !important;
}

/* ---- Kit cards ------------------------------------------------------------- */
.sk-kit-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .75rem;
    margin-bottom: .875rem;
}
.sk-kit-card {
    display: block;
    cursor: pointer;
    border: 1.5px solid var(--sk-border);
    border-radius: var(--sk-radius);
    transition: border-color var(--sk-transition), background var(--sk-transition), box-shadow var(--sk-transition);
    position: relative;
    overflow: hidden;
    background: rgba(255,255,255,.03);
}
.sk-kit-card input[type="radio"] {
    position: absolute; opacity: 0; width: 1px; height: 1px;
}
.sk-kit-card__body {
    display: flex;
    flex-direction: column;
    padding: 1rem 1.1rem;
    gap: .2rem;
}
.sk-kit-card__check {
    width: 22px; height: 22px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.2);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: .5rem;
    transition: all var(--sk-transition);
    color: transparent;
    flex-shrink: 0;
}
.sk-kit-card__name {
    font-weight: 700;
    font-size: .9rem;
    color: var(--sk-text);
    text-transform: uppercase;
    letter-spacing: .04em;
}
.sk-kit-card__desc {
    font-size: var(--sk-font-size-xs);
    color: var(--sk-text-muted);
}
.sk-kit-card__price {
    font-weight: 900;
    font-size: 1.25rem;
    color: var(--sk-primary);
    margin-top: .4rem;
    letter-spacing: -.01em;
}
.sk-kit-card__price--free { color: var(--sk-primary); }

.sk-kit-card:has(input:checked) {
    border-color: var(--sk-primary);
    background: var(--sk-primary-light);
    box-shadow: 0 0 0 1px var(--sk-primary), var(--sk-shadow-glow);
}
.sk-kit-card:has(input:checked) .sk-kit-card__check {
    background: var(--sk-primary);
    border-color: var(--sk-primary);
    color: var(--sk-primary-contrast);
}
.sk-kit-card:not(:has(input:checked)):hover {
    border-color: rgba(8,255,182,.4);
    background: rgba(8,255,182,.05);
}

/* ---- Kit expirado ---------------------------------------------------------- */
.sk-kit-card--expirado {
    opacity: .45;
    cursor: not-allowed;
    pointer-events: none;
}
.sk-kit-card__enc {
    font-size: .78em;
    color: #c0392b;
    font-weight: 600;
    margin-top: 4px;
    letter-spacing: .02em;
}

/* ---- Check regulamento ----------------------------------------------------- */
.sk-check {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    padding: .8rem 1rem;
    border: 1.5px solid var(--sk-border);
    border-radius: var(--sk-radius-sm);
    cursor: pointer;
    background: rgba(255,255,255,.03);
    transition: border-color var(--sk-transition), background var(--sk-transition);
}
.sk-check:hover {
    border-color: rgba(8,255,182,.4);
    background: rgba(8,255,182,.05);
}
.sk-check input { margin-top: .15rem; flex-shrink: 0; accent-color: var(--sk-primary); }
.sk-check span { font-size: .88rem; color: var(--sk-text-muted); line-height: 1.5; }

/* ---- Trust inline ---------------------------------------------------------- */
.sk-trust-inline {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    padding: .75rem 1rem;
    background: var(--sk-primary-light);
    border-radius: var(--sk-radius-sm);
    border: 1px solid rgba(8,255,182,.25);
}
.sk-trust-inline span {
    display: flex;
    align-items: center;
    gap: .35rem;
    font-size: var(--sk-font-size-xs);
    font-weight: 700;
    color: var(--sk-primary);
    text-transform: uppercase;
    letter-spacing: .04em;
}

/* ---- Botões ---------------------------------------------------------------- */
.sk-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .7rem 1.4rem;
    border: 1.5px solid var(--sk-border);
    border-radius: var(--sk-radius-sm);
    background: transparent;
    color: var(--sk-text);
    font: inherit;
    font-size: .9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    cursor: pointer;
    transition: all var(--sk-transition);
    outline: none;
    line-height: 1;
}
.sk-btn:hover { border-color: var(--sk-primary); color: var(--sk-primary); text-decoration: none; }
.sk-btn:active { transform: translateY(1px); }
.sk-btn:focus-visible { box-shadow: 0 0 0 3px var(--sk-primary-glow); }
.sk-btn:disabled { opacity: .45; cursor: not-allowed; pointer-events: none; }

.sk-btn--primary {
    background: var(--sk-primary);
    color: var(--sk-primary-contrast);
    border-color: var(--sk-primary);
    font-weight: 800;
}
.sk-btn--primary:hover {
    background: var(--sk-primary-hover);
    border-color: var(--sk-primary-hover);
    color: var(--sk-primary-contrast);
    box-shadow: var(--sk-shadow-glow);
}
.sk-btn--lg {
    padding: .95rem 2.25rem;
    font-size: 1rem;
    border-radius: var(--sk-radius);
    letter-spacing: .06em;
}

.sk-actions {
    display: flex;
    gap: .75rem;
    justify-content: flex-end;
    margin-top: .75rem;
}
.sk-actions > .sk-btn { width: 100%; }

.sk-form-footer {
}

/* ---- Alerts ---------------------------------------------------------------- */
.sk-alert {
    border-radius: var(--sk-radius-sm);
    padding: .875rem 1rem;
    margin: 0 0 1rem;
    border: 1px solid transparent;
    font-size: .9rem;
}
.sk-alert--info   { background: var(--sk-primary-light); border-color: rgba(8,255,182,.25); color: var(--sk-primary); }
.sk-alert--warn   { background: var(--sk-warn-light); border-color: rgba(245,158,11,.3); color: var(--sk-warn); }
.sk-alert--danger  { background: var(--sk-danger-light);  border-color: rgba(248,113,113,.3);   color: var(--sk-danger); }
.sk-alert--success { background: rgba(8,255,182,.08);        border-color: rgba(8,255,182,.3);      color: var(--sk-primary); }

.sk-form__msg {
    margin: 0;
    font-size: .88rem;
    text-align: right;
    font-weight: 600;
}
.sk-form__msg:not(:empty) { margin: .75rem 0 0; }
.sk-form__msg.is-error   { color: var(--sk-danger); }
.sk-form__msg.is-success { color: var(--sk-primary); }

/* ---- Card ------------------------------------------------------------------ */
.sk-card {
    background: var(--sk-surface);
    border: 1px solid var(--sk-border);
    border-radius: var(--sk-radius);
    padding: 1.25rem;
    box-shadow: var(--sk-shadow-sm);
    margin-bottom: 1.25rem;
}
.sk-card h2 { margin: 0 0 .75rem; font-size: 1.1rem; }
.sk-dl {
    margin: 0;
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: .35rem 1rem;
    font-size: .9rem;
}
.sk-dl dt { color: var(--sk-text-muted); font-weight: 600; }
.sk-dl dd { margin: 0; }

/* ---- Sidebar --------------------------------------------------------------- */
.sk-sidebar {
    position: sticky;
    top: 80px;
    display: flex;
    flex-direction: column;
    gap: .875rem;
}

.sk-sidebar__event {
    padding: 1.25rem;
    background: linear-gradient(135deg, #020e59, #041275);
    border: 1px solid rgba(8,255,182,.2);
    border-radius: var(--sk-radius);
    box-shadow: var(--sk-shadow), var(--sk-shadow-glow);
    position: relative;
    overflow: hidden;
}
.sk-sidebar__event::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: var(--sk-primary);
}
.sk-sidebar__event-label {
    font-size: var(--sk-font-size-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--sk-primary);
    margin-bottom: .4rem;
}
.sk-sidebar__event-title {
    font-size: .95rem;
    font-weight: 900;
    margin: 0 0 .5rem;
    line-height: 1.3;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: -.01em;
}
.sk-sidebar__prazo {
    font-size: var(--sk-font-size-xs);
    color: rgba(255,255,255,.6);
    margin: 0;
    display: flex; align-items: center; gap: .35rem;
}
.sk-sidebar__prazo strong { color: var(--sk-primary); }

.sk-sidebar__kit {
    background: var(--sk-surface);
    border: 1px solid var(--sk-border);
    border-radius: var(--sk-radius);
    padding: 1.1rem 1.25rem;
    box-shadow: var(--sk-shadow-sm);
}
.sk-sidebar__kit-label {
    font-size: var(--sk-font-size-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--sk-text-muted);
    margin-bottom: .4rem;
}
.sk-sidebar__kit-nome {
    font-weight: 700;
    color: var(--sk-text);
    font-size: .9rem;
    min-height: 1.4em;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.sk-sidebar__kit-preco {
    font-size: 1.7rem;
    font-weight: 900;
    color: var(--sk-primary);
    line-height: 1.2;
    margin-top: .3rem;
    letter-spacing: -.02em;
}

.sk-trust-list {
    background: var(--sk-surface);
    border: 1px solid var(--sk-border);
    border-radius: var(--sk-radius);
    padding: 1rem 1.25rem;
    box-shadow: var(--sk-shadow-sm);
    list-style: none;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .65rem;
}
.sk-trust-list li {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-size: var(--sk-font-size-xs);
    color: var(--sk-text-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.sk-trust-list svg { flex-shrink: 0; color: var(--sk-primary); }

/* ---- PIX ------------------------------------------------------------------- */
.sk-pix__qr { display: flex; justify-content: center; margin: 1rem 0; }
.sk-pix__qr img {
    max-width: 240px; width: 100%; height: auto;
    border-radius: var(--sk-radius-sm);
    border: 1px solid var(--sk-border);
    padding: .5rem; background: #fff;
}
.sk-pix textarea {
    font-family: var(--sk-font-mono);
    font-size: .85rem; word-break: break-all;
}
.sk-pix__status { margin: .75rem 0 0; font-weight: 600; color: var(--sk-text-muted); }
.sk-pix__status.is-paid { color: var(--sk-primary); }

/* ---- Consulta -------------------------------------------------------------- */
.sk-consulta-resultado {
    margin-top: 1rem; padding: .85rem 1rem;
    border: 1px solid var(--sk-border);
    border-radius: var(--sk-radius-sm);
    background: var(--sk-primary-light);
}

/* ---- Heading fallback ------------------------------------------------------ */
.sk-heading { margin-bottom: 1.5rem; }
.sk-heading h1 {
    font-size: 1.6rem; font-weight: 900;
    margin: 0 0 .4rem; letter-spacing: -.02em;
    text-transform: uppercase;
}

/* ---- Footer ---------------------------------------------------------------- */
.sk-footer {
    background: var(--sk-surface);
    border-top: 1px solid var(--sk-border);
    padding: 1.25rem 1rem;
    text-align: center;
    color: var(--sk-text-muted);
    font-size: var(--sk-font-size-sm);
}
.sk-footer__inner { max-width: 1100px; margin: 0 auto; }
.sk-footer a { color: var(--sk-primary); }

/* ---- Responsivo ------------------------------------------------------------ */
@media (max-width: 860px) {
    .sk-layout { grid-template-columns: 1fr; }
    .sk-layout__aside { order: -1; }
    .sk-sidebar { position: static; flex-direction: row; flex-wrap: wrap; }
    .sk-sidebar__event { flex: 1 1 240px; }
    .sk-sidebar__kit   { flex: 1 1 200px; }
    .sk-trust-list { display: none; }
}
@media (max-width: 640px) {
    .sk-hero--full { height: 220px; }
    .sk-hero__title { font-size: 1.4rem; }
    .sk-container { padding: 1.25rem .875rem 2.5rem; }
    .sk-topbar__inner { padding: .65rem .875rem; }
    .sk-form { padding: 1rem; }
    .sk-steps { display: none; }
    .sk-actions { flex-direction: column; }
    .sk-actions .sk-btn { width: 100%; justify-content: center; }
    .sk-btn--lg { padding: 1rem; }
    .sk-trust-inline { display: none; }
    .sk-kit-grid { grid-template-columns: 1fr 1fr; }
}

/* ── Modal consulta ─────────────────────────────────────────────────────── */
.sk-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 9000;
    background: rgba(0,0,0,.72);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    animation: sk-fade-in .18s ease;
}
.sk-modal-overlay--hidden {
    display: none;
}
.sk-modal-overlay[aria-hidden="true"] {
    display: none;
}
@keyframes sk-fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}
.sk-modal {
    background: var(--sk-surface-2);
    border: 1px solid var(--sk-border);
    border-top: 3px solid var(--sk-primary);
    border-radius: var(--sk-radius-lg);
    box-shadow: var(--sk-shadow-md), var(--sk-shadow-glow);
    padding: 2rem 2rem 1.75rem;
    width: 100%;
    max-width: 420px;
    position: relative;
    animation: sk-slide-up .2s ease;
}
@keyframes sk-slide-up {
    from { transform: translateY(16px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}
.sk-modal__close {
    position: absolute;
    top: .75rem;
    right: .875rem;
    background: none;
    border: none;
    color: var(--sk-text-muted);
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    padding: .2rem .45rem;
    border-radius: var(--sk-radius-xs);
    transition: color var(--sk-transition), background var(--sk-transition);
}
.sk-modal__close:hover {
    color: var(--sk-text);
    background: rgba(255,255,255,.08);
}
.sk-modal__title {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--sk-text);
    margin: 0 0 .35rem;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.sk-modal__desc {
    font-size: .875rem;
    color: var(--sk-text-muted);
    margin: 0 0 1.25rem;
}
.sk-modal .sk-form {
    padding: 0;
    background: none;
    border: none;
    box-shadow: none;
}
.sk-row--1col { grid-template-columns: 1fr !important; }
body.sk-modal-open { overflow: hidden; }

/* ── Botão flutuante WhatsApp ────────────────────────────────────────────── */
.sk-whatsapp-btn {
    position: fixed;
    z-index: 3000;
    right: 16px;
    bottom: 2%;
    display: flex;
    align-items: center;
    gap: .55rem;
    color: #fff;
    font-family: var(--sk-font-body);
    font-size: .82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    text-decoration: none;
    background: rgba(7,231,167,.45);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--sk-radius-sm);
    padding: .65rem 1.1rem;
    box-shadow: 0 2px 12px rgba(0,0,0,.4);
    transform: scale(.9);
    transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.sk-whatsapp-btn:hover {
    color: #fff;
    text-decoration: none;
    transform: scale(1);
    background: rgba(7,231,167,.65);
    box-shadow: 0 4px 20px rgba(8,255,182,.25);
}
.sk-whatsapp-btn svg { flex-shrink: 0; }

/* ── Raldi Tech credits ──────────────────────────────────────────────────── */
.sk-footer-credits {
    text-align: center;
    padding: 1.5rem 1rem 1.25rem;
}

/* ── Native select option colors ────────────────────────────────────────── */
.sk-field select option {
    background-color: #060b35;
    color: #ffffff;
}

/* ── Painel do Desenvolvedor ─────────────────────────────────────────────── */
.sk-dev-panel {
    position: fixed;
    bottom: 0;
    left: 16px;
    z-index: 8000;
    width: 220px;
    background: rgba(6,11,53,.97);
    border: 1px solid rgba(8,255,182,.3);
    border-bottom: none;
    border-radius: var(--sk-radius) var(--sk-radius) 0 0;
    box-shadow: 0 -4px 24px rgba(0,0,0,.5);
    font-family: var(--sk-font-mono);
    font-size: .78rem;
    overflow: hidden;
}
.sk-dev-panel__header {
    display: flex;
    align-items: center;
    gap: .4rem;
    padding: .5rem .75rem;
    background: rgba(8,255,182,.08);
    border-bottom: 1px solid rgba(8,255,182,.15);
    color: var(--sk-primary);
    cursor: pointer;
    user-select: none;
    font-weight: 700;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.sk-dev-panel__header:hover { background: rgba(8,255,182,.13); }
.sk-dev-panel__arrow { margin-left: auto; font-size: .65rem; }
.sk-dev-panel__body {
    padding: .65rem .75rem .75rem;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.sk-dev-btn {
    width: 100%;
    padding: .5rem .75rem;
    background: rgba(8,255,182,.12);
    border: 1px solid rgba(8,255,182,.35);
    border-radius: var(--sk-radius-xs);
    color: var(--sk-primary);
    font-family: var(--sk-font-mono);
    font-size: .78rem;
    font-weight: 700;
    cursor: pointer;
    text-align: left;
    transition: background var(--sk-transition), border-color var(--sk-transition);
}
.sk-dev-btn:hover {
    background: rgba(8,255,182,.22);
    border-color: var(--sk-primary);
}

/* ── Zoom no botão submit ────────────────────────────────────────────────── */
@keyframes sk-dev-zoom {
    0%   { transform: scale(1);    box-shadow: var(--sk-shadow); }
    40%  { transform: scale(1.07); box-shadow: 0 0 32px rgba(8,255,182,.55); }
    70%  { transform: scale(1.04); box-shadow: 0 0 20px rgba(8,255,182,.35); }
    100% { transform: scale(1);    box-shadow: var(--sk-shadow); }
}
.sk-dev-zoom {
    animation: sk-dev-zoom 1s ease forwards;
}

/* ── Checkout layout ─────────────────────────────────────────────────────── */

/* ---- Checkout hero (cabeçalho do evento) ---------------------------------- */
.sk-checkout-hero {
    background: var(--sk-surface);
    border-bottom: 1px solid var(--sk-border);
    padding: 1.5rem 0 1.25rem;
    margin-bottom: 0;
}
.sk-checkout-hero__label {
    font-size: .78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--sk-primary);
    margin: 0 0 .25rem;
}
.sk-checkout-hero__title {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--sk-text);
    margin: 0;
    line-height: 1.2;
}

.sk-checkout-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 1.75rem;
    align-items: start;
    margin-top: 1.5rem;
}

/* ── Summary sidebar ─────────────────────────────────────────────────────── */
.sk-checkout-summary {
    background: var(--sk-surface);
    border: 1px solid var(--sk-border);
    border-top: 3px solid var(--sk-primary);
    border-radius: var(--sk-radius-lg);
    overflow: hidden;
    position: sticky;
    top: 4rem;
    align-self: start;
}
.sk-checkout-summary__event {
    padding: 1.25rem 1.25rem .875rem;
    background: linear-gradient(135deg, #020e59 0%, #041275 100%);
    border-bottom: 1px solid var(--sk-border);
}
.sk-checkout-summary__label {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--sk-primary);
    margin: 0 0 .35rem;
}
.sk-checkout-summary__title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--sk-text);
    margin: 0;
    line-height: 1.35;
}
.sk-checkout-dl {
    list-style: none;
    margin: 0;
    padding: .75rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: .6rem;
    border-bottom: 1px solid var(--sk-border);
}
.sk-checkout-dl li {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}
.sk-checkout-dl__key {
    display: flex;
    align-items: center;
    gap: .35rem;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--sk-text-muted);
}
.sk-checkout-dl__key svg { opacity: .6; flex-shrink: 0; }
.sk-checkout-dl__val {
    font-size: .9rem;
    color: var(--sk-text);
    padding-left: 1.3rem;
    word-break: break-word;
}
.sk-checkout-summary__total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .875rem 1.25rem;
    background: rgba(8,255,182,.05);
}
.sk-checkout-summary__total-label {
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--sk-text-muted);
}
.sk-checkout-summary__total-val {
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--sk-primary);
}
.sk-checkout-summary__total-val--free {
    font-size: 1rem;
    color: var(--sk-primary);
}

/* ── Main checkout area ──────────────────────────────────────────────────── */
.sk-checkout-main {
    min-width: 0;
}
.sk-checkout-main__title {
    font-size: 1rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--sk-text);
    margin: 0 0 1rem;
}
.sk-form--bare {
    background: none;
    border: none;
    box-shadow: none;
    padding: 0;
}

/* ── Payment method cards ────────────────────────────────────────────────── */
.sk-pgto-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 1rem;
}
.sk-pgto-card {
    cursor: pointer;
    display: block;
}
.sk-pgto-card input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.sk-pgto-card__body {
    position: relative;
    background: var(--sk-surface);
    border: 2px solid var(--sk-border);
    border-radius: var(--sk-radius-lg);
    padding: 1.5rem 1.25rem 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
    transition: border-color var(--sk-transition), box-shadow var(--sk-transition), background var(--sk-transition);
}
.sk-pgto-card__body:hover {
    border-color: rgba(8,255,182,.4);
    background: var(--sk-surface-2);
}
.sk-pgto-card input:checked + .sk-pgto-card__body {
    border-color: var(--sk-primary);
    background: var(--sk-surface-2);
    box-shadow: 0 0 0 1px var(--sk-primary), var(--sk-shadow-glow);
}
.sk-pgto-card__check {
    position: absolute;
    top: .75rem;
    right: .75rem;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid var(--sk-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: transparent;
    transition: all var(--sk-transition);
}
.sk-pgto-card input:checked + .sk-pgto-card__body .sk-pgto-card__check {
    background: var(--sk-primary);
    border-color: var(--sk-primary);
    color: var(--sk-primary-contrast);
}
.sk-pgto-card__icon {
    width: 48px;
    height: 48px;
    border-radius: var(--sk-radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: .25rem;
}
.sk-pgto-card__icon--pix {
    background: rgba(8,255,182,.12);
    color: var(--sk-primary);
}
.sk-pgto-card__icon--card {
    background: rgba(139,92,246,.15);
    color: #a78bfa;
}
.sk-pgto-card__name {
    font-size: 1rem;
    font-weight: 800;
    color: var(--sk-text);
}
.sk-pgto-card__desc {
    font-size: .78rem;
    color: var(--sk-text-muted);
    line-height: 1.4;
}

/* ── Gratuito ────────────────────────────────────────────────────────────── */
.sk-checkout-free {
    background: var(--sk-surface);
    border: 1px solid var(--sk-border);
    border-radius: var(--sk-radius-lg);
    padding: 2rem 1.5rem;
    text-align: center;
    margin-bottom: 1.5rem;
}
.sk-checkout-free__icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(8,255,182,.1);
    color: var(--sk-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
}
.sk-checkout-free h3 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--sk-text);
    margin: 0 0 .5rem;
}
.sk-checkout-free p {
    color: var(--sk-text-muted);
    font-size: .9rem;
    margin: 0;
}
.sk-btn--full { width: 100%; justify-content: center; }

/* ── Checkout responsive ─────────────────────────────────────────────────── */
@media (max-width: 720px) {

.sk-checkout-layout {
        grid-template-columns: 1fr;
    }
    .sk-checkout-summary {
        position: static;
    }
}

/* ── Narrow container (consulta, etc.) ───────────────────────────────────── */
.sk-container--narrow {
    max-width: 520px;
}

/* ── Flash message (session-based, pós-redirect) ─────────────────────────── */
.sk-flash {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    border-radius: var(--sk-radius);
    border: 1px solid;
    margin-bottom: 1.5rem;
}
.sk-flash--success {
    background: rgba(8,255,182,.07);
    border-color: rgba(8,255,182,.3);
    color: var(--sk-primary);
}
.sk-flash--info {
    background: var(--sk-primary-light);
    border-color: rgba(8,255,182,.25);
    color: var(--sk-primary);
}
.sk-flash--warn {
    background: var(--sk-warn-light);
    border-color: rgba(245,158,11,.3);
    color: var(--sk-warn);
}
.sk-flash__icon {
    flex-shrink: 0;
    margin-top: .1rem;
}
.sk-flash__title {
    display: block;
    font-size: .9rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: .2rem;
}
.sk-flash__msg {
    margin: 0;
    font-size: .875rem;
    opacity: .85;
}

/* ── Consulta card ───────────────────────────────────────────────────────── */
.sk-consulta-card {
    background: var(--sk-surface);
    border: 1px solid var(--sk-border);
    border-top: 3px solid var(--sk-primary);
    border-radius: var(--sk-radius-lg);
    overflow: hidden;
    box-shadow: var(--sk-shadow);
}
.sk-consulta-card__header {
    padding: 2rem 2rem 1.5rem;
    text-align: center;
    border-bottom: 1px solid var(--sk-border);
    background: linear-gradient(160deg, #020e59 0%, #041275 100%);
}
.sk-consulta-card__icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(8,255,182,.12);
    color: var(--sk-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    box-shadow: 0 0 0 8px rgba(8,255,182,.06);
}
.sk-consulta-card__title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--sk-text);
    margin: 0 0 .4rem;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.sk-consulta-card__desc {
    font-size: .875rem;
    color: var(--sk-text-muted);
    margin: 0;
    line-height: 1.5;
}
.sk-consulta-card .sk-form--bare {
    padding: 1.75rem 2rem;
}

/* ---- Pagamento — layout ---------------------------------------------------- */
.sk-pgto-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: var(--sk-surface);
    border: 1px solid var(--sk-border);
    border-radius: var(--sk-radius-sm);
    padding: .85rem 1.25rem;
    margin-bottom: 1.25rem;
}
.sk-pgto-header__info {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}
.sk-pgto-header__evento {
    font-weight: 700;
    font-size: .95rem;
    color: var(--sk-text);
}
.sk-pgto-header__num {
    font-size: .8rem;
    color: var(--sk-text-muted);
}
.sk-pgto-header__valor {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--sk-primary);
    white-space: nowrap;
}


/* Card form section divider */
.sk-card-form__section {
    font-size: .8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--sk-text-muted);
    margin: 1.5rem 0 .75rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid var(--sk-border);
}

.sk-pgto-section-title {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--sk-text);
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 1rem;
}
.sk-pgto-section-title svg { color: var(--sk-primary); flex-shrink: 0; }

.sk-pgto-instr {
    font-size: .9rem;
    color: var(--sk-text-muted);
    margin: 0 0 1rem;
    line-height: 1.55;
}

/* copia e cola + botão lado a lado */
.sk-pix-copy-row {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    margin-top: .5rem;
}
.sk-pix-copy-row .sk-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    width: 100%;
}

/* status com spinner */
.sk-pix-status-row {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-top: 1.25rem;
    padding-top: 1.1rem;
    border-top: 1px solid var(--sk-border);
}
.sk-pix-spinner {
    width: 16px; height: 16px;
    border: 2px solid var(--sk-border);
    border-top-color: var(--sk-primary);
    border-radius: 50%;
    flex-shrink: 0;
    animation: sk-spin 0.8s linear infinite;
}
@keyframes sk-spin { to { transform: rotate(360deg); } }
.sk-pix-status-row.is-paid .sk-pix-spinner { display: none; }
.sk-pix-status-row.is-paid .sk-pix__status { color: var(--sk-primary); }
.sk-pix-status-row.is-expired .sk-pix-spinner {
    border-top-color: #f59e0b;
    animation: none;
    border-radius: 50%;
}
.sk-pix-status-row.is-expired .sk-pix__status { color: #f59e0b; }

/* erro de pagamento */
.sk-pgto-error {
    text-align: center;
    padding: 2.5rem 2rem;
}
.sk-pgto-error__icon {
    color: #ff5454;
    margin-bottom: 1rem;
}
.sk-pgto-error__title {
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0 0 .5rem;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.sk-pgto-error__msg {
    font-size: .9rem;
    color: var(--sk-text-muted);
    margin: 0;
}

/* linha de step preenchida */
.sk-steps__line--done { background: var(--sk-primary); opacity: .5; }

@media (min-width: 480px) {
    .sk-pix-copy-row {
        flex-direction: row;
        align-items: flex-end;
    }
    .sk-pix-copy-row .sk-field { flex: 1; }
    .sk-pix-copy-row .sk-btn { width: auto; white-space: nowrap; }
}


/* ============================================================================
   Glassmorfismo — enhancements (2026)
   ============================================================================ */

/* ---- Form principal -------------------------------------------------------- */
.sk-form {
    background: rgba(6,11,53,.72) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

/* ---- Steps bar ------------------------------------------------------------- */
.sk-steps {
    background: rgba(6,11,53,.65) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

/* ---- Fieldset separador ---------------------------------------------------- */
.sk-fieldset + .sk-fieldset {
    border-top-color: rgba(255,255,255,.07) !important;
}

/* ---- Kit cards — glass ------------------------------------------------------ */
.sk-kit-card {
    background: rgba(6,11,53,.60) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 2px 12px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.05);
}
.sk-kit-card:has(input:checked) {
    background: rgba(8,255,182,.08) !important;
    box-shadow: 0 0 0 1px var(--sk-primary), 0 0 24px rgba(8,255,182,.16), inset 0 1px 0 rgba(8,255,182,.12) !important;
}
.sk-kit-card:not(:has(input:checked)):hover {
    background: rgba(8,255,182,.06) !important;
}

/* ---- Sidebar event card ---------------------------------------------------- */
.sk-sidebar__event {
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,.6), 0 0 28px rgba(8,255,182,.10), inset 0 1px 0 rgba(8,255,182,.12) !important;
}

/* ---- Sidebar kit card ------------------------------------------------------ */
.sk-sidebar__kit {
    background: rgba(6,11,53,.68) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 2px 12px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.05);
}

/* ---- Trust list ------------------------------------------------------------ */
.sk-trust-list {
    background: rgba(6,11,53,.55) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* ---- Alert hero (vagas esgotadas / prazo expirado) ------------------------- */
.sk-alert-hero {
    background: rgba(6,11,53,.72) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

/* ---- Check regulamento ----------------------------------------------------- */
.sk-check {
    background: rgba(255,255,255,.03) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* ---- Modal ----------------------------------------------------------------- */
.sk-modal {
    background: rgba(10,16,64,.92) !important;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    box-shadow: 0 24px 64px rgba(0,0,0,.75), 0 0 0 1px rgba(8,255,182,.12), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.sk-modal-overlay {
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
}

/* ---- Hero — linha neon no topo -------------------------------------------- */
.sk-hero--full::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, transparent, var(--sk-primary) 50%, transparent);
    z-index: 2;
}

/* ---- Inputs — subtle glass ------------------------------------------------- */
.sk-field input[type="text"],
.sk-field input[type="email"],
.sk-field input[type="number"],
.sk-field input[type="date"],
.sk-field select,
.sk-field textarea {
    background: rgba(255,255,255,.04) !important;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.sk-field input:focus,
.sk-field select:focus,
.sk-field textarea:focus {
    background: rgba(8,255,182,.04) !important;
}

/* ---- Checkout summary glass ------------------------------------------------ */
.sk-checkout-summary {
    background: rgba(6,11,53,.72) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 8px 32px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.sk-checkout-summary__event {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* ---- Payment method cards -------------------------------------------------- */
.sk-pgto-card__body {
    background: rgba(6,11,53,.65) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.sk-pgto-card__body:hover {
    background: rgba(6,11,53,.85) !important;
}
.sk-pgto-card input:checked + .sk-pgto-card__body {
    background: rgba(6,11,53,.85) !important;
}

/* ---- sk-card (consulta, etc.) ---------------------------------------------- */
.sk-card {
    background: rgba(6,11,53,.70) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 4px 20px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.05) !important;
}

/* ---- Consulta card --------------------------------------------------------- */
.sk-consulta-card {
    background: rgba(6,11,53,.75) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.sk-consulta-card__header {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* ---- Checkout free --------------------------------------------------------- */
.sk-checkout-free {
    background: rgba(6,11,53,.68) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

/* ---- Dev panel glass ------------------------------------------------------- */
.sk-dev-panel {
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
}

/* ---- WhatsApp button — enhance glass -------------------------------------- */
.sk-whatsapp-btn {
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.08) !important;
}

/* ---- Topbar glass ---------------------------------------------------------- */
.sk-topbar {
    background: rgba(0,3,42,.82) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.06) !important;
}

/* ---- Flash messages -------------------------------------------------------- */
.sk-flash {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* ---- Select2 dropdowns — deeper glass -------------------------------------- */
.select2-dropdown {
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    background: rgba(10,16,64,.92) !important;
}


/* ── Botão simulador (admin) ─────────────────────────────────────────────── */
.sk-simular-wrap {
    margin-top: 1.25rem;
    text-align: center;
    padding-top: 1.25rem;
    border-top: 1px dashed var(--sk-border);
}
.sk-btn--simular {
    background: transparent;
    border: 1.5px dashed #f59e0b;
    color: #f59e0b;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .06em;
    padding: .55rem 1.25rem;
    border-radius: var(--sk-radius);
    cursor: pointer;
    transition: all var(--sk-transition);
}
.sk-btn--simular:hover {
    background: rgba(245,158,11,.1);
    border-style: solid;
}
.sk-btn--simular:disabled {
    opacity: .5;
    cursor: not-allowed;
}