/* Modular subscription screen: no ad SDKs or ad slots. */
#subscription-overlay{position:fixed;inset:0;z-index:250;background:var(--bg);color:var(--ink);height:100dvh;width:100vw;overflow:hidden;transform:translate3d(100%,0,0);transition:transform .29s cubic-bezier(.22,.82,.22,1)}
#subscription-overlay[data-open="true"]{transform:translate3d(0,0,0)}
#subscription-overlay .subs-shell{height:100%;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
#subscription-overlay .subs-header{height:calc(64px + env(safe-area-inset-top));min-height:calc(64px + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) 18px 12px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);background:var(--surface)}
#subscription-overlay #subscription-back{flex:0 0 42px;width:42px;height:42px;background:var(--soft);color:var(--ink);border:1px solid var(--line);border-radius:10px;font-size:23px;display:grid;place-items:center}
#subscription-overlay #subscription-heading{font-size:18px;font-weight:750;letter-spacing:-.02em;margin:0}
#subscription-overlay #subscription-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:25px 16px calc(36px + env(safe-area-inset-bottom));width:100%;max-width:760px;margin:auto}
#subscription-overlay .subs-lead{margin:0 0 21px}
#subscription-overlay .subs-eyebrow{display:block;color:var(--muted);font-size:11px;letter-spacing:.09em;font-weight:750;text-transform:uppercase;margin-bottom:6px}
#subscription-overlay .subs-lead h2{font-size:clamp(25px,5vw,31px);line-height:1.12;letter-spacing:-.04em;margin:0 0 10px;font-weight:750}
#subscription-overlay .subs-lead p,#subscription-overlay .subs-footer{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
#subscription-overlay .subs-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));gap:12px}
#subscription-overlay .subs-plan-card{min-width:0;border:1.5px solid var(--line);background:var(--surface);border-radius:10px;padding:18px 17px;display:flex;flex-direction:column;gap:14px}
#subscription-overlay .subs-plan-card.is-highlighted{border-color:var(--ink)}
#subscription-overlay .subs-plan-card.is-current{background:var(--soft)}
#subscription-overlay .subs-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
#subscription-overlay .subs-card-head h3{font-size:19px;letter-spacing:-.03em;font-weight:750;margin:0 0 3px}
#subscription-overlay .subs-priority{font-size:12px;color:var(--muted)}
#subscription-overlay .subs-chip{font-size:10px;font-weight:750;border:1px solid var(--line);padding:4px 8px;border-radius:10px;color:var(--ink);white-space:nowrap}
#subscription-overlay .subs-price{display:flex;gap:5px;align-items:baseline;flex-wrap:wrap}
#subscription-overlay .subs-price strong{font-size:26px;letter-spacing:-.04em;line-height:1.1}
#subscription-overlay .subs-price span{font-size:12px;color:var(--muted)}
#subscription-overlay .subs-allowance{display:flex;flex-direction:column;gap:7px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}
#subscription-overlay .subs-inclusions{font-size:11px;color:var(--muted);line-height:1.55;min-height:33px;margin:0;flex:1}
#subscription-overlay .subs-select,#subscription-overlay .subs-primary{appearance:none;display:flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;width:100%;background:var(--ink);border:1px solid var(--ink);border-radius:10px;color:var(--surface);font-size:13px;font-weight:750;text-align:center;text-decoration:none}
#subscription-overlay .subs-select:disabled{background:var(--soft);border-color:var(--line);color:var(--muted);opacity:1}
#subscription-overlay .subs-primary:disabled{opacity:.55}
#subscription-overlay .subs-footer{margin:20px 2px}
#subscription-overlay .subs-management{border-top:1px solid var(--line);margin-top:25px;padding-top:19px}
#subscription-overlay .subs-management h3{font-size:17px;margin:0 0 6px}
#subscription-overlay .subs-management p{font-size:13px;color:var(--muted);margin:0 0 12px}
#subscription-overlay .subs-management-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
#subscription-overlay .subs-secondary{padding:11px 15px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:13px;font-weight:650;min-height:42px}
#subscription-overlay .subs-text-danger{padding:10px 12px;border:0;background:transparent;color:#B83232;font-size:13px;font-weight:650}
#subscription-overlay .subs-warning{color:#A15E00!important}
#subscription-overlay .subs-form{display:flex;flex-direction:column;gap:13px;padding-bottom:20px}
#subscription-overlay .subs-form label:not(.subs-agreement){display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;min-width:0}
#subscription-overlay .subs-form input:not([type="checkbox"]){display:block;width:100%;background:var(--surface);color:var(--ink);height:46px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:15px;min-width:0;outline-offset:2px}
#subscription-overlay .subs-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#subscription-overlay .subs-agreement{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:13px;font-size:12px;line-height:1.5}
#subscription-overlay .subs-agreement input{width:19px;height:19px;flex:0 0 19px;accent-color:var(--ink);margin:0}
#subscription-overlay .subs-error{font-size:12px;color:#B83232;margin:7px 0;white-space:pre-wrap}
#subscription-overlay .subs-payment{display:flex;flex-direction:column;gap:14px}
#subscription-overlay .subs-qr{width:min(100%,265px);min-height:110px;display:grid;place-items:center;margin:0 auto 4px;padding:14px;border:1px solid var(--line);border-radius:10px;text-align:center;font-size:13px;color:var(--muted);background:#FFF}
#subscription-overlay .subs-qr svg{width:100%!important;height:auto!important;max-width:225px}
#subscription-overlay .subs-payment-link{color:#FFF;text-decoration:none}
#subscription-overlay .subs-payment-status{font-size:13px;font-weight:650;color:var(--muted);text-align:center}
@media(max-width:450px){
 #subscription-overlay #subscription-content{padding:21px 16px calc(40px + env(safe-area-inset-bottom))}
 #subscription-overlay .subs-cards{grid-template-columns:1fr}
 #subscription-overlay .subs-plan-card{padding:15px 17px;gap:10px}
 #subscription-overlay .subs-inclusions{min-height:0}
}
@media(prefers-reduced-motion:reduce){#subscription-overlay{transition:none}}

/* Consentimento e checkout com navegação horizontal, reduzida quando solicitado. */
#subscription-overlay .subs-slide-in{animation:subs-slide-forward .31s cubic-bezier(.2,.8,.2,1) both}
#subscription-overlay .subs-slide-out{animation:subs-slide-back .29s cubic-bezier(.2,.8,.2,1) both}
@keyframes subs-slide-forward{from{opacity:.55;transform:translate3d(28px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes subs-slide-back{from{opacity:.55;transform:translate3d(-28px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
#subscription-overlay #subscription-back svg{width:21px;height:21px}
#subscription-overlay .subs-select,#subscription-overlay .subs-primary,#subscription-overlay .subs-secondary{transition:transform .18s ease,background-color .18s ease,border-color .18s ease,opacity .18s ease}
#subscription-overlay .subs-select:active,#subscription-overlay .subs-primary:active,#subscription-overlay .subs-secondary:active{transform:scale(.982)}
#subscription-overlay .subs-primary{gap:10px}
#subscription-overlay .subs-primary svg,#subscription-overlay .subs-consent-note svg{width:18px;height:18px;flex:none}
#subscription-overlay .subs-consent-icon{display:grid;place-items:center;width:88px;height:88px;border-radius:10px;background:var(--soft);border:1px solid var(--line);margin:8px auto 24px;animation:subs-icon-enter .45s cubic-bezier(.16,1,.3,1) both}
#subscription-overlay .subs-consent-icon svg{width:42px;height:42px;stroke-width:1.5}
#subscription-overlay .subs-consent-note{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.55;color:var(--muted);padding:14px;margin:0 0 16px;background:var(--surface);border:1px solid var(--line);border-radius:10px}
@keyframes subs-icon-enter{from{transform:scale(.8) translateY(12px);opacity:.2}to{transform:none;opacity:1}}
#subscription-overlay .subs-address-heading{display:flex;align-items:center;gap:8px;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;margin-top:5px;flex-wrap:wrap}
#subscription-overlay .subs-address-heading strong{display:inline-flex;align-items:center;gap:8px;font-size:14px}
#subscription-overlay .subs-address-heading svg{width:18px;height:18px}
#subscription-overlay .subs-address-heading span{font-size:11px;color:var(--muted)}
#subscription-overlay .rande-address-fields{display:flex;flex-direction:column;gap:13px}
#subscription-overlay .rande-address-fields .address-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#subscription-overlay .rande-address-fields .address-lookup-status{font-size:12px;line-height:1.5;margin:0;color:var(--muted);min-height:0}
#subscription-overlay .rande-address-fields input[name=state]{text-transform:uppercase}
#subscription-overlay .subs-form input:not([type=checkbox]){transition:border-color .18s ease,box-shadow .18s ease}
#subscription-overlay .subs-form input:not([type=checkbox]):focus{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 10%,transparent)}
#subscription-overlay .subs-form label .address-label-icon{display:inline-flex;gap:7px;align-items:center}
#subscription-overlay .subs-form label .address-label-icon svg{width:15px;height:15px;opacity:.75}
@media(prefers-reduced-motion:reduce){
 #subscription-overlay .subs-slide-in,#subscription-overlay .subs-slide-out,#subscription-overlay .subs-consent-icon{animation:none!important}
 #subscription-overlay .subs-select,#subscription-overlay .subs-primary,#subscription-overlay .subs-secondary,#subscription-overlay .subs-form input{transition:none!important}
}
#subscription-overlay .subs-field-label{display:inline-flex;align-items:center;gap:8px}
#subscription-overlay .subs-field-label svg{width:16px;height:16px;stroke-width:1.75}
#subscription-overlay .subs-secondary svg{width:17px;height:17px}

.rande-address-fields label{position:relative}
.rande-address-fields .address-options{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:25;max-height:min(260px,38vh);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:2px;padding:5px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,.12);animation:address-menu-appear .2s cubic-bezier(.2,.8,.2,1) both}
.rande-address-fields .address-options[hidden]{display:none!important}
.rande-address-fields .address-option{display:block;text-align:left;width:100%;padding:9px 11px;border:none;border-radius:8px;background:transparent;color:inherit;font-size:13px;line-height:1.45}
.rande-address-fields .address-option.is-selected,.rande-address-fields .address-option:focus-visible{background:var(--soft);outline:none}
@media(hover:hover) and (pointer:fine){.rande-address-fields .address-option:hover{background:var(--soft)}}
@keyframes address-menu-appear{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.rande-address-fields .address-options{animation:none!important}}

/* Ação de interromper cobrança no próprio cartão do plano ativo. */
#subscription-overlay .subs-cancel-plan{width:100%;min-height:44px;padding:10px 12px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid color-mix(in srgb,#AE3838 35%,var(--line));border-radius:10px;background:var(--surface);color:#A72E34;font-size:13px;font-weight:720;transition:transform .2s ease,background .2s ease,border-color .2s ease}
@media(hover:hover) and (pointer:fine){#subscription-overlay .subs-cancel-plan:hover{background:color-mix(in srgb,#AD3434 6%,var(--surface))}}
#subscription-overlay .subs-cancel-plan:active{transform:scale(.985)}
#subscription-overlay .subs-cancel-plan svg,#subscription-overlay .subs-text-danger svg{width:17px;height:17px;stroke-width:1.9;flex:none}
#subscription-overlay .subs-text-danger{display:inline-flex;align-items:center;gap:8px}
#subscription-overlay .subs-cancel-plan:focus-visible{outline:3px solid color-mix(in srgb,#A72E34 45%,transparent);outline-offset:3px}
@media(prefers-reduced-motion:reduce){#subscription-overlay .subs-cancel-plan{transition:none!important}}

/* Na assinatura paga, a ação de cancelamento substitui Plano atual no mesmo botão. */
#subscription-overlay .subs-select.is-cancel{display:flex;align-items:center;gap:9px;border-color:#AC353B;background:var(--surface);color:#A62B35}
#subscription-overlay .subs-select.is-cancel svg{width:18px;height:18px;flex:none}
#subscription-overlay .subs-select.is-cancel:focus-visible{outline:3px solid color-mix(in srgb,#AC353B 40%,transparent);outline-offset:3px}
@media(hover:hover) and (pointer:fine){#subscription-overlay .subs-select.is-cancel:hover{background:color-mix(in srgb,#AC353B 8%,var(--surface))}}
@media(prefers-reduced-motion:reduce){#subscription-overlay .subs-select.is-cancel{transition:none!important}}

/* Confirmação automática pela Woovi: indicador passivo, sem ação manual. */
#subscription-overlay .subs-webhook-status{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:17px;margin-top:14px;animation:subs-slide-forward .32s cubic-bezier(.2,.8,.2,1) both}
#subscription-overlay .subs-webhook-status>svg{flex:none;width:20px;height:20px;opacity:.8}
#subscription-overlay .subs-webhook-status strong{font-size:14px;display:block}
#subscription-overlay .subs-webhook-status p{font-size:12px;color:var(--muted);line-height:1.55;margin:5px 0 0}
#subscription-overlay .subs-payment-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:23px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-align:center;margin:12px 0}
#subscription-overlay .subs-payment-state>svg{width:30px;height:30px;stroke-width:1.6}
#subscription-overlay .subs-payment-state p{font-size:13px;color:var(--muted);line-height:1.55;margin:0}
#subscription-overlay .subs-payment-link svg,#subscription-overlay .subs-secondary svg{width:18px;height:18px;flex:none}
#subscription-overlay .subs-primary svg{width:18px;height:18px;flex:none}
@keyframes subs-webhook-pulse{0%,100%{opacity:.6;transform:scale(.96)}50%{opacity:1;transform:scale(1.06)}}
@media(prefers-reduced-motion:reduce){#subscription-overlay .subs-webhook-status,#subscription-overlay .subs-webhook-status>svg{animation:none!important}}

/* Endereço padrão: cartão retrátil autoral, transição suave e sem detalhes nativos. */
.rande-address-card{border:1px solid var(--line);border-radius:10px;background:var(--raised,var(--surface));overflow:visible;box-shadow:0 7px 24px rgba(13,15,20,.045);transition:border-color .25s ease,box-shadow .25s ease}
@media(hover:hover) and (pointer:fine){.rande-address-card:hover{border-color:color-mix(in srgb,var(--text,var(--ink)) 25%,var(--line))}}
.rande-address-card:focus-within{border-color:color-mix(in srgb,var(--text,var(--ink)) 40%,var(--line));box-shadow:0 9px 25px rgba(9,12,17,.07)}
.rande-address-card-trigger{appearance:none;display:flex;align-items:center;gap:11px;padding:15px;width:100%;min-height:78px;color:var(--text,var(--ink));background:transparent;border:0;border-radius:10px;cursor:pointer;text-align:left}
.rande-address-card-trigger:focus-visible{outline:3px solid color-mix(in srgb,var(--text,var(--ink)) 38%,transparent);outline-offset:3px}
.rande-address-card-pin{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:var(--control-hover,var(--soft));color:var(--text,var(--ink))}
.rande-address-card-pin svg{width:19px;height:19px;stroke-width:1.8}
.rande-address-card-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}
.rande-address-card-copy strong{font-size:13px;font-weight:760;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rande-address-card-copy small{font-size:11px;line-height:1.35;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rande-address-card-label{color:var(--text,var(--ink));background:var(--control-hover,var(--soft));border:1px solid var(--line);border-radius:10px;padding:5px 9px;font-size:10px;font-weight:700;white-space:nowrap;opacity:0;transform:translateY(3px);transition:opacity .2s,transform .2s}
.rande-address-card.has-address .rande-address-card-label{opacity:1;transform:none}
.rande-address-card-chevron{width:18px;height:18px;flex:0 0 18px;transition:transform .38s cubic-bezier(.16,1,.3,1)}
.rande-address-card.is-expanded .rande-address-card-chevron{transform:rotate(180deg)}
.rande-address-card-reveal{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .38s cubic-bezier(.16,1,.3,1),opacity .25s;pointer-events:none}
.rande-address-card.is-expanded .rande-address-card-reveal{grid-template-rows:1fr;opacity:1;pointer-events:auto}
.rande-address-card-fields{min-height:0;overflow:hidden;padding:0 15px;transition:padding .38s cubic-bezier(.16,1,.3,1)}
.rande-address-card.is-expanded .rande-address-card-fields{padding:4px 15px 17px;overflow:visible}
.rande-address-card.is-expanded .rande-address-card-trigger{border-radius:10px 10px 0 0}
.rande-address-card.is-expanded .rande-address-card-trigger::after{content:'';position:absolute}
@media(max-width:430px){.rande-address-card-trigger{padding:13px;gap:9px}.rande-address-card-label{font-size:9px;padding:5px 7px}.rande-address-card-pin{width:36px;height:36px;flex-basis:36px}.rande-address-card-fields{padding-inline:12px}.rande-address-card.is-expanded .rande-address-card-fields{padding:3px 12px 14px}}
@media(prefers-reduced-motion:reduce){.rande-address-card,.rande-address-card-label,.rande-address-card-chevron,.rande-address-card-reveal,.rande-address-card-fields{transition:none!important}}

/* Navegação de telas: a anterior desliza para fora enquanto a próxima entra. */
#subscription-overlay .subs-shell{position:relative;isolation:isolate}
#subscription-overlay .subs-page-ghost{position:absolute;z-index:2;overflow:hidden;pointer-events:none;inert:true;padding:21px 16px 40px;color:var(--ink);background:var(--bg);box-sizing:border-box;will-change:transform,opacity}
#subscription-overlay #subscription-content.subs-enter-forward{animation:subs-page-enter-forward .43s cubic-bezier(.16,1,.3,1) both}
#subscription-overlay #subscription-content.subs-enter-back{animation:subs-page-enter-back .43s cubic-bezier(.16,1,.3,1) both}
#subscription-overlay .subs-exit-forward{animation:subs-page-exit-forward .43s cubic-bezier(.16,1,.3,1) both}
#subscription-overlay .subs-exit-back{animation:subs-page-exit-back .43s cubic-bezier(.16,1,.3,1) both}
@keyframes subs-page-enter-forward{from{opacity:.32;transform:translate3d(38px,0,0) scale(.985)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes subs-page-exit-forward{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(-33px,0,0)}}
@keyframes subs-page-enter-back{from{opacity:.32;transform:translate3d(-38px,0,0) scale(.985)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes subs-page-exit-back{from{opacity:1;transform:none}to{opacity:0;transform:translate3d(33px,0,0)}}
#subscription-overlay .subs-loading-screen{min-height:min(520px,65vh);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}
#subscription-overlay .subs-loading-icon{width:92px;height:92px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;position:relative;background:var(--surface);margin:0 0 16px;box-shadow:0 6px 35px color-mix(in srgb,var(--ink) 8%,transparent)}
#subscription-overlay .subs-loading-icon>svg{width:43px;height:43px;stroke-width:1.55}
#subscription-overlay .subs-loading-ring{position:absolute;inset:-9px;border-radius:10px;border:3px solid transparent;border-top-color:var(--ink);border-right-color:color-mix(in srgb,var(--ink) 30%,transparent);animation:subs-loading-spin 1.4s linear infinite}
#subscription-overlay .subs-loading-screen h2{font-size:22px;letter-spacing:-.035em;margin:4px 0 0}
#subscription-overlay .subs-loading-screen p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}
#subscription-overlay .subs-loading-skeleton{width:min(350px,88%);display:grid;gap:11px;margin-top:28px}
#subscription-overlay .subs-loading-skeleton span{display:block;height:46px;border-radius:10px;border:1px solid var(--line);background:var(--soft)}
#subscription-overlay .subs-loading-skeleton span:nth-child(2){width:90%;animation-delay:.12s}
#subscription-overlay .subs-loading-skeleton span:nth-child(3){width:72%;animation-delay:.24s}
@keyframes subs-loading-spin{to{transform:rotate(360deg)}}
@keyframes subs-loading-logo{50%{transform:scale(.94);opacity:.58}}
@keyframes subs-skeleton{0%{background-position:100% 0}100%{background-position:-150% 0}}
#subscription-overlay .subs-primary.is-loading svg{animation:subs-loading-spin 1s linear infinite}
#subscription-overlay .subs-cancel-screen{display:flex;flex-direction:column;gap:18px;padding:12px 0 28px}
#subscription-overlay .subs-cancel-art{width:78px;height:78px;border-radius:10px;background:color-mix(in srgb,#B23A40 9%,var(--surface));border:1px solid color-mix(in srgb,#B23A40 22%,var(--line));color:#B23A40;display:grid;place-items:center;animation:subs-icon-enter .45s cubic-bezier(.16,1,.3,1) both}
#subscription-overlay .subs-cancel-art svg{width:37px;height:37px;stroke-width:1.65}
#subscription-overlay .subs-cancel-screen h2{font-size:clamp(23px,5vw,30px);line-height:1.16;letter-spacing:-.035em;margin:-10px 0 0}
#subscription-overlay .subs-cancel-intro{font-size:14px;color:var(--muted);line-height:1.7;margin:0}
#subscription-overlay .subs-cancel-period{display:flex;align-items:flex-start;gap:15px;padding:22px 19px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
#subscription-overlay .subs-cancel-period>svg{width:23px;height:23px;flex:none;margin-top:3px}
#subscription-overlay .subs-cancel-period div{display:flex;flex-direction:column;gap:8px}
#subscription-overlay .subs-cancel-period span{font-size:12px;color:var(--muted)}
#subscription-overlay .subs-cancel-period strong{font-size:29px;letter-spacing:-.04em}
#subscription-overlay .subs-cancel-period small{font-size:12px;line-height:1.5;color:var(--muted)}
#subscription-overlay .subs-cancel-actions{display:flex;flex-direction:column;gap:11px;margin-top:8px}
#subscription-overlay .subs-cancel-confirm{background:#9C2F35;border-color:#9C2F35}
#subscription-overlay .subs-cancel-back{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:49px;font-weight:760}
@media(prefers-reduced-motion:reduce){
 #subscription-overlay .subs-page-ghost{display:none!important}
 #subscription-overlay #subscription-content.subs-enter-forward,#subscription-overlay #subscription-content.subs-enter-back,
 #subscription-overlay .subs-exit-forward,#subscription-overlay .subs-exit-back,
 #subscription-overlay .subs-loading-icon svg,#subscription-overlay .subs-loading-ring,
 #subscription-overlay .subs-loading-skeleton span,#subscription-overlay .subs-primary.is-loading svg,
 #subscription-overlay .subs-cancel-art{animation:none!important}
}

/* Destaque de plano contratado com a mesma linguagem do contador de créditos. */
@media(prefers-reduced-motion:reduce){#subscription-overlay .subs-plan-card.is-current:is([data-tier=basico],[data-tier=atacado]){animation:none!important}}

/* Check personalizado, sem aparência nativa do navegador. */
#subscription-overlay .subs-agreement input[type=checkbox]{appearance:none;-webkit-appearance:none;width:21px;height:21px;min-width:21px;flex:0 0 21px;margin:0;border:1.5px solid color-mix(in srgb,var(--ink) 40%,var(--line));border-radius:6px;background:var(--surface);display:grid;place-items:center;transition:background .18s ease,border-color .18s ease,transform .18s ease}
#subscription-overlay .subs-agreement input[type=checkbox]:checked{background:var(--ink);border-color:var(--ink)}
#subscription-overlay .subs-agreement input[type=checkbox]:checked::after{content:"";display:block;width:10px;height:6px;border-left:2.5px solid var(--surface);border-bottom:2.5px solid var(--surface);transform:translateY(-1px) rotate(-45deg)}
#subscription-overlay .subs-agreement input[type=checkbox]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media(prefers-reduced-motion:reduce){#subscription-overlay .subs-agreement input[type=checkbox]{transition:none!important}}

/* Correção: o conteúdo expandido participa integralmente da altura/rolagem do formulário. */
.rande-address-card-reveal{display:block;max-height:0;overflow:hidden;opacity:0;transition:max-height .46s cubic-bezier(.16,1,.3,1),opacity .27s ease;pointer-events:none}
.rande-address-card.is-expanded .rande-address-card-reveal{max-height:1200px;overflow:visible;opacity:1;pointer-events:auto}
.rande-address-card-fields{min-height:0}
@media(prefers-reduced-motion:reduce){.rande-address-card-reveal{transition:none!important}}

/* Navegação com entrada diagonal a partir da direita, em todas as etapas. */
#subscription-overlay{transition:transform .39s cubic-bezier(.16,1,.3,1)}
#subscription-overlay #subscription-content.subs-enter-forward{animation:subs-enter-profile .39s cubic-bezier(.16,1,.3,1) both}
#subscription-overlay #subscription-content.subs-enter-back{animation:subs-enter-return .39s cubic-bezier(.16,1,.3,1) both}
#subscription-overlay .subs-exit-forward{animation:subs-exit-profile .39s cubic-bezier(.16,1,.3,1) both}
#subscription-overlay .subs-exit-back{animation:subs-exit-return .39s cubic-bezier(.16,1,.3,1) both}
@keyframes subs-enter-profile{from{opacity:.15;transform:translate3d(82px,-12px,0)}to{opacity:1;transform:none}}
@keyframes subs-enter-return{from{opacity:.15;transform:translate3d(-82px,12px,0)}to{opacity:1;transform:none}}
@keyframes subs-exit-profile{to{opacity:0;transform:translate3d(-75px,12px,0)}}
@keyframes subs-exit-return{to{opacity:0;transform:translate3d(75px,-12px,0)}}
.rande-address-card-chevron{display:block;width:10px;height:10px;flex:0 0 10px;border:solid currentColor;border-width:0 1.8px 1.8px 0;transform:rotate(45deg);margin-right:4px}
.rande-address-card.is-expanded .rande-address-card-chevron{transform:rotate(225deg)}
#subscription-overlay .subs-cancel-screen{padding-top:25px}
#subscription-overlay .subs-cancel-period{gap:4px}
@media(prefers-reduced-motion:reduce){#subscription-overlay,#subscription-overlay #subscription-content.subs-enter-forward,#subscription-overlay #subscription-content.subs-enter-back,#subscription-overlay .subs-exit-forward,#subscription-overlay .subs-exit-back{animation:none!important;transition:none!important}}

/* Telas de assinatura: movimento horizontal puro, sem inclinação nem escala. */
#subscription-overlay .subs-page-ghost{z-index:2;box-shadow:none;overflow:hidden}
#subscription-overlay #subscription-content{will-change:transform}
#subscription-overlay .subs-connect{display:flex;min-height:55dvh;flex-direction:column;justify-content:center;align-items:center;gap:16px;text-align:center}
#subscription-overlay .subs-connect .auth-spinner{width:40px;height:40px;flex:none}
#subscription-overlay .subs-connect p{font-size:15px;font-weight:600;color:var(--muted);margin:0}
#subscription-overlay .subs-lead{margin-bottom:18px}
#subscription-overlay .subs-lead h2{font-size:27px;line-height:1.2}
#subscription-overlay .subs-cards{gap:14px}
#subscription-overlay .subs-plan-card{gap:13px;padding:19px;border-radius:10px}
#subscription-overlay .subs-plan-card.is-current{order:-1}
#subscription-overlay .subs-plan-card h3{font-size:22px}
#subscription-overlay .subs-allowance{font-size:15px;line-height:1.6}
#subscription-overlay .subs-select,#subscription-overlay .subs-primary{min-height:50px;font-size:15px}
#subscription-overlay .subs-secondary{min-height:48px;font-size:14px}
#subscription-overlay .subs-plan-status{font-size:13px;line-height:1.5;font-weight:650;color:var(--muted);margin:0}
#subscription-overlay .subs-payment-line{font-size:18px;font-weight:760;letter-spacing:-.01em;text-align:center;margin:18px 0 0;color:var(--ink);border:0;background:transparent;padding:0}
#subscription-overlay .subs-expiry{font-size:13px;line-height:1.5;color:var(--muted);text-align:center;margin:2px 0 0}
#subscription-overlay .subs-payment-note{font-size:14px;text-align:center;color:var(--muted);line-height:1.5}
#subscription-overlay .subs-copy-pix{display:flex;justify-content:center;align-items:center;gap:10px}
#subscription-overlay .subs-cancel-period{padding:18px;border-radius:10px}
#subscription-overlay .subs-cancel-screen{gap:14px}
@media(prefers-reduced-motion:reduce){#subscription-overlay #subscription-content{will-change:auto}}


/* Conteúdo de pagamento: somente QR, valor e copiar, centralizados. */
#subscription-overlay #subscription-content:has(> .subs-connect),
#subscription-overlay #subscription-content:has(> .subs-payment-layout){
 display:flex;flex-direction:column;align-items:center;justify-content:center;
}
#subscription-overlay .subs-connect{min-height:0;width:100%;flex:0 0 auto;gap:17px}
#subscription-overlay .subs-payment-layout{width:100%;max-width:380px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:23px;margin:auto;padding:12px 0;text-align:center}
#subscription-overlay .subs-payment-layout .subs-qr{width:min(78vw,285px);min-height:min(78vw,285px);max-width:285px;display:flex;justify-content:center;align-items:center;margin:0;padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff}
#subscription-overlay .subs-payment-layout .subs-qr svg{max-width:255px;max-height:255px;width:100%!important;height:auto!important}
#subscription-overlay .subs-payment-amount{font-size:clamp(27px,7vw,36px);line-height:1.2;letter-spacing:-.045em;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
#subscription-overlay .subs-payment-layout .subs-copy-pix{display:flex;align-items:center;justify-content:center;gap:10px;width:min(100%,285px);min-height:52px;font-size:15px;font-weight:750;border-radius:10px}
#subscription-overlay .subs-payment-layout .subs-payment-note{margin:0}
#subscription-overlay .subs-payment-layout .subs-error:not([hidden]){margin:0;font-size:13px}
#subscription-overlay .subs-payment-layout .subs-error[hidden]{display:none}
#subscription-overlay .rande-address-card-reveal{overflow:hidden;max-height:0;opacity:0;transition:max-height .42s cubic-bezier(.22,.8,.2,1),opacity .32s ease;will-change:max-height}
#subscription-overlay .rande-address-card.is-expanded .rande-address-card-reveal{opacity:1}
#subscription-overlay .rande-address-card.is-animating .rande-address-card-reveal{overflow:hidden!important}
#subscription-overlay .rande-address-card:not(.is-expanded) .rande-address-card-reveal{pointer-events:none}
#subscription-overlay .rande-address-card.is-readonly input[readonly]{opacity:1;cursor:default;background:var(--soft);border-color:var(--line);color:var(--ink)}
#subscription-overlay .rande-address-card.is-readonly input[readonly]:focus{box-shadow:none}
#subscription-overlay .rande-address-card.is-readonly .address-options{display:none!important}
#subscription-overlay .subs-copy-pix:disabled{opacity:.5}
@media(prefers-reduced-motion:reduce){#subscription-overlay .rande-address-card-reveal{transition:none!important;will-change:auto}}

/* Dados importados do Rande ID são visíveis, mas não editáveis no checkout. */
#subscription-overlay .subs-form input.subs-account-locked[readonly]{background:var(--soft);border-color:var(--line);color:var(--ink);opacity:1;cursor:default;box-shadow:none}
#subscription-overlay .subs-form input.subs-account-locked[readonly]:focus{box-shadow:none;border-color:var(--line)}

/* Renovação agendada: diferença explícita entre valor de hoje e cobrança futura. */
#subscription-overlay .subs-future-billing{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;max-width:360px}
#subscription-overlay .subs-future-billing>strong{font-size:clamp(32px,8vw,42px);line-height:1.1;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
#subscription-overlay .subs-future-billing>span{color:var(--muted);font-size:15px;font-weight:650}
#subscription-overlay .subs-future-billing>p{border-top:1px solid var(--line);padding-top:17px;margin:16px 0 0;font-size:16px;line-height:1.55;color:var(--ink)}
#subscription-overlay .subs-future-billing>p strong{font-weight:800;white-space:nowrap}
