/* RedHawk Club: explicit pre-launch display. The current checkout must
   never imply paid membership or free bundles until the backend enforces them. */
.rh-membership { min-height: 80vh; color: #f4f4f4; background: #0a0a0d; padding: 7rem max(5vw, 20px) 6rem; }
.rh-membership__crumb { max-width: 1080px; margin: 0 auto 2.5rem; display: flex; gap: .8rem; font: 500 .8rem "Chakra Petch", sans-serif; color: #a6a6b4; }
.rh-membership__crumb a, .rh-membership__back { color: #fff; text-decoration: none; }
.rh-membership__hero { max-width: 1080px; margin: auto; }
.rh-membership__eyebrow { font: 700 .85rem "Chakra Petch", sans-serif; letter-spacing: .27em; color: #ff0000; }
.rh-membership__hero h1 { margin: 1rem 0; font: 900 clamp(2.6rem, 8vw, 6rem)/1.04 "Unbounded", sans-serif; letter-spacing: -.06em; overflow-wrap: anywhere; }
.rh-membership__tagline { color: #c4c4cf; font: 400 clamp(1rem, 2vw, 1.35rem)/1.7 "Chakra Petch", sans-serif; max-width: 50rem; }
.rh-membership__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 2.5rem 0; }
.rh-membership__stat { display: flex; flex-direction: column; gap: .5rem; border: 1px solid #36363a; border-radius: 16px; padding: clamp(1rem, 2.5vw, 2rem); background: #16161a; }
.rh-membership__stat span { font: 600 .9rem "Chakra Petch", sans-serif; color: #c7c7cb; }
.rh-membership__stat strong { font: 900 clamp(2rem, 5vw, 4rem)/1.1 "Unbounded", sans-serif; color: #ff0000; }
.rh-membership__stat small { font: 400 .82rem/1.5 "Chakra Petch", sans-serif; color: #a6a6ae; }
.rh-membership__details { max-width: 65rem; color: #c7c7cb; font: 400 1rem/1.7 "Chakra Petch", sans-serif; }
.rh-membership__details h2 { margin: 2.25rem 0 .35rem; color: #fff; font: 800 clamp(1.1rem, 2vw, 1.5rem) "Unbounded", sans-serif; }
.rh-membership__details p { margin: .5rem 0 1rem; white-space: pre-wrap; }
.rh-membership__action { margin-top: 2rem; }
.rh-membership__unavailable { padding: 1rem 1.2rem; border-left: 3px solid #ff0000; background: #211a1c; color: #f7dadd; font: 500 .95rem/1.6 "Chakra Petch", sans-serif; max-width: 49rem; }
.rh-membership__back { display: inline-block; margin-top: 1.3rem; border: 1px solid #777; border-radius: 9px; padding: .8rem 1.3rem; font: 600 .95rem "Chakra Petch", sans-serif; }
.rh-member-teaser { margin: 0; padding: 3rem 0; color: #fff; background: linear-gradient(115deg, rgba(255,0,0,.1), #0d0d0f); border-top: 1px solid #ff0000; border-bottom: 1px solid #ff0000; }
.rh-member-teaser__inner { display: flex; justify-content: space-between; align-items: center; gap: 2rem; flex-wrap: wrap; }
.rh-member-teaser__label { color: #ff0000; font: 700 .8rem "Chakra Petch", sans-serif; letter-spacing: .22em; }
.rh-member-teaser h2 { margin: .5rem 0; font: 900 clamp(1.3rem, 3.4vw, 2.5rem) "Unbounded", sans-serif; }
.rh-member-teaser p { margin: .5rem 0; color: #cbcbcf; font: 400 1rem/1.5 "Chakra Petch", sans-serif; }
.rh-member-teaser a { background: #ff0000; border-radius: 9px; padding: 1rem 1.5rem; color: white; text-decoration: none; font: 700 .95rem "Chakra Petch", sans-serif; }
@media (max-width: 660px) { .rh-membership__stats { grid-template-columns: 1fr; } .rh-membership { padding-top: 5rem; } }

/* Visual mockup only. Never conflated with an active Medusa checkout. */
.rh-cart-preview { max-width: 1180px; margin: 0 auto; padding: 0 0 1rem; color: #fff; }
.rh-demo-topline { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; color: #b5b5bb; font: 500 .78rem "Chakra Petch", sans-serif; }
.rh-demo-badge { border: 1px solid #ff0000; color: #ff0000; border-radius: 99px; padding: .4rem .8rem; letter-spacing: .13em; font-weight: 700; }
.rh-cart-preview h1 { margin: 1.5rem 0 .75rem; font: 900 clamp(2rem, 5vw, 3.4rem)/1.1 "Unbounded", sans-serif; }
.rh-demo-intro { color: #bcbcc4; line-height: 1.75; max-width: 48rem; font-size: 1.02rem; }
.rh-demo-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr); gap: 1.5rem; align-items: start; margin-top: 2.5rem; }
.rh-demo-items, .rh-demo-summary { background: #151519; border: 1px solid #38383d; border-radius: 16px; padding: 1.5rem; }
.rh-demo-section-title { display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-bottom: 1px solid #38383f; padding-bottom: 1rem; margin-bottom: .6rem; }
.rh-demo-section-title h2 { font: 800 1rem "Unbounded", sans-serif; margin: 0; }
.rh-demo-section-title span { color: #a5a5aa; }
.rh-demo-product { display: flex; align-items: center; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #303035; }
.rh-demo-product img { width: 74px; height: 78px; flex: none; object-fit: contain; border-radius: 10px; background: #222228; padding: .3rem; }
.rh-demo-product-info { display: flex; flex-direction: column; gap: .35rem; flex: 1; min-width: 0; }
.rh-demo-product-info strong { font-weight: 700; line-height: 1.35; }
.rh-demo-product-info small, .rh-demo-product-info > span:not(.rh-demo-free) { font-size: .76rem; color: #a9a9b3; line-height: 1.4; }
.rh-demo-product > b, .rh-demo-membership-line > b { font-size: .94rem; white-space: nowrap; }
.rh-demo-product b.rh-demo-old { text-decoration: line-through; color: #87878f; font-size: .82rem; }
.rh-demo-free, .rh-demo-free-price { color: #85e4ae; }
.rh-demo-free { font-size: .75rem; font-weight: 700; }
.rh-demo-upsell, .rh-demo-membership-line { margin-top: 1.5rem; border: 1px solid #ff0000; background: rgba(255,0,0,.06); padding: 1.2rem; border-radius: 12px; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.rh-demo-upsell > div { flex: 1; min-width: 180px; }
.rh-demo-upsell strong { font-size: 1.1rem; }
.rh-demo-upsell p { color: #d0bfc3; font-size: .85rem; line-height: 1.55; margin: .5rem 0 0; }
.rh-demo-upsell button, .rh-demo-membership-line button { cursor: pointer; font: 700 .88rem "Chakra Petch", sans-serif; border: 1px solid #ff0000; background: #ff0000; border-radius: 9px; padding: .85rem 1rem; color: white; }
.rh-demo-membership-line button { background: transparent; font-size: .8rem; }
.rh-demo-member-icon { color: #ff0000; font-size: 1.5rem; }
.rh-demo-summary dl { margin: 1.25rem 0; display: flex; flex-direction: column; gap: 1rem; }
.rh-demo-summary dl > div { display: flex; justify-content: space-between; gap: 1rem; font-size: .9rem; }
.rh-demo-summary dd { margin: 0; white-space: nowrap; font-weight: 700; }
.rh-demo-discount { color: #8fe4b0; }
.rh-demo-summary dl > .rh-demo-total { padding-top: 1.3rem; margin-top: .4rem; border-top: 1px solid #494950; font-size: 1.12rem; font-weight: 800; }
.rh-demo-result { border-radius: 9px; padding: 1rem; line-height: 1.5; background: #1c2220; color: #a7ecc5; }
.rh-demo-disclaimer, .rh-demo-source { font-size: .77rem; color: #9c9ca6; line-height: 1.6; }
.rh-demo-return { display: inline-block; margin-top: .7rem; color: #fff; text-underline-offset: .25rem; }
.rh-demo-source { margin-top: 1.5rem; }
@media (max-width: 860px) { .rh-demo-grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .rh-demo-items, .rh-demo-summary { padding: 1rem; } .rh-demo-product { gap: .5rem; } .rh-demo-product img { width: 54px; height: 64px; } .rh-demo-product-info strong { font-size: .85rem; } .rh-demo-product > b { font-size: .8rem; } }

/* RedHawk Club account management, separate from cart and checkout. */
.rh-account-member-card { color: #f4f4f4; background: #17171b; border: 1px solid #45454b; border-radius: 14px; padding: clamp(1.2rem, 3vw, 2rem); margin: 1.25rem 0 2rem; }
.rh-account-member-card h2 { color: #fff; font: 800 clamp(1.1rem, 2.2vw, 1.45rem) "Unbounded", sans-serif; }
.rh-account-member-card p { color: #c5c5ce; font: 400 .92rem/1.65 "Chakra Petch", sans-serif; }
.rh-account-member-card a { color: #ff0000; text-decoration: underline; text-underline-offset: 3px; }
.rh-account-member-card button { color: #fff; background: #ff0000; border: 1px solid #ff0000; border-radius: 9px; padding: .85rem 1.2rem; cursor: pointer; font-weight: 700; }
.rh-account-member-card button:disabled { cursor: wait; opacity: .6; }
.rh-account-member-heading { display:flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }
.rh-account-member-status { color: #ff0000; border: 1px solid #ff0000; border-radius: 50px; padding: .35rem .8rem; text-transform: capitalize; }
.rh-account-member-details { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin: 1.5rem 0; }
.rh-account-member-details div { border-top: 1px solid #4b4b52; padding: .8rem 0; }
.rh-account-member-details dt { font: 500 .78rem "Chakra Petch",sans-serif; color: #9999a3; margin-bottom: .35rem; }
.rh-account-member-details dd { margin: 0; font: 700 .94rem "Chakra Petch",sans-serif; overflow-wrap:anywhere; }
.rh-account-member-actions { display:flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin: 1.3rem 0; }
.rh-account-member-actions small { color: #9999a3; }
.rh-account-member-note { padding: .75rem 1rem; background: #193124; color: #b5efd0 !important; }
.rh-account-member-error { background: #3a1e28; color: #ffbfc6 !important; padding: .75rem 1rem; }
@media(max-width:600px) { .rh-account-member-details { grid-template-columns:1fr; } }

.rh-account-member-history { margin-top: 1.8rem; border-top: 1px solid #45454b; padding-top: 1.2rem; }
.rh-account-member-history h3 { font-size: 1rem; font-weight: 700; color: #fff; }
.rh-account-member-history ul { padding: 0; list-style: none; }
.rh-account-member-history li { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: space-between; align-items: baseline; padding: .85rem 0; border-bottom: 1px solid #34343a; }
.rh-account-member-history small { color: #a9a9b1; }

/* The approved membership box lives below the actual Medusa cart lines. */
.rh-cart-club { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.2rem 1.4rem; margin-top: 1.2rem; border: 1px solid #ff0000; border-radius: 13px; background: linear-gradient(110deg,rgba(255,0,0,.12),rgba(255,0,0,.03)); color: #f7f5f6; }
.rh-cart-club[hidden] { display: none; }
.rh-cart-club__copy { min-width: 0; flex: 1; }
.rh-cart-club__copy strong { font-size: 1rem; font-weight: 800; }
.rh-cart-club__copy p { font-size: .85rem; line-height: 1.5; margin: .45rem 0 0; color: #dfd0d3; }
.rh-cart-club__copy small { display: block; font-size: .74rem; line-height: 1.4; margin-top: .35rem; color: #bfb3ba; }
.rh-cart-club__action { flex: 0 0 auto; display: inline-flex; text-align: center; align-items: center; justify-content: center; border: 1px solid #ff0000; border-radius: 9px; background: #ff0000; color: #fff; padding: .8rem 1rem; font-size: .85rem; font-weight: 800; text-decoration: none; }
.rh-cart-club__action:hover { background: #d90000; color: #fff; }
@media (max-width: 650px) { .rh-cart-club { flex-direction: column; align-items: stretch; } .rh-cart-club__action { width: 100%; } }

.rh-join-shell{max-width:720px;margin:auto;padding:7rem 1.2rem 5rem;color:#f7f7f9}
.rh-join-shell h1{font-size:clamp(2rem,5vw,3rem);font-weight:900;margin:1.25rem 0}
.rh-join-shell a{color:#ff0000}
.rh-join-card{background:#1b1b20;border:1px solid #47474f;border-radius:16px;padding:clamp(1.2rem,4vw,2rem)}
.rh-join-card h2{font-size:1.5rem;font-weight:800;margin-bottom:.8rem}
.rh-join-card p{color:#d5d5dd;line-height:1.55;margin:.8rem 0}
.rh-join-card form{display:grid;gap:1.1rem;margin-top:2rem}
.rh-join-card form>label:not(.rh-join-consent){display:grid;gap:.35rem;font-weight:700;font-size:.9rem}
.rh-join-card input:not([type=checkbox]){width:100%;background:#0d0d12;border:1px solid #6a6a75;color:#fff;border-radius:8px;padding:.85rem}
.rh-join-consent{display:flex;align-items:flex-start;gap:.65rem;line-height:1.6}
.rh-join-consent input{flex:0 0 auto;margin-top:.35rem}
.rh-join-card button{background:#ff0000;color:#fff;border:1px solid #ff0000;border-radius:10px;padding:1rem;font-weight:800;cursor:pointer}
.rh-join-card button:disabled{opacity:.55;cursor:not-allowed}
/* Joining from the cart: consent, then the membership is added as a line. */
.rh-cart-club__consent { display: flex; gap: .55rem; align-items: flex-start; margin-top: .7rem; font-size: .82rem; line-height: 1.45; color: #f1e6e8; cursor: pointer; }
.rh-cart-club__consent input { margin-top: .2rem; accent-color: #ff0000; }
.rh-cart-club__msg { display: block; margin-top: .45rem; color: #ffb3bd; }
button.rh-cart-club__action { font-family: inherit; cursor: pointer; }
button.rh-cart-club__action:disabled { opacity: .6; cursor: wait; }
.cline__monthly { font-size: .78rem; color: #b9b9c2; letter-spacing: .04em; text-transform: uppercase; }

/* RedHawk Club opt-in (club.js): the cart page, cart drawer and checkout summary. */
.rh-club-offer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; margin-top: 1.2rem; border: 1px solid #ff0000; border-radius: 13px; background: linear-gradient(110deg,rgba(255,0,0,.12),rgba(255,0,0,.03)); color: #f7f5f6; }
.rh-club-offer[hidden] { display: none; }
.rh-club-offer__copy { min-width: 0; flex: 1; }
.rh-club-offer__copy strong { display: block; font-size: .95rem; font-weight: 800; line-height: 1.35; }
.rh-club-offer__copy p { font-size: .82rem; line-height: 1.5; margin: .4rem 0 0; color: #dfd0d3; }
.rh-club-offer__opt { display: flex; gap: .6rem; align-items: flex-start; margin-top: .65rem; font-size: .8rem; line-height: 1.45; color: #f1e6e8; cursor: pointer; }
.rh-club-offer__opt input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: .1rem; accent-color: #ff0000; cursor: pointer; }
.rh-club-offer__opt input:disabled { cursor: wait; }
.rh-club-offer__opt a { color: #ff0000; text-decoration: underline; }
.rh-club-offer__msg { display: block; margin-top: .4rem; font-size: .78rem; color: #ffb3bd; }
.rh-club-offer__msg:empty { display: none; }
.rh-club-offer__signin { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #ff0000; border-radius: 9px; background: #ff0000; color: #fff; padding: .7rem .95rem; font-size: .82rem; font-weight: 800; text-decoration: none; }
.rh-club-offer__signin:hover { background: #d90000; border-color: #d90000; color: #fff; }
.rh-club-offer--drawer { margin: 0 0 14px; padding: .85rem 1rem; }
.rh-club-offer--drawer, .rh-club-offer--checkout { flex-direction: column; align-items: stretch; }
.rh-club-offer--checkout { margin: 0 0 1.2rem; }
@media (max-width: 650px) { .rh-club-offer { flex-direction: column; align-items: stretch; } .rh-club-offer__signin { width: 100%; } }

/* The reminder before checkout (club.js): above the cart drawer (140), under the custom cursor (300). */
.rh-club-remind { position: fixed; inset: 0; z-index: 260; display: grid; place-items: center; padding: 16px; background: rgba(0, 0, 0, .7); backdrop-filter: blur(4px); }
.rh-club-remind__card { position: relative; width: min(460px, 100%); max-height: calc(100vh - 32px); overflow: auto; padding: 1.6rem 1.5rem 1.3rem; border: 1px solid #ff0000; border-radius: 16px; background: #0f0b0b; color: #f7f5f6; box-shadow: 0 30px 80px rgba(0, 0, 0, .6); }
.rh-club-remind__card h2 { margin: 0 2rem .7rem 0; font-size: 1.35rem; font-weight: 900; line-height: 1.2; }
.rh-club-remind__card > p { margin: 0; font-size: .92rem; line-height: 1.55; color: #e7dadd; }
.rh-club-remind__card > p b { color: #fff; }
.rh-club-remind__card > small { display: block; margin-top: .35rem; font-size: .76rem; color: #b9adb2; }
.rh-club-remind .rh-club-offer--remind { flex-direction: column; align-items: stretch; margin: 1rem 0 0; }
.rh-club-remind__x { position: absolute; top: .6rem; right: .8rem; width: 34px; height: 34px; border: 0; background: none; color: #d8c9cd; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.rh-club-remind__x:hover { color: #fff; }
.rh-club-remind__actions { display: grid; gap: .6rem; margin-top: 1.1rem; }
.rh-club-remind__skip { border: 0; background: none; color: #c9bcc0; font: inherit; font-size: .84rem; text-decoration: underline; cursor: pointer; padding: .3rem; }
.rh-club-remind__skip:hover { color: #fff; }
.rh-club-remind__actions button:disabled { opacity: .55; cursor: wait; }
/* RedHawk Club join buttons use pure red (#ff0000), not the site's #ff1f1f. */
.club__cta .btn--red, .rh-club-remind .btn--red { background: #ff0000; }
.club__cta .btn--red:hover, .rh-club-remind .btn--red:hover { background: #e00000; }
