/* Bride Era R14.7.175: abertura com cadeado e chave, raspadinha e cupom do Planner físico. */
html.r175-pre body>*:not(#r175Intro){opacity:0!important}
html.r175-locked,html.r175-locked body{overflow:hidden!important}

/* ============ ABERTURA ============ */
.r175-intro{position:fixed;inset:0;z-index:2147482000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden;
  background:radial-gradient(70% 55% at 50% 40%,#fff9f5 0,#fbe9e3 45%,#efd3ca 100%);color:#5a3a36;font-family:Jost,system-ui,sans-serif;opacity:0;transition:opacity .6s ease}
.r175-intro.is-on{opacity:1}
.r175-intro.is-fine,.r175-intro.is-fine *{cursor:none!important}
.r175-intro.is-gone{opacity:0;transition:opacity .85s ease .05s;pointer-events:none}
.r175-intro::before{content:'';position:absolute;inset:-20%;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.7),transparent 30%),radial-gradient(circle at 80% 70%,rgba(233,207,134,.25),transparent 35%);animation:r175Glow 9s ease-in-out infinite alternate}
@keyframes r175Glow{to{transform:translate(3%,-2%) scale(1.05)}}
.r175-petals i{position:absolute;top:-6%;left:var(--l);width:16px;height:12px;border-radius:12px 0 12px 0;background:linear-gradient(135deg,#f6cfc6,#e8a99e);opacity:.75;transform:scale(var(--s));animation:r175Fall var(--d) linear var(--del) infinite}
@keyframes r175Fall{to{transform:translate(60px,115vh) rotate(540deg) scale(var(--s))}}
.r175-sparks b{position:absolute;left:var(--x);top:var(--y);width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 10px 3px rgba(233,207,134,.9);animation:r175Twinkle 2.6s ease-in-out var(--del) infinite}
@keyframes r175Twinkle{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1)}}
.r175-intro-kicker{position:relative;margin:0;font:600 .7rem/1 Jost,sans-serif;letter-spacing:.42em;color:#a07a72}
.r175-intro-title{position:relative;margin:0 0 6px;font:400 clamp(1.7rem,4.6vw,2.9rem)/1.05 'Cormorant Garamond',Georgia,serif;color:#3a2c29;text-align:center;padding:0 16px}
.r175-intro-title em{font-family:'Pinyon Script','Cormorant Garamond',cursive;font-style:normal;color:#b8862e;font-size:1.15em}
.r175-intro-hint{position:relative;margin:6px 0 0;font:500 .9rem Jost,sans-serif;color:#7d5a52;animation:r175Hint 2.4s ease-in-out infinite}
@keyframes r175Hint{50%{opacity:.55}}
.r175-skip{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);border:0;background:rgba(255,255,255,.65);color:#7d5a52;font:500 .78rem Jost,sans-serif;padding:8px 16px;border-radius:999px;z-index:5}
.r175-stage{position:relative;perspective:1900px;width:min(70vw,330px);aspect-ratio:172/252;margin:6px 0}
@media(max-height:700px){.r175-stage{width:min(56vw,250px)}}
.r175-book{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(8deg) rotateY(-14deg);transition:transform 1.2s cubic-bezier(.2,.8,.2,1);animation:r175Breath 4.5s ease-in-out infinite}
@keyframes r175Breath{50%{translate:0 -8px}}
.is-opening .r175-book{animation:none}
.r175-pages{position:absolute;inset:0;transform-style:preserve-3d}
.r175-page{position:absolute;inset:3px 3px 3px 0;border-radius:2px 10px 10px 2px;background:linear-gradient(90deg,#efe4da,#fffaf3 8%,#fffdf8);box-shadow:inset -2px 0 0 #ede0d4,0 18px 40px rgba(90,58,54,.25);transform-origin:left center}
.r175-page.p2{transform:translateZ(-4px)}.r175-page.p3{transform:translateZ(-8px);box-shadow:inset -2px 0 0 #e6d6c8,0 30px 60px rgba(90,58,54,.35)}
.r175-page.p1{transform:translateZ(-1px);display:grid;place-items:center;background:repeating-linear-gradient(transparent 0 23px,rgba(201,139,126,.12) 23px 24px),linear-gradient(90deg,#efe4da,#fffaf3 8%,#fffdf8)}
.r175-first{display:grid;gap:6px;justify-items:center;text-align:center;padding:20px;opacity:0;transform:translateY(10px);transition:opacity .8s ease .5s,transform .8s ease .5s}
.is-open .r175-first{opacity:1;transform:none}
.r175-first span{font-size:2rem}.r175-first b{font:500 .78rem Jost,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:#a07a72}
.r175-first em{font:400 clamp(2rem,6vw,2.8rem)/1 'Pinyon Script','Cormorant Garamond',cursive;color:#b8862e;font-style:normal}
.r175-first small{font:italic 500 1rem 'Cormorant Garamond',Georgia,serif;color:#7d4f50}
.r175-cover{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:left center;transition:transform 1.35s cubic-bezier(.55,.05,.25,1)}
.r175-cover-front,.r175-cover-back{position:absolute;inset:0;border-radius:6px 16px 16px 6px;overflow:hidden;backface-visibility:hidden}
.r175-cover-front{box-shadow:0 30px 60px rgba(90,58,54,.35),inset 7px 0 0 rgba(0,0,0,.06);background:#fbefe9}
.r175-cover-front::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.35),transparent 30%,transparent 70%,rgba(255,255,255,.15));pointer-events:none}
.r175-cover-back{transform:rotateY(180deg);background:linear-gradient(90deg,#f7ece6,#fffaf5);display:grid;align-content:center;justify-items:center;gap:12px;padding:20px;text-align:center}
.r175-cover-back span{font:italic 500 1.1rem 'Cormorant Garamond',Georgia,serif;color:#7d4f50}
.r175-cover-back i{display:block;width:70%;height:1px;background:rgba(155,117,112,.5)}
.r175-cover-back small{font:500 .66rem Jost,sans-serif;letter-spacing:.2em;color:#a07a72;text-transform:uppercase}
.r175-cover-fallback{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:linear-gradient(160deg,#fffaf6,#f5e1d8)}
.r175-cover-fallback b{font:500 1rem Jost,sans-serif;letter-spacing:.3em;color:#a07a72}.r175-cover-fallback em{font:400 3rem 'Pinyon Script',cursive;color:#b8862e}
.is-open .r175-cover{transform:rotateY(-168deg)}
.is-open .r175-book{transform:rotateX(0) rotateY(0) translateX(50%) scale(.92)}
.is-zoom .r175-book{transform:translateX(50%) scale(3.2);transition:transform .7s cubic-bezier(.6,0,.3,1)}
.r175-intro.is-zoom{opacity:0;transition:opacity .7s ease .1s}
.is-zoom .r175-intro-title,.is-zoom .r175-intro-kicker,.is-zoom .r175-intro-hint,.is-zoom .r175-skip{opacity:0;transition:opacity .3s}
.r175-strap{position:absolute;left:-2%;right:-3%;top:50%;height:13%;transform:translateY(-50%) translateZ(3px);pointer-events:none}
.r175-strap span{position:absolute;top:0;bottom:0;width:52%;background:linear-gradient(180deg,#f3c9c0,#e8a99e 45%,#d98f84 55%,#f0bfb5);box-shadow:0 4px 10px rgba(120,60,50,.25),inset 0 1px 0 rgba(255,255,255,.5);transition:transform 1s cubic-bezier(.6,0,.4,1),opacity 1s}
.r175-strap .l{left:0;border-radius:2px 0 0 2px}.r175-strap .r{right:0;border-radius:0 6px 6px 0}
.r175-strap::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 2px,transparent 2px 7px);pointer-events:none}
.is-fall .r175-strap .l{transform:translate(-70%,30px) rotate(-12deg);opacity:0}
.is-fall .r175-strap .r{transform:translate(80%,40px) rotate(14deg);opacity:0}
.is-fall .r175-strap::after{opacity:0}
.r175-lock{position:absolute;left:50%;top:50%;width:26%;aspect-ratio:120/150;border:0;padding:0;background:none;transform:translate(-50%,-56%) translateZ(8px);z-index:3;filter:drop-shadow(0 10px 14px rgba(90,58,30,.35));transition:transform .3s}
.r175-lock svg{width:100%;height:100%;overflow:visible}
.r175-lock:focus-visible{outline:3px solid #fff;outline-offset:6px;border-radius:12px}
.is-near .r175-lock{animation:r175Wiggle .5s ease-in-out infinite}
@keyframes r175Wiggle{25%{transform:translate(-50%,-56%) translateZ(8px) rotate(-5deg)}75%{transform:translate(-50%,-56%) translateZ(8px) rotate(5deg)}}
.r175-lock-glow{position:absolute;inset:-30%;border-radius:50%;background:radial-gradient(circle,rgba(255,236,170,.75),transparent 65%);opacity:0;transition:opacity .3s;pointer-events:none}
.is-near .r175-lock-glow,.is-turn .r175-lock-glow{opacity:1}
.r175-shackle{transition:transform .35s cubic-bezier(.3,1.8,.5,1);transform-origin:90px 70px}
.is-unlocked .r175-shackle{transform:translate(0,-16px) rotate(18deg)}
.is-unlocked .r175-lock{animation:none}
.is-fall .r175-lock{animation:r175Drop 1s cubic-bezier(.55,0,.8,.3) forwards}
@keyframes r175Drop{0%{transform:translate(-50%,-56%) translateZ(8px)}20%{transform:translate(-50%,-66%) translateZ(8px) rotate(-8deg)}100%{transform:translate(-30%,160vh) translateZ(8px) rotate(60deg)}}
.r175-key{position:fixed;left:0;top:0;width:150px;z-index:6;pointer-events:none;filter:drop-shadow(0 10px 14px rgba(90,58,30,.4));transform-origin:36px 40px;will-change:transform}
.r175-key svg{width:100%;height:auto;display:block}
.r175-key.is-bob{animation:r175Bob 1.6s ease-in-out infinite}
@keyframes r175Bob{50%{margin-top:-8px;margin-left:-6px}}
.r175-spark{position:fixed;z-index:2147482500;pointer-events:none;font-size:20px;transform:translate(-50%,-50%);animation:r175SparkFly 1.3s cubic-bezier(.15,.7,.3,1) forwards}
@keyframes r175SparkFly{0%{opacity:1;transform:translate(-50%,-50%) scale(.3)}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1.1) rotate(160deg)}}
@media(max-width:640px){.r175-key{width:120px}.r175-intro-title{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){.r175-petals,.r175-sparks{display:none}.r175-book{animation:none}.r175-cover,.r175-book{transition-duration:.01s}}

/* ============ CUPOM ============ */
.pf-coupon{margin:14px 0 6px;padding:14px;border-radius:16px;border:1px dashed rgba(184,134,46,.55);background:linear-gradient(135deg,#fffaf0,#fff6f2)}
.pf-coupon label{display:block;font:600 .8rem Jost,sans-serif;color:#5a3a36;margin-bottom:6px}
.pf-coupon-row{display:flex;gap:8px}
.pf-coupon-row input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.pf-coupon.is-applied{border-style:solid;border-color:#4f8a62;background:linear-gradient(135deg,#f3fbf5,#fffaf0)}
.pf-coupon-msg{margin:6px 0 0;font-size:.78rem;min-height:1em}.pf-coupon-msg.ok{color:#2f6a43}.pf-coupon-msg.err{color:#a23b2e}
.pf-price-preview{display:grid;gap:4px;margin-top:8px;font-size:.84rem;color:#5a3a36}
.pf-price-preview>div{display:flex;justify-content:space-between;gap:10px}
.pf-price-preview s{color:#9b8580}.pf-coupon-ok{color:#2f6a43}
.pf-coupon-total strong{font-size:1.05rem;color:#3a2c29}
.pf-price-preview small{color:#9b8580;font-size:.72rem}
.r175-pill{position:fixed;left:14px;bottom:14px;z-index:9000;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid rgba(184,134,46,.5);background:#fffaf0;box-shadow:0 14px 30px rgba(90,58,30,.2);font:500 .78rem Jost,sans-serif;color:#5a3a36;cursor:pointer;transform:translateY(140%);transition:transform .5s cubic-bezier(.2,.9,.3,1.2)}
.r175-pill.is-on{transform:none}.r175-pill b{letter-spacing:.06em}.r175-pill small{color:#9c5f56}
.r175-pill.is-used{background:#f3fbf5;border-color:#4f8a62}

@media(max-width:640px){.is-open .r175-book{transform:translateX(50%) scale(.64)}.is-zoom .r175-book{transform:translateX(25%) scale(2.4)}}
.pf-coupon-btn{flex:0 0 auto;border:0;border-radius:12px;padding:0 18px;background:#5a3a36;color:#fff;font:600 .82rem Jost,sans-serif;cursor:pointer;min-height:44px}
.pf-coupon-btn:disabled{opacity:.6}
/* R14.7.176: a chave entra na fechadura e gira */
.is-opening:not(.is-fall) .r175-lock{animation:none!important}
.r175-key.is-bob{animation:r176KeyBob 1.6s ease-in-out infinite}
@keyframes r176KeyBob{50%{margin-top:-6px;margin-left:-8px}}
.is-in .r175-key{filter:drop-shadow(0 4px 6px rgba(60,40,10,.45))}
/* R14.7.177: retomar pagamento de pedido não pago */
.pf-resume{margin:16px 0;padding:14px 16px;border:1px solid #e3cfc9;border-radius:8px;background:#fffaf7;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.pf-resume p{margin:0;flex:1 1 260px;font-size:.92rem;color:#5a4744}
