/* Acabamento dos controles. Carregar depois dos estilos da página e dos bônus. */
.bottom{gap:12px;padding:12px 22px max(12px,env(safe-area-inset-bottom));background:#fffefd;border-top:1px solid #ddcbd2;backdrop-filter:none;box-shadow:0 -8px 26px #47203207}
.bottom button{min-height:48px;min-width:84px;padding:12px 13px;border:1px solid transparent;border-radius:8px;font:650 .8rem/1.4 Manrope,Arial,sans-serif;color:var(--wine);background:transparent;transition:background .18s ease,border-color .18s ease}
.bottom #previous{text-align:left;padding-left:3px}
.bottom #previous:hover:not(:disabled){background:#f7edf0}
.bottom .next{min-width:113px;background:var(--wine);border-color:var(--wine);color:#fffefd}
.bottom .next:hover:not(:disabled){background:#50152c;border-color:#50152c}
.bottom button:disabled{opacity:.4;cursor:default}
.bottom .counter{font:550 .68rem/1.5 Manrope,Arial,sans-serif;letter-spacing:.035em;color:var(--muted);font-variant-numeric:tabular-nums}
body:not(.on-cover) .progress button{height:44px;min-height:44px;padding:0}
body:not(.on-cover) .progress button::before{top:21px;height:2px;border-radius:2px}
body:not(.on-cover) .progress button[aria-current="step"]::before{height:3px;transform:none}

.slide:not(.cover) .primary,.sheet .primary{min-height:54px;padding:16px 18px;border:1px solid var(--wine);border-radius:8px;background:var(--wine);color:#fffefd;box-shadow:none;font:700 .86rem/1.5 Manrope,Arial,sans-serif;letter-spacing:-.015em;text-decoration:none;transition:background .18s ease,border-color .18s ease}
.slide:not(.cover) .primary:hover,.sheet .primary:hover{background:#50152c;border-color:#50152c;box-shadow:none}
.slide:not(.cover) .primary:active,.sheet .primary:active{transform:none}
.slide:not(.cover) .primary:disabled,.sheet .primary:disabled{opacity:.42;cursor:default}
.slide:not(.cover) .text-button,.sheet .text-button{min-height:46px;padding:13px 4px;font:550 .76rem/1.6 Manrope,Arial,sans-serif;text-decoration-thickness:1px;text-underline-offset:5px}
.sheet .secondary{min-height:50px;padding:13px 16px;border:1px solid #ae8192;border-radius:8px;background:transparent;color:var(--wine);font:650 .8rem/1.5 Manrope,Arial,sans-serif}
.sheet .secondary:hover:not(:disabled){background:#f7edf0}

.sheet{width:calc(100% - 28px);max-width:510px;max-height:calc(100svh - 28px);padding:42px 26px 22px;border:1px solid #e2cdd5;border-radius:15px;background:#fffefd;box-shadow:0 20px 80px #30112038;scrollbar-gutter:stable;overflow-wrap:break-word}
.sheet::backdrop{background:#30112085;backdrop-filter:blur(4px)}
.sheet .dialog-close{top:8px;right:8px;width:44px;height:44px;padding:0;border-radius:50%;font:400 1.8rem/1 Manrope,Arial,sans-serif;color:var(--wine)}
.sheet .dialog-close:hover{background:#f7edf0}
.sheet h2{font:750 clamp(1.8rem,7.7vw,2.4rem)/1.12 Manrope,Arial,sans-serif;letter-spacing:-.055em;margin:12px 0 17px}
.sheet h2 em{font:inherit;font-weight:500}
.sheet p{font:450 .82rem/1.8 Manrope,Arial,sans-serif}
.sheet .step-label{font-size:.65rem!important;line-height:1.6;letter-spacing:.025em;color:var(--muted);padding-right:22px;margin:0 0 15px}
.sheet fieldset{margin-top:22px;border-top:1px solid #ddcbd2}
.sheet .answer{gap:13px;align-items:flex-start;min-height:62px;padding:16px 9px;margin:0;border:0;border-bottom:1px solid #ddcbd2;border-radius:0;background:transparent;font:500 .81rem/1.75 Manrope,Arial,sans-serif;transition:background .18s ease}
.sheet .answer:hover{transform:none;background:#faf3f5}
.sheet .answer:has(input:checked){border:0;border-bottom:1px solid #ddcbd2;background:#f6e9ee;color:#50152c}
.sheet .answer input{width:19px;height:19px;margin-top:3px;accent-color:var(--wine);flex-shrink:0}
.sheet .answer span{min-width:0}
.sheet .answer:has(input:focus-visible){outline:3px solid #9c3b5d;outline-offset:2px;position:relative;z-index:1}
.sheet .question-privacy{font-size:.67rem!important;line-height:1.75;margin:19px 0 21px;color:var(--muted)}
.sheet.invite-sheet>img{border-radius:0}
.sheet.invite-sheet textarea{border:1px solid #b38a9a;border-radius:6px;padding:14px;background:#fffefd;font:450 .84rem/1.8 Manrope,Arial,sans-serif}
.sheet.invite-sheet .field-label{font-size:.75rem;margin-bottom:9px}

.close .finish-prayer{min-height:54px;padding:16px 17px;border:1px solid #a46d83;border-radius:8px;background:#fffefd;font:650 .82rem/1.5 Manrope,Arial,sans-serif;letter-spacing:-.015em;gap:14px}
.close .finish-prayer:hover:not(:disabled){background:#f7edf0}
.close .finish-prayer span{font-size:1rem;color:var(--wine);flex-shrink:0}
.close .finish-prayer:disabled{background:#f7edf0;opacity:.8}
.close .finish-status{font-size:.71rem!important;line-height:1.75!important;min-height:0}
.close .friend-invite{margin:36px 0 0;border:0;border-radius:0;background:transparent}
.close .friend-copy{padding:24px 0 0}
.close .friend-copy h3{font:750 clamp(1.95rem,8.4vw,2.65rem)/1.1 Manrope,Arial,sans-serif;letter-spacing:-.055em;margin-bottom:15px}
.close .friend-copy h3 em{font:inherit;font-weight:500}
.close .friend-copy p{font-size:.86rem;line-height:1.85;margin-bottom:22px}
.close .friend-copy .share-trigger{gap:11px;min-height:56px;font-size:.8rem;padding:15px 12px;justify-content:center;align-items:center}
.close .friend-copy .text-button{margin-top:5px}

.prayer-bonus{margin-top:44px;padding-top:31px;border-top:1px solid var(--wine)}
.prayer-bonus .bonus-eyebrow{font-size:.63rem;letter-spacing:.11em;line-height:1.8;margin-bottom:16px}
.prayer-bonus h3{font-size:clamp(2.1rem,9vw,2.8rem);line-height:1.08;letter-spacing:-.055em}
.prayer-bonus .bonus-intro{font-size:.86rem;line-height:1.85;margin-bottom:32px}
.prayer-bonus .bonus-format{padding:30px 0 34px;border-color:#ddcbd2}
.prayer-bonus .bonus-format-heading{gap:12px;margin-bottom:15px}
.prayer-bonus .bonus-format-number{font-size:.65rem;font-variant-numeric:tabular-nums}
.prayer-bonus h4{font-size:1.22rem;font-weight:750;line-height:1.4;letter-spacing:-.035em}
.prayer-bonus .bonus-help{font-size:.81rem;line-height:1.85;margin-bottom:20px}
.prayer-bonus .bonus-story-choices{gap:12px;margin-bottom:24px;border-bottom:1px solid #ddcbd2}
.prayer-bonus .bonus-story-choices button{min-height:48px;padding:13px 6px;border:0;border-bottom:2px solid transparent;border-radius:0;margin-bottom:-1px;background:transparent;font:550 .8rem/1.5 Manrope,Arial,sans-serif;color:var(--muted)}
.prayer-bonus .bonus-story-choices button:hover{background:#faf3f5;color:var(--wine)}
.prayer-bonus .bonus-story-choices button[aria-pressed="true"]{background:transparent;border:0;border-bottom:2px solid var(--wine);color:var(--wine);font-weight:750}
.prayer-bonus .bonus-story-figure{max-width:276px;margin-bottom:23px}
.prayer-bonus .bonus-story-figure figcaption{font-size:.69rem;line-height:1.8;margin-top:12px}
.prayer-bonus .bonus-carousel-figure{margin-bottom:22px}
.prayer-bonus .bonus-carousel-navigation{margin-top:12px;gap:15px}
.prayer-bonus .bonus-carousel-navigation button{width:48px;min-height:46px;border:1px solid #b18a9a;border-radius:50%;padding:10px;background:transparent;font:500 1.05rem/1 Manrope,Arial,sans-serif}
.prayer-bonus .bonus-carousel-navigation button:hover:not(:disabled){background:#f6e9ee}
.prayer-bonus .bonus-carousel-navigation span{font-size:.7rem;font-variant-numeric:tabular-nums;letter-spacing:.03em}
.prayer-bonus .bonus-download{min-height:54px;padding:16px 16px;border-radius:8px;border:1px solid var(--wine);font:700 .8rem/1.6 Manrope,Arial,sans-serif;letter-spacing:-.015em;background:var(--wine);color:#fffefd;transition:background .18s ease}
.prayer-bonus .bonus-download:hover{background:#50152c;border-color:#50152c}
.prayer-bonus .bonus-single-download,.prayer-bonus .bonus-copy-link{min-height:46px;padding:13px 3px;font:550 .75rem/1.7 Manrope,Arial,sans-serif;text-underline-offset:5px}
.prayer-bonus .bonus-individual{margin:18px 0 23px;border-color:#ddcbd2}
.prayer-bonus .bonus-individual summary{min-height:50px;padding:16px 0;font-size:.75rem;line-height:1.8}
.prayer-bonus .bonus-individual a{min-height:46px;padding:12px 0;font-size:.75rem}
.prayer-bonus .bonus-howto{margin-top:24px}
.prayer-bonus .bonus-howto li{font-size:.75rem;line-height:1.9;padding-left:25px;margin-bottom:12px}
.prayer-bonus .bonus-footnote{font-size:.67rem;line-height:1.8}
.prayer-bonus .bonus-wallpaper{padding-bottom:0}

.close .notice{margin-top:44px;padding:30px 0 0;border:0;border-top:1px solid var(--wine);border-radius:0;background:transparent}
.close .notice h3{font:750 clamp(1.65rem,7.2vw,2.1rem)/1.2 Manrope,Arial,sans-serif;letter-spacing:-.045em;margin:0 0 16px;color:var(--wine)}
.notice .small{font-size:.8rem;line-height:1.85;margin-bottom:24px}
.notice legend{font:650 .77rem/1.7 Manrope,Arial,sans-serif;color:var(--wine)}
.notice .choices{gap:20px;margin:11px 0 23px;flex-wrap:wrap;border-bottom:1px solid #ddcbd2}
.notice .choices label{gap:9px;min-height:48px;margin-bottom:-1px;padding:11px 0;border-bottom:2px solid transparent;font:550 .8rem/1.7 Manrope,Arial,sans-serif}
.notice .choices label:has(input:checked){border-bottom-color:var(--wine);color:var(--wine);font-weight:700}
.notice .choices input{width:19px;height:19px;accent-color:var(--wine);margin:0;flex-shrink:0}
.notice .field-label{font:650 .72rem/1.7 Manrope,Arial,sans-serif;color:var(--wine);margin:0 0 8px}
.notice .phone{grid-template-columns:76px minmax(0,1fr);gap:13px}
.notice input[type="tel"],.notice input[type="email"]{min-height:54px;padding:14px 11px;border:1px solid #b18a9a;border-radius:6px;background:#fffefd;color:var(--ink);font:500 16px/1.5 Manrope,Arial,sans-serif;box-shadow:none}
.notice input::placeholder{color:#856773;opacity:1}
.notice input:user-invalid{border-color:#9d244c}
.notice .consent{gap:12px;min-height:44px;font:450 .75rem/1.85 Manrope,Arial,sans-serif;margin:24px 0;align-items:flex-start}
.notice .consent input{width:20px;height:20px;margin:3px 0 0;flex-shrink:0;accent-color:var(--wine)}
.notice .consent span{min-width:0}
.notice .consent.optional{padding-top:21px;border-top:1px solid #ddcbd2}
.notice .primary{margin-top:26px}
.notice .privacy{font-size:.67rem;line-height:1.85;color:var(--muted);margin-top:19px!important}
.notice .status{font-size:.79rem!important;line-height:1.8;margin-top:18px!important}

.bottom button:focus-visible,.slide:not(.cover) .primary:focus-visible,.slide:not(.cover) .text-button:focus-visible,.sheet button:focus-visible,.sheet a:focus-visible,.sheet input:focus-visible,.sheet textarea:focus-visible,.prayer-bonus button:focus-visible,.prayer-bonus a:focus-visible,.notice input:focus-visible,.close .finish-prayer:focus-visible{outline:3px solid #9c3b5d;outline-offset:4px}
@media(max-width:350px){.bottom{gap:8px;padding-left:17px;padding-right:17px}.bottom button{min-width:75px;font-size:.75rem}.bottom .next{min-width:103px}.bottom .counter{font-size:.64rem}.sheet{width:calc(100% - 20px);padding:42px 20px 19px}.sheet h2{font-size:1.8rem}.sheet .answer{padding:14px 6px;font-size:.79rem;gap:11px}.close .friend-copy .share-trigger{font-size:.75rem;gap:8px}.prayer-bonus h3{font-size:2.05rem}.prayer-bonus h4{font-size:1.13rem}.prayer-bonus .bonus-download{font-size:.76rem;padding-left:13px;padding-right:13px}.notice .phone{grid-template-columns:70px minmax(0,1fr);gap:10px}}
@media(prefers-reduced-motion:reduce){.bottom button,.slide:not(.cover) .primary,.sheet .primary,.sheet .answer,.prayer-bonus .bonus-download{transition:none!important}.sheet[open]{animation:none!important}}
