.gifts-page { background:#0c1512; color:#edf4ef; font-family:system-ui,sans-serif; letter-spacing:0; }
.gifts-page *,.gift-admin * { box-sizing:border-box; }
.gifts-page [hidden] { display:none!important; }
.gift-header { max-width:1180px;margin:auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #ffffff18; }
.gift-header img { width:82px; height:48px; object-fit:contain; filter:invert(1); }
.gift-header nav { display:flex;gap:24px;font-size:14px; }
.gift-header a { color:#d4e5db; }
.gift-main { max-width:1132px;margin:auto;padding:48px 24px 80px; }
.gift-intro { position:relative;padding:32px 0 48px;max-width:850px; }
.gift-eyebrow { display:block;color:#b8d6c3;font-size:12px;font-weight:650;margin-bottom:16px; }
.gifts-page h1 { max-width:none;font-size:46px;line-height:1.12;letter-spacing:0;margin:0 0 22px;font-weight:750;overflow-wrap:anywhere; }
.gifts-page h2 { font-size:23px;line-height:1.3;margin:12px 0;letter-spacing:0; }
.gifts-page p { color:#afc3b8;line-height:1.7;margin:12px 0 20px; }
.gift-intro p { max-width:690px;font-size:18px; }
.gift-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.gift-card { background:#ffffff06;border:1px solid #b8d6c32b;border-radius:8px;padding:26px;display:flex;flex-direction:column;min-width:0;transition:transform .25s,border-color .25s;backdrop-filter:blur(8px); }
.gift-card:hover { transform:translateY(-4px);border-color:#8bbb9b; }
.gift-card img { filter:invert(1);opacity:.8;margin-bottom:18px; }
.gift-price { display:block;color:#e9c98f;font-size:28px;font-weight:650;margin:10px 0; }
.gift-card p { flex:1; }
.gift-button,.gift-secondary { display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 18px;border-radius:6px;font:600 14px system-ui;cursor:pointer;gap:8px;text-align:center; }
.gift-button { background:#2c6c4c;color:white!important;border:1px solid #448462; }
.gift-button:hover { background:#357d59; }
.gift-button:disabled { opacity:.6;cursor:wait; }
.gift-secondary { border:1px solid #597267;background:transparent;color:#e3efe8; }
.gift-custom { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 0;margin:26px 0;border-block:1px solid #ffffff18; }
.gift-impact { padding:32px 0; }
.gift-impact h2 { font-size:38px;color:#e9c98f; }
.gift-impact progress { width:100%;height:10px;appearance:none;border:0;border-radius:6px;overflow:hidden;background:#23392f;accent-color:#75b28e;margin:10px 0 16px; }
.gift-impact progress::-webkit-progress-bar { background:#23392f; }
.gift-impact progress::-webkit-progress-value { background:#75b28e; }
.gift-impact progress::-moz-progress-bar { background:#75b28e; }
.gift-impact>div { display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap; }
.gift-impact small { display:block;color:#8ea99a;margin-top:16px; }
.gift-impact.gift-visible progress { animation:giftProgress .9s ease both; }
@keyframes giftProgress { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0); } }
.gift-checkout,.gift-success,.gift-tracking { max-width:780px;margin:auto; }
.gift-back { display:block;color:#b8d6c3;margin-bottom:30px; }
.gift-steps { display:flex;gap:24px;padding:24px 0;list-style-position:inside;border-block:1px solid #ffffff18;margin:30px 0;flex-wrap:wrap;color:#abc8b8;font-size:13px; }
.gift-payment { display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0; }
.gift-payment a { display:flex;align-items:center;gap:14px;background:#fff;color:#14251c;padding:18px;border-radius:8px;font-weight:650; }
.gift-payment img { width:46px;height:46px;object-fit:contain; }
.gift-payment span { margin-left:auto; }
.gift-form { padding:24px 0; }
.gift-fields { display:grid;grid-template-columns:1fr 1fr;gap:0 18px; }
.gift-form label { display:grid;gap:8px;margin-bottom:20px;font-size:14px; }
.gift-form small { color:#9cb8a9; }
.gift-form input:not([type=checkbox]),.gift-form select,.gift-form textarea { width:100%;min-width:0;background:#13251d;border:1px solid #496255;border-radius:6px;color:white;font:inherit;font-size:16px;padding:13px; }
.gift-form textarea { resize:vertical; }
.gift-form .gift-check { display:flex;align-items:flex-start;gap:12px;line-height:1.6;color:#b8cfc2; }
.gift-check input { margin-top:5px;accent-color:#75b28e;width:18px;height:18px;flex-shrink:0; }
.gift-error { background:#381f23;color:#ffd5d8!important;padding:18px;border:1px solid #9a5962;border-radius:6px; }
.gift-success { padding:40px 0; }
.gift-success .gift-button,.gift-success .gift-secondary { margin:10px 10px 10px 0; }
.gift-code { display:block;overflow-wrap:anywhere;white-space:normal;background:#ffffff0b;border:1px solid #759a862f;border-radius:6px;padding:16px;font-size:15px; }
.gift-timeline { list-style:none;padding:0;margin:32px 0; }
.gift-timeline li { display:flex;gap:20px;position:relative;padding:0 0 32px;color:#8aa495; }
.gift-timeline li:not(:last-child)::before { content:'';position:absolute;left:19px;top:40px;bottom:0;width:2px;background:#2e4438; }
.gift-timeline li>span { width:40px;height:40px;flex-shrink:0;border-radius:50%;border:1px solid #536b5d;display:grid;place-items:center; }
.gift-timeline h2 { font-size:18px;margin:5px 0 8px; }
.gift-timeline .is-done { color:#e4f2e9; }
.gift-timeline .is-done>span { background:#2c6c4c;border-color:#78b28e; }
.gift-timeline [aria-current] h2 { color:#e9c98f; }
.gift-delivered { border-left:3px solid #d5b375;padding:18px 24px;font-size:20px;color:#edf4ef!important; }
.gift-reveal { opacity:0;transform:translateY(12px);transition:opacity .5s,transform .5s; }
.gift-visible { opacity:1;transform:none; }
.gifts-page :focus-visible { outline:3px solid #e9c98f;outline-offset:4px; }
.gift-admin { max-width:1100px;margin:auto; }
.gift-admin-stats,.gift-admin-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0; }
.gift-admin-stats>div { padding:18px;border-bottom:2px solid #9ebba9; }
.gift-admin-stats strong { display:block;font-size:24px; }
.gift-admin-stats span { display:block;font-size:13px;margin-top:8px; }
.gift-admin-item { background:white;border:1px solid #d3ded7;border-radius:8px;padding:22px;margin-bottom:16px;overflow-wrap:anywhere; }
.gift-admin-item h2 { font-size:20px; }
.gift-admin-item header,.gift-admin-filters { display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:space-between; }
.gift-admin label { display:grid;gap:6px;margin:12px 0; }
.gift-admin input:not([type=checkbox]),.gift-admin textarea,.gift-admin select { width:100%;min-width:0;border:1px solid #a6bcaf;border-radius:6px;padding:12px;font:inherit;font-size:16px;background:white;color:#163724; }
.gift-admin-actions { border-top:1px solid #d3ded7;margin-top:16px;padding-top:10px; }
.gift-admin-actions label:has([type=checkbox]) { display:flex;align-items:center; }
.gift-admin-actions .btn { margin:4px; }
.gift-admin-item small { display:block;margin:8px 0; }
.gift-admin-packages summary { cursor:pointer;padding:16px 0;font-weight:650; }
.gift-admin-filters>label { flex:1;min-width:180px; }
@media(max-width:760px) {
 .gift-grid,.gift-admin-grid { grid-template-columns:1fr; }
 .gift-main { padding:30px 18px 50px; }
 .gifts-page h1 { font-size:32px; }
 .gift-intro { padding:15px 0 26px; }
 .gift-header { padding:16px 18px;gap:16px; }
 .gift-header nav { gap:10px;flex-wrap:wrap;justify-content:flex-end;font-size:12px; }
 .gift-header img { width:64px; }
 .gift-custom { flex-direction:column;align-items:stretch; }
 .gift-fields,.gift-payment { grid-template-columns:1fr; }
 .gift-admin-stats { grid-template-columns:1fr;gap:0; }
}
@media(prefers-reduced-motion:reduce) { .gift-reveal { opacity:1;transform:none;transition:none; }.gift-card { transition:none; }.gift-card:hover { transform:none; }.gift-impact progress { animation:none!important; } }
