.gift-page {
  --accent: #ed2d43;
  --header-bg: #0f1113;
  --header-color: #fff;
  --header-border: rgba(255,255,255,.12);
  --language-border: rgba(255,255,255,.22);
  --language-bg: rgba(255,255,255,.08);
  --faq-border: #dfe2e5;
  --faq-muted: #747b81;
  --footer-bg: #111315;
  --footer-border: #24272a;
  --footer-color: #9ba0a5;
  --footer-link-hover: #fff;
  background:#fff;
}

.gift-page .site-header { background:#0f1113; }
.gift-page .brand__mark { width:52px; height:52px; border-radius:10px; }
.gift-page .brand__mark svg { width:30px; height:30px; }
.gift-page .brand__text { display:none; }
.gift-page .language-select select { width:168px; height:52px; border-radius:8px; font-size:16px; }
.gift-page .language-select svg { left:15px; width:19px; height:19px; }
.gift-page .language-select select { padding-left:43px; padding-right:34px; }

.gift-stage { background:#101214; color:#fff; padding:64px 0 70px; overflow:hidden; }
.gift-stage__inner { display:grid; grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr); align-items:center; gap:70px; }
.gift-copy { max-width:560px; }
.gift-eyebrow { display:inline-flex; align-items:center; gap:9px; color:#f0bb35; font-weight:700; font-size:15px; }
.status-dot { width:9px; height:9px; border-radius:50%; background:#2cc69a; box-shadow:0 0 0 6px rgba(44,198,154,.12); }
.gift-copy h1 { margin:25px 0 0; max-width:620px; font-size:54px; line-height:1.08; letter-spacing:-.02em; }
.gift-copy__subtitle { margin:27px 0 0; max-width:620px; color:#b9bec2; font-size:20px; line-height:1.85; }
.gift-badge { display:inline-flex; align-items:center; gap:9px; margin-top:28px; padding:10px 16px; border:1px solid #4a4d50; border-radius:7px; color:#f3f4f5; font-weight:650; }
.gift-badge svg { width:19px; height:19px; color:#f0c443; }
.gift-quick-info { display:grid; grid-template-columns:1fr 1fr; margin:38px 0 0; border-top:1px solid #34373a; border-bottom:1px solid #34373a; }
.gift-quick-info__item { min-height:92px; padding:19px 0 15px; margin:0; }
.gift-quick-info__item:nth-child(odd){ padding-right:28px; border-right:1px solid #34373a; }
.gift-quick-info__item:nth-child(even){ padding-left:28px; }
.gift-quick-info__item:nth-child(n+3){ border-top:1px solid #34373a; }
.gift-quick-info dt { color:#8f959a; font-size:13px; }
.gift-quick-info dd { margin:7px 0 0; color:#fff; font-size:18px; font-weight:700; }

.wheel-zone { display:flex; justify-content:center; align-items:center; min-width:0; }
.wheel-wrap { position:relative; width:min(600px,46vw); aspect-ratio:1; }
.wheel-wrap::before { position:absolute; inset:-7%; border:1px solid rgba(255,255,255,.08); border-radius:50%; content:""; }
.wheel { position:absolute; inset:5%; border:9px solid #eef1f1; border-radius:50%; background:conic-gradient(from -30deg,#f03550 0 60deg,#f2bb42 60deg 120deg,#27ad89 120deg 180deg,#4a84c5 180deg 240deg,#dd7038 240deg 300deg,#ef344e 300deg 360deg); box-shadow:0 0 0 7px #25292d,0 0 0 9px rgba(255,255,255,.18),0 20px 55px rgba(0,0,0,.32); transition:transform 4.4s cubic-bezier(.12,.68,.15,1); overflow:hidden; }
.wheel::after { position:absolute; inset:0; border-radius:50%; background:radial-gradient(circle at 50% 36%,rgba(255,255,255,.16),transparent 42%); content:""; pointer-events:none; }
.wheel-separator { position:absolute; z-index:2; top:50%; left:50%; width:50%; height:2px; background:rgba(255,255,255,.72); transform-origin:left center; transform:rotate(var(--angle)); }
.wheel-prize { position:absolute; z-index:3; top:var(--y); left:var(--x); min-width:72px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; text-align:center; text-shadow:0 1px 2px rgba(0,0,0,.22); transform:translate(-50%,-50%); pointer-events:none; }
.wheel-prize strong { font-size:29px; line-height:1; }
.wheel-prize span { margin-top:5px; font-size:11px; font-weight:700; }
.wheel-button { position:absolute; z-index:6; top:50%; left:50%; width:29%; aspect-ratio:1; border:8px solid #f6f7f7; border-radius:50%; background:#151719; color:#fff; box-shadow:0 0 0 4px #2b2f32; transform:translate(-50%,-50%); cursor:pointer; }
.wheel-button > span { display:flex; flex-direction:column; align-items:center; }
.wheel-button__text { font-size:21px; font-weight:800; }
.wheel-button__sub { margin-top:4px; color:#f0c14d; font-size:10px; font-weight:800; }
.wheel-button:disabled { cursor:wait; }
.wheel-pointer { position:absolute; z-index:8; top:1%; left:50%; width:64px; height:64px; border:7px solid #fff; border-radius:50%; background:#ed2d43; box-shadow:0 5px 16px rgba(0,0,0,.25); transform:translateX(-50%); }
.wheel-pointer::before { position:absolute; left:50%; bottom:-17px; width:2px; height:18px; background:#fff; content:""; transform:translateX(-50%); }
.wheel-pointer::after { position:absolute; left:50%; top:50%; width:27px; height:21px; border-radius:50% 50% 58% 42%; background:#fff; content:""; transform:translate(-50%,-50%) rotate(-10deg); }

.gift-info-band { background:#f4f5f6; }
.gift-info-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.gift-info-card { display:flex; gap:20px; min-height:170px; align-items:center; padding:36px 34px; border-right:1px solid #dcdfe2; }
.gift-info-card:first-child { padding-left:0; }
.gift-info-card:last-child { border-right:0; padding-right:0; }
.gift-info-card .icon-box { width:58px; height:58px; border-radius:11px; background:#fff; color:#ed2d43; box-shadow:0 10px 25px rgba(28,32,35,.06); }
.gift-info-card .icon-box svg { width:27px; height:27px; }
.gift-info-card__index { color:#a6abb0; font-size:12px; font-weight:700; }
.gift-info-card h3 { margin:5px 0 3px; font-size:21px; }
.gift-info-card p { margin:0; color:#777e84; font-size:15px; }

.gift-prizes-section { padding:88px 0 96px; background:#fff; }
.gift-prizes-section .section-heading { margin-bottom:34px; }
.prize-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #e0e2e4; border-left:1px solid #e0e2e4; }
.prize-item { min-height:210px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-right:1px solid #e0e2e4; border-bottom:1px solid #e0e2e4; }
.prize-item__coin { display:grid; width:70px; height:70px; place-items:center; border:1px solid #eceeef; border-radius:50%; background:#fff; box-shadow:0 12px 28px rgba(19,22,24,.08); }
.prize-item__coin img { width:48px; height:48px; }
.prize-item strong { margin-top:20px; font-size:32px; line-height:1; }
.prize-item > span:last-child { margin-top:7px; color:#777e84; font-size:13px; font-weight:700; }

.gift-rules-section { padding:80px 0 84px; background:#ed2d43; color:#fff; }
.gift-rules-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; }
.gift-rules-intro h2 { margin:0; font-size:45px; }
.gift-rules-intro p { max-width:420px; margin:20px 0 0; color:#ffdfe3; font-size:18px; }
.gift-rules-list { list-style:none; padding:0; margin:0; border-top:1px solid rgba(255,255,255,.35); }
.gift-rule { display:flex; align-items:center; gap:25px; min-height:116px; border-bottom:1px solid rgba(255,255,255,.35); }
.gift-rule > span { display:grid; width:42px; height:42px; flex:0 0 auto; place-items:center; border-radius:50%; background:#fff; color:#ed2d43; font-weight:800; }
.gift-rule p { margin:0; color:#fff; font-size:17px; line-height:1.6; }

.gift-faq-section { padding:82px 0 90px; background:#f5f6f7; }
.gift-faq-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:90px; }
.gift-faq-layout h2 { margin:0; font-size:42px; }
.gift-faq-note { display:flex; align-items:center; gap:12px; margin-top:28px; color:#757c82; }
.gift-faq-note svg { width:21px; height:21px; color:#ed2d43; }

.gift-win-amount { margin-top:18px; color:#e72f43; font-size:46px; font-weight:800; line-height:1; }
.gift-win-amount small { font-size:18px; }
.gift-recipient { margin-top:18px; padding:12px; border-radius:6px; background:#f5f6f7; text-align:left; }
.gift-recipient span { display:block; color:#81878c; font-size:11px; }
.gift-recipient strong { display:block; margin-top:4px; overflow-wrap:anywhere; font-size:12px; }
.gift-claim-field { display:block; margin-top:24px; text-align:left; }
.gift-claim-field__label { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; color:#4d5358; font-size:13px; font-weight:700; }
.gift-claim-field__label small { padding:3px 7px; border-radius:4px; background:#eaf8f2; color:#087a55; font-size:10px; }
.gift-claim-field__control { display:flex; height:54px; align-items:center; gap:10px; padding:0 14px; border:1px solid #d8dcdf; border-radius:6px; background:#fff; }
.gift-claim-field__control:focus-within { border-color:#b9bfc4; box-shadow:0 0 0 3px rgba(23,25,27,.05); }
.gift-claim-field__control > svg { width:19px; height:19px; color:#90969b; flex:0 0 auto; }
.gift-claim-field input,.gift-claim-field select { min-width:0; height:100%; border:0; outline:0; background:transparent; color:#202326; }
.gift-claim-field input { width:100%; }
.gift-contact-field__control select { width:150px; font-weight:700; }
.gift-contact-field__divider { width:1px; height:28px; background:#e3e5e7; flex:0 0 auto; }
.gift-claim-field__hint { display:block; margin-top:7px; color:#8a9095; font-size:11px; }
.gift-claim-field__error { display:block; min-height:16px; margin-top:3px; color:#d6293d; font-size:11px; }
.gift-claim-field input.is-invalid { color:#d6293d; }

@media (max-width: 900px) {
  .gift-stage__inner { grid-template-columns:1fr; gap:40px; }
  .gift-copy { max-width:none; text-align:center; }
  .gift-eyebrow,.gift-badge { margin-left:auto; margin-right:auto; }
  .gift-copy h1,.gift-copy__subtitle { margin-left:auto; margin-right:auto; }
  .gift-quick-info { text-align:left; }
  .wheel-wrap { width:min(610px,88vw); }
  .gift-info-grid { grid-template-columns:1fr; }
  .gift-info-card { padding:26px 0; border-right:0; border-bottom:1px solid #dcdfe2; }
  .gift-info-card:last-child { border-bottom:0; }
  .gift-rules-layout,.gift-faq-layout { grid-template-columns:1fr; gap:42px; }
}

@media (max-width: 760px) {
  .gift-page .site-header { height:82px; }
  .gift-page .brand__mark { width:50px; height:50px; }
  .gift-page .language-select select { width:167px; height:50px; font-size:16px; }
  .gift-stage { padding:58px 0 54px; }
  .gift-stage__inner { gap:34px; }
  .gift-copy { text-align:center; }
  .gift-eyebrow { font-size:13px; }
  .gift-copy h1 { margin-top:25px; font-size:38px; line-height:1.16; }
  .gift-copy__subtitle { margin-top:23px; font-size:17px; line-height:1.75; }
  .gift-badge { margin-top:24px; padding:10px 15px; font-size:14px; }
  .gift-quick-info { margin-top:35px; }
  .gift-quick-info__item { min-height:95px; padding-top:18px; }
  .gift-quick-info__item:nth-child(odd){ padding-right:16px; }
  .gift-quick-info__item:nth-child(even){ padding-left:16px; }
  .gift-quick-info dt { font-size:13px; }
  .gift-quick-info dd { font-size:17px; }
  .wheel-wrap { width:calc(100vw - 28px); margin-top:4px; }
  .wheel { border-width:7px; }
  .wheel-prize strong { font-size:24px; }
  .wheel-prize span { font-size:9px; }
  .wheel-button { border-width:6px; }
  .wheel-button__text { font-size:17px; }
  .wheel-pointer { width:58px; height:58px; border-width:6px; }
  .gift-info-card { min-height:155px; gap:18px; }
  .gift-info-card .icon-box { width:58px; height:58px; }
  .gift-info-card h3 { font-size:22px; }
  .gift-info-card p { font-size:15px; line-height:1.6; }
  .gift-prizes-section { padding:74px 0 76px; }
  .gift-prizes-section .section-heading h2 { font-size:34px; }
  .gift-prizes-section .section-heading p { font-size:16px; }
  .prize-grid { grid-template-columns:repeat(2,1fr); }
  .prize-item { min-height:205px; }
  .prize-item__coin { width:68px; height:68px; }
  .prize-item strong { font-size:30px; }
  .gift-rules-section { padding:60px 0 68px; }
  .gift-rules-intro h2 { font-size:40px; }
  .gift-rules-intro p { font-size:17px; }
  .gift-rule { min-height:154px; gap:22px; }
  .gift-rule p { font-size:16px; }
  .gift-faq-section { padding:55px 0 0; }
  .gift-faq-layout { gap:34px; }
  .gift-faq-layout h2 { font-size:37px; }
  .gift-page .gift-faq-section + .site-footer { margin-top:0; }
  .gift-page .site-footer { padding:42px 0 50px; }
  .gift-page .site-footer__brand { align-items:center; }
  .gift-page .site-footer__brand .brand__mark { width:44px; height:44px; }
  .gift-page .site-footer__brand p { font-size:13px; }
  .gift-page .site-footer__links { font-size:13px; }
  .gift-contact-field__control { padding:0 12px; }
  .gift-contact-field__control select { width:145px; }
}

@media (max-width: 430px) {
  .container { width:calc(100% - 28px); }
  .gift-page .site-header__inner { gap:10px; }
  .gift-page .language-select select { width:152px; }
  .gift-copy h1 { font-size:34px; }
  .gift-copy__subtitle { font-size:15.5px; }
  .wheel-prize strong { font-size:22px; }
  .wheel-button__text { font-size:16px; }
  .gift-rules-intro h2 { font-size:36px; }
  .gift-faq-layout h2 { font-size:34px; }
  .modal { border-radius:9px; }
  .gift-contact-field__control select { width:128px; font-size:13px; }
}
