/* Gift memberships — checkout fields, the buyer's Gifts tab, the claim page. */

/* Checkout */
.ccsb-gift-banner { background: #f4f6fb; border-left: 4px solid #1a3aff; border-radius: 6px; padding: 14px 18px; margin: 0 0 18px; }
.ccsb-gift-banner__kicker { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: #1a3aff; font-weight: 700; margin-bottom: 4px; }
.ccsb-gift-banner__text { color: #334155; font-size: 15px; line-height: 1.5; }
.ccsb-gift-fields { border-top: 1px solid #e2e8f0; margin-top: 8px; padding-top: 14px; }
.ccsb-gift-fields__head { font-weight: 700; font-size: 16px; color: #0f172a; margin-bottom: 2px; }
.ccsb-gift-fields__hint { font-size: 13px; color: #64748b; margin: 4px 0 10px; }
.mp-form-row.ccsb-gift-locked { opacity: .85; }
.mp-form-row.ccsb-gift-locked input[type="checkbox"] { pointer-events: none; }
.mp-form-row.ccsb-gift-locked label::after { content: " — locked for this purchase"; color: #64748b; font-size: 12px; }

/* Hide the add-on's own nav item (ours replaces it). */
.mepr-nav-item > a#mepr-account-gifts { display: none; }
span.mepr-nav-item:has(> a#mepr-account-gifts) { display: none; }

/* Recipient notice on the account home */
.ccsb-gift-notice { background: #f4f6fb; border-left: 4px solid #1a3aff; border-radius: 6px; padding: 12px 16px; margin: 0 0 16px; color: #334155; font-size: 15px; line-height: 1.5; }

/* Gifts tab */
.ccsb-gift { border: 1px solid #e2e8f0; border-radius: 10px; padding: 16px 18px; margin: 0 0 14px; background: #fff; }
.ccsb-gift--claimed { border-color: #bbf7d0; }
.ccsb-gift--unassigned { border-color: #fecaca; }
.ccsb-gift__head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 6px; }
.ccsb-gift__title { font-size: 16px; color: #0f172a; }
.ccsb-gift__meta { font-size: 13px; color: #64748b; margin-top: 2px; }
.ccsb-gift__meta code { font-size: 12px; background: #f1f5f9; padding: 1px 6px; border-radius: 4px; }
.ccsb-gift__link label { display: block; font-size: 13px; color: #64748b; margin: 10px 0 4px; }
.ccsb-gift__linkrow { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ccsb-gift__linkrow input { flex: 1 1 260px; min-width: 0; font-size: 13px; padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 6px; color: #334155; background: #f8fafc; }
.ccsb-gift__edit { margin-top: 12px; padding-top: 12px; border-top: 1px dashed #e2e8f0; }
.ccsb-inline { display: inline; }
.ccsb-btn.is-disabled { opacity: .5; pointer-events: none; }
.ccsb-btn--big { font-size: 18px; padding: 14px 28px; }

/* Claim page. The Broadsheet shell colours every link (.bs-page a), which
   outranks .ccsb-btn — the same fight account.css has with ReadyLaunch. */
.bs-page .ccsb-claim a.ccsb-btn, .bs-page .ccsb-claim a.ccsb-btn:link, .bs-page .ccsb-claim a.ccsb-btn:visited, .bs-page .ccsb-claim a.ccsb-btn:hover, .bs-page .ccsb-claim a.ccsb-btn:focus { color: #fff; }
.bs-page .ccsb-claim a.ccsb-btn--ghost, .bs-page .ccsb-claim a.ccsb-btn--ghost:link, .bs-page .ccsb-claim a.ccsb-btn--ghost:visited, .bs-page .ccsb-claim a.ccsb-btn--ghost:hover { color: #1a3aff; }
.ccsb-claim .ccsb-btn { font-family: inherit; }
/* Claim page */
.ccsb-claim { max-width: 680px; margin: 40px auto 60px; padding: 0 18px; }
.ccsb-claim__card { background: #fff; border-radius: 14px; padding: 36px 34px; box-shadow: 0 10px 30px rgba(15, 23, 42, .08); border: 1px solid #e2e8f0; }
.ccsb-claim__preview { background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412; border-radius: 8px; padding: 8px 12px; font-size: 13px; margin-bottom: 18px; }
.ccsb-claim__kicker { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: #1a3aff; font-weight: 700; margin-bottom: 8px; }
.ccsb-claim__title { font-size: 32px; line-height: 1.15; margin: 0 0 12px; color: #0f172a; font-weight: 800; }
.ccsb-claim__to { color: #0f172a; font-size: 17px; margin: 0 0 4px; }
.ccsb-claim__lede { color: #334155; font-size: 17px; line-height: 1.55; margin: 0 0 18px; }
.ccsb-claim__note { margin: 0 0 22px; padding: 16px 20px; background: #f4f6fb; border-left: 4px solid #1a3aff; border-radius: 6px; font-family: Georgia, "Times New Roman", serif; font-style: italic; font-size: 18px; line-height: 1.5; color: #0f172a; }
.ccsb-claim__note footer { font-family: inherit; font-style: normal; font-size: 14px; color: #64748b; margin-top: 8px; }
.ccsb-claim__cta { margin: 0 0 26px; }
.ccsb-claim__cta .ccsb-hint { margin-top: 10px; }
.ccsb-claim__h2 { font-size: 15px; letter-spacing: 1.5px; text-transform: uppercase; color: #64748b; margin: 0 0 10px; }
.ccsb-claim__perks { list-style: none; margin: 0 0 22px; padding: 0; }
.ccsb-claim__perks li { padding: 10px 0; border-top: 1px solid #f1f5f9; font-size: 15px; line-height: 1.5; color: #334155; }
.ccsb-claim__perks li strong { color: #0f172a; display: block; }
.ccsb-claim__fine { font-size: 13px; color: #64748b; }
.ccsb-claim__fine code { background: #f1f5f9; padding: 1px 6px; border-radius: 4px; }
@media (max-width: 600px) { .ccsb-claim__card { padding: 26px 20px; } .ccsb-claim__title { font-size: 26px; } }
