/* BSIM Members — Public Styles (JUScenter premium) */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,500;1,600&family=Manrope:wght@300;400;500;600;700&display=swap');

:root {
    --bsim-bg:           #0a1118;
    --bsim-bg-elev:      #0e1620;
    --bsim-surface:      #131c27;
    --bsim-surface-2:    #1c2632;
    --bsim-border:       rgba(255, 255, 255, .06);
    --bsim-border-mid:   rgba(255, 255, 255, .10);
    --bsim-border-strong:rgba(255, 255, 255, .16);

    --bsim-text:         #f5f3ef;
    --bsim-text-soft:    #d6d3cd;
    --bsim-text-muted:   #98a2b3;
    --bsim-text-dim:     #6b7889;

    --bsim-orange:       #FF5C00;
    --bsim-orange-hover: #ff7224;
    --bsim-orange-soft:  rgba(255, 92, 0, .12);
    --bsim-orange-glow:  rgba(255, 92, 0, .22);

    --bsim-success:      #6ee7b7;
    --bsim-error:        #fca5a5;

    --bsim-serif:        'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    --bsim-sans:         'Manrope', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

    --bsim-radius:       8px;
    --bsim-radius-lg:    14px;
}

/* ── Esconder header/footer do tema na página de checkout ──────────── */
body:has(.bsim-checkout) .site-header,
body:has(.bsim-checkout) .site-footer,
body:has(.bsim-checkout) #masthead,
body:has(.bsim-checkout) #colophon,
body:has(.bsim-checkout) .ehf-header,
body:has(.bsim-checkout) .ehf-footer,
body:has(.bsim-checkout) .elementor-location-header,
body:has(.bsim-checkout) .elementor-location-footer,
body:has(.bsim-checkout) header[role="banner"],
body:has(.bsim-checkout) footer[role="contentinfo"],
body:has(.bsim-checkout) .entry-header,
body:has(.bsim-checkout) .page-title,
body:has(.bsim-checkout) h1.entry-title {
    display: none !important;
}

body:has(.bsim-checkout),
body:has(.bsim-checkout) #content,
body:has(.bsim-checkout) .site-content,
body:has(.bsim-checkout) .site-main,
body:has(.bsim-checkout) main,
body:has(.bsim-checkout) .elementor-section-wrap {
    background: var(--bsim-bg) !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

/* ── Container base ──────────────────────────────────────────────────── */
.bsim-checkout {
    background: var(--bsim-bg);
    background-image: radial-gradient(ellipse at top, rgba(255, 92, 0, .04) 0%, transparent 50%);
    color: var(--bsim-text);
    font-family: var(--bsim-sans);
    font-size: 15px;
    line-height: 1.6;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.bsim-checkout *, .bsim-checkout *::before, .bsim-checkout *::after { box-sizing: border-box; }
.bsim-checkout a { color: var(--bsim-orange); text-decoration: none; transition: color .15s; }
.bsim-checkout a:hover { color: var(--bsim-orange-hover); }

/* ── Topbar ──────────────────────────────────────────────────────────── */
.bsim-checkout__topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px clamp(20px, 5vw, 56px);
    border-bottom: 1px solid var(--bsim-border);
    background: rgba(10, 17, 24, .85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    position: sticky;
    top: 0;
    z-index: 10;
}
.bsim-checkout__brand {
    display: inline-flex; align-items: baseline; gap: 0;
    color: var(--bsim-text) !important;
    text-decoration: none;
    letter-spacing: .04em;
}
.bsim-checkout__brand:hover { color: var(--bsim-orange) !important; }
.bsim-checkout__brand-mark {
    font-family: var(--bsim-serif);
    font-weight: 600;
    font-style: italic;
    font-size: 24px;
    color: var(--bsim-orange);
}
.bsim-checkout__brand-name {
    font-family: var(--bsim-sans);
    font-weight: 500;
    font-size: 18px;
    color: var(--bsim-text);
    letter-spacing: .08em;
    text-transform: lowercase;
}
.bsim-checkout__back {
    display: inline-flex; align-items: center; gap: 6px;
    color: var(--bsim-text-muted) !important;
    font-size: 13px;
    letter-spacing: .03em;
}
.bsim-checkout__back:hover { color: var(--bsim-orange) !important; }

/* ── Container do conteúdo ───────────────────────────────────────────── */
.bsim-checkout__container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 56px clamp(20px, 5vw, 56px) 80px;
}

/* ── Intro (editorial header) ────────────────────────────────────────── */
.bsim-checkout__intro { margin-bottom: 48px; max-width: 720px; }
.bsim-checkout__eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--bsim-orange);
    margin-bottom: 14px;
}
.bsim-checkout__title {
    font-family: var(--bsim-serif);
    font-size: clamp(34px, 5vw, 52px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.01em;
    margin: 0 0 14px;
    color: var(--bsim-text);
}
.bsim-checkout__title em {
    font-style: italic;
    color: var(--bsim-orange);
    font-weight: 500;
}
.bsim-checkout__subtitle {
    font-size: 17px;
    color: var(--bsim-text-soft);
    line-height: 1.55;
    margin: 0;
    max-width: 580px;
}

/* ── Layout ─────────────────────────────────────────────────────────── */
.bsim-checkout__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 56px;
    align-items: start;
}
@media (max-width: 980px) {
    .bsim-checkout__layout { grid-template-columns: 1fr; gap: 32px; }
    .bsim-checkout__summary { order: -1; }
}

/* ── Notice "já tem conta" ───────────────────────────────────────────── */
.bsim-checkout__login-notice {
    font-size: 14px;
    color: var(--bsim-text-muted);
    padding: 0 0 18px;
    border-bottom: 1px solid var(--bsim-border);
    margin-bottom: 32px;
}
.bsim-checkout__login-notice a { font-weight: 600; }

.bsim-checkout__user-info {
    font-size: 14px;
    color: var(--bsim-text-soft);
    padding: 0 0 18px;
    border-bottom: 1px solid var(--bsim-border);
    margin-bottom: 32px;
}
.bsim-checkout__user-info strong { color: var(--bsim-orange); font-weight: 600; }

/* ── Section (editorial) ─────────────────────────────────────────────── */
.bsim-section { margin-bottom: 44px; }
.bsim-section:last-of-type { margin-bottom: 32px; }

.bsim-section__head {
    display: flex; align-items: baseline; gap: 14px;
    margin-bottom: 22px;
}
.bsim-section__num {
    font-family: var(--bsim-serif);
    font-style: italic;
    font-weight: 500;
    font-size: 14px;
    color: var(--bsim-orange);
    letter-spacing: .04em;
}
.bsim-section__title {
    font-family: var(--bsim-serif);
    font-weight: 500;
    font-size: 24px;
    color: var(--bsim-text);
    margin: 0;
    letter-spacing: -.005em;
}

/* ── Fields ──────────────────────────────────────────────────────────── */
.bsim-field { margin-bottom: 20px; }
.bsim-field:last-child { margin-bottom: 0; }

.bsim-field label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--bsim-text-soft);
    letter-spacing: .06em;
    text-transform: uppercase;
}

.bsim-field input[type="text"],
.bsim-field input[type="email"],
.bsim-field input[type="password"],
.bsim-field input[type="tel"],
.bsim-field input[type="number"],
.bsim-field select,
.bsim-coupon-field input {
    width: 100%;
    padding: 13px 14px;
    background: var(--bsim-surface);
    border: 1px solid var(--bsim-border-mid);
    border-radius: var(--bsim-radius);
    color: var(--bsim-text);
    font-size: 15px;
    font-family: inherit;
    letter-spacing: .01em;
    transition: border-color .15s, background .15s, box-shadow .15s;
}
.bsim-field input::placeholder,
.bsim-coupon-field input::placeholder { color: var(--bsim-text-dim); }

.bsim-field select {
    appearance: none; -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%2398a2b3' stroke-width='2'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 38px;
}

.bsim-field input:hover,
.bsim-field select:hover,
.bsim-coupon-field input:hover { border-color: var(--bsim-border-strong); background: var(--bsim-surface-2); }

.bsim-field input:focus,
.bsim-field select:focus,
.bsim-coupon-field input:focus {
    outline: none;
    border-color: var(--bsim-orange);
    background: var(--bsim-surface-2);
    box-shadow: 0 0 0 3px var(--bsim-orange-glow);
}

.bsim-field input[readonly] {
    background: rgba(255,255,255,.02);
    color: var(--bsim-text-muted);
    cursor: not-allowed;
}

.bsim-field-hint, .bsim-field small.bsim-field-hint {
    display: block;
    font-size: 12px;
    color: var(--bsim-text-dim);
    margin-top: 7px;
    letter-spacing: 0;
    text-transform: none;
    font-weight: 400;
}

.bsim-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-bottom: 20px;
}
.bsim-field-row--3 { grid-template-columns: 2fr 1fr 1fr; }
.bsim-field-row .bsim-field { margin-bottom: 0; }
@media (max-width: 620px) {
    .bsim-field-row, .bsim-field-row--3 { grid-template-columns: 1fr; gap: 16px; }
}

.bsim-field-feedback {
    display: block;
    font-size: 12px;
    margin-top: 7px;
    min-height: 16px;
    letter-spacing: 0;
    text-transform: none;
    font-weight: 400;
}
.bsim-field-feedback--ok  { color: var(--bsim-success); }
.bsim-field-feedback--err { color: var(--bsim-error); }
.bsim-field-feedback--err a { color: var(--bsim-error); text-decoration: underline; }
.required { color: var(--bsim-orange); margin-left: 2px; }

/* ── Cupom ───────────────────────────────────────────────────────────── */
.bsim-coupon-field { display: flex; gap: 10px; }
.bsim-coupon-field input { flex: 1; }
.bsim-coupon-feedback {
    display: block; font-size: 13px; margin: 10px 0 0; min-height: 16px;
    letter-spacing: 0; text-transform: none; font-weight: 400;
}
.bsim-coupon-feedback--ok  { color: var(--bsim-success); }
.bsim-coupon-feedback--err { color: var(--bsim-error); }

/* ── Gateway ─────────────────────────────────────────────────────────── */
.bsim-gateway-options { display: grid; gap: 10px; }
.bsim-gateway-option {
    display: flex; align-items: center; gap: 12px;
    padding: 14px 16px;
    background: var(--bsim-surface);
    border: 1px solid var(--bsim-border-mid);
    border-radius: var(--bsim-radius);
    cursor: pointer;
    color: var(--bsim-text);
    font-size: 14px;
    transition: all .15s;
}
.bsim-gateway-option:hover { border-color: var(--bsim-orange); background: var(--bsim-surface-2); }
.bsim-gateway-option input { accent-color: var(--bsim-orange); }

/* ── Botões ──────────────────────────────────────────────────────────── */
.bsim-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    padding: 13px 24px;
    border-radius: var(--bsim-radius);
    border: 1px solid transparent;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .04em;
    cursor: pointer;
    transition: all .2s;
    text-decoration: none !important;
}
.bsim-btn--primary {
    background: var(--bsim-orange);
    color: #fff !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.12) inset, 0 12px 32px -8px rgba(255, 92, 0, .55);
}
.bsim-btn--primary:hover {
    background: var(--bsim-orange-hover);
    transform: translateY(-1px);
    box-shadow: 0 1px 0 rgba(255,255,255,.18) inset, 0 16px 40px -8px rgba(255, 92, 0, .65);
}
.bsim-btn--primary:active { transform: translateY(0); }
.bsim-btn--primary:disabled { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }

.bsim-btn--outline {
    background: transparent;
    color: var(--bsim-text);
    border: 1px solid var(--bsim-border-strong);
}
.bsim-btn--outline:hover { border-color: var(--bsim-orange); color: var(--bsim-orange); }

.bsim-btn--full {
    width: 100%;
    padding: 18px 24px;
    font-size: 15px;
    margin-top: 24px;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.bsim-btn__spinner {
    width: 16px; height: 16px;
    border: 2px solid rgba(255,255,255,.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: bsim-spin .7s linear infinite;
}
@keyframes bsim-spin { to { transform: rotate(360deg); } }

/* ── Notice / segurança ──────────────────────────────────────────────── */
.bsim-notice {
    padding: 13px 16px;
    border-radius: var(--bsim-radius);
    font-size: 13px;
    margin: 18px 0 0;
    line-height: 1.5;
}
.bsim-notice--error {
    background: rgba(252, 165, 165, .08);
    border: 1px solid rgba(252, 165, 165, .25);
    color: var(--bsim-error);
}
.bsim-notice--error a { color: #fff !important; font-weight: 600; }
.bsim-notice--success {
    background: rgba(110, 231, 183, .08);
    border: 1px solid rgba(110, 231, 183, .25);
    color: var(--bsim-success);
}

.bsim-checkout__security {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    margin: 18px 0 0;
    font-size: 12px;
    color: var(--bsim-text-dim);
    letter-spacing: .03em;
}

/* ── Summary card ────────────────────────────────────────────────────── */
.bsim-checkout__summary { position: sticky; top: 96px; }
@media (max-width: 980px) { .bsim-checkout__summary { position: static; } }

.bsim-summary-card {
    background: linear-gradient(180deg, var(--bsim-surface) 0%, var(--bsim-bg-elev) 100%);
    border: 1px solid var(--bsim-border-mid);
    border-radius: var(--bsim-radius-lg);
    padding: 28px 26px;
    position: relative;
    overflow: hidden;
}
.bsim-summary-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--bsim-orange) 50%, transparent 100%);
}
.bsim-summary-card__eyebrow {
    display: block;
    font-size: 11px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--bsim-text-dim);
    font-weight: 600;
    margin-bottom: 8px;
}
.bsim-summary-card__name {
    font-family: var(--bsim-serif);
    font-size: 28px;
    font-weight: 500;
    margin: 0 0 18px;
    color: var(--bsim-text);
    letter-spacing: -.01em;
    line-height: 1.1;
}
.bsim-summary-card__price {
    display: flex; align-items: baseline; gap: 8px;
    margin: 0 0 14px;
}
.bsim-summary-card__amount {
    font-family: var(--bsim-serif);
    font-size: 38px;
    font-weight: 500;
    color: var(--bsim-orange);
    letter-spacing: -.02em;
    line-height: 1;
}
.bsim-summary-card__period {
    font-size: 13px;
    color: var(--bsim-text-muted);
    letter-spacing: .02em;
}
.bsim-summary-card__desc {
    font-size: 14px;
    color: var(--bsim-text-soft);
    line-height: 1.55;
    margin: 0 0 18px;
}
.bsim-summary-card__trial {
    font-size: 13px;
    color: var(--bsim-success);
    line-height: 1.45;
    padding: 12px 14px;
    background: rgba(110, 231, 183, .06);
    border-left: 2px solid var(--bsim-success);
    border-radius: 4px;
    margin-bottom: 22px;
}
.bsim-summary-card__trial strong { font-weight: 700; }
.bsim-summary-card__divider {
    height: 1px;
    background: var(--bsim-border);
    margin: 22px 0 18px;
}
.bsim-summary-row {
    display: flex; justify-content: space-between; align-items: baseline;
    padding: 5px 0;
    font-size: 14px;
    color: var(--bsim-text-soft);
}
.bsim-summary-row--discount { color: var(--bsim-success); }
.bsim-summary-row--total {
    padding-top: 14px;
    margin-top: 8px;
    border-top: 1px solid var(--bsim-border);
    font-size: 15px;
    color: var(--bsim-text);
    font-weight: 600;
    letter-spacing: .02em;
}
.bsim-summary-row--total span:last-child {
    font-family: var(--bsim-serif);
    font-size: 22px;
    font-weight: 500;
    color: var(--bsim-orange);
}
.bsim-summary-card__change {
    display: block;
    text-align: center;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid var(--bsim-border);
    font-size: 13px;
    color: var(--bsim-text-muted) !important;
    letter-spacing: .04em;
}
.bsim-summary-card__change:hover { color: var(--bsim-orange) !important; }

/* ── Trust (selos) ───────────────────────────────────────────────────── */
.bsim-trust {
    margin-top: 22px;
    padding: 18px 22px;
    display: grid;
    gap: 12px;
}
.bsim-trust__item {
    display: flex; align-items: center; gap: 10px;
    font-size: 13px;
    color: var(--bsim-text-muted);
    letter-spacing: .02em;
}
.bsim-trust__item svg {
    flex-shrink: 0;
    color: var(--bsim-orange);
    opacity: .8;
}

/* ── Outras páginas (login, account, etc.) ─────────────────────────── */
.bsim-login, .bsim-account, .bsim-subscription, .bsim-pricing, .bsim-payments {
    max-width: 960px;
    margin: 0 auto;
    padding: 48px 24px;
    color: var(--bsim-text);
    font-family: var(--bsim-sans);
}
.bsim-login h1, .bsim-login h2, .bsim-login h3,
.bsim-account h1, .bsim-account h2, .bsim-account h3,
.bsim-subscription h1, .bsim-subscription h2, .bsim-subscription h3 {
    font-family: var(--bsim-serif);
    font-weight: 500;
    letter-spacing: -.01em;
}
