.gift-shop{--glass-bg:rgba(255,255,255,0.64);--glass-border:rgba(255,255,255,0.72);--shadow:0 6px 24px hsla(12,20%,40%,0.07);--shadow-hi:0 12px 34px hsla(12,20%,40%,0.11)}.gift-wrap{width:100%;max-width:1000px;margin:0 auto;padding:clamp(36px,5vh,58px) clamp(20px,4vw,40px) 42px}.gift-head{text-align:center;margin-bottom:28px}.gift-title{font-family:var(--her-serif);font-size:clamp(1.65rem,3.3vw,2.55rem);font-weight:700;line-height:1.3;margin:0;color:var(--her-ink);letter-spacing:0}.gift-sub{font-size:14px;line-height:1.75;color:var(--her-ink-2);margin:10px auto 0;max-width:560px;font-weight:300}.gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gift-card{position:relative;display:flex;flex-direction:column;min-height:500px;border:1px solid var(--glass-border);border-radius:20px;background:var(--glass-bg);backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12);overflow:hidden;box-shadow:var(--shadow);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.gift-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hi);border-color:rgba(226,55,58,.2)}.gift-card.soldout{opacity:.7}.gift-card.highlight{border-color:var(--her-red);box-shadow:0 0 0 2px rgba(226,55,58,.28),var(--shadow-hi)}.gift-art{height:154px;margin:14px 14px 0;border-radius:16px;color:var(--her-ink);padding:18px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#f8f3ee,#ece6de);border:1px solid rgba(0,0,0,.04);overflow:hidden}.gift-art.pro{background:linear-gradient(135deg,#fff3f3,#f5d7d8);border-color:rgba(226,55,58,.14)}.gift-art.max{background:linear-gradient(135deg,#f2f8f1,#dfeee1);border-color:rgba(74,157,95,.15)}.gift-art span{font-size:11px;color:var(--her-ink-3);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.gift-art span,.gift-plan{font-family:var(--her-display)}.gift-plan{font-size:44px;font-weight:800;line-height:.95;letter-spacing:0;color:var(--her-ink)}.gift-art.pro .gift-plan{color:var(--her-red)}.gift-art.max .gift-plan{color:#2d7140}.gift-body{display:flex;flex:1;flex-direction:column;padding:20px}.gift-name{font-family:var(--her-serif);font-size:20px;line-height:1.35;margin:0 0 8px}.gift-price{display:flex;align-items:flex-end;gap:4px;margin:6px 0 18px}.gift-price strong{font-family:var(--her-display);font-size:34px;line-height:1;font-weight:800}.gift-price span{font-size:12px;color:var(--her-ink-3);padding-bottom:4px}.gift-info{display:grid;gap:1px;margin-bottom:20px;border:1px solid var(--her-rule);border-radius:12px;overflow:hidden;background:var(--her-rule)}.gift-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(255,255,255,.76);padding:11px 13px;font-size:13px}.gift-row span{color:var(--her-ink-3)}.gift-row strong{text-align:right}.gift-button{margin-top:auto;min-height:44px;border:1px solid var(--her-red);border-radius:100px;background:var(--her-red);color:#fff;font-size:14px;font-weight:600;letter-spacing:.02em;padding:11px 18px;box-shadow:0 4px 20px rgba(226,55,58,.15);transition:background .2s ease,box-shadow .2s ease,transform .2s ease}.gift-button:hover:not(:disabled){background:var(--her-red-hover);box-shadow:0 6px 28px rgba(226,55,58,.23);transform:translateY(-1px)}.gift-button:disabled{border-color:var(--her-rule);background:var(--her-bg-alt);color:#7c746d;box-shadow:none;cursor:not-allowed;transform:none}.gift-modal-veil{position:fixed;inset:0;z-index:100;background:rgba(28,22,22,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .3s ease;overflow-y:auto}.gift-modal-veil.show{opacity:1;pointer-events:auto}.gift-modal{background:#fbfaf7;border-radius:24px;box-shadow:0 32px 80px rgba(0,0,0,.25);transform:translateY(8px) scale(.98);transition:transform .35s cubic-bezier(.22,1,.36,1);max-width:100%;width:100%;max-width:420px;padding:32px 28px 24px;position:relative;display:flex;flex-direction:column;gap:16px;margin:auto}.gift-modal-veil.show .gift-modal{transform:translateY(0) scale(1)}.gift-modal .close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:0;border-radius:50%;background:rgba(0,0,0,.04);display:flex;align-items:center;justify-content:center;color:var(--her-ink-2);font-size:18px;line-height:1}.gift-modal .close:hover{background:rgba(0,0,0,.08)}.modal-label{font-family:var(--her-display);font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--her-red);text-transform:uppercase}.modal-title{font-family:var(--her-serif);font-size:22px;font-weight:700;color:var(--her-ink);letter-spacing:.04em;line-height:1.4;margin:0}.modal-copy{font-size:12.5px;color:var(--her-ink-2);line-height:1.75;margin:0}.order-card{border:1px solid var(--her-rule);border-radius:12px;overflow:hidden}.order-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border-bottom:1px solid var(--her-rule);font-size:13px}.order-row:last-child{border-bottom:0}.order-row span{color:var(--her-ink-3)}.order-row strong{text-align:right;color:var(--her-ink)}.gift-code{font-family:var(--her-display);font-size:20px;font-weight:800;letter-spacing:.12em;color:var(--her-ink);text-align:center;padding:16px;border:1px dashed var(--her-red-line,rgba(226,55,58,.28));border-radius:12px;background:rgba(226,55,58,.05);word-break:break-all}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:2px}.modal-actions .secondary{height:42px;border:1px solid var(--her-rule);border-radius:100px;background:#fff;color:var(--her-ink-2);font-weight:700}.modal-actions .gift-button{margin-top:0;min-height:42px;height:42px;font-size:13px;padding:0 14px;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.gift-success-page{flex:1;display:flex;align-items:center;justify-content:center;padding:clamp(40px,8vw,80px) 20px}.gift-success-page .gift-modal{transform:none;box-shadow:var(--shadow-hi)}@media (max-width:900px){.gift-grid{grid-template-columns:1fr}.gift-card{min-height:auto}}