.hero-illustration{position:relative;display:grid;place-items:center;aspect-ratio:21/9;height:clamp(240px,28vw,360px);overflow:hidden;border-radius:16px;background:radial-gradient(140% 120% at 50% 50%,rgba(255,124,194,.10),rgba(255,124,194,0) 60%),linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.05));border:1px solid rgba(255,255,255,.10);padding:12px;box-sizing:border-box}
.hero-illustration::before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(135deg,rgba(255,124,194,.45),rgba(255,124,194,0) 35%,rgba(255,103,184,0) 65%,rgba(255,103,184,.35));-webkit-mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);-webkit-mask-composite:xor;mask-composite:exclude;padding:1px;pointer-events:none;opacity:.4}
.hero-illustration::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(60% 90% at 50% 55%,rgba(0,0,0,.18),transparent 65%),radial-gradient(55% 80% at 50% 45%,rgba(255,255,255,.06),transparent 65%);pointer-events:none}
.hero-illustration .halo{display:none}
.hero-illustration .hero-logo{position:relative;z-index:1;display:block;width:auto;height:auto;max-width:98%;max-height:88%;object-fit:contain;object-position:center;image-rendering:auto;filter:drop-shadow(0 12px 32px rgba(0,0,0,.55)) drop-shadow(0 6px 16px rgba(255,124,194,.12));transform:translateZ(0);margin:auto}

.gift-card-shell{position:relative;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.gift-card-body{position:relative;z-index:1}
.gift-card-shell::before{content:"";position:absolute;inset:-30% 45% auto -35%;height:300px;background:radial-gradient(120% 120% at 30% 50%,rgba(255,124,194,.18),transparent 70%);opacity:.7;pointer-events:none}
.gift-card-shell::after{content:"";position:absolute;inset:auto -25% -40% 50%;height:260px;background:radial-gradient(120% 120% at 70% 30%,rgba(124,132,255,.18),transparent 70%);opacity:.6;pointer-events:none}
.gift-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.gift-card-lead{max-width:46ch}
.gift-card-hero{margin-top:1.5rem;display:grid;gap:1.75rem;grid-template-columns:minmax(0,1fr);align-items:stretch}
.gift-card-hero__chips{display:flex;flex-wrap:wrap;gap:.5rem}
.gift-card-hero__content{animation:giftCardFadeIn .6s ease-out both;position:relative;border-radius:16px;padding:1.4rem 1.5rem;background:linear-gradient(135deg,rgba(20,24,36,.94),rgba(12,16,24,.96));border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 60px rgba(0,0,0,.35);overflow:hidden}
.gift-card-hero__content::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 120% at 0% 0%,rgba(255,124,194,.18),transparent 60%);opacity:.7;pointer-events:none}
.gift-card-hero__content>*{position:relative;z-index:1}
.gift-card-info .register-steps{margin-top:.35rem}
.gift-card-benefits{display:grid;gap:.75rem;margin-top:1.25rem}
.gift-card-form{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(24,28,40,.96),rgba(12,16,24,.95));border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 70px rgba(0,0,0,.45)}
.gift-card-form::before{content:"";position:absolute;inset:0;background:radial-gradient(90% 120% at 85% 0%,rgba(255,124,194,.18),transparent 60%);opacity:.7;pointer-events:none}
.gift-card-form>*{position:relative;z-index:1}
.gift-card-form__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}
.gift-card-form__header .badge{white-space:nowrap}
.gift-card-recipient-field{margin-top:.65rem;transition:opacity .2s ease}
.gift-card-recipient-field[aria-disabled="true"]{opacity:.7}
.gift-card-recipient-field .form-control:disabled{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:rgba(233,235,240,.7);cursor:not-allowed}
.gift-card-recipient-field .form-control:disabled::placeholder{color:rgba(233,235,240,.45)}
.gift-card-test-banner{border:1px solid rgba(251,191,36,.3);background:linear-gradient(135deg,rgba(251,191,36,.18),rgba(17,19,26,.88));color:#ffe8a3}
.gift-card-amount-panel{display:grid;gap:.75rem;padding:1rem;border-radius:14px;background:rgba(8,10,16,.6);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.gift-card-amount-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem;margin-top:.1rem}
.gift-card-amount-option{border:1px solid rgba(255,255,255,.16);background:radial-gradient(120% 120% at 12% 8%,rgba(255,255,255,.08),rgba(255,255,255,0) 60%),linear-gradient(160deg,rgba(26,30,44,.98),rgba(12,16,26,.98));border-radius:999px;padding:.9rem 1rem;font-weight:700;letter-spacing:.02em;transition:transform .18s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease;color:#eef2f8;text-align:center;min-height:54px;display:grid;place-items:center;position:relative;overflow:hidden;cursor:pointer;user-select:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 12px 26px rgba(0,0,0,.35);text-shadow:0 1px 2px rgba(0,0,0,.45)}
.gift-card-amount-option::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.32),rgba(255,255,255,0) 55%);opacity:.35;pointer-events:none}
.gift-card-amount-option::after{content:"";position:absolute;inset:-55% 35% auto -35%;height:140%;background:radial-gradient(120% 120% at 30% 40%,rgba(255,124,194,.22),transparent 65%);opacity:.55;pointer-events:none}
.gift-card-amount-option:hover,
.gift-card-amount-option:focus-visible{border-color:rgba(255,188,220,.85);background:radial-gradient(120% 120% at 12% 8%,rgba(255,255,255,.12),rgba(255,255,255,0) 60%),linear-gradient(160deg,rgba(32,36,52,.98),rgba(14,18,30,.98));transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 18px 34px rgba(8,10,24,.45)}
.gift-card-amount-option:active{transform:translateY(0);box-shadow:inset 0 2px 6px rgba(0,0,0,.45),0 8px 18px rgba(0,0,0,.35)}
.gift-card-amount-option.is-selected,
.gift-card-amount-option[aria-pressed="true"]{border-color:rgba(255,124,194,.95);background:linear-gradient(135deg,rgba(255,86,170,.58),rgba(120,110,255,.4));box-shadow:0 18px 40px rgba(255,86,170,.18),0 16px 32px rgba(12,14,28,.45),inset 0 1px 0 rgba(255,255,255,.22);color:#fff;transform:translateY(-2px)}
.gift-card-amount-option:focus-visible{outline:2px solid rgba(255,124,194,.7);outline-offset:2px}
.gift-card-amount-value{display:block;font-size:1rem;letter-spacing:.02em}
.gift-card-amount-summary{margin-top:.2rem;font-size:.9rem;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.6rem .8rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.gift-card-amount-hint{font-size:.82rem;color:rgba(233,235,240,.75)}
.gift-card-payment-element{margin-top:.5rem;padding:1rem;border-radius:12px;border:1px dashed rgba(255,255,255,.22);background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.02));min-height:56px}
.gift-card-status .alert{margin-bottom:0}
.gift-card-trust{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;color:rgba(233,235,240,.85);font-size:.85rem}
.gift-card-trust span{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.gift-card-note{margin-top:1rem;font-size:.9rem;color:var(--muted)}
.gift-card-success{position:relative;overflow:hidden;border:1px solid rgba(72,214,170,.28);background:linear-gradient(135deg,rgba(18,22,36,.96),rgba(10,13,22,.94));box-shadow:0 26px 60px rgba(4,7,16,.55)}
.gift-card-success::before{content:"";position:absolute;inset:-40% 50% auto -40%;height:240px;background:radial-gradient(120% 120% at 30% 50%,rgba(80,236,200,.25),transparent 70%);opacity:.7;pointer-events:none}
.gift-card-success::after{content:"";position:absolute;inset:auto -30% -45% 55%;height:280px;background:radial-gradient(120% 120% at 70% 40%,rgba(255,124,194,.22),transparent 70%);opacity:.6;pointer-events:none}
.gift-card-success .card-body{position:relative;z-index:1}
.gift-card-code{position:relative;display:grid;gap:.7rem;margin:1.2rem 0 1.4rem;padding:1.2rem 1.4rem;border-radius:1.1rem;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(12,16,26,.95),rgba(16,20,32,.96));box-shadow:0 18px 44px rgba(0,0,0,.35);text-align:center;overflow:hidden}
.gift-card-code::before{content:"";position:absolute;inset:-60% -40% auto -40%;height:220%;background:conic-gradient(from 120deg,rgba(255,124,194,.35),rgba(124,186,255,.28),rgba(255,218,128,.3),rgba(167,124,255,.32),rgba(255,124,194,.35));opacity:.45;filter:blur(30px);transform-origin:center;animation:giftCardPrism 10s linear infinite;pointer-events:none}
.gift-card-code::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0) 50%,rgba(0,0,0,.2));pointer-events:none}
.gift-card-code__label{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;color:rgba(255,255,255,.7)}
.gift-card-code__value{position:relative;z-index:1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:clamp(1.05rem,2.4vw,1.65rem);letter-spacing:.18em;padding:.35rem .6rem;background:linear-gradient(120deg,#ff9fd9,#8fd6ff,#ffe29b,#ff7bd5,#b09bff);background-size:300% 300%;color:#fff;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 18px rgba(255,145,210,.35);filter:drop-shadow(0 0 12px rgba(125,195,255,.25));animation:giftCardShimmer 6s ease infinite,giftCardPulse 2.6s ease-in-out infinite;word-break:break-all;user-select:all}
.gift-card-code__actions{display:flex;justify-content:center}
.gift-card-code__copy{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.4rem .95rem;font-weight:600;border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.04)}
.gift-card-code__copy:hover{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.1)}
.gift-card-code__hint{font-size:.82rem;color:rgba(255,255,255,.65)}
@keyframes giftCardShimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes giftCardPulse{0%,100%{opacity:.82}50%{opacity:1}}
@keyframes giftCardPrism{to{transform:rotate(360deg)}}
@keyframes giftCardFadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media (max-width: 991.98px){
  .gift-card-hero{grid-template-columns:1fr}
}
@media (prefers-reduced-motion: reduce){
  .gift-card-hero__content{animation:none}
  .gift-card-code__value{animation:none}
  .gift-card-code::before{animation:none}
}
