/* BitcoHunters Academy — student area (academy.bitcohunters.com)
   Source: wordpress/mu-plugins/bh-academy-style/bh-academy.css in the project repo; loaded by bh-academy-style.php.
   Brief: content/design/student-area-design-brief.md. Look only: no Tutor function or text is changed here.
   Sections: 1 fonts · 2 tokens · 3 base · 4 buttons and forms · 5 header · 6 footer
   (later groups add: course page, cart, checkout, dashboard, learning area, certificate page). */

/* ---------- 1. Fonts (self-hosted, SIL Open Font License, see fonts/OFL-*.txt; no Google requests) ---------- */
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 300 700; font-display: swap; src: url(fonts/cormorant-garamond-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 300 700; font-display: swap; src: url(fonts/cormorant-garamond-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+20A0-20AB, U+20AD-20C4, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 300 700; font-display: swap; src: url(fonts/cormorant-garamond-italic-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 300 700; font-display: swap; src: url(fonts/dm-sans-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 300 700; font-display: swap; src: url(fonts/dm-sans-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+20A0-20AB, U+20AD-20C4, U+2C60-2C7F, U+A720-A7FF; }

/* ---------- 2. Tokens: our brand, mapped onto Tutor's and the theme's variables ---------- */
:root {
  --bh-dark: #0D0D0D;  --bh-dark-2: #141414;  --bh-dark-3: #1C1C1C;
  --bh-gold: #C8963E;  --bh-gold-light: #E8B96A;
  --bh-link: #8A6322;  --bh-link-hover: #6F4F1A;           /* darker gold: readable on white (WCAG AA) */
  --bh-bg: #FAFAF8;    --bh-surface: #FFFFFF;
  --bh-text: #1C1C1C;  --bh-muted: #6B6358;
  --bh-on-dark: #FAFAF8; --bh-on-dark-muted: #BDB4A7;
  --bh-border: rgba(200, 150, 62, 0.18);
  --bh-display: 'Cormorant Garamond', Georgia, serif;
  --bh-body: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* Tutor LMS 4 tokens (the gold scale itself comes from Tutor's brand_color setting) */
  --tutor-font-family-body: var(--bh-body);
  --tutor-font-family-heading: var(--bh-body);
  --tutor-text-brand: var(--bh-link);
  --tutor-text-brand-hover: var(--bh-link-hover);
  --tutor-surface-base: var(--bh-bg);

  /* Twenty Twenty-Five */
  --wp--preset--color--base: var(--bh-bg);
  --wp--preset--color--contrast: var(--bh-text);
}

/* ---------- 3. Base ---------- */
body { background: var(--bh-bg); color: var(--bh-text); font-family: var(--bh-body); }
/* short pages: the dark footer stays at the bottom of the window (no light strip under it) */
.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; }
.wp-site-blocks > main, .wp-site-blocks > .wp-block-group:not(footer):not(header) { flex: 1 0 auto; }
body a:where(:not(.tutor-btn):not(.wp-element-button):not(.wp-block-button__link)) { color: var(--bh-link); }
body a:where(:not(.tutor-btn):not(.wp-element-button):not(.wp-block-button__link)):hover { color: var(--bh-link-hover); }
h1, h2, .wp-block-post-title { font-family: var(--bh-display); font-weight: 500; letter-spacing: 0.01em; }
/* Tutor's page titles in the display font (more titles are added page by page) */
.tutor-login-form-wrapper > div:first-child, #tutor-login-modal-title {
  font-family: var(--bh-display); font-weight: 500; font-size: 2rem; line-height: 1.2; letter-spacing: 0.01em; }
:focus-visible { outline: 2px solid var(--bh-gold); outline-offset: 2px; }

/* ---------- 4. Buttons and form fields ---------- */
/* main buttons: gold with dark text, pill shape (as on bitcohunters.com) */
.tutor-btn-primary, .wp-element-button, .wp-block-button__link {
  --tutor-text-primary-inverse: var(--bh-dark);            /* Tutor's text colour on its primary button */
  background-color: var(--bh-gold); border-color: var(--bh-gold); color: var(--bh-dark);
}
.tutor-btn.tutor-btn-primary, .wp-element-button, .wp-block-button__link { border-radius: 100px; }
.tutor-btn-primary:hover, .wp-element-button:hover, .wp-block-button__link:hover {
  background-color: var(--bh-gold-light); border-color: var(--bh-gold-light); color: var(--bh-dark);
}
.tutor-form-control, input[type="text"], input[type="email"], input[type="password"], select, textarea { border-radius: 4px; }
.tutor-form-control:focus { border-color: var(--bh-gold); box-shadow: 0 0 0 3px rgba(200, 150, 62, 0.2); }
input[type="checkbox"], input[type="radio"] { accent-color: var(--bh-gold); }

/* ---------- 5. Header (our template part "header": .bh-header) ---------- */
.bh-header { background: var(--bh-dark); color: var(--bh-on-dark); border-bottom: 1px solid var(--bh-border); }
.bh-header .bh-logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--bh-on-dark); }
.bh-header .bh-logo svg { width: 34px; height: 34px; flex: none; }
.bh-header .bh-logo-t { font-family: var(--bh-display); font-size: 1.35rem; font-weight: 500; letter-spacing: 0.04em; color: var(--bh-on-dark); white-space: nowrap; }
.bh-header .bh-logo-t .g { color: var(--bh-gold); }
.bh-header .bh-logo-t .a { color: var(--bh-on-dark-muted); font-weight: 400; }
.bh-header .wp-block-navigation a, .bh-header .wp-block-navigation__responsive-container-open { color: var(--bh-on-dark); }
.bh-header .wp-block-navigation a:hover { color: var(--bh-gold-light); }
/* the mobile menu overlay */
.bh-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--bh-dark); color: var(--bh-on-dark); }
@media (max-width: 480px) { .bh-header .bh-logo-t { font-size: 1.1rem; } .bh-header .bh-logo svg { width: 28px; height: 28px; } }

/* ---------- 6. Footer (template part "footer", post 239) ---------- */
footer.wp-block-template-part { background: var(--bh-dark); color: var(--bh-on-dark-muted); }
footer.wp-block-template-part .wp-block-site-title, footer.wp-block-template-part .wp-block-site-title a {
  font-family: var(--bh-display); font-weight: 500; color: var(--bh-on-dark); }
footer.wp-block-template-part .wp-block-site-tagline { color: var(--bh-on-dark-muted); }
footer.wp-block-template-part a { color: var(--bh-gold-light); text-decoration: none; }
footer.wp-block-template-part a:hover, footer.wp-block-template-part a:focus-visible { color: var(--bh-on-dark); text-decoration: underline; }

/* ---------- 7. Course page ---------- */
.tutor-course-content-title, .tutor-course-details-content h2, .tutor-course-details-page h2 {
  font-family: var(--bh-display); font-weight: 500; font-size: 1.6rem; }
.tutor-course-details-page .tutor-course-details-title { font-family: var(--bh-display); font-weight: 500; }

/* ---------- 8. Cart and checkout: a normal page width (the theme's text column is 645 px) ---------- */
body.page-id-14, body.page-id-15 { --wp--style--global--content-size: 1100px; }
.tutor-cart-page, .tutor-checkout-page { max-width: 1100px; }
body.page-id-14 .wp-block-post-title, body.page-id-15 .wp-block-post-title { font-size: clamp(2rem, 4vw, 2.6rem); }
/* cart: summary column, button on one line */
.tutor-cart-summery .tutor-btn { white-space: nowrap; }
.tutor-cart-summery-top, .tutor-cart-summery-bottom { gap: 12px; }
/* checkout: order summary in normal case, coupon line on one line */
.tutor-checkout-details .tutor-checkout-course-title, .tutor-checkout-details [class*="course-title"] { text-transform: none; letter-spacing: normal; }
.tutor-checkout-details .tutor-checkout-coupon-wrapper, .tutor-checkout-details [class*="coupon"] { white-space: nowrap; }
@media (min-width: 992px) { .tutor-checkout-details { position: sticky; top: 24px; align-self: flex-start; } }
/* payment method: selected = gold tint (Tutor's own colour is a fixed blue) */
.tutor-checkout-payment-options .tutor-checkout-payment-item.active { background-color: rgba(200, 150, 62, 0.10); box-shadow: 0 0 0 1px var(--bh-gold); }
/* payment instructions (our crypto text): tighter paragraphs; addresses in monospace, never cut off, Copy button */
/* Tutor shows instructions with white-space: pre-line, so the line breaks between our <p> tags became empty lines */
#tutor-checkout-form .tutor-payment-instructions { font-size: 16px; line-height: 1.55; white-space: normal; }
#tutor-checkout-form .tutor-payment-instructions p { margin: 0 0 12px !important; font-size: 16px; line-height: 1.55; }
#tutor-checkout-form .tutor-payment-instructions p:last-child { margin-bottom: 0 !important; }
.tutor-payment-instructions strong { font-weight: 700; }                         /* the network labels */
#tutor-checkout-form .tutor-payment-instructions p:first-child { font-size: 18px; }                    /* the box heading */
/* wide screens: bh-checkout-copy.php moves the box under Order Details / Grand Total (left column) */
#tutor-checkout-form .tutor-payment-instructions.bh-instructions-left { margin-top: 24px; }
.tutor-payment-instructions code {
  display: block; font-family: ui-monospace, 'Cascadia Mono', Consolas, 'Courier New', monospace; font-size: 0.86rem;
  overflow-wrap: anywhere; word-break: break-all; background: var(--bh-surface); border: 1px solid var(--bh-border);
  border-radius: 4px; padding: 8px 10px; margin-top: 4px; }
.bh-copy-row { display: flex; align-items: flex-start; gap: 8px; margin-top: 4px; }
.bh-copy-row code { flex: 1 1 auto; margin-top: 0; }
.bh-copy { flex: none; cursor: pointer; font: 600 0.8rem/1 var(--bh-body); color: var(--bh-dark); background: var(--bh-gold);
  border: 0; border-radius: 100px; padding: 9px 14px; }
.bh-copy:hover { background: var(--bh-gold-light); }
.bh-copy.is-done { background: #E5F3E8; color: #1C5F2C; }
/* "Coming soon" box: inside the content width, muted */
/* (same width and left edge as the checkout content: 1100 px container minus its 12 px side padding) */
.bh-coming-soon { box-sizing: border-box; width: calc(100% - 24px); max-width: 1076px !important; margin: 16px auto 0 !important;
  color: var(--bh-muted) !important; border-color: var(--bh-border) !important; }
.bh-coming-soon p { color: var(--bh-muted) !important; }
/* Pay now: full width of its column */
#tutor-checkout-pay-now-button { width: 100%; }
/* small text buttons ("Remove", "Click here", "Login"): the darker gold, readable on white (Tutor uses the brand gold) */
.tutor-btn.tutor-btn-link, .tutor-btn.tutor-btn-secondary.tutor-open-login-modal { color: var(--bh-link); }
.tutor-btn.tutor-btn-link:hover, .tutor-btn.tutor-btn-secondary.tutor-open-login-modal:hover { color: var(--bh-link-hover); }

/* cart and checkout: about half the empty space above and below the page title */
body.page-id-14 main.wp-block-group, body.page-id-15 main.wp-block-group { margin-top: 0 !important; }
body.page-id-14 main > .wp-block-group, body.page-id-15 main > .wp-block-group { padding-top: clamp(24px, 4vw, 64px) !important; }
body.page-id-14 .entry-content, body.page-id-15 .entry-content { margin-top: 8px !important; }
.tutor-cart-page, .tutor-checkout-page { padding-top: 16px !important; }

/* ---------- 9. Gold text on light backgrounds: the darker gold (#C8963E only for buttons, icons and fills) ---------- */
.tutor-accordion-item-header.is-active, .tutor-accordion-item-header:hover, .tutor-color-primary { color: var(--bh-link) !important; }
.tutor-btn.tutor-btn-outline-primary { color: var(--bh-link); border-color: var(--bh-gold); }
.tutor-btn.tutor-btn-outline-primary:hover { background-color: var(--bh-gold); border-color: var(--bh-gold); color: var(--bh-dark); }

/* ---------- 10. Student dashboard (Tutor's own full-screen dashboard) ---------- */
.tutor-stat-card-time-spent { display: none !important; }                 /* meaningless for live training */
.tutor-dashboard-welcome-card h3 { font-family: var(--bh-display); font-weight: 500; font-size: 2rem; }
/* stat cards: "Active" and "Completed" in the same darker gold as "Enrolled" (Tutor: cyan / green) */
.tutor-stat-card-active .tutor-stat-card-value, .tutor-stat-card-active .tutor-stat-card-icon,
.tutor-stat-card-completed .tutor-stat-card-value, .tutor-stat-card-completed .tutor-stat-card-icon { color: #8A6322 !important; }
/* sidebar logo (bh-student-area/brand-logo.php): our header logo, dark variant for the light background */
.tutor-dashboard-sidebar-logo { padding-left: 20px; padding-right: 20px; }   /* Tutor: 40px, too narrow for the name */
.tutor-dashboard-sidebar-logo .bh-logo-light { display: inline-flex; max-width: none; }  /* Tutor: block, 120px */
.bh-logo-light { display: inline-flex; align-items: center; gap: 8px; }
.bh-logo-light svg { width: 28px; height: 28px; flex: none; }
.bh-logo-light .bh-logo-t { font-family: var(--bh-display); font-size: 1.15rem; font-weight: 500; letter-spacing: 0.04em; color: var(--bh-dark); white-space: nowrap; }
.bh-logo-light .bh-logo-t .g { color: #8A6322; }
.bh-logo-light .bh-logo-t .a { color: var(--bh-muted); font-weight: 400; }

/* ---------- 11. Learning area (lesson, assignment, quiz) ---------- */
/* course menu: gold progress bar and gold checkmarks (Tutor uses its "success" green there) */
.tutor-learning-sidebar .tutor-progress-bar-fill, .tutor-learning-nav-header-progress .tutor-progress-bar-fill { background-color: var(--bh-gold) !important; }
/* the "done" checkmarks are fixed SVG colours in Tutor's markup (green circle #0BB01B, tick #007E0C) */
.tutor-learning-nav-item svg circle[fill="#0BB01B"] { fill: var(--bh-gold); }
.tutor-learning-nav-item svg path[stroke="#007E0C"] { stroke: var(--bh-dark); }
/* assignment: "Not passed yet" (bh-student-area.php) in a calm amber, not red */
/* (desktop table and mobile list of attempts; quiz badges stay red/green — a quiz result is final) */
.attempt-list-badge .tutor-badge-error, .tutor-assignment-attempts-list-item .tutor-badge-error { color: #8A5A00 !important; background-color: #FDF2DC !important; }
/* assignment details: hide Duration and Deadline (always the last two rows of this table; we use no deadlines) */
.tutor-assignment-info-table tr:nth-last-child(-n+2) { display: none; }
/* no "Skip Assignment" button: in strict mode the assignment is required (Tutor's button has no class of its own) */
.tutor-learning-area-footer button[\@click*="tutor-assignment-skip-to-next"] { display: none !important; }

/* ---------- 12. Certificate page ---------- */
/* already in brand colours (our header; gold buttons from the brand colour): nothing extra */

/* ---------- 13. Bundles ---------- */
/* bundle badges in brand gold, not Tutor's purple/pink: "2 Course bundle" in the cart and checkout
   (BundleDetails::add_cart_item_bundle_badge) and "2 Courses" on a bundle card (BundleArchive::add_bundle_badge, the only
   user of tutor-badge-highlight) */
.tutor-checkout-course-bundle-badge { background-color: #C8963E !important; color: #0D0D0D !important; }
.tutor-badge.tutor-badge-highlight { background-color: #C8963E; color: #0D0D0D; }
.tutor-badge.tutor-badge-highlight svg { color: #0D0D0D; }

/* ---------- 14. Payment instructions on the dashboard ("Thank you for your order") ---------- */
/* bh-student-area/dashboard-empty.php: the same stored text as on the checkout, as a card under the welcome card;
   addresses and Copy buttons use the rules of section 8 */
.bh-pending-instructions { box-sizing: border-box; margin: 24px 0; padding: 24px; background: var(--bh-surface);
  border: 1px solid var(--bh-border); border-radius: 12px; font-size: 16px; line-height: 1.55; white-space: normal; }
.bh-pending-instructions p { margin: 0 0 12px !important; font-size: 16px; line-height: 1.55; }
.bh-pending-instructions p:last-child { margin-bottom: 0 !important; }
.bh-pending-instructions p:first-child { font-size: 18px; }                        /* the box heading */
@media (max-width: 767px) { .bh-pending-instructions { padding: 16px; } }
