/* Tarjeta GOAT Gift Experience · proporción A6 148×105. 1cqw = 1% del ancho (1,48 mm impreso ≈ 4,2 pt). Mínimo tipográfico: 2.5cqw ≈ 10,5 pt. */
.gift-front,.gift-back{--ink:#f3efe8;--muted:#f3efe8a6;--accent:#e4252d;--paper:#0b0b0c;box-sizing:border-box;width:100%;aspect-ratio:148/105;position:relative;overflow:hidden;padding:7% 7.5%;border-radius:2px;color:var(--ink);background:var(--paper);font-family:'Montserrat','Red Hat Display',Arial,sans-serif;container-type:inline-size;-webkit-font-smoothing:antialiased;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.gift-front{display:flex;flex-direction:column;justify-content:space-between}
.gift-front>*,.gift-back>*{position:relative;z-index:2}
.gift-art{position:absolute;inset:0;z-index:0;pointer-events:none}
/* Noir: la rosa ocupa la mitad derecha y se funde en negro sobre el nombre. */
.gift-front.noir .gift-art{background:linear-gradient(90deg,#0b0b0c 36%,#0b0b0cd9 52%,#0b0b0c00 78%),url('/assets/gift-rose.jpg') right 40%/cover no-repeat}
/* Oxblood: la misma rosa fundida en rojo profundo. */
.gift-front.red,.gift-back.red{--paper:#7a1420;--accent:#f3efe8;--muted:#f3efe8b8}
.gift-front.red .gift-art{background:linear-gradient(90deg,#7a1420 38%,#7a1420e0 54%,#7a142059 82%,#7a142033 100%),url('/assets/gift-rose.jpg') right 40%/cover no-repeat}
/* Marfil: papel y tinta negra. */
.gift-front.white,.gift-back.white{--ink:#141414;--muted:#141414a6;--accent:#c81e26;--paper:#f3eee5}
.gift-front.white .gift-art{background:linear-gradient(160deg,#faf7f1 0%,#f3eee5 55%,#ebe4d8 100%)}
.gift-back.white{background:linear-gradient(160deg,#faf7f1,#f1ebe1)}
.gift-front.white .gift-logo,.gift-back.white .gift-back-head>img,.gift-front.white .gift-brand-logo,.gift-back.white .gift-brand-logo{filter:brightness(0)}
.gift-front.white .gift-brand-logo.opaque,.gift-back.white .gift-brand-logo.opaque{filter:none;mix-blend-mode:multiply}
/* Frente */
.gift-top{display:flex;justify-content:space-between;align-items:center;gap:4cqw}
.gift-top .gift-logo{width:26%;height:auto}
.gift-tag{font-size:2.5cqw;letter-spacing:.3em;font-weight:400;color:var(--muted)}
.gift-front-type{margin:auto 0;width:100%;max-width:64%}
.gift-recipient{display:block;font-size:17cqw;font-weight:900;letter-spacing:-.05em;line-height:.98;overflow-wrap:anywhere;text-transform:none}
.gift-period{color:var(--accent)}
.gift-recipient.long-recipient{font-size:10cqw;letter-spacing:-.03em;line-height:1.02}
.gift-recipient.very-long-recipient{font-size:7cqw}
.gift-front-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:4cqw}
.gift-edition{font-family:'Red Hat Display','Montserrat',Arial,sans-serif;font-size:3.2cqw;font-weight:400;line-height:1.3;max-width:50%;overflow-wrap:anywhere;color:var(--ink)}
.gift-brand-badge{display:flex;align-items:center;justify-content:flex-end}
.gift-brand-badge .gift-brand-logo{width:36cqw;height:12cqw;object-fit:contain;object-position:right center;filter:brightness(0) invert(1)}
.gift-brand-badge .gift-brand-logo.opaque{filter:invert(1);mix-blend-mode:screen}
.gift-brand-badge .gift-brand-name{font-size:7.5cqw;font-weight:900;letter-spacing:-.02em;white-space:nowrap}
/* Reverso */
.gift-back{display:flex;flex-direction:column;padding:7% 7.5% 6.5%}
.gift-back-head>img{width:20%;height:auto}
.gift-value{margin-top:5cqw;display:flex;flex-direction:column;gap:2cqw}
.gift-value-main .gift-brand-logo{width:48cqw;height:15cqw;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}
.gift-value-main .gift-brand-logo.opaque{filter:invert(1);mix-blend-mode:screen}
.gift-value-main .gift-brand-name{font-size:13cqw;font-weight:900;letter-spacing:-.04em;line-height:1}
.gift-benefit{font-family:'Red Hat Display','Montserrat',Arial,sans-serif;font-size:4.2cqw;font-weight:400;line-height:1.25;letter-spacing:-.01em}
.gift-dedication{font-family:'Red Hat Display','Montserrat',Arial,sans-serif;font-size:3.6cqw;line-height:1.4;font-weight:400;margin:5cqw 0 0;max-width:88%;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}
.gift-back-bottom{display:flex;flex-direction:column;gap:1.4cqw;margin-top:auto;padding-top:3cqw}
.gift-code{font-size:4cqw;letter-spacing:.14em;font-weight:900;white-space:nowrap}
.gift-terms{font-family:'Red Hat Display','Montserrat',Arial,sans-serif;font-size:2.6cqw;line-height:1.4;color:var(--muted);font-weight:400}
/* Rotor 3D (composer y seguimiento) */
.gift-card{position:relative;aspect-ratio:148/105;outline:none;cursor:grab;touch-action:pan-y;--tilt-x:6deg;--tilt-y:-9deg;--flip:0deg}.gift-card.is-back{--flip:180deg}.gift-card-rotor{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--tilt-x)) rotateY(calc(var(--flip) + var(--tilt-y)));transition:transform .85s cubic-bezier(.22,.75,.2,1)}.gift-card-rotor>.gift-front,.gift-card-rotor>.gift-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(1px);height:100%;box-shadow:0 30px 60px #0007}.gift-card-rotor>.gift-back{transform:rotateY(180deg) translateZ(1px)}.gift-card:focus-visible{outline:2px solid #ed3034;outline-offset:12px}.gift-card.dragging .gift-card-rotor{transition:transform .12s ease-out}.card-side-toggle{display:flex;gap:22px;align-items:center}.card-side-toggle button{background:none;color:#949494;font-size:14px;border-bottom:1px solid transparent;padding:9px 0}.card-side-toggle button[aria-pressed=true]{color:#fff;border-color:#ed3034}.stage .gift-card{padding:0;background:none;border:0;min-height:0;overflow:visible}.stage{perspective:1400px}@media(prefers-reduced-motion:reduce){.gift-card-rotor{transition:none;--tilt-x:0deg;--tilt-y:0deg}}
/* Typography stays within the card; the dedication has its own reading space. */
.gift-front-type{flex:1;min-height:0;max-width:76%;margin:4cqw 0;display:flex;align-items:center}
.gift-recipient{width:100%;line-height:1.06;letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:balance}
.gift-top,.gift-front-bottom{flex-shrink:0}
.gift-back{gap:0}
.gift-back-head{flex-shrink:0}
.gift-value{margin-top:3cqw;flex-direction:row;align-items:center;gap:4cqw;flex-shrink:0}
.gift-value-main{max-width:43%;flex-shrink:0}
.gift-value-main .gift-brand-logo{width:30cqw;height:8cqw}
.gift-value-main .gift-brand-name{font-size:7cqw;line-height:1.1}
.gift-value-main.amount .gift-brand-name{font-size:6cqw}
.gift-benefit{font-size:3.4cqw;line-height:1.3;max-width:52%}
.gift-dedication{flex:1;min-height:0;max-width:100%;margin:4cqw 0 3cqw;color:var(--ink);font-weight:500;font-size:4.7cqw;line-height:1.38;white-space:pre-wrap;overflow-wrap:anywhere}
.gift-back-bottom{flex-shrink:0;margin-top:0;padding-top:0;gap:1cqw}
.gift-code{font-size:3.5cqw}
