/* Scoped certificate studio; storefront typography remains unchanged. */
.certificate-page *, .certificate-page *::before, .certificate-page *::after{box-sizing:border-box}
.certificate-body{background:#fff}
.certificate-page{--certificate-accent:#e8127e;position:relative;isolation:isolate;max-width:1120px!important;padding-bottom:55px!important}
.certificate-heading{text-align:center;position:relative;margin:0 auto 32px;max-width:800px}
.certificate-kicker{font-size:11px;font-weight:700;color:#bf5e93;letter-spacing:.15em;text-transform:uppercase}
.certificate-heading .page-title{margin:0 0 12px;line-height:1.15}
.certificate-heading>.certificate-kicker{position:absolute;bottom:calc(100% + 8px);left:0;right:0;line-height:14px}
.certificate-heading .page-intro{margin:0 auto;max-width:520px;font-size:15px;color:#897280;line-height:1.65}
.certificate-back{font-size:12px;color:#a94b80;text-decoration:none;display:inline-block;transition:color .3s}
.certificate-back:hover{color:#e8127e}
.certificate-filter-defs{position:absolute;pointer-events:none}
.certificate-scene{--glass-x:25%;--glass-y:10%;position:relative;width:min(100%,920px);height:460px;margin:auto;border-radius:38px;background:linear-gradient(140deg,#fff7 0%,#f9ebf52e 50%,#fff3 100%);border:1px solid #fff;box-shadow:var(--surface-shadow);perspective:1400px}
.certificate-scene__halo{position:absolute;inset:13% 15% 10%;border-radius:50%;background:radial-gradient(ellipse,#ee3b9c1f,transparent 65%);filter:blur(35px);pointer-events:none}
.certificate-float{width:min(570px,76%);position:absolute;left:50%;top:46%;aspect-ratio:1493/1054;transform:translate(-50%,-50%);animation:certificate-float 9s ease-in-out infinite;perspective:1200px}
.certificate-card{width:100%;height:100%;position:relative;transform-style:preserve-3d;transform:rotate(-3deg);transition:transform 1s cubic-bezier(.22,.75,.24,1)}
.certificate-face{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:21px;color:#fff;background:#e91583;box-shadow:0 24px 24px #a40c6929,inset 0 1px 1px #fff7}
.certificate-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.certificate-face__content{position:absolute;inset:0;padding:30px;display:flex;flex-direction:column;align-items:flex-start}
.certificate-type{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.5}
.certificate-value{font-family:Manrope,Arial,sans-serif;font-size:clamp(40px,5.5vw,62px);font-weight:800;letter-spacing:-.05em;line-height:1.25;margin:8px 0 13px;text-shadow:0 2px 8px #9d045620}
.certificate-recipient{display:flex;flex-direction:column;gap:4px;max-width:70%;margin-top:auto;padding-bottom:0;line-height:1.4;min-height:39px;font-size:11px}
.certificate-recipient strong{font-size:16px;font-weight:600;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.certificate-issued{position:absolute;right:27px;bottom:28px;display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-size:10px;line-height:1.4}
.certificate-issued span{opacity:.75;font-size:8px;letter-spacing:.04em}
.certificate-glass{position:absolute;inset:0;z-index:2;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at var(--glass-x) var(--glass-y),#ffffff2b,transparent 40%),linear-gradient(130deg,#ffffff13,transparent 38%,#ffffff13);-webkit-backdrop-filter:blur(.7px) saturate(1.08);backdrop-filter:blur(.7px) saturate(1.08);box-shadow:inset 0 2px 1px #fff,inset 1px 0 1px #fff9,inset 0 -1px 2px #fff9;transition:background .7s}
.certificate-glass:after{content:'';position:absolute;inset:0;border-radius:inherit;border:1px solid #fff9;box-shadow:inset 0 0 20px #fff4}
.certificate-glass.has-refraction{backdrop-filter:url(#tf-certificate-glass) blur(.5px) saturate(1.06)}
.certificate-scene__label{position:absolute;top:22px;left:26px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#a47b94;z-index:3;pointer-events:none}
.glass-surface{position:relative;border:1px solid #ffffffc9;background:linear-gradient(125deg,#ffffffc4,#ffffff97);box-shadow:var(--surface-shadow),inset 0 1px 1px #fff;-webkit-backdrop-filter:blur(26px) saturate(1.2);backdrop-filter:blur(26px) saturate(1.2)}
.certificate-editor{z-index:4;width:min(100% - 36px,790px);margin:-30px auto 0;padding:23px 30px 25px;border-radius:25px}
.certificate-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-bottom:1px solid #dfcbd650;padding-bottom:17px;margin-bottom:20px}
.certificate-steps button{min-width:0;display:grid;grid-template-columns:27px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;text-align:left;padding:10px;border:1px solid transparent;border-radius:12px;background:transparent;color:#968590;cursor:pointer;transition:background .4s,color .4s,box-shadow .4s;font:600 13px Manrope,Arial,sans-serif}
.certificate-steps button .certificate-step-number{grid-row:span 2;font-size:10px;font-weight:700;background:#ede5eb7a;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;transition:background .4s}
.certificate-steps button small{font-size:9px;font-weight:400;margin-top:3px}
.certificate-steps button[aria-selected=true]{background:#ffffffa6;color:var(--certificate-accent);border-color:#fffc;box-shadow:0 3px 14px #ba6c9811}
.certificate-steps button[aria-selected=true] .certificate-step-number{background:#e8127e0d}
.certificate-steps button:hover{background:#ffffff90;color:var(--certificate-accent)}
.certificate-panel-heading{margin-bottom:18px}
.certificate-panel-heading h2,.certificate-editor__title{font:700 18px/1.45 Manrope,Arial,sans-serif;letter-spacing:-.025em;margin:0 0 5px;color:#49333f}
.certificate-panel-heading p{font-size:12px;color:#937887;line-height:1.65;margin:0}
.certificate-step-panel{min-height:130px;animation:certificate-panel-in .4s ease both}
.certificate-amounts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.certificate-amount{font:700 16px Manrope,Arial,sans-serif;background:#ffffff6b;color:#705063;border:1px solid #ffffffd4;border-radius:13px;min-height:55px;cursor:pointer;transition:color .4s,background .4s,box-shadow .45s,transform .45s}
.certificate-amount:hover{background:#fff9;box-shadow:0 5px 20px #e8127e16;transform:translateY(-2px)}
.certificate-amount[aria-pressed=true]{background:#e8127e0b;color:var(--certificate-accent);border-color:#e8127e4d;box-shadow:inset 0 1px 1px #fff,0 5px 20px #e8127e14}
.certificate-field{display:flex;flex-direction:column;gap:8px;color:#654956;font-size:12px;min-width:0}
.certificate-field>span{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.certificate-field>span small{font-size:10px;font-weight:400;color:#a58898}
.certificate-field b{font-weight:500;color:#c75492}
.certificate-field input,.certificate-field textarea{display:block;width:100%;max-width:100%;min-width:0;border:1px solid #e5cdd967;border-radius:12px;padding:13px 16px;font:500 14px/1.6 Manrope,Arial,sans-serif;color:#503641;background:#ffffff80;outline:none;resize:vertical;transition:border-color .4s,background .4s,box-shadow .4s}
.certificate-field input{height:49px}
.certificate-field textarea{min-height:87px;max-height:180px}
.certificate-field input::placeholder,.certificate-field textarea::placeholder{color:#ae919e;font-weight:400}
.certificate-field input:focus,.certificate-field textarea:focus{background:#ffffffe3;border-color:var(--certificate-accent);box-shadow:none}
.certificate-field input[aria-invalid=true]{border-color:#e54a95;background:#fff4f8}
.certificate-error{font-size:11px;color:#bb286e;line-height:1.5}
.certificate-action{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #dfcbd650;margin-top:20px;padding-top:20px}
.certificate-action>div:first-child{display:flex;flex-direction:column;gap:3px;flex-shrink:0}
.certificate-action>div:first-child>span{font-size:10px;color:#9e7c8e}
.certificate-action strong{font-size:20px;font-weight:800;letter-spacing:-.025em;color:#634051}
.certificate-action__buttons{display:flex;align-items:center;gap:20px}
.certificate-primary{font:700 12px/1.4 Manrope,Arial,sans-serif;border:1px solid #ffffff6b;border-radius:12px;padding:15px 23px;min-height:48px;color:#fff;background:linear-gradient(145deg,#f52e9e,var(--certificate-accent));box-shadow:inset 0 1px 1px #ffffff80,0 7px 20px #d7248822;cursor:pointer;transition:box-shadow .55s,transform .55s,filter .55s;white-space:nowrap}
.certificate-primary:hover{box-shadow:inset 0 1px 1px #ffffff80,0 10px 30px #d724883d;transform:translateY(-1px);filter:brightness(1.035)}
.certificate-primary:active{transform:scale(.985)}
.certificate-next{border:0;background:none;color:#b04e86;cursor:pointer;padding:12px 0;font:600 12px Manrope,Arial,sans-serif;transition:color .4s}
.certificate-next span{margin-left:5px}
.certificate-next:hover{color:#e8127e}
.certificate-bottom-note{display:flex;gap:10px;justify-content:center;align-items:center;text-align:center;margin:26px auto 0;color:#a08795;font-size:10px;line-height:1.65}
.certificate-bottom-note p{margin:0}
.certificate-feedback{margin:0;height:0;overflow:hidden;position:absolute;clip-path:inset(50%)}
.certificate-editor__top{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:10px;color:#a68997;margin-bottom:12px}
.certificate-editor__title{font-size:21px;margin-bottom:20px}
.certificate-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.certificate-contact-fields .certificate-field>span{display:block;line-height:1.6}
.certificate-payment{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:20px 0 0;font-size:12px;color:#826474}
.certificate-sbp{display:flex;justify-content:center;align-items:center;min-width:150px;min-height:44px;background:#ffffff80;border:1px solid #e8cbd985;border-radius:12px;padding:9px 15px;font:700 13px Manrope,Arial,sans-serif;color:#754d63;cursor:pointer}
.certificate-disclaimer{color:#a38a99;font-size:10px;line-height:1.6;text-align:center;margin:18px 0 0}
.certificate-dialog{border:1px solid #fff;border-radius:26px;background:#fff5fbcf;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);box-shadow:0 22px 85px #71355830;width:min(440px,calc(100% - 36px));padding:38px 30px;color:#674559;text-align:center}
.certificate-dialog::backdrop{background:#3c19253b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.certificate-dialog h2{font:700 22px/1.35 Manrope,Arial,sans-serif;letter-spacing:-.02em;margin:16px 0 12px}
.certificate-dialog p{font:400 14px/1.65 Manrope,Arial,sans-serif;color:#927087;margin-bottom:25px}
.certificate-dialog__close{position:absolute;right:15px;top:9px;font:400 28px Manrope,Arial,sans-serif;border:0;background:none;color:#ad7a94;cursor:pointer;padding:3px 10px}
.certificate-page :is(button,a):focus-visible{outline:2px solid #df72ac;outline-offset:4px}
.certificate-page [hidden]{display:none!important}
@keyframes certificate-float{0%,100%{transform:translate(-50%,-50%) rotate(.6deg)}50%{transform:translate(-50%,calc(-50% - 9px)) rotate(-.6deg)}}
@keyframes certificate-panel-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){
 .certificate-page{padding-bottom:35px!important}
 .certificate-heading{margin-bottom:24px}.certificate-heading .page-intro{font-size:13px;max-width:310px}.certificate-heading .page-title{font-size:35px}
 .certificate-scene{height:340px;border-radius:27px}.certificate-float{width:82%;top:45%}.certificate-face{border-radius:16px}.certificate-face__content{padding:21px}.certificate-value{font-size:44px;margin:7px 0 8px}.certificate-logo{width:113px;height:44px;margin:-5px 0 13px}.certificate-type{font-size:9px}.certificate-recipient{font-size:10px;min-height:30px;max-width:67%}.certificate-recipient strong{font-size:13px}.certificate-issued{right:21px;bottom:22px;font-size:9px}.certificate-issued span{font-size:7px}.certificate-message{font-size:13px;padding:12px 0}.certificate-back-footer{font-size:8px;gap:8px}.certificate-turn{bottom:37px}.certificate-scene__label{top:18px;left:20px;font-size:9px}
 .certificate-editor{width:calc(100% - 18px);margin-top:-17px;padding:18px 20px 22px;border-radius:21px}.certificate-steps{gap:3px;padding-bottom:13px;margin-bottom:18px}.certificate-steps button{grid-template-columns:1fr;grid-template-rows:auto auto;gap:5px;text-align:center;justify-items:center;padding:8px 3px;font-size:11px}.certificate-step-number{grid-row:auto!important;width:23px!important;height:23px!important}.certificate-steps button small{display:none}.certificate-panel-heading h2{font-size:16px}.certificate-panel-heading p{font-size:11px}.certificate-step-panel{min-height:135px}.certificate-amounts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.certificate-amount{font-size:15px;min-height:44px}.certificate-action{gap:12px;flex-wrap:wrap;margin-top:18px;padding-top:17px}.certificate-action__buttons{gap:15px;flex:1;justify-content:flex-end}.certificate-primary{font-size:11px;padding:13px 16px;min-height:44px}.certificate-action strong{font-size:18px}.certificate-next{font-size:11px}.certificate-contact-fields{grid-template-columns:1fr;gap:18px}.certificate-bottom-note{font-size:9px;gap:6px;margin-top:20px}.certificate-bottom-note br{display:none}.certificate-editor--checkout .certificate-action{flex-wrap:wrap}.certificate-editor__top .certificate-kicker{font-size:10px}.certificate-editor__top>span:last-child{font-size:9px}
}
@media(max-width:430px){
 .certificate-heading .page-title{font-size:31px}.certificate-scene{height:290px}.certificate-float{width:86%;top:44%}.certificate-face__content{padding:17px}.certificate-logo{width:92px;height:37px;margin:-5px 0 8px}.certificate-type{font-size:7.5px}.certificate-value{font-size:36px;margin:4px 0 7px}.certificate-recipient{min-height:26px;font-size:8px;max-width:61%}.certificate-recipient strong{font-size:11px}.certificate-issued{bottom:18px;right:17px;font-size:8px}.certificate-issued span{font-size:6px}.certificate-message{font-size:10px;padding:6px 0}.certificate-back-footer{font-size:6.5px}.certificate-turn{bottom:33px;font-size:10px;padding:7px 12px}.certificate-step-panel{min-height:131px}.certificate-editor{padding:16px}.certificate-action__buttons{gap:12px}.certificate-action>div:first-child{flex-basis:100%}.certificate-action__buttons{justify-content:space-between}.certificate-action__buttons .certificate-primary{flex:1}.certificate-editor--checkout .certificate-action>div:first-child{flex-basis:auto}.certificate-primary{padding-inline:14px}.certificate-scene__label{top:15px;font-size:8px}
}
@media(prefers-reduced-motion:reduce){.certificate-float{animation:none}.certificate-card,.certificate-page *, .certificate-page *:before, .certificate-page *:after{animation:none!important;transition:none!important}}

.certificate-editor--checkout .certificate-action__buttons{flex-wrap:wrap;min-width:0}
.certificate-action__buttons .certificate-back{font-size:13px;font-weight:600;padding:12px 0;white-space:nowrap}
@media(max-width:700px){.certificate-editor--checkout .certificate-action__buttons{flex-basis:100%;justify-content:space-between;gap:12px}.certificate-action__buttons .certificate-back{font-size:12px}.certificate-editor--checkout .certificate-action__buttons .certificate-primary{flex:0 1 auto}}

/* One editor stays in place while personalization and contact screens switch. */
.certificate-editor{overflow-anchor:none}
.certificate-contact-panel,.certificate-personalization{margin:0;min-width:0}
.certificate-personalization .certificate-action__buttons{flex-wrap:wrap}
.certificate-step-nav{display:flex;align-items:center;gap:16px}
.certificate-next:disabled{opacity:.4;cursor:default}
.certificate-next:disabled:hover{color:#b04e86}
[data-gift-prev] span{margin-left:0;margin-right:5px}
button.certificate-back{font-family:inherit;background:none;border:0;cursor:pointer;transition:color .3s}
@media(max-width:700px){.certificate-step-nav{gap:18px}.certificate-personalization .certificate-action__buttons{flex-basis:100%}}
.certificate-payment-options{display:flex;gap:10px;flex-wrap:wrap}
.certificate-payment-options .certificate-sbp[aria-pressed=false]{background:rgba(255,255,255,.68);color:#3a3038;box-shadow:none}
.certificate-primary:disabled{opacity:.55;cursor:wait;transform:none}

/* Three clean certificate bases; all personal data is a separate scalable layer. */
.certificate-card{container-type:inline-size}
.certificate-face--front{color:var(--certificate-ink,#fff)}
.certificate-face__content{padding:0;display:block;font-family:Manrope,Arial,sans-serif}
.certificate-type{position:absolute;left:7%;top:39%;font-size:2.65cqw;font-weight:800;letter-spacing:-.035em;text-transform:none;line-height:1.25}
.certificate-value{position:absolute;left:7%;top:51%;margin:0;font-size:9cqw;line-height:1.15;letter-spacing:-.045em;max-width:53%;white-space:nowrap;text-shadow:none}
.certificate-recipient{position:absolute;left:7%;top:85%;display:flex;flex-direction:row;gap:.7cqw;align-items:baseline;padding:0;margin:0;min-height:0;max-width:51%;font-size:2.1cqw;line-height:1.3}
.certificate-recipient>span{white-space:nowrap;font-weight:700}
.certificate-recipient strong{font-size:2.1cqw;line-height:1.3;font-weight:700;white-space:normal;overflow-wrap:anywhere;overflow:visible}
.certificate-code{position:absolute;left:7%;bottom:5%;font-size:1.85cqw;letter-spacing:.06em;font-weight:700;line-height:1.3}
.certificate-issued{right:7%;bottom:5%;font-size:1.65cqw;line-height:1.3;gap:.25cqw}
.certificate-issued span{font-size:1.15cqw;opacity:1;letter-spacing:0}
.certificate-custom{max-width:360px;margin-top:18px}
.certificate-custom__input{position:relative}
.certificate-custom__input input{padding-right:42px}
.certificate-custom__input>span{position:absolute;right:17px;top:50%;transform:translateY(-50%);color:var(--certificate-accent);pointer-events:none;font-size:17px;font-weight:600}
.certificate-designs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.certificate-design{border:1px solid #e8cdd978;border-radius:14px;padding:5px;background:#fff7;color:#705063;min-width:0;font:600 12px Manrope,Arial,sans-serif;cursor:pointer;transition:box-shadow .4s,border-color .4s,background .4s,transform .4s}
.certificate-design img{display:block;aspect-ratio:1493/1054;width:100%;height:auto;border-radius:9px}
.certificate-design span{display:block;padding:10px 4px 7px}
.certificate-design:hover{background:#fffd;transform:translateY(-2px);box-shadow:0 5px 20px #e8127e16}
.certificate-design[aria-pressed=true]{border-color:var(--certificate-accent);background:#fff;box-shadow:0 0 0 1px #e8127e19,0 5px 20px #e8127e18;color:var(--certificate-accent)}
@media(max-width:700px){.certificate-scene{height:360px}.certificate-float{width:min(82%,420px);top:49%}.certificate-designs{gap:8px}.certificate-design{font-size:11px;padding:3px}.certificate-design span{padding:8px 2px 5px}}
@media(max-width:430px){.certificate-scene{height:290px}.certificate-float{width:88%;top:49%}.certificate-custom{max-width:none}.certificate-type{font-size:2.65cqw}}

.certificate-card[data-design=glitter] .certificate-recipient{top:75%}
.certificate-card[data-design=glitter] :is(.certificate-code,.certificate-issued){bottom:12%}

.certificate-card[data-design=disco] .certificate-issued{right:14%}
