/* ONBOARDING (redesign) — gradiente/card e carrossel de características da aba Par Ideal. */

/* REDESIGN: Onboarding gradient + card */
#page-onboard,#page-preauth,#page-consent{background:linear-gradient(160deg,var(--onboard-bg-1) 0%,var(--sunset-1) 22%,var(--sunset-2) 45%,var(--sunset-3) 68%,var(--sunset-4) 85%,var(--onboard-bg-3) 100%) !important;}
#page-onboard .ob-slide,#page-consent .ob-slide{padding:0;min-height:100dvh;}
.ob-top-bar{display:flex;align-items:center;padding:16px 20px 0;gap:10px;position:absolute;top:0;left:0;right:0;z-index:5;}
.ob-back{background:none;border:none;color:rgba(var(--white-rgb),0.7);font-size:var(--font-size-2xl);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;font-family:var(--font-heading-alt);}
.ob-back:active{opacity:0.5;}
.ob-back.hidden{visibility:hidden;}
.ob-progress{display:flex;gap:4px;flex:1;}
.ob-progress-seg{flex:1;height:3px;border-radius:2px;background:rgba(var(--white-rgb),0.15);transition:background 0.3s;}
.ob-progress-seg.filled{background:var(--accent);}
/* Carrossel horizontal de características (aba Par Ideal) — mesmo padrão de
   barra segmentada do onboarding acima, mas com cores que funcionam sobre o
   card claro/escuro do app (não o fundo escuro fixo do onboarding). */
.ip-carousel-progress{display:flex;gap:4px;margin-bottom:10px;}
.ip-carousel-seg{flex:1;height:3px;border-radius:2px;background:var(--border);transition:background 0.3s;}
.ip-carousel-seg.filled{background:var(--accent);}
.ip-carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;}
.ip-carousel-track::-webkit-scrollbar{display:none;}
.ip-carousel-item{flex:0 0 100%;scroll-snap-align:start;box-sizing:border-box;}
.ip-carousel-card{max-height:clamp(220px,34vh,300px);overflow-y:auto;-webkit-overflow-scrolling:touch;}
.ob-gradient-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:48px;min-height:120px;}
.ob-gradient-area .logo-text{color:rgba(var(--white-rgb),0.85);font-size:24px;letter-spacing:0.15em;font-family:var(--font-heading-alt);font-weight:500;}
.ob-card{background:var(--onboard-surface);border-radius:28px 28px 0 0;padding:32px 28px calc(32px + var(--safe-bottom));width:100%;--text:var(--onboard-text);--text-secondary:var(--onboard-text-secondary);--text-muted:var(--onboard-text-muted);--text-dim:var(--onboard-text-dim);--placeholder:var(--onboard-placeholder);--border:var(--onboard-border);--border-hover:var(--onboard-border-hover);--surface:var(--onboard-surface);--surface2:var(--onboard-surface2);}
.ob-card .ob-q{color:var(--text);text-align:left;margin-bottom:20px;font-size:var(--font-size-2xl);line-height:1.3;font-family:var(--font-heading-alt);font-weight:600;}
.ob-hl{color:var(--accent);font-weight:600;}
.ob-card .ob-input{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:15px 16px;font-size:var(--font-size-lg);font-family:var(--font-heading-alt);}
.ob-card .ob-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),0.12);}
.ob-card .ob-input::placeholder{color:var(--placeholder);}
.ob-card .auth-input{background:var(--surface2);border:1px solid var(--border);color:var(--text);font-family:var(--font-heading-alt);}
.ob-card .auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),0.12);}
.ob-card .auth-input::placeholder{color:var(--placeholder);}
.ob-card .btn-gold{border-radius:12px;padding:15px;font-size:var(--font-size-body);margin-top:12px;font-family:var(--font-heading-alt);font-weight:500;}
.ob-card .btn-google{background:var(--surface2);border:1px solid var(--border);color:var(--text);font-family:var(--font-heading-alt);font-weight:500;}
.ob-card .btn-google:hover{border-color:var(--accent);}
.ob-card .auth-divider{color:var(--text-dim);font-family:var(--font-heading-alt);}
.ob-radio-group{display:flex;gap:32px;margin:8px 0 4px;}
.ob-radio{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--font-size-lg);color:var(--text-secondary);font-family:var(--font-heading-alt);font-weight:400;padding:6px 0;}
.ob-radio-dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--border-hover);display:flex;align-items:center;justify-content:center;transition:all 0.2s;flex-shrink:0;}
.ob-radio.selected .ob-radio-dot{border-color:var(--accent);}
.ob-radio.selected .ob-radio-dot::after{content:'';width:12px;height:12px;border-radius:50%;background:var(--accent);}
.ob-check{display:flex;align-items:flex-start;gap:10px;margin:12px 0;font-size:var(--font-size-base);color:var(--text-secondary);font-family:var(--font-heading-alt);line-height:1.5;}
.ob-check input[type="checkbox"]{width:18px;height:18px;accent-color:var(--accent);margin-top:2px;flex-shrink:0;cursor:pointer;}
.ob-check a{color:var(--accent);text-decoration:underline;}
/* Seletor de idioma do onboarding (#ob-lang) — fixo, abaixo da barra de progresso */
.ob-lang{position:fixed;top:calc(env(safe-area-inset-top,0px) + 36px);right:16px;z-index:60;display:none;font-family:var(--font-heading-alt);}
.ob-lang.show{display:flex;gap:8px;}
.ob-lang .ob-logout-btn{display:none;}
.ob-lang.logged .ob-logout-btn{display:flex;}
.ob-lang-btn{display:flex;align-items:center;gap:6px;background:rgba(var(--white-rgb),0.16);border:1px solid rgba(var(--white-rgb),0.28);color:#fff;border-radius:999px;padding:6px 12px;font-size:var(--font-size-md);font-weight:500;cursor:pointer;font-family:inherit;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.ob-lang-btn:active{opacity:0.7;}
.ob-lang.on-plain .ob-lang-btn{background:transparent;border-color:var(--border);color:var(--text-dim);}
.ob-lang-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;min-width:150px;background:var(--onboard-surface);border:1px solid var(--onboard-border);border-radius:12px;box-shadow:0 8px 24px rgba(var(--black-rgb),0.18);overflow:hidden;}
.ob-lang.open .ob-lang-menu{display:block;}
.ob-lang-menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:11px 16px;font-size:var(--font-size-base);color:var(--onboard-text);font-family:inherit;cursor:pointer;}
.ob-lang-menu button:hover{background:var(--onboard-surface2);}
.ob-lang-menu button.active{color:var(--accent);font-weight:600;}

/* Consentimento (page-consent) */
.consent-body{font-family:var(--font-heading-alt);font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.55;margin-bottom:8px;}
.consent-body p{margin:0 0 10px;}
.consent-body strong{color:var(--text);font-weight:600;}
.consent-links{margin:0 0 6px;padding-left:18px;}
.consent-links a{color:var(--accent);text-decoration:underline;}
.ob-card .ob-msg{font-size:var(--font-size-md);text-align:center;padding:8px 0;display:none;}
/* Convite: tela de conferir os dados (slide-5, renderInviteConfirm). */
.ob-confirm-list{display:flex;flex-direction:column;margin-bottom:8px;}
.ob-confirm-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--border);font-family:var(--font-heading-alt);font-size:var(--font-size-base);color:var(--text-secondary);}
.ob-confirm-row strong{color:var(--text);font-weight:600;text-align:right;}
.ob-confirm-edit{display:block;width:100%;background:none;border:none;margin-top:12px;padding:8px;font-family:var(--font-heading-alt);font-size:var(--font-size-base);color:var(--accent);text-decoration:underline;cursor:pointer;}
