/* Clay Shooting Experience Cyprus - gift card (front + back). Scales with its container (cqw), prints at A5 landscape. */
.gc-wrap{--navy:#060c17;--navy2:#0b1425;--navy3:#14243f;--orange:#ff5a0a;--orange2:#ff8a2a;--gold:#d9b45f;--gold2:#f3dc9a;--ink:#f5f1e8;--paper:#fbf6ea;
  --display:"Anton","Impact","Arial Narrow",sans-serif;--body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  width:100%;container-type:inline-size;perspective:1600px}
.gc{position:relative;width:100%;aspect-ratio:210/148;font-family:var(--body);color:var(--ink);border-radius:2.2cqw;overflow:hidden;box-shadow:0 3cqw 7cqw -2cqw rgba(0,0,0,.65)}
.gc *{box-sizing:border-box}

/* ---------- FRONT ---------- */
.gc-front{background:
  radial-gradient(60cqw 46cqw at 86% 10%,rgba(255,90,10,.55),transparent 62%),
  radial-gradient(40cqw 40cqw at 8% 108%,rgba(217,180,95,.20),transparent 60%),
  linear-gradient(150deg,#0e1f3d 0%,#060c17 58%,#02050b 100%)}
.gc-front::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.022) 0 .5cqw,transparent .5cqw 2.2cqw);pointer-events:none}
.gc-burst{position:absolute;right:-12cqw;top:-1cqw;width:70cqw;height:auto;pointer-events:none;filter:drop-shadow(0 0 3.5cqw rgba(255,90,10,.55)) saturate(1.15)}.gc-lines{position:absolute;right:30cqw;top:12cqw;width:30cqw;height:auto;pointer-events:none;opacity:.8}
.gc-frame{position:absolute;inset:2cqw;border:.28cqw solid var(--gold);border-radius:1.4cqw;pointer-events:none;box-shadow:inset 0 0 0 .7cqw rgba(6,12,23,.9),inset 0 0 0 .95cqw rgba(217,180,95,.45)}
.gc-corner{position:absolute;width:5cqw;height:5cqw;border:.4cqw solid var(--orange);pointer-events:none}
.gc-corner.tl{left:3.2cqw;top:3.2cqw;border-right:0;border-bottom:0}.gc-corner.br{right:3.2cqw;bottom:3.2cqw;border-left:0;border-top:0}
.gc-fi{position:absolute;inset:5cqw 6cqw 4.8cqw 6cqw;display:flex;flex-direction:column;justify-content:space-between;gap:1cqw}
.gc-brand{display:flex;align-items:center;gap:2cqw;position:relative}
.gc-brand img{width:11.5cqw;height:11.5cqw;border-radius:50%;object-fit:cover;box-shadow:0 0 0 .3cqw rgba(217,180,95,.8),0 1cqw 3cqw rgba(0,0,0,.6)}
.gc-brand b{display:block;font-family:var(--display);font-weight:400;font-size:3.2cqw;letter-spacing:.08em;line-height:1;text-transform:uppercase}
.gc-brand small{display:block;font-size:1.45cqw;letter-spacing:.34em;color:var(--gold);margin-top:.7cqw;text-transform:uppercase;font-weight:600}
.gc-tag{position:absolute;right:0;top:0;background:linear-gradient(120deg,var(--orange),var(--orange2));color:#fff;font-family:var(--display);font-size:2.2cqw;letter-spacing:.14em;padding:.9cqw 2.4cqw;transform:rotate(3deg);box-shadow:0 1cqw 2.4cqw rgba(0,0,0,.45);text-transform:uppercase}
.gc-main{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center}
.gc-title{font-family:var(--display);font-weight:400;font-size:9.2cqw;line-height:.95;white-space:nowrap;letter-spacing:.015em;text-transform:uppercase;margin:0;background:linear-gradient(180deg,var(--gold2),var(--gold) 55%,#a67f2b);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 .6cqw 1.2cqw rgba(0,0,0,.55))}
.gc-sub{font-size:1.75cqw;letter-spacing:.22em;text-transform:uppercase;color:#f0e3c3;margin:.9cqw 0 0;font-weight:600;max-width:70cqw}
.gc-val{display:flex;align-items:center;gap:3.4cqw;margin-top:1.6cqw}
.gc-amount{font-family:var(--display);font-size:10cqw;line-height:1;color:#fff;text-shadow:0 0 3cqw rgba(255,90,10,.55)}
.gc-amount sup{font-size:.5em;vertical-align:top;position:relative;top:.12em;margin-right:.1em;color:var(--orange2)}
.gc-exp{font-family:var(--display);font-size:5cqw;line-height:1.02;text-transform:uppercase;color:#fff;max-width:42cqw}
.gc-exp em{display:block;font-style:normal;font-family:var(--body);font-size:1.9cqw;letter-spacing:.2em;color:var(--orange2);font-weight:700;margin-top:.9cqw}
.gc-eqv{font-size:1.7cqw;color:#cdd6e6;letter-spacing:.06em;line-height:1.35}.gc-vbig{font-family:var(--display);font-size:7.4cqw;line-height:1;color:#fff;text-shadow:0 0 3cqw rgba(255,90,10,.55);border-left:.3cqw solid var(--orange);padding-left:3cqw}.gc-vbig em{display:block;font-family:var(--body);font-style:normal;font-size:1.25cqw;letter-spacing:.08em;color:#cfd8ea;font-weight:600;margin-top:.7cqw;text-shadow:none;white-space:nowrap}.gc-vbig small{display:block;font-family:var(--body);font-size:1.3cqw;letter-spacing:.3em;color:var(--orange2);font-weight:700;text-transform:uppercase;margin-bottom:.4cqw}
.gc-eqv b{color:var(--gold2);font-weight:700}
.gc-fields{display:grid;grid-template-columns:.8fr .8fr 2.1fr;gap:2cqw;align-items:start}
.gc-f{border-top:.25cqw solid rgba(217,180,95,.7);padding-top:.9cqw;min-height:6cqw}
.gc-f small{display:block;font-size:1.25cqw;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:700}
.gc-f span{display:block;font-size:2.4cqw;font-weight:600;margin-top:.5cqw;line-height:1.15;overflow-wrap:anywhere}
.gc-f.msg span{font-size:1.6cqw;font-style:italic;font-weight:500;color:#e9e1cf;line-height:1.3}
.gc-code{position:absolute;right:0;top:36%;transform:translateY(-50%) rotate(-90deg);transform-origin:right center}
.gc-ref{display:flex;align-items:center;gap:2.2cqw}
.gc-codebox{border:.3cqw dashed var(--gold);padding:1cqw 2.2cqw;background:rgba(6,12,23,.55);border-radius:.8cqw}
.gc-codebox small{display:block;font-size:1.2cqw;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:700}
.gc-codebox b{display:block;font-family:var(--display);font-weight:400;font-size:3.9cqw;letter-spacing:.2em;color:#fff;line-height:1.1;margin-top:.3cqw}
.gc-valid{font-size:1.6cqw;line-height:1.5;color:#d3dbe9}.gc-valid b{display:block;color:var(--gold2);font-size:2.4cqw;font-family:var(--display);font-weight:400;letter-spacing:.08em}
.gc-qr{background:#fff;padding:.7cqw;border-radius:.8cqw;width:10.5cqw;height:10.5cqw;display:grid;place-items:center;box-shadow:0 .8cqw 2cqw rgba(0,0,0,.5)}
.gc-qr svg{width:100%;height:100%;display:block}
.gc-qrcap{font-size:1.1cqw;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);text-align:center;margin-top:.6cqw;font-weight:700}

/* occasion accents */
.gc[data-occ="birthday"] .gc-tag{background:linear-gradient(120deg,#ff3d77,#ff8a2a)}
.gc[data-occ="bachelor"] .gc-tag{background:linear-gradient(120deg,#7a5cff,#ff5a0a)}
.gc[data-occ="thanks"] .gc-tag{background:linear-gradient(120deg,#12b886,#d9b45f)}
.gc[data-occ="xmas"] .gc-tag{background:linear-gradient(120deg,#d6252e,#0c7a43)}

/* ---------- BACK ---------- */
.gc-back{background:
  radial-gradient(70cqw 50cqw at 100% 0%,rgba(255,200,120,.35),transparent 60%),
  linear-gradient(135deg,#ff5a0a 0%,#ff7a1c 45%,#e8430a 100%);color:#0a0f1c}
.gc-back::before{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 12% 88%,rgba(6,12,23,.14) 0 9cqw,transparent 9.2cqw),radial-gradient(circle at 95% 92%,rgba(6,12,23,.1) 0 6cqw,transparent 6.2cqw),
  repeating-linear-gradient(115deg,rgba(6,12,23,.05) 0 .5cqw,transparent .5cqw 2.2cqw)}
.gc-back .gc-frame{border-color:#0a0f1c;box-shadow:inset 0 0 0 .7cqw rgba(255,122,28,.0),inset 0 0 0 .95cqw rgba(10,15,28,.35)}
.gc-bi{position:absolute;inset:4.6cqw 6cqw 4.4cqw 6cqw;display:grid;grid-template-columns:1.12fr 1fr;grid-template-rows:auto 1fr;gap:1.4cqw 3.4cqw}
.gc-bh{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-end;border-bottom:.3cqw solid #0a0f1c;padding-bottom:1.2cqw}
.gc-bh h3{font-family:var(--display);font-weight:400;font-size:5.8cqw;line-height:.95;letter-spacing:.02em;text-transform:uppercase;margin:0;color:#0a0f1c}
.gc-bh img{width:11cqw;height:11cqw;border-radius:50%;object-fit:cover;box-shadow:0 0 0 .35cqw #0a0f1c,0 1cqw 2cqw rgba(0,0,0,.3)}
.gc-steps{list-style:none;margin:0;padding:0;display:grid;gap:1.35cqw;align-content:start}
.gc-steps li{display:grid;grid-template-columns:5.2cqw 1fr;gap:1.6cqw;align-items:center;background:rgba(6,12,23,.9);color:#f5f1e8;border-radius:1.2cqw;padding:1.1cqw 1.6cqw 1.1cqw 1.2cqw;box-shadow:0 .8cqw 1.6cqw rgba(0,0,0,.25)}
.gc-steps li i{font-style:normal;font-family:var(--display);font-size:3.6cqw;line-height:1;color:var(--gold);display:grid;place-items:center;width:5.2cqw;height:5.2cqw;border:.3cqw solid var(--gold);border-radius:50%}
.gc-steps li b{display:block;font-size:2cqw;line-height:1.2}.gc-steps li span{font-size:1.55cqw;color:#c5d0e4;line-height:1.35;display:block;margin-top:.2cqw}
.gc-col{display:grid;gap:1.4cqw;align-content:start}
.gc-card{background:rgba(251,246,234,.94);border-radius:1.3cqw;padding:1.5cqw 1.9cqw}
.gc-card h4{margin:0 0 .8cqw;font-family:var(--display);font-weight:400;font-size:2.6cqw;letter-spacing:.1em;text-transform:uppercase;color:#d63f00}
.gc-card ul{margin:0;padding:0;list-style:none;display:grid;gap:.55cqw}
.gc-card li{font-size:1.5cqw;line-height:1.32;padding-left:2cqw;position:relative;color:#1b2233}
.gc-card li::before{content:"";position:absolute;left:0;top:.62cqw;width:.95cqw;height:.95cqw;background:var(--orange);transform:rotate(45deg)}
.gc-contact{background:#0a0f1c;color:#f5f1e8;border-radius:1.3cqw;padding:1.2cqw 1.9cqw;display:grid;gap:.35cqw;font-size:1.55cqw}
.gc-contact b{color:var(--gold2);font-weight:600}.gc-contact .big{font-family:var(--display);font-size:3.1cqw;letter-spacing:.06em;color:#fff;line-height:1.1}
.gc-bf{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;font-size:1.4cqw;letter-spacing:.2em;text-transform:uppercase;font-weight:700;border-top:.3cqw solid #0a0f1c;padding-top:1cqw}

/* flip + print */
.gc-flip{position:relative;width:100%;aspect-ratio:210/148;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.3,.8,.2,1)}
.gc-flip .gc{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.gc-flip .gc-back{transform:rotateY(180deg)}
.gc-flip.flipped{transform:rotateY(180deg)}
@page{size:210mm 148mm;margin:0}
@media print{
  .gc-wrap{perspective:none}
  .gc{box-shadow:none;border-radius:0;width:210mm;height:148mm;aspect-ratio:auto;break-after:page;page-break-after:always}
  .gc-back{break-after:auto;page-break-after:auto}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
