.gift-first-campaign {
    --gfc-deep: #061a46;
    --gfc-blue: #006fb8;
    --gfc-gold: #ffcf3f;
    --gfc-orange: #f47b20;
    --gfc-red: #e7212d;
    --gfc-ink: #172033;
    --gfc-muted: #68758a;
    --gfc-line: #dce5ef;
    --gfc-soft: #f4f8fc;
    --gfc-shadow: 0 24px 64px rgba(6, 26, 70, 0.18);
    color: var(--gfc-ink);
    background: #fff;
    font-family: "Noto Sans TC", "Microsoft JhengHei", Arial, sans-serif;
}

.gift-first-campaign *,
.gift-first-campaign *::before,
.gift-first-campaign *::after { box-sizing: border-box; }
.gift-first-campaign a { color: inherit; text-decoration: none; }
.gift-first-campaign img { display: block; max-width: 100%; }
.gift-first-campaign .gfc-wrap { width: min(1180px, calc(100% - 36px)); margin: 0 auto; }

.gift-first-campaign .gfc-btn {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 22px;
    border: 0;
    border-radius: 8px;
    font-weight: 900;
    white-space: nowrap;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gift-first-campaign .gfc-btn:hover { transform: translateY(-2px); }
.gift-first-campaign .gfc-btn-primary { color: #fff; background: linear-gradient(135deg, var(--gfc-red), var(--gfc-orange)); box-shadow: 0 14px 28px rgba(231, 33, 45, 0.28); }
.gift-first-campaign .gfc-btn-secondary { color: var(--gfc-deep); background: var(--gfc-gold); box-shadow: 0 14px 28px rgba(255, 207, 63, 0.28); }

.gift-first-campaign .gfc-hero {
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 72% 28%, rgba(255, 207, 63, 0.34), transparent 22%),
        radial-gradient(circle at 44% 80%, rgba(0, 184, 255, 0.28), transparent 28%),
        linear-gradient(135deg, #061a46 0%, #083b8c 52%, #d71928 100%);
}

.gift-first-campaign .gfc-hero .gfc-wrap {
    min-height: 650px;
    display: grid;
    grid-template-columns: minmax(0, 0.96fr) minmax(420px, 1.04fr);
    gap: 42px;
    align-items: center;
    padding: 62px 0 70px;
}

.gift-first-campaign .gfc-eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 9px 16px;
    border-radius: 8px;
    color: var(--gfc-deep);
    background: var(--gfc-gold);
    font-size: 18px;
    font-weight: 900;
    box-shadow: 0 12px 24px rgba(255, 207, 63, 0.28);
}

.gift-first-campaign h1 {
    margin: 18px 0 14px;
    font-size: clamp(48px, 5vw, 78px);
    line-height: 1.03;
    text-shadow: 0 10px 24px rgba(0, 0, 0, 0.26);
}

.gift-first-campaign .gfc-hero-title-main { color: #fff; font-weight: 700; }
.gift-first-campaign h1 strong { color: var(--gfc-gold); }
.gift-first-campaign .gfc-hero-copy p { margin: 0; max-width: 620px; color: rgba(255, 255, 255, 0.92); font-size: 22px; font-weight: 800; line-height: 1.65; }
.gift-first-campaign .gfc-hero-price { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 30px 0; }

.gift-first-campaign .gfc-price-box {
    padding: 18px;
    border: 2px solid rgba(255, 255, 255, 0.58);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.95);
    color: var(--gfc-deep);
    box-shadow: var(--gfc-shadow);
}

.gift-first-campaign .gfc-price-box span,
.gift-first-campaign .gfc-price-box small { display: block; }
.gift-first-campaign .gfc-price-box span { color: var(--gfc-blue); font-weight: 900; }
.gift-first-campaign .gfc-price-box b { display: block; color: var(--gfc-red); font-size: 48px; line-height: 1; }
.gift-first-campaign .gfc-price-box small { margin-top: 4px; color: var(--gfc-muted); font-size: 14px; font-weight: 800; }
.gift-first-campaign .gfc-actions { display: flex; flex-wrap: wrap; gap: 12px; }

.gift-first-campaign .gfc-stage { position: relative; min-height: 520px; }
.gift-first-campaign .gfc-stage::before {
    content: "";
    position: absolute;
    inset: 52px 20px 24px;
    border: 3px solid rgba(255, 207, 63, 0.76);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.12);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24), var(--gfc-shadow);
}

.gift-first-campaign .gfc-ribbon {
    position: absolute;
    top: 22px;
    right: 12px;
    z-index: 3;
    width: 148px;
    height: 148px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--gfc-deep);
    background: var(--gfc-gold);
    border: 5px solid #fff;
    text-align: center;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.15;
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
    transform: rotate(8deg);
}

.gift-first-campaign .gfc-hero-photo {
    position: absolute;
    inset: 0 0 auto auto;
    width: min(100%, 610px);
    border: 6px solid #fff;
    border-radius: 28px;
    box-shadow: 0 28px 62px rgba(0, 0, 0, 0.34);
    overflow: hidden;
    transform: rotate(1.4deg);
}

.gift-first-campaign .gfc-hero-photo img { width: 100%; aspect-ratio: 1.34 / 1; object-fit: cover; }
.gift-first-campaign .gfc-mini-gifts { position: absolute; left: 0; right: 8px; bottom: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: end; }
.gift-first-campaign .gfc-mini-gift { overflow: hidden; border-radius: 18px; border: 4px solid #fff; background: #fff; box-shadow: 0 20px 42px rgba(0, 0, 0, 0.28); }
.gift-first-campaign .gfc-mini-gift:nth-child(2) { transform: translateY(-24px); }
.gift-first-campaign .gfc-mini-gift img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }

.gift-first-campaign .gfc-ticker { overflow: hidden; white-space: nowrap; color: #fff; background: #071738; border-top: 4px solid var(--gfc-gold); border-bottom: 4px solid var(--gfc-gold); font-size: 19px; font-weight: 900; }
.gift-first-campaign .gfc-ticker-inner { display: inline-flex; gap: 42px; padding: 15px 0; animation: gfc-move 28s linear infinite; }
.gift-first-campaign .gfc-ticker span { color: var(--gfc-gold); }
@keyframes gfc-move { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.gift-first-campaign .gfc-section { padding: 76px 0; }
.gift-first-campaign .gfc-section-soft { background: var(--gfc-soft); }
.gift-first-campaign .gfc-section-dark {
    color: #fff;
    background:
        radial-gradient(circle at 18% 12%, rgba(255, 207, 63, 0.22), transparent 28%),
        linear-gradient(180deg, #061a46, #082d68);
}

.gift-first-campaign .gfc-section-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: end; margin-bottom: 32px; }
.gift-first-campaign .gfc-kicker { margin-bottom: 8px; color: var(--gfc-orange); font-size: 15px; font-weight: 900; }
.gift-first-campaign h2 { margin: 0; color: var(--gfc-deep); font-size: 38px; line-height: 1.24; }
.gift-first-campaign .gfc-section-dark h2 { color: #fff; }
.gift-first-campaign .gfc-section-head p { margin: 10px 0 0; max-width: 760px; color: var(--gfc-muted); font-size: 18px; font-weight: 700; }
.gift-first-campaign .gfc-section-dark .gfc-section-head p { color: rgba(255, 255, 255, 0.84); }
.gift-first-campaign .gfc-date-badge { padding: 12px 18px; border-radius: 10px; color: var(--gfc-deep); background: var(--gfc-gold); font-weight: 900; white-space: nowrap; box-shadow: 0 12px 24px rgba(255, 207, 63, 0.22); }
.gift-first-campaign .gfc-gift-path { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.gift-first-campaign .gfc-gift-card { position: relative; overflow: hidden; min-height: 430px; border-radius: 18px; background: #fff; box-shadow: var(--gfc-shadow); }
.gift-first-campaign .gfc-gift-card img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.gift-first-campaign .gfc-gift-badge { position: absolute; top: 14px; left: 14px; padding: 7px 12px; border-radius: 8px; color: var(--gfc-deep); background: var(--gfc-gold); font-size: 14px; font-weight: 900; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.18); }
.gift-first-campaign .gfc-gift-body { padding: 20px; }
.gift-first-campaign .gfc-gift-body h3 { margin: 0 0 8px; color: var(--gfc-deep); font-size: 25px; line-height: 1.18; }
.gift-first-campaign .gfc-gift-body p { margin: 0 0 16px; color: var(--gfc-muted); font-weight: 700; }
.gift-first-campaign .gfc-gift-body ul, .gift-first-campaign .gfc-plan ul { margin: 0; padding: 0; list-style: none; }
.gift-first-campaign .gfc-gift-body li, .gift-first-campaign .gfc-plan li { position: relative; padding-left: 20px; margin-top: 8px; color: #31445c; font-weight: 800; }
.gift-first-campaign .gfc-gift-body li::before, .gift-first-campaign .gfc-plan li::before { content: ""; position: absolute; left: 0; top: 0.7em; width: 8px; height: 8px; border-radius: 50%; background: var(--gfc-orange); }

.gift-first-campaign .gfc-decision { display: grid; grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.18fr); gap: 22px; align-items: stretch; }
.gift-first-campaign .gfc-decision-panel { padding: 30px; border-radius: 20px; color: #fff; background: radial-gradient(circle at 86% 18%, rgba(255, 207, 63, 0.28), transparent 26%), linear-gradient(135deg, #061a46, #006fb8); box-shadow: var(--gfc-shadow); }
.gift-first-campaign .gfc-decision-panel h2 { color: #fff; font-size: 42px; }
.gift-first-campaign .gfc-decision-panel p { margin: 12px 0 0; color: rgba(255, 255, 255, 0.86); font-size: 18px; font-weight: 700; }
.gift-first-campaign .gfc-step-list, .gift-first-campaign .gfc-plan-list { display: grid; gap: 14px; }
.gift-first-campaign .gfc-step-list { margin-top: 28px; gap: 12px; }
.gift-first-campaign .gfc-step { display: grid; grid-template-columns: 46px 1fr; gap: 12px; align-items: start; padding: 15px; border-radius: 14px; background: rgba(255, 255, 255, 0.13); border: 1px solid rgba(255, 255, 255, 0.24); }
.gift-first-campaign .gfc-step b { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; color: var(--gfc-deep); background: var(--gfc-gold); font-size: 22px; }
.gift-first-campaign .gfc-step span { display: block; color: rgba(255, 255, 255, 0.88); font-weight: 800; }
.gift-first-campaign .gfc-plan { display: grid; grid-template-columns: 132px 1fr auto; gap: 18px; align-items: center; padding: 18px; border: 2px solid var(--gfc-line); border-radius: 18px; background: #fff; box-shadow: 0 14px 36px rgba(6, 26, 70, 0.1); }
.gift-first-campaign .gfc-speed { display: grid; place-items: center; min-height: 112px; border-radius: 14px; color: #fff; background: linear-gradient(135deg, var(--gfc-red), var(--gfc-orange)); text-align: center; font-weight: 900; line-height: 1.14; }
.gift-first-campaign .gfc-speed strong { display: block; font-size: 32px; }
.gift-first-campaign .gfc-plan h3 { margin: 0 0 6px; color: var(--gfc-deep); font-size: 24px; }
.gift-first-campaign .gfc-plan p { margin: 0; color: var(--gfc-muted); font-weight: 700; }
.gift-first-campaign .gfc-plan ul { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 13px; }
.gift-first-campaign .gfc-price { min-width: 128px; text-align: right; color: var(--gfc-red); font-size: 42px; line-height: 1; font-weight: 900; }
.gift-first-campaign .gfc-price small { display: block; margin-top: 4px; color: var(--gfc-muted); font-size: 14px; }

.gift-first-campaign .gfc-bonus-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.gift-first-campaign .gfc-bonus { min-height: 196px; padding: 24px; border-radius: 18px; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.24); }
.gift-first-campaign .gfc-bonus b { display: block; margin-bottom: 10px; color: var(--gfc-gold); font-size: 28px; line-height: 1.16; }
.gift-first-campaign .gfc-bonus span { color: rgba(255, 255, 255, 0.86); font-weight: 800; }

.gift-first-campaign .gfc-contact { padding: 60px 0; color: #fff; background: linear-gradient(90deg, #061a46, #09428d 50%, #061a46); border-top: 4px solid var(--gfc-gold); }
.gift-first-campaign .gfc-contact-grid { display: grid; grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr); gap: 28px; align-items: start; }
.gift-first-campaign .gfc-contact h2 { color: #fff; font-size: 34px; }
.gift-first-campaign .gfc-contact p { margin: 10px 0 0; color: rgba(255, 255, 255, 0.86); font-size: 18px; font-weight: 700; }
.gift-first-campaign .gfc-contact-box { display: grid; gap: 12px; padding: 22px; border-radius: 18px; background: rgba(255, 255, 255, 0.13); border: 1px solid rgba(255, 255, 255, 0.24); }
.gift-first-campaign .gfc-contact-box strong { font-size: 24px; line-height: 1.3; }
.gift-first-campaign .gfc-contact-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.gift-first-campaign .gfc-apply-panel { padding: 28px; border-radius: 22px; background: rgba(255, 255, 255, 0.14); border: 1px solid rgba(255, 255, 255, 0.24); box-shadow: 0 18px 44px rgba(0, 0, 0, 0.16); }
.gift-first-campaign .gfc-apply-panel h3 { margin: 0 0 20px; color: #fff; font-size: 28px; text-align: center; }
.gift-first-campaign .gfc-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.gift-first-campaign .gfc-form-field { display: grid; gap: 8px; }
.gift-first-campaign .gfc-form-field-full { grid-column: 1 / -1; }
.gift-first-campaign .gfc-form-label { color: #fff; font-size: 15px; font-weight: 800; }
.gift-first-campaign .gfc-form-input,
.gift-first-campaign .gfc-form-select { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid rgba(255, 255, 255, 0.34); border-radius: 10px; color: var(--gfc-ink); background: #fff; font-size: 16px; }
.gift-first-campaign .gfc-form-input::placeholder { color: #7d8699; }
.gift-first-campaign .gfc-radio-row { display: flex; flex-wrap: wrap; gap: 16px; }
.gift-first-campaign .gfc-radio { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-weight: 700; }
.gift-first-campaign .gfc-hint,
.gift-first-campaign .gfc-legal { margin: 0; color: rgba(255, 255, 255, 0.84); font-size: 14px; line-height: 1.6; }
.gift-first-campaign .gfc-legal a { color: var(--gfc-gold); text-decoration: underline; }
.gift-first-campaign .gfc-price-board { display: grid; gap: 6px; padding: 18px 20px; border-radius: 14px; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.2); }
.gift-first-campaign .gfc-price-board span { color: rgba(255, 255, 255, 0.8); font-size: 14px; font-weight: 700; }
.gift-first-campaign .gfc-price-board strong { color: var(--gfc-gold); font-size: 38px; line-height: 1; }
.gift-first-campaign .gfc-points-note { margin: 12px 0 0; color: #7b5ea7; font-size: 1.5rem; font-weight: 700; text-align: left; }
.gift-first-campaign .gfc-points-note strong { font-weight: 900; }
.gift-first-campaign .gfc-submit { width: 100%; min-height: 54px; border: 0; border-radius: 12px; color: var(--gfc-deep); background: var(--gfc-gold); font-size: 18px; font-weight: 900; box-shadow: 0 14px 28px rgba(255, 207, 63, 0.28); transition: transform 0.2s ease, box-shadow 0.2s ease; }
.gift-first-campaign .gfc-submit:hover { transform: translateY(-2px); }
.gift-first-campaign .gfc-submit:disabled { cursor: not-allowed; opacity: 0.7; transform: none; }
.gift-first-campaign .gfc-apply-note { display: grid; gap: 14px; }
.gift-first-campaign .gfc-apply-note ul { margin: 0; padding-left: 18px; color: rgba(255, 255, 255, 0.86); }
.gift-first-campaign .gfc-apply-note li { margin-top: 8px; font-weight: 700; }

.gift-first-campaign details { border: 1px solid var(--gfc-line); border-radius: 16px; padding: 0 18px; background: #fff; }
.gift-first-campaign summary { cursor: pointer; padding: 18px 0; color: var(--gfc-deep); font-weight: 900; }
.gift-first-campaign details p { margin: 0; padding-bottom: 18px; color: var(--gfc-muted); font-size: 15px; }

@media (max-width: 1120px) {
    .gift-first-campaign .gfc-hero .gfc-wrap,
    .gift-first-campaign .gfc-decision,
    .gift-first-campaign .gfc-contact-grid { grid-template-columns: 1fr; }
    .gift-first-campaign .gfc-stage { min-height: 560px; order: -1; }
    .gift-first-campaign .gfc-gift-path { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gift-first-campaign .gfc-plan { grid-template-columns: 120px 1fr; }
    .gift-first-campaign .gfc-price { grid-column: 2; text-align: left; }
}

@media (max-width: 760px) {
    .gift-first-campaign .gfc-wrap { width: min(100% - 28px, 1180px); }
    .gift-first-campaign .gfc-hero .gfc-wrap { min-height: auto; padding: 42px 0 56px; }
    .gift-first-campaign h1 { font-size: 42px; }
    .gift-first-campaign .gfc-hero-copy p { font-size: 18px; }
    .gift-first-campaign .gfc-hero-price,
    .gift-first-campaign .gfc-gift-path,
    .gift-first-campaign .gfc-bonus-grid,
    .gift-first-campaign .gfc-section-head,
    .gift-first-campaign .gfc-form-grid { grid-template-columns: 1fr; }
    .gift-first-campaign .gfc-stage { min-height: 480px; }
    .gift-first-campaign .gfc-hero-photo { width: 100%; }
    .gift-first-campaign .gfc-mini-gifts { grid-template-columns: repeat(2, minmax(0, 1fr)); right: 0; }
    .gift-first-campaign .gfc-mini-gift:nth-child(3) { display: none; }
    .gift-first-campaign .gfc-ribbon { width: 118px; height: 118px; font-size: 19px; }
    .gift-first-campaign .gfc-section { padding: 54px 0; }
    .gift-first-campaign h2,
    .gift-first-campaign .gfc-decision-panel h2,
    .gift-first-campaign .gfc-contact h2 { font-size: 30px; }
    .gift-first-campaign .gfc-date-badge { justify-self: start; white-space: normal; }
    .gift-first-campaign .gfc-plan { grid-template-columns: 1fr; }
    .gift-first-campaign .gfc-speed { min-height: 86px; }
    .gift-first-campaign .gfc-price { grid-column: auto; }
}
