/* Gift cards · pantalla completa con la tarjeta en 3D (diseño: giftcard-frente/dorso.webp) */
.gcw{position:fixed;inset:0;z-index:1000;overflow:auto;color:#f7f2e6;background:radial-gradient(120% 70% at 50% 20%,#4c5a45 0,#2c3329 55%,#171b15 100%);opacity:0;transition:opacity .35s;font-family:var(--sans,Arial,sans-serif)}
.gcw.is-in{opacity:1}
.gcw-close{position:fixed;top:max(14px,env(safe-area-inset-top));right:14px;z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid #c2a46a88;background:#0004;color:#f7f2e6;font:26px/1 var(--sans,Arial);cursor:pointer}
.gcw-in{position:relative;display:grid;justify-items:center;gap:10px;width:min(480px,100%);margin:0 auto;padding:60px 16px 40px;box-sizing:border-box}
.gcw-k{margin:0;font-size:13px;letter-spacing:6px;color:#e8d3a5;text-align:center}
.gcw-title{margin:0;font:400 clamp(30px,8vw,44px)/1.05 var(--serif,Georgia,serif);text-align:center;letter-spacing:normal}
.gcw-title em{color:#e8d3a5}

/* Tarjeta 3D */
.gcw-scene{width:min(88vw,400px);aspect-ratio:1200/757;margin:22px 0 6px;perspective:1100px;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;container-type:inline-size}
.gcw-scene:active{cursor:grabbing}
.gcw-card{position:relative;width:100%;height:100%;transform-style:preserve-3d;will-change:transform}
.gcw.is-in .gcw-scene{animation:gcwIn 1s cubic-bezier(.2,1.2,.3,1) both}
.gcw-face{position:absolute;inset:0;border-radius:2.6%/4.1%;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:rotateY(0deg) translateZ(1px);box-shadow:0 30px 60px -20px #000c}
.gcw-back{transform:rotateY(180deg) translateZ(1px)}
.gcw-face img{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:inherit;pointer-events:none;-webkit-user-drag:none}
.gcw-shine{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 80% at var(--sx,50%) var(--sy,50%),#ffffff26,transparent 60%),linear-gradient(115deg,transparent 35%,#f3dfae1c 48%,transparent 62%);border-radius:inherit}
/* el monto va debajo de «Te vas a enamorar.» del frente */
.gcw-amount{position:absolute;left:70.3%;top:64%;transform:translateX(-50%);margin:0;white-space:nowrap;font:600 9cqw/1 var(--serif,Georgia,serif);background:linear-gradient(100deg,#c2a46a,#f6e4b8 45%,#c2a46a 70%);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:normal;text-shadow:none}
.gcw-amount.pop{animation:gcwPop .35s ease}
/* recuadro marfil del dorso: dedicatoria o QR */
.gcw-box{position:absolute;left:64.2%;top:12%;width:31.8%;height:50.2%;display:grid;align-content:center;justify-items:center;gap:1.2cqw;padding:2cqw;box-sizing:border-box;text-align:center;color:#2c3329;overflow:hidden}
.gcw-box p{margin:0;max-width:100%;overflow-wrap:anywhere}
.gcw-box-para{font:italic 400 4.2cqw/1.1 var(--serif,Georgia,serif)}
.gcw-box-msj{font:italic 400 2.5cqw/1.3 var(--serif,Georgia,serif);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;color:#414b43}
.gcw-box-de{font:600 2cqw/1.2 var(--sans,Arial);letter-spacing:.3cqw;text-transform:uppercase}
.gcw-box-qr{width:78%;aspect-ratio:1}
.gcw-box-qr svg{display:block;width:100%;height:100%}
.gcw-box-code{font:700 1.75cqw/1 var(--sans,Arial);letter-spacing:.1cqw;white-space:nowrap}
.gcw-hint{margin:0 0 6px;font-size:13px;color:#c9c2ae;text-align:center}

/* Formularios y pasos */
.gcw-form{width:100%;display:grid;gap:10px;padding:18px;background:#fffefa;color:#292e26;border:1px solid #c2a46a;box-sizing:border-box}
.gcw-step{margin:6px 0 0;font:400 20px var(--serif,Georgia,serif)}
.gcw-step span{font:14px var(--sans,Arial);color:#6b6d63}
.gcw-montos{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.gcw-montos button{min-height:54px;border:1px solid #b9beae;background:#fffefa;color:#292e26;font:400 20px var(--serif,Georgia,serif);cursor:pointer;transition:background .2s,color .2s}
.gcw-montos button[aria-pressed=true]{background:#3f493b;border-color:#3f493b;color:#fffefa}
.gcw-otro{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:15px}
.gcw-money{display:flex;align-items:center;gap:4px;border-bottom:1px solid #778174;font:400 20px var(--serif,Georgia,serif)}
.gcw-money input{width:130px;border:0;background:none;font:inherit;color:inherit;padding:8px 0}
.gcw-field{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid #778174;background:none;padding:10px 0;font:16px var(--sans,Arial);color:#292e26;resize:vertical}
.gcw-ocasiones{display:flex;flex-wrap:wrap;gap:6px}
.gcw-ocasiones button{min-height:36px;padding:0 12px;border:1px solid #c2a46a;border-radius:999px;background:#f7f2e6;color:#3f493b;font:14px var(--sans,Arial);cursor:pointer}
.gcw-field:focus-visible,.gcw-money input:focus-visible,.gcw-montos button:focus-visible,.gcw-ocasiones button:focus-visible,.gcw-link:focus-visible,.gcw-buy:focus-visible{outline:2px solid #3f493b;outline-offset:3px}
.gcw-note{margin:0;font-size:14px;line-height:1.5;color:#414b43}
.gcw-err{margin:0;color:#9b2c1f;font-size:14px}
.gcw-buy{display:flex;justify-content:center;gap:6px;align-items:center;min-height:58px;margin-top:4px;padding:0 14px;border:0;width:100%;background:linear-gradient(100deg,#8a6d3b,#c2a46a 40%,#f3dfae 50%,#c2a46a 60%,#8a6d3b);background-size:220% 100%;color:#2c3329;font:600 17px var(--sans,Arial);text-decoration:none;cursor:pointer;animation:gcwCta 2.6s linear infinite;box-sizing:border-box}
.gcw-buy.is-off{opacity:.45;pointer-events:none}
.gcw-link{justify-self:center;min-height:44px;padding:0 8px;border:0;background:none;color:#3f493b;font:15px var(--sans,Arial);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.gcw-link:disabled{opacity:.45;cursor:default}
.gcw-acciones{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px}
.gcw-status{margin:0;min-height:1em;font-size:14px;color:#3f493b;text-align:center}
.gcw-seg{margin:4px 0 0;padding:10px 12px;background:#f2ede0;font-size:13px;line-height:1.45;color:#414b43}
.gcw-ok{display:grid;gap:10px}
.gcw-ok-t{margin:0;font:400 22px var(--serif,Georgia,serif);color:#3f493b;text-align:center}
.gcw-listas{width:100%}
.gcw-lista{width:100%;min-height:48px;padding:10px 14px;border:1px solid #c2a46a;background:#c2a46a22;color:#f7f2e6;font:15px var(--sans,Arial);cursor:pointer;text-align:center}
.gcw-lista strong{color:#e8d3a5;text-decoration:underline;text-underline-offset:3px}

/* Recibir el regalo */
.gcw-recibir{text-align:center}
.gcw-r-para{margin:0;font:italic 400 28px var(--serif,Georgia,serif)}
.gcw-r-msj{margin:0;font:italic 400 18px/1.4 var(--serif,Georgia,serif);color:#414b43}
.gcw-r-de{margin:0;font-size:13px;letter-spacing:2px;color:#6b6d63}
.gcw-verif{margin:6px 0 0;padding:10px 12px;border:1px solid #3f493b33;background:#eef1ea;font-size:14px;line-height:1.45;color:#2c3329}
.gcw-verif span{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:4px;border-radius:50%;background:#3f493b;color:#fff;font-size:12px}
.gcw-cargando{animation:gcwLate 1.2s ease-in-out infinite}
.gcw-fx{position:absolute;left:50%;top:230px;width:0;height:0;pointer-events:none;z-index:2}
.gcw-fx span{position:absolute;width:8px;height:8px;background:linear-gradient(135deg,#f6e4b8,#c2a46a);transform:rotate(var(--r));animation:gcwChispa 1.4s var(--d) cubic-bezier(.15,.7,.3,1) both;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}

@keyframes gcwIn{from{opacity:0;transform:translateY(40px) scale(.7)}to{opacity:1;transform:none}}
@keyframes gcwPop{50%{transform:translateX(-50%) scale(1.08)}}
@keyframes gcwCta{to{background-position:-220% 0}}
@keyframes gcwLate{50%{opacity:.5}}
@keyframes gcwChispa{0%{opacity:0;transform:translate(0,0) scale(.3) rotate(var(--r))}15%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(1.1) rotate(calc(var(--r) + 180deg))}}
@media (prefers-reduced-motion:reduce){.gcw.is-in .gcw-scene,.gcw-amount.pop,.gcw-buy,.gcw-cargando{animation:none}}
.gcw-qrfull{position:fixed;inset:0;z-index:5;display:grid;place-items:center;padding:16px;background:#171b15e6}
.gcw-qrfull-box{display:grid;justify-items:center;gap:8px;width:min(360px,100%);padding:22px 18px;background:#fffefa;color:#2c3329;box-sizing:border-box;text-align:center}
.gcw-qrfull-img{width:min(260px,72vw);aspect-ratio:1}
.gcw-qrfull-img svg{display:block;width:100%;height:100%}
.gcw-qrfull-saldo{margin:0;font:400 30px var(--serif,Georgia,serif)}
.gcw-qrfull-code{margin:0;font:600 16px var(--sans,Arial);letter-spacing:2px}
