@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500&display=swap");

.ninecrave-cg-wrap {
    --cg-bg: #01021e;
    --cg-panel: rgba(255,255,255,.055);
    --cg-line: rgba(255,255,255,.16);
    --cg-text: #fff;
    --cg-muted: rgba(255,255,255,.72);
    --cg-accent: #8a64ff;
    --cg-accent-2: #b99fff;
    max-width: 1500px;
    margin: 24px auto 70px;
    padding: 38px;
    color: var(--cg-text);
    background: var(--cg-bg);
    border-radius: 16px;
    box-sizing: border-box;
}
.ninecrave-cg-wrap *, .ninecrave-cg-wrap *::before, .ninecrave-cg-wrap *::after { box-sizing: border-box; }
.ninecrave-cg-header { max-width: 900px; margin: 0 auto 30px; text-align: center; }
.ninecrave-cg-fit-note {
    max-width: 900px;
    margin: -10px auto 24px;
    padding: 11px 14px;
    border: 1px solid rgba(185,159,255,.35);
    border-radius: 9px;
    background: rgba(138,100,255,.08);
    color: rgba(255,255,255,.82);
    font-size: 13px;
    line-height: 1.55;
    text-align: center;
}
.ninecrave-cg-fit-note strong { color: #fff; font-weight: 600; }
.ninecrave-cg-kicker { display: block; color: var(--cg-accent-2); font-size: clamp(15px, 1.3vw, 18px); line-height: 1.35; font-weight: 800; letter-spacing: .10em; margin: 0 auto 14px; text-align: center; }
.ninecrave-cg-wrap h1 { color: #fff; font-size: clamp(30px, 3.1vw, 44px); line-height: 1.12; margin: 0 0 14px; }
.ninecrave-cg-wrap h2 { color: #fff; }
.ninecrave-cg-header p, .ninecrave-cg-muted { color: var(--cg-muted); font-size: 16px; line-height: 1.7; }
.ninecrave-cg-progress { position: sticky; top: 90px; z-index: 12; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 18px; margin-bottom: 24px; border: 1px solid var(--cg-line); border-radius: 10px; background: rgba(1,2,30,.94); backdrop-filter: blur(10px); }
.ninecrave-cg-progress span { color: var(--cg-muted); }
.ninecrave-cg-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.ninecrave-cg-card { position: relative; overflow: hidden; border: 1px solid var(--cg-line); border-radius: 12px; background: var(--cg-panel); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.ninecrave-cg-card:hover { transform: translateY(-2px); border-color: rgba(185,159,255,.6); }
.ninecrave-cg-card.is-selected { border-color: var(--cg-accent); box-shadow: 0 0 0 2px rgba(138,100,255,.24); }
.ninecrave-cg-card-select { position: absolute; z-index: 3; top: 12px; right: 12px; cursor: pointer; }
.ninecrave-cg-card-select input { position: absolute; opacity: 0; pointer-events: none; }
.ninecrave-cg-checkmark { display: grid; place-items: center; width: 34px; height: 34px; border: 2px solid rgba(255,255,255,.75); border-radius: 50%; background: rgba(1,2,30,.75); }
.ninecrave-cg-checkmark::after { content: '✓'; opacity: 0; color: #fff; font-weight: 900; }
.ninecrave-cg-checkbox:checked + .ninecrave-cg-checkmark { border-color: var(--cg-accent); background: var(--cg-accent); }
.ninecrave-cg-checkbox:checked + .ninecrave-cg-checkmark::after { opacity: 1; }
.ninecrave-cg-image { aspect-ratio: 4 / 5; background: rgba(255,255,255,.04); overflow: hidden; }
.ninecrave-cg-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ninecrave-cg-card-body { padding: 17px; }
.ninecrave-cg-card-body h2 { min-height: 2.6em; margin: 0 0 12px; font-size: 18px; line-height: 1.3; }
.ninecrave-cg-price-row { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 10px; }
.ninecrave-cg-normal-price { color: rgba(255,255,255,.58); text-decoration: line-through; }
.ninecrave-cg-free { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: rgba(138,100,255,.18); color: #d8ccff; font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.ninecrave-cg-details {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    margin-top: 2px;
    padding: 10px 15px;
    border: 0;
    border-radius: 7px;
    background: linear-gradient(135deg, #b22cff, #7c3cff);
    color: #fff !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 13px;
    font-weight: 400 !important;
    line-height: 1.25;
    text-align: center;
    text-decoration: none !important;
    box-shadow: none;
    transition: transform .18s ease, filter .18s ease;
}
.ninecrave-cg-details:hover,
.ninecrave-cg-details:focus {
    color: #fff !important;
    filter: brightness(1.08);
    transform: translateY(-1px);
}
.ninecrave-cg-options { display: grid; gap: 10px; padding-top: 15px; }
.ninecrave-cg-options label { display: grid; gap: 6px; color: var(--cg-muted); font-size: 13px; }
.ninecrave-cg-options input { width: 100%; min-height: 42px; padding: 10px 12px; color: #fff; border: 1px solid var(--cg-line); border-radius: 7px; background: rgba(0,0,0,.22); }
.ninecrave-cg-address { margin-top: 32px; padding: 24px; border: 1px solid var(--cg-line); border-radius: 12px; background: var(--cg-panel); }
.ninecrave-cg-address h2 { margin-top: 0; }
.ninecrave-cg-address > p { color: var(--cg-muted); }
.ninecrave-cg-address-box { max-width: 620px; padding: 16px; line-height: 1.7; border-radius: 8px; background: rgba(0,0,0,.22); }
.ninecrave-cg-confirm-address { display: flex; align-items: flex-start; gap: 10px; margin-top: 18px; cursor: pointer; }
.ninecrave-cg-confirm-address input { margin-top: 5px; }
.ninecrave-cg-address-help { font-size: 13px; }
.ninecrave-cg-submit-wrap { text-align: center; padding-top: 30px; }
.ninecrave-cg-submit { min-width: min(100%, 380px); padding: 15px 24px; border: 0; border-radius: 7px; color: #fff; background: var(--cg-accent); font-size: 16px; font-weight: 800; cursor: pointer; }
.ninecrave-cg-submit:disabled { cursor: not-allowed; opacity: .42; }
.ninecrave-cg-submit-wrap p { color: var(--cg-muted); font-size: 13px; }
.ninecrave-cg-notice { max-width: 1100px; margin: 24px auto; padding: 16px 18px; border-radius: 8px; }
.ninecrave-cg-notice-error { color: #ffe4e4; border: 1px solid rgba(255,90,90,.45); background: rgba(150,0,0,.25); }
.ninecrave-cg-complete { text-align: center; max-width: 900px; }
.ninecrave-cg-complete h1 { font-size: clamp(30px, 3vw, 42px); max-width: 760px; margin-left: auto; margin-right: auto; }
.ninecrave-cg-success-icon { display: grid; place-items: center; width: 66px; height: 66px; margin: 0 auto 18px; border-radius: 50%; background: var(--cg-accent); font-size: 34px; font-weight: 900; }
.ninecrave-cg-summary { max-width: 600px; margin: 28px auto; padding: 22px; text-align: left; border: 1px solid var(--cg-line); border-radius: 12px; background: var(--cg-panel); }
.ninecrave-cg-summary h2 { margin-top: 0; }
.ninecrave-cg-summary ul { padding-left: 20px; }
.ninecrave-cg-account-box { margin-top: 30px; }
@media (max-width: 1100px) { .ninecrave-cg-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) {
    .ninecrave-cg-wrap { margin: 10px 0 40px; padding: 22px 14px; border-radius: 0; }
    .ninecrave-cg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .ninecrave-cg-card-body { padding: 12px; }
    .ninecrave-cg-details { width: 100%; padding: 10px 12px; }
    .ninecrave-cg-fit-note { margin: -4px 0 18px; text-align: left; }
    .ninecrave-cg-card-body h2 { font-size: 15px; }
    .ninecrave-cg-progress { top: 74px; flex-direction: column; align-items: flex-start; gap: 3px; }
    .ninecrave-cg-free { font-size: 9px; }
    .ninecrave-cg-address { padding: 18px; }
}
@media (max-width: 420px) { .ninecrave-cg-grid { grid-template-columns: 1fr; } }

/* Claim page cleanup: keep the site header, but remove all theme-level page title/meta/navigation around the secure claim app. */
body.ninecrave-cg-claim-page .ast-single-entry-banner,
body.ninecrave-cg-claim-page .ast-single-entry-banner[data-post-type="page"],
body.ninecrave-cg-claim-page .entry-header,
body.ninecrave-cg-claim-page header.entry-header,
body.ninecrave-cg-claim-page .entry-title,
body.ninecrave-cg-claim-page .entry-meta,
body.ninecrave-cg-claim-page .ast-blog-meta-container,
body.ninecrave-cg-claim-page .ast-single-post-order,
body.ninecrave-cg-claim-page .post-navigation,
body.ninecrave-cg-claim-page .ast-single-post-navigation,
body.ninecrave-cg-claim-page .ast-post-navigation,
body.ninecrave-cg-claim-page .elementor-post-navigation,
body.ninecrave-cg-claim-page .site-main > nav.navigation,
body.ninecrave-cg-claim-page .site-content > nav.navigation,
body.ninecrave-cg-claim-page article > nav.navigation,
body.ninecrave-cg-claim-page article .nav-links,
body.ninecrave-cg-claim-page .comments-area {
    display: none !important;
}
body.ninecrave-cg-claim-page .entry-content,
body.ninecrave-cg-claim-page .ast-article-single .entry-content {
    margin-top: 0 !important;
}
body.ninecrave-cg-claim-page .site-main > article,
body.ninecrave-cg-claim-page .ast-article-single {
    padding-top: 0 !important;
}
body.ninecrave-cg-claim-page .site-content,
body.ninecrave-cg-claim-page .ast-container {
    padding-top: 0 !important;
}
.ninecrave-cg-confirm-address,
.ninecrave-cg-confirm-address span {
    color: #fff !important;
    opacity: 1 !important;
    font-weight: 600;
}
.ninecrave-cg-address-help,
.ninecrave-cg-address-help a,
.ninecrave-cg-muted a {
    color: rgba(255,255,255,.82) !important;
}
.ninecrave-cg-address-help a,
.ninecrave-cg-muted a {
    text-decoration: underline;
    text-underline-offset: 3px;
}
.ninecrave-cg-optional {
    color: rgba(255,255,255,.58);
    font-size: 12px;
    font-weight: 400;
}
.ninecrave-cg-progress-message.is-ready {
    color: #d8ccff;
    font-weight: 700;
}

@media (max-width: 760px) {
    .ninecrave-cg-header { margin-bottom: 22px; }
    .ninecrave-cg-kicker { font-size: 14px; margin-bottom: 10px; }
    .ninecrave-cg-wrap h1,
    .ninecrave-cg-complete h1 { font-size: 30px; line-height: 1.16; }
}


/* Additional theme-builder fallbacks (V1.3): page title widgets, author/date blocks, and post navigation. */
body.ninecrave-cg-claim-page .page-header,
body.ninecrave-cg-claim-page .post-meta,
body.ninecrave-cg-claim-page .elementor-widget-theme-post-title,
body.ninecrave-cg-claim-page .elementor-widget-post-info,
body.ninecrave-cg-claim-page .elementor-widget-post-navigation,
body.ninecrave-cg-claim-page .wp-block-post-title,
body.ninecrave-cg-claim-page .wp-block-post-author,
body.ninecrave-cg-claim-page .wp-block-post-date,
body.ninecrave-cg-claim-page .wp-block-post-navigation-link-previous,
body.ninecrave-cg-claim-page .wp-block-post-navigation-link-next,
body.ninecrave-cg-claim-page .navigation.post-navigation {
    display: none !important;
}
