/* Halaman Masuk/Daftar: design system yang sama dengan balesotomatis.id (Inter, biru #0075de, radius 8/12) */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 800; font-display: swap; src: url('inter-var-latin.woff2') format('woff2'); }
:root { --canvas:#fff; --gray-1:#f6f5f4; --gray-2:#f9f9f8; --gray-3:#efeeed; --line:rgba(0,0,0,.1); --ink:rgba(0,0,0,.95); --ink-2:rgba(0,0,0,.72); --ink-3:rgba(0,0,0,.54); --blue:#0075de; --blue-hover:#0062ba; --blue-soft:#e8f1fb; --red:#d9412f; --r:8px; --r-card:12px; --ease:cubic-bezier(.16,1,.3,1); }
html, body, body.auth-page, .auth, .auth *, .auth input, .auth button { font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif !important; }
.tslide__quote { font-family:Georgia,'Iowan Old Style','Times New Roman',serif !important; }
html, body { margin:0; background:var(--canvas) !important; color:var(--ink); font-size:16px; line-height:24px; -webkit-font-smoothing:antialiased; }
*, *::before, *::after { box-sizing:border-box; }
a { color:inherit; text-decoration:none; }
.ph { width:1em; height:1em; fill:currentColor; flex:none; vertical-align:-.15em; }

.auth { min-height:100dvh; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.auth__main { display:flex; flex-direction:column; padding:24px clamp(20px,5vw,64px) 32px; }
.auth__top { display:flex; align-items:center; justify-content:space-between; height:40px; }
.auth__logo { height:32px; width:auto; display:block; }
.auth__back { display:inline-flex; align-items:center; gap:6px; font-size:14px; color:var(--ink-2); padding:6px 10px; border-radius:6px; }
.auth__back:hover { background:var(--gray-1); color:var(--ink); }
.auth__form { width:100%; max-width:420px; margin:auto; padding-block:40px; }
.auth__title { font-size:clamp(28px,3vw,36px); color:var(--ink); font-weight:700; line-height:1.1; letter-spacing:-.03em; margin:0 0 8px; }
.auth__sub { color:var(--ink-2); margin:0 0 28px; }
.auth__sub a, .auth__foot a, .signup-link { color:var(--blue); font-weight:500; }
.auth__sub a:hover, .auth__foot a:hover, .signup-link:hover { text-decoration:underline; text-underline-offset:3px; }

.form-group { margin-bottom:16px; }
.form-label { display:flex; justify-content:space-between; align-items:baseline; font-size:14px; font-weight:500; margin-bottom:6px; }
.form-label a { font-size:13px; font-weight:500; color:var(--blue); }
.input-wrap { position:relative; display:flex; align-items:center; }
.input-icon { position:absolute; left:12px; font-size:18px; color:var(--ink-3); pointer-events:none; }
.form-input { width:100%; height:44px; padding:0 14px 0 40px; font:inherit; font-size:16px; color:var(--ink); background:var(--canvas); border:1px solid var(--line); border-radius:var(--r); outline:none; transition:border-color .15s ease, box-shadow .15s ease; appearance:none; }
.form-input::placeholder { color:var(--ink-3); }
.form-input:focus { border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-soft); }
.input-wrap:focus-within .input-icon { color:var(--blue); }
.form-group-password .form-input { padding-right:44px; }
.password-toggle { position:absolute; right:6px; width:32px; height:32px; display:grid; place-items:center; background:none; border:0; border-radius:6px; color:var(--ink-3); cursor:pointer; font-size:18px; }
.password-toggle:hover { background:var(--gray-1); color:var(--ink); }
.password-toggle .ph--off { display:none; }
.password-toggle.is-on .ph--on { display:none; }
.password-toggle.is-on .ph--off { display:block; }
.form-hint { display:block; margin-top:6px; font-size:13px; color:var(--ink-3); }
.show-on-error { display:none; margin-top:6px; font-size:13px; color:var(--red); }
.form-group.has-error .form-input { border-color:var(--red); }

.form-actions { display:flex; justify-content:space-between; align-items:center; margin:4px 0 20px; }
.checkbox-label { display:inline-flex; align-items:center; gap:8px; font-size:14px; color:var(--ink-2); cursor:pointer; margin:0; }
.cg-input { width:16px; height:16px; accent-color:var(--blue); cursor:pointer; margin:0; }

.btn-login { width:100%; height:44px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 16px; font:inherit; font-size:16px; font-weight:500; color:#fff; background:var(--blue); border:0; border-radius:var(--r); cursor:pointer; transition:background-color .15s ease, transform .15s ease; }
.btn-login:hover { background:var(--blue-hover); }
.btn-login:active { transform:translateY(1px); }
.btn-login:disabled, .btn-login.disabled { opacity:.7; cursor:default; }
.btn-login .ph { font-size:18px; }
.btn-login.btn-outline { background:var(--blue-soft); color:var(--blue); }
.btn-login.btn-outline:hover { background:#d6e6f7; }
.spinner-border { display:inline-block; width:18px; height:18px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:spin .7s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.form-submit-area { margin-bottom:20px; }
.auth__foot, .signup-section { font-size:14px; color:var(--ink-2); text-align:center; }
.signup-section p { margin:0; }
.signup-terms { font-size:13px; line-height:20px; color:var(--ink-3); text-align:center; margin:0 0 16px; }
.signup-terms a { color:var(--ink-2); text-decoration:underline; text-underline-offset:3px; }
.signup-alert { padding:12px 14px; border-radius:var(--r); font-size:14px; line-height:20px; margin-bottom:16px; }
.signup-alert-error { background:#fdeceb; color:#9a2c1f; }
.auth__legal { margin-top:auto; padding-top:24px; font-size:13px; color:var(--ink-3); display:flex; flex-wrap:wrap; gap:8px 16px; justify-content:center; }

/* state cek email */
.check-icon { width:56px; height:56px; border-radius:50%; background:var(--blue-soft); color:var(--blue); display:grid; place-items:center; font-size:28px; margin-bottom:20px; }
.signup-steps { list-style:none; padding:0; margin:0 0 24px; display:grid; gap:10px; }
.signup-steps li { display:flex; gap:10px; align-items:flex-start; font-size:15px; line-height:22px; color:var(--ink-2); }
.signup-steps .ph { color:var(--blue); margin-top:3px; font-size:16px; }
.signup-check-email { color:var(--ink); font-weight:600; }

/* ===== panel testimoni duotone ===== */
.auth__aside { position:relative; overflow:hidden; background:var(--duo,#1462c8); color:#fff; padding:32px; display:flex; flex-direction:column; justify-content:flex-end; isolation:isolate; transition:background-color .8s ease; }
.auth__aside[data-tint="red"] { --duo:#d9412f; } .auth__aside[data-tint="blue"] { --duo:#1462c8; } .auth__aside[data-tint="yellow"] { --duo:#d59b12; } .auth__aside[data-tint="green"] { --duo:#1f7a3a; }
.tslide { position:absolute; inset:0; opacity:0; z-index:0; transition:opacity .6s ease; pointer-events:none; }
.tslide.is-active { opacity:1; z-index:1; }
.tslide::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, var(--duo) 0%, rgba(0,0,0,0) 60%); opacity:.85; }
.tslide__body { z-index:1; }
.tslide:not(.is-active) .tslide__body { position:absolute; left:32px; right:32px; bottom:88px; max-width:560px; }
.tslide__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; filter:grayscale(1) contrast(1.1); mix-blend-mode:luminosity; opacity:.75; }
.tslide__body { position:absolute; left:32px; right:32px; bottom:88px; max-width:560px; }
.tslide__quote { font-family:Georgia,'Iowan Old Style','Times New Roman',serif; font-size:clamp(22px,2vw,28px);  line-height:1.3; margin:0 0 16px; text-wrap:balance; }
.tslide__who { font-size:15px; opacity:.92; margin:0; }
.tslide__who b { display:block; font-weight:600; }
.tslide__result { display:inline-flex; align-items:center; gap:8px; margin-top:14px; font-size:14px; font-weight:600; padding:6px 12px; border-radius:999px; background:rgba(255,255,255,.16); }
.auth__aside-foot { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.tdots { display:flex; gap:8px; }
.tdots button { width:8px; height:8px; border-radius:50%; border:0; padding:0; background:rgba(255,255,255,.4); cursor:pointer; transition:transform .2s ease, background-color .2s ease; }
.tdots button.is-active { background:#fff; transform:scale(1.3); }
.auth__proof { display:flex; gap:20px; font-size:13px; opacity:.9; }
.auth__proof span { display:inline-flex; align-items:center; gap:6px; }
.auth__proof .ph { font-size:16px; }
@media (max-width: 960px) { .auth { grid-template-columns:1fr; } .auth__aside { display:none; } .auth__form { padding-block:24px; } }
@media (prefers-reduced-motion: reduce) { .tslide, .auth__aside { transition:none; } }

/* ===== checkout pendaftaran (view_member_checkout_auth.php) ===== */
.auth__form:has(> .co) { max-width:560px; }
.co-section { margin-bottom:24px; }
.co-h { font-size:15px; font-weight:600; margin:0 0 10px; }
.co-plan { border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden; }
.co-plan__head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:14px 16px; border-bottom:1px solid var(--line); }
.co-plan__head b { display:block; font-size:16px; } .co-plan__head small { display:block; color:var(--ink-3); font-size:13px; margin-top:2px; }
.co-plan__price { text-align:right; white-space:nowrap; } .co-plan__price b { font-size:16px; } .co-plan__price small { color:var(--ink-3); font-size:13px; }
.co-periods { display:grid; gap:8px; padding:12px; }
.co-period { display:grid; grid-template-columns:auto auto 1fr auto; align-items:center; gap:12px; padding:10px 12px; border:1px solid var(--line); border-radius:var(--r); cursor:pointer; transition:border-color .15s, background-color .15s; }
.co-period:hover { border-color:rgba(0,117,222,.5); }
.co-period.is-active { border-color:var(--blue); background:var(--blue-soft); }
.co-period input { accent-color:var(--blue); width:16px; height:16px; margin:0; }
.co-period__label { font-weight:600; font-size:14px; min-width:64px; }
.co-period__per { font-size:13px; color:var(--ink-2); white-space:nowrap; }
.co-period__per em { font-style:normal; font-size:12px; font-weight:600; color:#16794a; background:rgba(22,163,74,.12); padding:2px 8px; border-radius:999px; margin-left:6px; }
.co-period__total { font-weight:600; font-size:14px; white-space:nowrap; }
.co-includes { list-style:none; margin:0; padding:10px 16px 14px; display:grid; grid-template-columns:1fr 1fr; gap:6px 12px; font-size:13px; color:var(--ink-2); border-top:1px solid var(--line); }
.co-includes li { display:flex; align-items:center; gap:6px; } .co-includes .ph { color:#16794a; }
.co-coupon { display:flex; gap:8px; margin-top:12px; } .co-coupon .input-wrap { flex:1; }
.co-coupon__btn { width:auto; padding:0 16px; flex:none; }
.co-coupon__msg { margin:6px 0 0; font-size:13px; } .co-coupon__msg--ok { color:#16794a; } .co-coupon__msg--err { color:var(--red); }
.form-input.success { border-color:#16a34a; } .form-input.invalid { border-color:var(--red); }
.co-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; } .co-grid__full { grid-column:1 / -1; }
.co-pay__group { font-size:12px; font-weight:500; color:var(--ink-3); margin:12px 0 6px; } .co-pay__group:first-child { margin-top:0; }
.co-pay__list { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.co-pay__item { position:relative; display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--line); border-radius:var(--r); cursor:pointer; font-size:14px; transition:border-color .15s, background-color .15s; }
.co-pay__item:hover { border-color:rgba(0,117,222,.5); }
.co-pay__item.is-active { border-color:var(--blue); background:var(--blue-soft); }
.co-pay__item input { position:absolute; opacity:0; pointer-events:none; }
.co-pay__item img { width:44px; height:24px; object-fit:contain; flex:none; }
.co-pay__item span { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.co-pay__check { color:var(--blue); font-size:18px; opacity:0; } .co-pay__item.is-active .co-pay__check { opacity:1; }
.co-pay__err { display:none; margin-top:8px; color:var(--red); font-size:13px; }
.co-summary { border:1px solid var(--line); border-radius:var(--r-card); padding:14px 16px; margin-bottom:16px; font-size:14px; }
.co-summary__row { display:flex; justify-content:space-between; gap:12px; padding:4px 0; color:var(--ink-2); }
.co-summary__row b { color:var(--ink); }
.co-summary__total { border-top:1px solid var(--line); margin-top:8px; padding-top:12px; color:var(--ink); font-weight:600; }
.co-summary__total b { font-size:20px; }
.co-summary__note { margin:10px 0 0; font-size:12px; color:var(--ink-3); }
/* kolom kiri = separuh layar; di bawah 1100px (kolom < ~550px) susun satu kolom */
@media (max-width:1100px) { .co-grid, .co-pay__list, .co-includes { grid-template-columns:1fr; } .co-period { grid-template-columns:auto 1fr auto; } .co-period__per { grid-column:2 / span 2; white-space:normal; } }
@media (max-width:960px) { .auth__form:has(> .co) { max-width:560px; } }

/* checkout ringkas: chip periode (desktop 3 kolom, mobile ke bawah), tautan "ubah" di ringkasan */
.co-chips { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding-top:10px; }
.co-chip { position:relative; display:flex; flex-direction:column; align-items:center; gap:4px; padding:14px 8px 12px; border:1px solid var(--line); border-radius:var(--r); cursor:pointer; text-align:center; background:var(--canvas); transition:border-color .15s, background-color .15s, box-shadow .15s; }
.co-chip:hover { border-color:rgba(0,117,222,.5); }
.co-chip.is-active { border-color:var(--blue); background:var(--blue-soft); box-shadow:0 0 0 1px var(--blue); }
.co-chip input { position:absolute; opacity:0; pointer-events:none; }
.co-chip__main { display:flex; flex-direction:column; align-items:center; gap:4px; color:var(--ink); }
.co-chip b { font-size:14px; } .co-chip span { font-size:13px; color:var(--ink-2); }
.co-chip em { font-style:normal; font-size:11px; font-weight:600; color:#16794a; background:rgba(22,163,74,.12); padding:2px 8px; border-radius:999px; }
/* label "Paling Laris": pil biru menempel di tepi atas chip */
.co-chip--hot { border-color:rgba(0,117,222,.45); }
.co-chip__tag { position:absolute; top:-11px; left:50%; transform:translateX(-50%); display:inline-flex; align-items:center; gap:4px; white-space:nowrap; font-style:normal; font-size:11px; font-weight:700; line-height:1; letter-spacing:.01em; color:#fff; background:var(--blue); padding:5px 10px; border-radius:999px; box-shadow:0 4px 12px rgba(0,117,222,.28); }
.co-chip__tag .ph { font-size:11px; color:#ffd166; }
@media (max-width:560px) {
  .co-chips { grid-template-columns:1fr; gap:10px; padding-top:0; }
  .co-chip { flex-direction:row; align-items:center; justify-content:space-between; gap:10px; padding:14px 14px 14px 46px; text-align:left; min-height:56px; }
  .co-chip::before { content:''; position:absolute; left:14px; top:50%; width:20px; height:20px; margin-top:-10px; border-radius:50%; border:2px solid rgba(0,0,0,.25); background:var(--canvas); transition:border-color .15s, background-color .15s, box-shadow .15s; }
  .co-chip.is-active::before { border-color:var(--blue); background:var(--blue); box-shadow:inset 0 0 0 4px var(--canvas); }
  .co-chip__main { flex-direction:row; align-items:center; gap:8px; flex-wrap:wrap; }
  .co-chip__price { margin-left:auto; text-align:right; white-space:nowrap; }
  .co-chip--hot { margin-top:8px; }
  .co-chip__tag { left:auto; right:12px; transform:none; top:-11px; }
}
.co-link { background:none; border:0; padding:0; font:inherit; font-size:13px; color:var(--blue); cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.co-summary .co-coupon { margin:8px 0 4px; } .co-summary .co-pay { margin:8px 0 4px; }
.co-summary .co-pay__err { margin:4px 0; }

/* harga promo di chip: "Rp 356.850/bln" + harga dasar dicoret */
.co-chip__price s { display:block; font-size:11px; color:var(--ink-3); text-decoration:line-through; }
.co-chip__price .co-chip__day { display:block; font-size:11px; font-weight:500; color:var(--blue); margin-top:2px; }
.co-chip.is-active .co-chip__price { color:var(--ink); font-weight:600; }

/* trust line di bawah tombol bayar */
.co-trust { list-style:none; margin:12px 0 0; padding:0; display:grid; gap:6px; }
.co-trust li { display:flex; gap:8px; align-items:flex-start; font-size:13px; line-height:18px; color:var(--ink-2); }
.co-trust .ph { color:#16794a; font-size:16px; margin-top:1px; }

/* badge reCAPTCHA disembunyikan; teks legalnya ada di .signup-terms (sesuai ketentuan Google) */
.grecaptcha-badge { visibility:hidden !important; }

/* bar total sticky di mobile */
.co-sticky { position:fixed; left:0; right:0; bottom:0; z-index:40; display:none; align-items:center; justify-content:space-between; gap:12px; padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px)); background:var(--canvas); border-top:1px solid var(--line); box-shadow:0 -8px 24px rgba(0,0,0,.06); }
.co-sticky__label { font-size:13px; color:var(--ink-2); line-height:1.2; display:flex; flex-direction:column; gap:2px; }
.co-sticky__label b { font-size:18px; color:var(--ink); letter-spacing:-.01em; }
.co-sticky__btn { width:auto; flex:0 0 auto; padding:0 18px; }
@media (max-width:960px) { .co-sticky:not([hidden]) { display:flex; } .auth__form:has(> .co) { padding-bottom:88px; } }

/* ===== SweetAlert2 bertema LP (auth.js: Swal.mixin bo-swal) =====
   Bingkai: radius 16, Inter, judul kiri 22/700, teks ink-2, ikon di kotak tint 52px, tombol = .btn-login penuh lebar. */
.swal2-container.bo-swal-backdrop { background:rgba(0,0,0,.55) !important; padding:16px; }
.swal2-container.bo-swal-backdrop, .swal2-container.bo-swal-backdrop * { font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif !important; }
.swal2-popup.bo-swal button:focus, .swal2-popup.bo-swal .btn-login:focus { outline:none; box-shadow:0 0 0 3px var(--blue-soft); }
.swal2-popup.bo-swal .btn-login:focus-visible { box-shadow:0 0 0 3px rgba(0,117,222,.35); }
.swal2-popup.bo-swal { width:min(420px,calc(100vw - 32px)); padding:26px 24px 22px; border-radius:16px; background:var(--canvas); color:var(--ink); font-family:inherit; box-shadow:0 24px 64px rgba(0,0,0,.25); display:grid; grid-template-columns:1fr; justify-items:start; text-align:left; }
.swal2-popup.bo-swal .swal2-icon.bo-swal__icon { width:52px; height:52px; margin:0 0 16px; border:0; border-radius:14px; display:flex; align-items:center; justify-content:center; }
.swal2-popup.bo-swal .swal2-icon.swal2-warning { background:#fbe9b6; color:#8a5a00; }
.swal2-popup.bo-swal .swal2-icon.swal2-error { background:#ffd6cf; }
.swal2-popup.bo-swal .swal2-icon.swal2-success { background:#cdebd6; }
.swal2-popup.bo-swal .swal2-icon.swal2-info, .swal2-popup.bo-swal .swal2-icon.swal2-question { background:var(--blue-soft); color:var(--blue); }
.swal2-popup.bo-swal .swal2-icon .swal2-icon-content { font-size:30px; font-weight:700; line-height:1; }
.swal2-popup.bo-swal .swal2-icon.swal2-error .swal2-x-mark { transform:scale(.62); }
.swal2-popup.bo-swal .swal2-icon.swal2-error [class^=swal2-x-mark-line] { background:#c62f22; height:5px; }
.swal2-popup.bo-swal .swal2-icon.swal2-success { overflow:hidden; }
.swal2-popup.bo-swal .swal2-icon.swal2-success .swal2-success-ring, .swal2-popup.bo-swal .swal2-icon.swal2-success [class^=swal2-success-circular-line], .swal2-popup.bo-swal .swal2-icon.swal2-success .swal2-success-fix { display:none; }
.swal2-popup.bo-swal .swal2-icon.swal2-success [class^=swal2-success-line] { background:#1f7a3a; height:5px; }
.swal2-popup.bo-swal .swal2-icon.swal2-success .swal2-success-line-tip { top:29px; left:13px; width:15px; }
.swal2-popup.bo-swal .swal2-icon.swal2-success .swal2-success-line-long { top:25px; right:8px; width:26px; }
.swal2-popup.bo-swal .bo-swal__title { margin:0 0 8px; padding:0; font-size:22px; line-height:1.2; font-weight:700; letter-spacing:-.02em; color:var(--ink); text-align:left; }
.swal2-popup.bo-swal .bo-swal__text { margin:0; padding:0; font-size:15px; line-height:22px; color:var(--ink-2); text-align:left; }
.swal2-popup.bo-swal .bo-swal__actions { display:flex; flex-direction:column; gap:8px; width:100%; margin:20px 0 0; justify-content:stretch; }
.swal2-popup.bo-swal .bo-swal__actions .btn-login { width:100%; margin:0; }
.swal2-popup.bo-swal .bo-swal__close { position:absolute; top:12px; right:12px; width:36px; height:36px; border-radius:50%; background:var(--gray-1); color:var(--ink); font-size:20px; box-shadow:none; }
.swal2-popup.bo-swal .bo-swal__close:hover { background:var(--gray-3); color:var(--ink); }
.swal2-popup.bo-swal .bo-swal__input { margin:12px 0 0; padding-left:14px; box-shadow:none; }
.swal2-popup.bo-swal .bo-swal__input:focus { box-shadow:0 0 0 3px var(--blue-soft); }
.swal2-popup.bo-swal .bo-swal__validation { margin:8px 0 0; padding:8px 12px; background:#ffd6cf; color:#7a1d14; font-size:13px; border-radius:var(--r); justify-content:flex-start; }
.swal2-popup.bo-swal .bo-swal__validation::before { display:none; }
.swal2-popup.bo-swal .bo-swal__footer { margin:16px 0 0; padding:12px 0 0; border-top:1px solid var(--line); width:100%; font-size:13px; color:var(--ink-3); justify-content:flex-start; }
.swal2-popup.bo-swal .bo-swal__timer { background:var(--blue); height:3px; }
.swal2-popup.bo-swal .bo-swal__loader { border-color:var(--blue) transparent var(--blue) transparent; }
.swal2-popup.bo-swal.swal2-toast { padding:12px 14px; width:auto; max-width:min(360px,calc(100vw - 32px)); grid-template-columns:auto 1fr; align-items:center; column-gap:12px; border-radius:12px; box-shadow:0 12px 32px rgba(0,0,0,.18); }
.swal2-popup.bo-swal.swal2-toast .swal2-icon.bo-swal__icon { width:32px; height:32px; margin:0; border-radius:9px; }
.swal2-popup.bo-swal.swal2-toast .swal2-icon .swal2-icon-content { font-size:18px; }
.swal2-popup.bo-swal.swal2-toast .bo-swal__title { font-size:14px; margin:0; }
.swal2-popup.bo-swal.swal2-toast .bo-swal__text { font-size:13px; line-height:18px; }
@keyframes bo-swal-in { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:none; } }
@keyframes bo-swal-out { from { opacity:1; transform:none; } to { opacity:0; transform:translateY(8px) scale(.98); } }
.swal2-popup.bo-swal-in { animation:bo-swal-in .3s cubic-bezier(.16,1,.3,1) both; }
.swal2-popup.bo-swal-out { animation:bo-swal-out .2s ease both; }
@media (max-width:560px) { .swal2-container.bo-swal-backdrop { align-items:flex-end; padding:0; } .swal2-popup.bo-swal:not(.swal2-toast) { width:100%; border-radius:16px 16px 0 0; padding:20px 18px calc(18px + env(safe-area-inset-bottom,0px)); } .swal2-popup.bo-swal:not(.swal2-toast)::before { content:''; position:absolute; top:8px; left:50%; width:40px; height:4px; border-radius:2px; background:rgba(0,0,0,.18); transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .swal2-popup.bo-swal-in, .swal2-popup.bo-swal-out { animation:none; } }

/* ===== tawaran 3 bulan saat klik Daftar & Bayar (SweetAlert2, checkout.js: offer3Months) ===== */
.swal2-popup.co-offer__popup { width:min(440px,calc(100vw - 32px)); }
.co-offer__popup .co-offer__html { margin:0; padding:0; text-align:left; font-size:15px; line-height:22px; color:var(--ink-2); }
.co-offer__tag { display:inline-block; font-size:12px; font-weight:600; letter-spacing:.02em; text-transform:uppercase; color:var(--blue); background:var(--blue-soft); padding:3px 10px; border-radius:999px; margin-bottom:10px; }
.co-offer__title { font-size:22px; line-height:1.2; font-weight:700; letter-spacing:-.02em; color:var(--ink); margin:0 0 8px; }
.co-offer__lead { margin:0 0 16px; } .co-offer__lead b { color:var(--ink); }
.co-offer__cmp { display:grid; gap:8px; }
.co-offer__opt { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 14px; border:1px solid var(--line); border-radius:var(--r); font-size:14px; }
.co-offer__opt b { color:var(--ink); white-space:nowrap; }
.co-offer__opt.is-best { border-color:var(--blue); background:var(--blue-soft); }
.co-offer__opt.is-best b { color:var(--blue); font-size:16px; }
.co-offer__opt em { font-style:normal; font-size:11px; font-weight:600; color:#16794a; background:rgba(22,163,74,.14); padding:2px 8px; border-radius:999px; margin-left:6px; }
.co-offer__popup .co-offer__actions { display:flex; flex-direction:column; gap:6px; width:100%; margin:18px 0 0; }
.co-offer__popup .co-offer__yes { width:100%; margin:0; }
.co-offer__popup .co-offer__no { background:none; border:0; padding:10px; font:inherit; font-size:14px; color:var(--ink-3); cursor:pointer; border-radius:var(--r); }
.co-offer__popup .co-offer__no:hover { background:var(--gray-1); color:var(--ink); }
