/* GraphicBidu Master Launch Patch
   Loaded after earlier repair layers so it normalises the live interface without
   replacing working protected-course, payment, R2, or authentication behavior. */

:root {
    --gb-master-shell: 1180px;
    --gb-master-ink: #0c1220;
    --gb-master-muted: #596579;
    --gb-master-line: rgba(12, 18, 32, 0.13);
    --gb-master-soft: #f5f7fa;
    --gb-master-paper: #ffffff;
    --gb-master-dark: #0c1220;
    --gb-master-radius: 24px;
    --gb-master-radius-sm: 16px;
    --gb-master-shadow: 0 18px 42px rgba(12, 18, 32, 0.10);
}

html { scroll-behavior: smooth; }
html, body { overflow-x: clip; }
body { text-wrap: pretty; }

.wrapper {
    width: min(calc(100% - 2rem), var(--gb-master-shell));
}

.site-main,
.site-main > *,
.site-main section,
.site-main article,
.site-main aside,
.card,
.panel,
.form-card,
.table-card,
.candidate-dashboard-content,
.candidate-dashboard-content > *,
.candidate-dashboard-frame,
.mentor-v10-card,
.mentor-public-context-card,
.course-board-v2-card,
.gb-home-course-card,
.gb-home-path-card,
.gb-home-service-card {
    min-width: 0;
}

img, video, iframe { max-width: 100%; }

:where(a, button, input, textarea, select, code, dd, .chip, .status-pill, .mentor-link-value) {
    overflow-wrap: anywhere;
}

.button {
    align-items: center;
    justify-content: center;
    min-height: 46px;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
}

.button-secondary {
    background: transparent;
    border-color: currentColor;
}

.section { padding-block: clamp(3.25rem, 7vw, 6.5rem); }
.page-hero { padding-block: clamp(3rem, 6vw, 5.25rem) clamp(2.5rem, 5vw, 4.25rem); }

/* Shared user/admin dashboard rhythm */
.candidate-dashboard-page { padding-block: clamp(1.25rem, 3vw, 2.5rem); }
.candidate-dashboard-frame { gap: clamp(1rem, 2.2vw, 2rem); }
.candidate-dashboard-content { gap: clamp(1rem, 2vw, 1.65rem); }
.candidate-page-intro,
.candidate-v3-home__intro,
.candidate-surface,
.candidate-readiness-card,
.candidate-course-continue-card,
.candidate-payment-row,
.candidate-v3-action-card,
.candidate-v3-support-grid > article,
.candidate-course-card,
.verification-journey-step {
    border-color: var(--gb-master-line);
    border-radius: var(--gb-master-radius);
}

.candidate-v3-action-grid,
.candidate-v3-support-grid,
.candidate-course-grid,
.candidate-course-summary-grid,
.candidate-dashboard-grid--two,
.verification-apply-layout,
.verification-apply-layout--stable {
    gap: clamp(1rem, 2vw, 1.5rem);
}

.candidate-v3-action-card,
.candidate-v3-support-grid > article,
.candidate-course-card,
.candidate-payment-row {
    align-items: stretch;
}

.candidate-v3-action-card .button,
.candidate-v3-support-grid .button,
.candidate-course-card .button,
.candidate-payment-row .button,
.candidate-surface-actions .button,
.candidate-form-save-row .button,
.candidate-apply-actions .button {
    justify-content: center;
}

.candidate-v3-inline-actions,
.candidate-surface-actions,
.candidate-form-save-row,
.candidate-apply-actions,
.candidate-payment-row-actions,
.candidate-course-card-actions {
    align-items: center;
}

.candidate-v3-inline-actions .button,
.candidate-surface-actions .button,
.candidate-form-save-row .button,
.candidate-apply-actions .button,
.candidate-payment-row-actions .button,
.candidate-course-card-actions .button {
    flex: 1 1 10.75rem;
}

.candidate-payment-row {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.8fr) minmax(10rem, auto);
    gap: 1rem;
}

.candidate-billing-state-card {
    align-content: start;
}

.candidate-billing-state-card .button {
    margin-top: auto;
}

.candidate-fact-list,
.definition-list,
.mentor-v10-facts,
.gb-home-course-card__facts {
    display: grid;
    padding: 0;
    margin: 0;
    list-style: none;
}

.candidate-fact-list > div,
.definition-list > li,
.mentor-v10-facts > div,
.gb-home-course-card__facts > div {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    align-items: baseline;
    gap: 0.75rem;
    padding-block: 0.7rem;
    border-bottom: 1px solid var(--gb-master-line);
}

.candidate-fact-list > div:last-child,
.definition-list > li:last-child,
.mentor-v10-facts > div:last-child,
.gb-home-course-card__facts > div:last-child { border-bottom: 0; }

/* Clean contained secondary navigation */
.dashboard-app-nav-more,
.dashboard-app-nav-secondary {
    min-width: 0;
}
.dashboard-app-nav-more summary { cursor: pointer; }
.dashboard-app-nav-more[open] { overflow: visible; }
.dashboard-app-nav-secondary {
    display: grid;
    gap: 0.4rem;
    margin-top: 0.5rem;
    padding-top: 0.55rem;
    border-top: 1px solid var(--gb-master-line);
}

/* Public course surfaces */
.course-board-v2-hero-grid,
.course-sales-v2-hero-grid,
.mentor-v9-hero-grid,
.mentor-public-hero-grid {
    align-items: center;
}

.course-board-v2-grid,
.gb-home-course-grid,
.mentor-v10-grid {
    align-items: stretch;
}

.course-board-v2-card,
.gb-home-course-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.course-board-v2-media,
.gb-home-course-card__media {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #e7ebf0;
}

.course-board-v2-media img,
.gb-home-course-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.course-board-v2-media--fallback,
.gb-home-course-card__media.is-fallback {
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 20% 15%, rgba(82, 154, 206, 0.4), transparent 30%),
        radial-gradient(circle at 85% 85%, rgba(214, 170, 71, 0.3), transparent 28%),
        linear-gradient(135deg, #0a1120, #1f2937 60%, #0f172a);
    color: #fff;
}

.gb-home-course-card__fallback {
    display: grid;
    gap: 0.45rem;
    place-items: center;
    text-align: center;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.gb-home-course-card__fallback small { opacity: 0.7; font-size: 0.72rem; }

.course-board-v2-card-body,
.gb-home-course-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 1rem;
}
.course-board-v2-card-body .form-actions,
.gb-home-course-card__body .button { margin-top: auto; }

/* Mentors: card, filter, external link containment */
.mentor-v10-filter-shell,
.mentor-v9-availability-card,
.mentor-v9-process-grid article,
.mentor-v10-card,
.mentor-public-context-card,
.mentor-availability-public-card {
    border-color: var(--gb-master-line);
}

.mentor-v10-filter-form {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(11rem, 0.8fr) minmax(11rem, 0.8fr) auto;
    gap: 0.85rem;
    align-items: end;
}
.mentor-v10-filter-form label { min-width: 0; }
.mentor-v10-filter-actions { gap: 0.65rem; }
.mentor-v10-filter-actions .button { min-width: 8.5rem; }

.mentor-v9-availability-card {
    display: grid;
    gap: 0.7rem;
    align-content: start;
}

.mentor-v9-availability-card > * {
    margin: 0;
}

.mentor-v9-availability-card strong {
    display: block;
    font-size: clamp(2rem, 3vw, 2.6rem);
    line-height: 0.98;
}

.mentor-v9-availability-card span {
    display: block;
    line-height: 1.45;
    color: var(--gb-master-muted);
}

.mentor-v10-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.mentor-v10-card-cta { margin-top: auto; }
.mentor-v10-card h3,
.mentor-public-intro h1,
.mentor-public-context-card h3 { overflow-wrap: anywhere; }
.mentor-link-value { word-break: break-word; }
.mentor-public-context-grid { align-items: stretch; }
.mentor-public-context-card { min-width: 0; }

/* Homepage master conversion structure */
.gb-home-hero {
    padding-block: clamp(3rem, 7vw, 6.5rem);
    background:
        radial-gradient(circle at 0 0, rgba(148, 198, 235, 0.48), transparent 34%),
        radial-gradient(circle at 92% 12%, rgba(237, 206, 144, 0.35), transparent 25%),
        linear-gradient(180deg, #ffffff, #f5f8fb);
}
[data-theme="dark"] .gb-home-hero {
    background:
        radial-gradient(circle at 0 0, rgba(29, 78, 216, 0.22), transparent 34%),
        radial-gradient(circle at 92% 12%, rgba(146, 64, 14, 0.2), transparent 25%),
        linear-gradient(180deg, #080d18, #0b1322);
}

.gb-home-hero__grid,
.gb-home-founder,
.gb-home-certificate,
.gb-home-readiness-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(0, 0.97fr);
    gap: clamp(1.5rem, 4vw, 4.5rem);
    align-items: center;
}
.gb-home-hero__copy,
.gb-home-founder__copy,
.gb-home-certificate__copy { display: grid; gap: 1.25rem; }
.gb-home-hero h1 { max-width: 15ch; font-size: clamp(2.7rem, 5.6vw, 5.1rem); }
.gb-home-hero .lead { max-width: 60ch; }
.gb-home-hero__actions .button { min-width: min(100%, 12.5rem); }

.gb-home-hero__proof {
    display: grid;
    gap: 0.8rem;
    padding: 0;
    margin: 0.35rem 0 0;
    list-style: none;
}
.gb-home-hero__proof li {
    display: grid;
    grid-template-columns: minmax(10.25rem, 0.75fr) minmax(0, 1.25fr);
    gap: 0.75rem;
    padding-block: 0.75rem;
    border-top: 1px solid var(--gb-master-line);
}
.gb-home-hero__proof span { color: var(--gb-master-muted); }

.gb-home-hero__visual { position: relative; display: grid; gap: 1rem; }
.gb-home-hero__image {
    margin: 0;
    min-height: clamp(29rem, 42vw, 40rem);
    overflow: hidden;
    border-radius: 30px;
    box-shadow: var(--gb-master-shadow);
    background: #d9e0e8;
}
.gb-home-hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
}
.gb-home-route-card {
    display: grid;
    gap: 0;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(255,255,255,.54);
    border-radius: 20px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 16px 38px rgba(12,18,32,.16);
    backdrop-filter: blur(18px);
}
.gb-home-route-card a {
    display: grid;
    grid-template-columns: 2.3rem minmax(0, 0.55fr) minmax(0, 1.45fr);
    gap: 0.65rem;
    align-items: center;
    padding: .8rem 0;
    color: inherit;
    text-decoration: none;
    border-top: 1px solid rgba(12,18,32,.1);
}
.gb-home-route-card a:first-of-type { border-top: 0; }
.gb-home-route-card a span { font: 700 .78rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--gb-master-muted); }
.gb-home-route-card a small { color: var(--gb-master-muted); }
.gb-home-route-card a:hover strong { text-decoration: underline; text-underline-offset: 3px; }

.gb-home-section { padding-block: clamp(3rem, 6vw, 5.8rem); }
.gb-home-section__header { max-width: 760px; margin-bottom: clamp(1.4rem, 3vw, 2.2rem); }
.gb-home-section__header--split { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.gb-home-section__header .lead { margin-bottom: 0; }

.gb-home-path-grid,
.gb-home-course-grid,
.gb-home-service-grid,
.gb-home-faq-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.4rem);
}
.gb-home-path-card,
.gb-home-service-card,
.gb-home-course-card,
.gb-home-faq-grid article {
    border: 1px solid var(--gb-master-line);
    border-radius: var(--gb-master-radius);
    background: var(--gb-master-paper);
}
.gb-home-path-card,
.gb-home-service-card {
    display: flex;
    flex-direction: column;
    gap: .85rem;
    padding: clamp(1.1rem, 2.3vw, 1.55rem);
}
.gb-home-path-card__number,
.gb-home-service-card > span {
    width: 2.45rem;
    height: 2.45rem;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(12,18,32,.07);
    font: 700 .77rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.gb-home-path-card p,
.gb-home-service-card p,
.gb-home-course-card p,
.gb-home-faq-grid p { color: var(--gb-master-muted); }
.gb-home-path-card .button { width: fit-content; margin-top: auto; padding-inline: 0; }

.gb-home-course-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); }
.gb-home-course-card { overflow: hidden; }
.gb-home-course-card__body { padding: clamp(1rem, 2.2vw, 1.45rem); }
.gb-home-course-card__facts { margin-top: auto; }
.gb-home-course-card--empty { grid-column: 1 / -1; }

.gb-home-section--mentorship { background: var(--gb-master-dark); color: #f8fafc; }
.gb-home-section--mentorship h2,
.gb-home-section--mentorship h3,
.gb-home-section--mentorship .eyebrow { color: inherit; }
.gb-home-section--mentorship .lead,
.gb-home-section--mentorship p { color: rgba(226,232,240,.78); }
.gb-home-section--mentorship .eyebrow::before { background: #f8fafc; }
.gb-home-section--mentorship .button-secondary { color: #fff; border-color: rgba(255,255,255,.65); }
.gb-home-section--mentorship .button-secondary:hover { background: rgba(255,255,255,.1); }
.gb-home-service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gb-home-service-card { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.16); }
.gb-home-service-card > span { background: rgba(255,255,255,.12); }
.gb-home-availability-note {
    display: grid;
    grid-template-columns: minmax(12rem, .55fr) minmax(0, 1.45fr);
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 18px;
    background: rgba(255,255,255,.04);
    color: rgba(226,232,240,.86);
}

.gb-home-founder__image { margin: 0; overflow: hidden; border-radius: 30px; background: #d8e0e7; min-height: 34rem; }
.gb-home-founder__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 12%; }
.gb-home-founder__list { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.gb-home-founder__list li { padding-top: .8rem; border-top: 1px solid var(--gb-master-line); }

.gb-home-section--certificate { background: linear-gradient(180deg, #f5f7fa, #fff); }
.gb-home-certificate__preview {
    position: relative;
    display: grid;
    align-content: center;
    gap: .9rem;
    min-height: 29rem;
    padding: clamp(1.4rem, 4vw, 3rem);
    border: 1px solid rgba(171,126,39,.38);
    border-radius: 12px;
    background: #fffdf7;
    color: #162133;
    text-align: center;
    box-shadow: 0 18px 48px rgba(12,18,32,.13);
}
.gb-home-certificate__preview::before,
.gb-home-certificate__preview::after {
    position: absolute; content: ""; inset: 12px; pointer-events: none; border: 1px solid rgba(171,126,39,.36);
}
.gb-home-certificate__preview::after { inset: 19px; border-color: rgba(171,126,39,.2); }
.gb-home-certificate__preview > * { position: relative; z-index: 1; }
.gb-home-certificate__seal { width: 4.4rem; height: 4.4rem; display: grid; place-items: center; margin-inline: auto; border: 1px solid rgba(171,126,39,.55); border-radius: 999px; color: #8a641c; font-weight: 800; letter-spacing: .1em; }
.gb-home-certificate__label { margin: 0; color: #8a641c; font: 700 .72rem/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-transform: uppercase; letter-spacing: .1em; }
.gb-home-certificate__preview h3 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.7rem, 4vw, 2.6rem); }
.gb-home-certificate__footer { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(12,18,32,.12); text-align: left; font-size: .78rem; color: #5a6472; }
.gb-home-certificate__footer strong { display: block; color: #162133; margin-top: .2rem; }

.gb-home-readiness-grid { align-items: stretch; }
.gb-home-readiness-grid > article { display: flex; flex-direction: column; gap: 1rem; }
.gb-home-readiness-grid__card { padding: clamp(1.1rem, 2.5vw, 1.7rem); border: 1px solid rgba(255,255,255,.18); border-radius: var(--gb-master-radius); background: rgba(255,255,255,.06); }
.gb-home-readiness-grid__card ul { display: grid; gap: .7rem; margin: 0; padding-left: 1.1rem; }
.gb-home-readiness-grid__card .button { margin-top: auto; width: fit-content; }

.gb-home-faq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gb-home-faq-grid article { padding: clamp(1rem, 2.3vw, 1.45rem); }
.gb-home-faq-grid h3 { margin-bottom: .65rem; }

.gb-home-final-cta { padding-top: 0; padding-bottom: clamp(3rem, 6vw, 5.5rem); }
.gb-home-final-cta__panel { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; padding: clamp(1.4rem, 3vw, 2.2rem); border-radius: 30px; background: #0c1220; color: #f8fafc; }
.gb-home-final-cta__panel .eyebrow,
.gb-home-final-cta__panel h2,
.gb-home-final-cta__panel p { color: inherit; }
.gb-home-final-cta__panel .eyebrow::before { background: #f8fafc; }
.gb-home-final-cta__actions { display: flex; gap: .7rem; flex-wrap: wrap; }
.gb-home-final-cta__actions .button-secondary { color: #fff; border-color: rgba(255,255,255,.62); }
.gb-home-final-cta__actions .button-secondary:hover { background: rgba(255,255,255,.1); }

/* Popups: text-only and image variants stay contained */
.gb-popup-campaign__dialog { max-height: min(92vh, 760px); }
.gb-popup-campaign__content { min-width: 0; }
.gb-popup-campaign__media img { object-position: center; }
.gb-popup-campaign--text-only .gb-popup-campaign__dialog { width: min(100%, 34rem); }

/* Author/mentor/admin surfaces */
.mentor-photo-card,
.mentor-admin-review-grid,
.mentor-admin-context-card,
.mentor-admin-controls-card,
.course-media-health-panel,
.course-content-module-card,
.course-media-diagnostic-card {
    min-width: 0;
}
.mentor-photo-card__preview img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; }
.mentor-admin-definition-list,
.mentor-admin-definition-list dd,
.mentor-admin-external-link { overflow-wrap: anywhere; word-break: break-word; }
.course-media-diagnostic-card code { max-width: 100%; overflow-x: auto; white-space: pre-wrap; }

/* Better dark theme contrast for cards that were previously forced light */
[data-theme="dark"] .gb-home-path-card,
[data-theme="dark"] .gb-home-course-card,
[data-theme="dark"] .gb-home-faq-grid article,
[data-theme="dark"] .gb-home-section--certificate,
[data-theme="dark"] .course-board-v2-card,
[data-theme="dark"] .mentor-v10-card,
[data-theme="dark"] .mentor-v10-filter-shell,
[data-theme="dark"] .mentor-v9-availability-card,
[data-theme="dark"] .mentor-v9-process-grid article {
    background: #111a2b;
    border-color: rgba(148,163,184,.24);
    color: #e5edf8;
}
[data-theme="dark"] .gb-home-path-card p,
[data-theme="dark"] .gb-home-course-card p,
[data-theme="dark"] .gb-home-faq-grid p,
[data-theme="dark"] .mentor-v10-filter-shell .muted { color: rgba(226,232,240,.74) !important; }
[data-theme="dark"] .gb-home-section--certificate { background: #0b1322; }
[data-theme="dark"] .gb-home-certificate__preview { color: #162133; }

@media (max-width: 1060px) {
    .gb-home-hero__grid,
    .gb-home-founder,
    .gb-home-certificate,
    .gb-home-readiness-grid { grid-template-columns: minmax(0, 1fr); }
    .gb-home-hero__image { min-height: min(78vw, 38rem); }
    .gb-home-route-card { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .gb-home-route-card .panel-label { grid-column: 1 / -1; }
    .gb-home-route-card a { grid-template-columns: 1fr; align-content: start; }
    .gb-home-route-card a small { display: none; }
    .mentor-v10-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mentor-v10-filter-topic { grid-column: 1 / -1; }
    .mentor-v10-filter-actions { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
    .candidate-dashboard-frame { grid-template-columns: minmax(0, 1fr); }
    .candidate-payment-row { grid-template-columns: minmax(0, 1fr); }
    .candidate-payment-row-meta { justify-items: start; }
    .gb-home-path-grid,
    .gb-home-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gb-home-section__header--split,
    .gb-home-final-cta__panel { align-items: flex-start; flex-direction: column; }
    .gb-home-final-cta__actions { width: 100%; }
    .gb-home-final-cta__actions .button { flex: 1 1 12rem; }
}

@media (max-width: 620px) {
    .wrapper { width: min(calc(100% - 1.25rem), var(--gb-master-shell)); }
    .section { padding-block: 3.25rem; }
    .gb-home-hero { padding-block: 2.75rem 3.25rem; }
    .gb-home-hero h1 { font-size: clamp(2.4rem, 12vw, 3.55rem); }
    .gb-home-hero__proof li { grid-template-columns: minmax(0, 1fr); gap: .3rem; }
    .gb-home-route-card { grid-template-columns: minmax(0, 1fr); }
    .gb-home-route-card a { grid-template-columns: 2.15rem minmax(0, 1fr); }
    .gb-home-route-card a small { display: block; grid-column: 2; }
    .gb-home-path-grid,
    .gb-home-service-grid,
    .gb-home-faq-grid,
    .gb-home-certificate__footer { grid-template-columns: minmax(0, 1fr); }
    .gb-home-service-grid { gap: .85rem; }
    .gb-home-founder__image { min-height: 25rem; }
    .gb-home-certificate__preview { min-height: 26rem; }
    .mentor-v10-filter-form { grid-template-columns: minmax(0, 1fr); }
    .mentor-v10-filter-topic,
    .mentor-v10-filter-actions { grid-column: auto; }
    .mentor-v10-filter-actions .button { width: 100%; }
    .candidate-v3-inline-actions .button,
    .candidate-surface-actions .button,
    .candidate-form-save-row .button,
    .candidate-apply-actions .button,
    .candidate-payment-row-actions .button,
    .candidate-course-card-actions .button { width: 100%; flex-basis: 100%; }
    .gb-popup-campaign__dialog { border-radius: 22px; }
}

/* Featured mentor cards on the public homepage. */
.gb-home-mentor-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr));
    gap: clamp(1rem, 2vw, 1.4rem);
}
.gb-home-mentor-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
    padding: clamp(1.1rem, 2.4vw, 1.55rem);
    border: 1px solid var(--gb-master-line);
    border-radius: var(--gb-master-radius);
    background: var(--gb-master-paper);
}
.gb-home-mentor-card__head {
    display: grid;
    grid-template-columns: 4.25rem minmax(0, 1fr);
    align-items: center;
    gap: .9rem;
}
.gb-home-mentor-card__head h3 { margin: .15rem 0 .35rem; }
.gb-home-mentor-card__head p,
.gb-home-mentor-card__expertise { margin: 0; color: var(--gb-master-muted); }
.gb-home-mentor-card__avatar {
    width: 4.25rem;
    height: 4.25rem;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 999px;
    background: #e7ebf0;
    color: var(--gb-master-ink);
    font-weight: 800;
}
.gb-home-mentor-card__avatar img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.gb-home-mentor-card__facts {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
}
.gb-home-mentor-card__facts > div {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: .7rem;
    padding-block: .7rem;
    border-top: 1px solid var(--gb-master-line);
}
.gb-home-mentor-card__facts dt { color: var(--gb-master-muted); }
.gb-home-mentor-card__facts dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.gb-home-mentor-card .button { margin-top: auto; }

/* Extra insurance for password controls across all auth variants. */
.launch-password-field { position: relative; }
.launch-password-field input { padding-right: 3.25rem; }
.launch-password-toggle {
    z-index: 2;
    cursor: pointer;
    opacity: 1;
    visibility: visible;
}
.launch-password-toggle:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

@media (max-width: 620px) {
    .gb-home-mentor-card__facts > div { grid-template-columns: minmax(0, 1fr); gap: .22rem; }
    .gb-home-mentor-card__facts dd { text-align: left; }
}

[data-theme="dark"] .gb-home-mentor-card {
    background: #111a2b;
    border-color: rgba(148,163,184,.24);
    color: #e5edf8;
}
[data-theme="dark"] .gb-home-mentor-card__head p,
[data-theme="dark"] .gb-home-mentor-card__expertise,
[data-theme="dark"] .gb-home-mentor-card__facts dt { color: rgba(226,232,240,.72); }


/* ==========================================================================
   GraphicBidu Live Launch Refinement v2
   Targeted additions based on the 2026-06-26 production source map.
   ========================================================================== */

/* Course catalogue: rows were given grid columns by an earlier layer but the
   row itself was never made a grid, causing label/value alignment failures. */
.course-board-v2-definition-list > li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(8.5rem, auto);
    align-items: center;
    column-gap: 1.25rem;
}

.course-board-v2-definition-list > li > span {
    min-width: 0;
}

.course-board-v2-definition-list > li > strong {
    max-width: 16rem;
    justify-self: end;
    text-align: right;
    overflow-wrap: anywhere;
}

/* Homepage featured courses are compact discovery cards, deliberately not
   full catalogue cards. */
.gb-home-course-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 23rem));
    justify-content: start;
    gap: clamp(1rem, 2vw, 1.5rem);
}

.gb-home-course-card {
    max-width: 23rem;
    border: 1px solid var(--gb-master-line);
    border-radius: var(--gb-master-radius-sm);
    background: var(--gb-master-paper);
    box-shadow: 0 12px 28px rgba(12, 18, 32, .07);
}

.gb-home-course-card__media {
    aspect-ratio: 16 / 8.4;
}

.gb-home-course-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: .78rem;
    padding: 1rem 1rem 1.05rem;
}

.gb-home-course-card__body h3 {
    margin: 0;
    font-size: 1.12rem;
    line-height: 1.28;
}

.gb-home-course-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .7rem;
    margin: 0;
    color: var(--gb-master-muted);
    font-size: .81rem;
}

.gb-home-course-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.gb-home-course-card__meta span + span::before {
    width: .22rem;
    height: .22rem;
    border-radius: 999px;
    background: currentColor;
    content: '';
    opacity: .55;
}

.gb-home-course-card__body .button {
    width: 100%;
    min-height: 42px;
    margin-top: auto;
}

/* Standards is a working-policy page, not a generic set of feature cards. */
.gb-standards-hero {
    padding-bottom: clamp(1.8rem, 4vw, 3rem);
}

.gb-standards-hero h1 {
    max-width: 16ch;
}

.gb-standards-intro {
    max-width: 46rem;
    margin: 0;
}

.gb-standards-principles {
    display: grid;
    gap: 1rem;
}

.gb-standards-principle {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: clamp(1rem, 2vw, 1.5rem);
    align-items: start;
    padding: clamp(1.15rem, 2.3vw, 1.55rem);
    border: 1px solid var(--gb-master-line);
    border-radius: var(--gb-master-radius-sm);
    background: var(--gb-master-paper);
}

.gb-standards-principle__number {
    display: grid;
    width: 2.4rem;
    height: 2.4rem;
    place-items: center;
    border: 1px solid var(--gb-master-line);
    border-radius: 999px;
    background: var(--gb-master-soft);
    color: var(--gb-master-ink);
    font: 800 .72rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.gb-standards-principle h2 {
    margin: 0 0 .42rem;
    font-size: clamp(1.08rem, 1.5vw, 1.32rem);
}

.gb-standards-principle p {
    max-width: 70ch;
    margin: 0;
    color: var(--gb-master-muted);
    line-height: 1.62;
}

.gb-standards-boundaries {
    margin-top: clamp(1.25rem, 3vw, 2rem);
    padding: clamp(1.2rem, 2.5vw, 1.7rem);
    border-radius: var(--gb-master-radius-sm);
    background: var(--gb-master-dark);
    color: #fff;
}

.gb-standards-boundaries h2 {
    margin: 0 0 .7rem;
    color: #fff;
    font-size: clamp(1.25rem, 2vw, 1.6rem);
}

.gb-standards-boundaries ul {
    display: grid;
    gap: .48rem;
    padding-left: 1.15rem;
    margin: 0;
}

.gb-standards-boundaries li {
    color: rgba(255, 255, 255, .84);
    line-height: 1.55;
}

html[data-theme="dark"] .gb-home-course-card,
html[data-theme="dark"] .gb-standards-principle {
    background: #171d2a;
    border-color: rgba(226, 232, 240, .18);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .22);
}

html[data-theme="dark"] .gb-home-course-card__meta,
html[data-theme="dark"] .gb-standards-principle p {
    color: #cbd5e1;
}

html[data-theme="dark"] .gb-standards-principle__number {
    background: rgba(248, 250, 252, .08);
    border-color: rgba(248, 250, 252, .22);
    color: #f8fafc;
}

@media (max-width: 720px) {
    .course-board-v2-definition-list > li {
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: .85rem;
    }

    .course-board-v2-definition-list > li > strong {
        max-width: 12rem;
    }

    .gb-home-course-grid {
        grid-template-columns: 1fr;
    }

    .gb-home-course-card {
        max-width: none;
    }

    .gb-standards-principle {
        grid-template-columns: 1fr;
        gap: .85rem;
    }
}


/* ==========================================================================
   GraphicBidu Live Mentor Design CSS Repair v1
   CSS-only final cascade for:
   /mentors
   /mentors/tarun-singh-rathore
   /mentors/tarun-singh-rathore/book/2
   ========================================================================== */

/* The prior visual defect:
   generic fact/definition rows inherit column values without a display model.
   Explicit grids make label/value pairs stable across all mentor surfaces. */
.mentor-v10-facts > div,
.mentor-v9-facts > div,
.mentor-public-context-card .definition-list > li,
.mentor-public-context-grid .definition-list > li,
.mentor-booking-context-card .definition-list > li,
.mentor-booking-context-grid .definition-list > li,
.mentor-booking-page .definition-list > li {
    display: grid !important;
    grid-template-columns: minmax(7rem, .72fr) minmax(0, 1.28fr) !important;
    align-items: start !important;
    gap: .7rem 1rem !important;
    min-width: 0;
}

/* Directory --------------------------------------------------------------- */
.mentor-v10-filter-shell,
.mentor-v9-filter-shell {
    align-items: center !important;
    gap: clamp(1.1rem, 2.4vw, 2rem) !important;
    padding: clamp(1.15rem, 2.2vw, 1.6rem) !important;
}

.mentor-v10-filter-form,
.mentor-v9-filter-form {
    gap: .72rem !important;
}

.mentor-v10-filter-form label > span,
.mentor-v9-filter-form label > span {
    color: #344054 !important;
    font-size: .74rem !important;
    letter-spacing: .01em;
}

.mentor-v10-filter-form :is(input, select),
.mentor-v9-filter-form :is(input, select) {
    min-width: 0 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mentor-v10-grid,
.mentor-v9-grid {
    grid-template-columns: minmax(0, 58rem) !important;
    justify-content: start !important;
    gap: 1.2rem !important;
}

.mentor-v10-card,
.mentor-v9-card {
    gap: 1.05rem !important;
    padding: clamp(1.15rem, 2.3vw, 1.55rem) !important;
    border-radius: 18px !important;
}

.mentor-v10-card-head,
.mentor-v9-card-head {
    align-items: center !important;
    gap: 1rem !important;
}

.mentor-v10-card h3,
.mentor-v9-card h3 {
    margin: .1rem 0 .18rem !important;
    font-size: 1.18rem !important;
    line-height: 1.2 !important;
}

.mentor-v10-facts,
.mentor-v9-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 1rem !important;
}

.mentor-v10-facts > div,
.mentor-v9-facts > div {
    padding-block: .72rem !important;
}

.mentor-v10-facts dd,
.mentor-v9-facts dd {
    margin: 0 !important;
    text-align: right !important;
    overflow-wrap: anywhere;
}

.mentor-v10-expertise,
.mentor-v9-expertise {
    -webkit-line-clamp: 2;
    font-size: .86rem !important;
    line-height: 1.48 !important;
}

.mentor-v10-card .chip-wrap,
.mentor-v9-card .chip-wrap {
    min-height: 0 !important;
}

/* Public mentor profile -------------------------------------------------- */
.mentor-public-hero,
.mentor-v9-public-hero {
    padding-block: clamp(2.25rem, 4.4vw, 4rem) clamp(1.65rem, 3vw, 2.5rem) !important;
}

.mentor-public-hero-grid,
.mentor-v9-public-hero-grid {
    align-items: center !important;
    gap: clamp(1.5rem, 4vw, 3.5rem) !important;
}

.mentor-public-rating-panel,
.mentor-v9-rating-panel,
.mentor-public-record-panel {
    min-height: 0 !important;
    padding: 1.3rem 1.5rem !important;
}

.mentor-public-rating-panel h2,
.mentor-v9-rating-panel h2,
.mentor-public-record-panel h2 {
    margin: .2rem 0 .35rem !important;
    font-size: clamp(1.55rem, 2.2vw, 2rem) !important;
    line-height: 1.08 !important;
}

/* This is the main blank-card fix. The availability panel must be only as
   tall as its own content, not as tall as the longer biography card. */
.mentor-public-context-grid,
.mentor-v9-context-grid,
.mentor-profile-context-grid {
    align-items: start !important;
    gap: clamp(1rem, 2.4vw, 1.7rem) !important;
}

.mentor-public-context-grid > *,
.mentor-v9-context-grid > *,
.mentor-profile-context-grid > * {
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;
}

.mentor-public-context-card,
.mentor-v9-context-card,
.mentor-profile-context-card,
.mentor-availability-public-card,
.mentor-v9-availability-card {
    height: auto !important;
    min-height: 0 !important;
    padding: clamp(1.2rem, 2.25vw, 1.6rem) !important;
}

.mentor-public-context-card .definition-list,
.mentor-v9-context-card .definition-list,
.mentor-booking-context-card .definition-list {
    margin: .65rem 0 0 !important;
}

.mentor-public-context-card .definition-list > li,
.mentor-public-context-grid .definition-list > li,
.mentor-v9-context-card .definition-list > li,
.mentor-booking-context-card .definition-list > li,
.mentor-booking-context-grid .definition-list > li {
    padding-block: .78rem !important;
}

.mentor-public-context-card .definition-list span,
.mentor-public-context-grid .definition-list span,
.mentor-v9-context-card .definition-list span,
.mentor-booking-context-card .definition-list span,
.mentor-booking-context-grid .definition-list span {
    color: #667085 !important;
    font-size: .79rem !important;
    font-weight: 700 !important;
}

.mentor-public-context-card .definition-list :is(strong, a),
.mentor-public-context-grid .definition-list :is(strong, a),
.mentor-v9-context-card .definition-list :is(strong, a),
.mentor-booking-context-card .definition-list :is(strong, a),
.mentor-booking-context-grid .definition-list :is(strong, a) {
    margin: 0 !important;
    color: #172033 !important;
    text-align: left !important;
    font-size: .93rem !important;
    line-height: 1.5 !important;
    overflow-wrap: anywhere;
}

.mentor-public-context-card .definition-list a,
.mentor-public-context-grid .definition-list a,
.mentor-v9-context-card .definition-list a {
    max-width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    text-decoration-thickness: 1px;
}

.mentor-public-bio,
.mentor-v9-bio {
    max-width: 68ch !important;
    margin-top: 1.15rem !important;
    line-height: 1.68 !important;
}

.mentor-availability-public-card > p,
.mentor-v9-availability-card > p {
    max-width: 50ch !important;
}

.mentor-availability-public-card .stack-list,
.mentor-v9-availability-card .stack-list {
    display: grid !important;
    gap: .7rem !important;
    margin-top: 1rem !important;
}

.mentor-availability-public-card .stack-list li,
.mentor-v9-availability-card .stack-list li {
    display: grid !important;
    grid-template-columns: 5.5rem minmax(0, 1fr) !important;
    gap: .65rem !important;
    padding-top: .78rem !important;
    border-top: 1px solid var(--gb-master-line) !important;
}

/* Services: remove the oversized dead gap created by the stretched row. */
.mentor-public-services,
.mentor-v9-services {
    padding-block: clamp(2.4rem, 4.7vw, 4rem) !important;
}

.mentor-public-services .stacked-panels,
.mentor-v9-services .stacked-panels {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem !important;
}

/* Booking --------------------------------------------------------------- */
.mentor-booking-hero,
.mentor-v9-booking-hero {
    padding-block: clamp(2.2rem, 4.2vw, 3.75rem) clamp(1.55rem, 3vw, 2.35rem) !important;
}

.mentor-booking-context-grid,
.mentor-v9-booking-context-grid {
    align-items: start !important;
    gap: clamp(1rem, 2.4vw, 1.7rem) !important;
}

.mentor-booking-context-grid > *,
.mentor-v9-booking-context-grid > * {
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;
}

.mentor-booking-context-card,
.mentor-booking-request-card,
.mentor-v9-booking-context-card,
.mentor-v9-booking-request-card {
    height: auto !important;
    min-height: 0 !important;
    padding: clamp(1.15rem, 2.25vw, 1.55rem) !important;
}

@media (max-width: 760px) {
    .mentor-v10-grid,
    .mentor-v9-grid {
        grid-template-columns: 1fr !important;
    }

    .mentor-v10-facts,
    .mentor-v9-facts {
        grid-template-columns: 1fr !important;
    }

    .mentor-v10-facts > div,
    .mentor-v9-facts > div,
    .mentor-public-context-card .definition-list > li,
    .mentor-public-context-grid .definition-list > li,
    .mentor-v9-context-card .definition-list > li,
    .mentor-booking-context-card .definition-list > li,
    .mentor-booking-context-grid .definition-list > li,
    .mentor-booking-page .definition-list > li,
    .mentor-availability-public-card .stack-list li,
    .mentor-v9-availability-card .stack-list li {
        grid-template-columns: 1fr !important;
        gap: .28rem !important;
    }

    .mentor-v10-facts dd,
    .mentor-v9-facts dd {
        text-align: left !important;
    }
}

[data-theme="dark"] .mentor-v10-filter-form label > span,
[data-theme="dark"] .mentor-v9-filter-form label > span,
[data-theme="dark"] .mentor-public-context-card .definition-list span,
[data-theme="dark"] .mentor-public-context-grid .definition-list span,
[data-theme="dark"] .mentor-v9-context-card .definition-list span,
[data-theme="dark"] .mentor-booking-context-card .definition-list span,
[data-theme="dark"] .mentor-booking-context-grid .definition-list span {
    color: #aab7ca !important;
}

[data-theme="dark"] .mentor-public-context-card .definition-list :is(strong, a),
[data-theme="dark"] .mentor-public-context-grid .definition-list :is(strong, a),
[data-theme="dark"] .mentor-v9-context-card .definition-list :is(strong, a),
[data-theme="dark"] .mentor-booking-context-card .definition-list :is(strong, a),
[data-theme="dark"] .mentor-booking-context-grid .definition-list :is(strong, a) {
    color: #f8fafc !important;
}


/* ==========================================================================
   GraphicBidu Mentor Directory Layout Correction v3
   Fixes the accidental 58rem hard-cap and restores full-content-width cards.
   ========================================================================== */

/* Root cause correction:
   A prior rule limited the directory grid to 58rem. The card therefore used
   only part of its content container and left a large blank area at right. */
.mentor-v10-grid,
.mentor-v9-grid {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-content: stretch !important;
}

.mentor-v10-grid > *,
.mentor-v9-grid > *,
.mentor-v10-card,
.mentor-v9-card {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* Directory card: give the portrait/title a clear top band, then use a
   deliberate facts grid instead of a cramped, misaligned mini-table. */
.mentor-v10-card,
.mentor-v9-card {
    padding: clamp(1.3rem, 2.4vw, 1.75rem) !important;
}

.mentor-v10-card-head,
.mentor-v9-card-head {
    padding-bottom: 1rem !important;
    border-bottom: 1px solid var(--gb-master-line) !important;
}

.mentor-v10-facts,
.mentor-v9-facts {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr) !important;
    gap: 0 1.5rem !important;
}

.mentor-v10-facts > div,
.mentor-v9-facts > div {
    display: grid !important;
    grid-template-columns: 6.75rem minmax(0, 1fr) !important;
    align-items: start !important;
    gap: .85rem !important;
    min-width: 0 !important;
    padding-block: .78rem !important;
}

.mentor-v10-facts dt,
.mentor-v9-facts dt {
    white-space: nowrap;
}

.mentor-v10-facts dd,
.mentor-v9-facts dd {
    justify-self: stretch !important;
    text-align: left !important;
    line-height: 1.45 !important;
}

/* Make the only real public mentor card feel intentional, rather than a
   constrained inner panel floating inside a large unused canvas. */
.mentor-v10-card .mentor-v10-expertise,
.mentor-v9-card .mentor-v9-expertise {
    max-width: 86ch !important;
    margin-top: .05rem !important;
    -webkit-line-clamp: 2 !important;
}

.mentor-v10-card .button,
.mentor-v9-card .button {
    width: min(100%, 18rem) !important;
    margin-top: .15rem !important;
}

/* The filter layout gets its intended space now that the directory is full
   width. The need field remains the primary input. */
.mentor-v10-filter-shell,
.mentor-v9-filter-shell {
    grid-template-columns: minmax(16rem, .85fr) minmax(0, 1.65fr) !important;
}

.mentor-v10-filter-form,
.mentor-v9-filter-form {
    grid-template-columns: minmax(15.5rem, 1.5fr) minmax(9.5rem, .8fr) minmax(10.5rem, .9fr) auto !important;
}

/* Public profile / booking:
   use generic context-grid containment in addition to V9 class names. This
   prevents the available-time panel from inheriting the biography card height
   even where deployed markup differs slightly. */
.mentor-public-context-grid,
.mentor-v9-context-grid,
.section-grid:has(.mentor-availability-public-card),
.section-grid:has(.mentor-v9-availability-card) {
    align-items: start !important;
}

.mentor-public-context-grid > *,
.mentor-v9-context-grid > *,
.section-grid:has(.mentor-availability-public-card) > *,
.section-grid:has(.mentor-v9-availability-card) > * {
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;
}

.mentor-availability-public-card,
.mentor-v9-availability-card {
    height: auto !important;
    min-height: 0 !important;
}

@media (max-width: 900px) {
    .mentor-v10-filter-shell,
    .mentor-v9-filter-shell {
        grid-template-columns: 1fr !important;
    }

    .mentor-v10-filter-form,
    .mentor-v9-filter-form {
        grid-template-columns: minmax(13rem, 1.4fr) minmax(9rem, .8fr) minmax(10rem, .9fr) auto !important;
    }
}

@media (max-width: 720px) {
    .mentor-v10-facts,
    .mentor-v9-facts {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    .mentor-v10-facts > div,
    .mentor-v9-facts > div {
        grid-template-columns: 7rem minmax(0, 1fr) !important;
    }

    .mentor-v10-card .button,
    .mentor-v9-card .button {
        width: 100% !important;
    }

    .mentor-v10-filter-form,
    .mentor-v9-filter-form {
        grid-template-columns: 1fr !important;
    }
}

[data-theme="dark"] .mentor-v10-card-head,
[data-theme="dark"] .mentor-v9-card-head {
    border-color: rgba(226, 232, 240, .16) !important;
}


/* ==========================================================================
   GraphicBidu Mentor Directory Layout Final v4
   Corrects the final left-stack / unused-right-space defect.
   ========================================================================== */

/* Search / filters --------------------------------------------------------
   The submitted directory can be used with no filters. The action therefore
   stays readable and visually active rather than looking disabled. */
.mentor-v10-filter-shell,
.mentor-v9-filter-shell {
    grid-template-columns: minmax(18rem, .82fr) minmax(0, 1.58fr) !important;
    align-items: center !important;
}

.mentor-v10-filter-form,
.mentor-v9-filter-form {
    display: grid !important;
    grid-template-columns: minmax(14rem, 1.55fr) minmax(9rem, .8fr) minmax(10rem, .9fr) minmax(8rem, auto) !important;
    align-items: end !important;
    gap: .75rem !important;
}

.mentor-v10-filter-form [type="submit"],
.mentor-v9-filter-form [type="submit"] {
    min-height: 42px !important;
    color: #fff !important;
    background: #090909 !important;
    border-color: #090909 !important;
    opacity: 1 !important;
    white-space: nowrap !important;
}

.mentor-v10-filter-form [type="submit"]:hover,
.mentor-v9-filter-form [type="submit"]:hover {
    color: #fff !important;
    background: #262626 !important;
    border-color: #262626 !important;
}

/* Directory card ----------------------------------------------------------
   The V3 full-width correction worked, but exposed the actual remaining
   issue: all children are stacked on the left, so the new available width
   became unused white space. Use a deliberate two-column composition. */
.mentor-v10-grid,
.mentor-v9-grid {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: minmax(0, 1fr) !important;
}

.mentor-v10-card,
.mentor-v9-card {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: minmax(0, 1.12fr) minmax(19rem, .88fr) !important;
    grid-template-areas:
        "head facts"
        "expertise facts"
        "chips facts"
        "action facts" !important;
    align-items: start !important;
    column-gap: clamp(1.35rem, 3vw, 2.5rem) !important;
    row-gap: .9rem !important;
    padding: clamp(1.35rem, 2.7vw, 1.85rem) !important;
}

/* These classes are the deployed V9/V10 template children. */
.mentor-v10-card-head,
.mentor-v9-card-head {
    grid-area: head !important;
    margin: 0 !important;
    padding: 0 0 1rem !important;
    border-bottom: 1px solid var(--gb-master-line) !important;
}

.mentor-v10-facts,
.mentor-v9-facts {
    grid-area: facts !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-self: stretch !important;
    gap: 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: .4rem 1.05rem !important;
    border: 1px solid var(--gb-master-line) !important;
    border-radius: 14px !important;
    background: var(--gb-master-soft) !important;
}

.mentor-v10-facts > div,
.mentor-v9-facts > div {
    display: grid !important;
    grid-template-columns: 7rem minmax(0, 1fr) !important;
    align-items: start !important;
    gap: .8rem !important;
    min-width: 0 !important;
    padding-block: .82rem !important;
}

.mentor-v10-facts dt,
.mentor-v9-facts dt {
    white-space: nowrap !important;
}

.mentor-v10-facts dd,
.mentor-v9-facts dd {
    justify-self: stretch !important;
    margin: 0 !important;
    text-align: left !important;
    line-height: 1.47 !important;
    overflow-wrap: anywhere !important;
}

.mentor-v10-expertise,
.mentor-v9-expertise {
    grid-area: expertise !important;
    max-width: 68ch !important;
    margin: 0 !important;
    -webkit-line-clamp: 3 !important;
    line-height: 1.58 !important;
}

.mentor-v10-card .chip-wrap,
.mentor-v9-card .chip-wrap {
    grid-area: chips !important;
    min-height: 0 !important;
    margin: 0 !important;
}

.mentor-v10-card .button,
.mentor-v9-card .button {
    grid-area: action !important;
    width: min(100%, 14rem) !important;
    min-height: 44px !important;
    margin: 0 !important;
}

/* Profile / booking safeguard --------------------------------------------
   Preserve the previous real fix: the availability card should use its own
   height rather than stretching to match the biography card. */
.mentor-public-context-grid,
.mentor-v9-context-grid,
.section-grid:has(.mentor-availability-public-card),
.section-grid:has(.mentor-v9-availability-card),
.mentor-booking-context-grid,
.mentor-v9-booking-context-grid {
    align-items: start !important;
}

.mentor-public-context-grid > *,
.mentor-v9-context-grid > *,
.section-grid:has(.mentor-availability-public-card) > *,
.section-grid:has(.mentor-v9-availability-card) > *,
.mentor-booking-context-grid > *,
.mentor-v9-booking-context-grid > * {
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;
}

.mentor-availability-public-card,
.mentor-v9-availability-card {
    height: auto !important;
    min-height: 0 !important;
}

@media (max-width: 980px) {
    .mentor-v10-filter-shell,
    .mentor-v9-filter-shell {
        grid-template-columns: 1fr !important;
        align-items: start !important;
    }

    .mentor-v10-filter-form,
    .mentor-v9-filter-form {
        grid-template-columns: minmax(13rem, 1.55fr) minmax(9rem, .8fr) minmax(10rem, .9fr) auto !important;
    }

    .mentor-v10-card,
    .mentor-v9-card {
        grid-template-columns: minmax(0, 1fr) minmax(17rem, .85fr) !important;
    }
}

@media (max-width: 720px) {
    .mentor-v10-filter-form,
    .mentor-v9-filter-form {
        grid-template-columns: 1fr !important;
    }

    .mentor-v10-filter-form [type="submit"],
    .mentor-v9-filter-form [type="submit"] {
        width: 100% !important;
    }

    .mentor-v10-card,
    .mentor-v9-card {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "head"
            "facts"
            "expertise"
            "chips"
            "action" !important;
        gap: .9rem !important;
    }

    .mentor-v10-facts,
    .mentor-v9-facts {
        padding: .3rem .9rem !important;
    }

    .mentor-v10-card .button,
    .mentor-v9-card .button {
        width: 100% !important;
    }
}

[data-theme="dark"] .mentor-v10-filter-form [type="submit"],
[data-theme="dark"] .mentor-v9-filter-form [type="submit"] {
    color: #fff !important;
    background: #f8fafc !important;
    border-color: #f8fafc !important;
    color: #111827 !important;
}

[data-theme="dark"] .mentor-v10-facts,
[data-theme="dark"] .mentor-v9-facts {
    background: rgba(255,255,255,.055) !important;
    border-color: rgba(226,232,240,.17) !important;
}

[data-theme="dark"] .mentor-v10-card-head,
[data-theme="dark"] .mentor-v9-card-head {
    border-color: rgba(226,232,240,.17) !important;
}


/* ==========================================================================
   GraphicBidu Mentor UX + Content Repair v5
   Final cascade for public mentor discovery/profile pages.
   ========================================================================== */

/* Remove the artificial blank between the “How it works” cards and the
   directory finder. The sections stay distinct but now have one deliberate,
   compact rhythm instead of two stacked large section paddings. */
.mentor-v9-section--guide {
    padding-bottom: 1rem !important;
}

.mentor-v9-filter-section {
    padding-top: 1rem !important;
    padding-bottom: clamp(2.5rem, 4vw, 3.75rem) !important;
}

/* The finder should read as public discovery UI, not an admin filter strip:
   one primary intent field, two secondary constraints, then one clear action. */
.mentor-v10-filter-shell,
.mentor-v9-filter-shell {
    grid-template-columns: minmax(18rem, .8fr) minmax(0, 1.6fr) !important;
    gap: clamp(1.35rem, 2.8vw, 2.35rem) !important;
    padding: clamp(1.3rem, 2.5vw, 1.8rem) !important;
}

.mentor-v10-filter-form,
.mentor-v9-filter-form {
    display: grid !important;
    grid-template-columns: minmax(15.5rem, 1.58fr) minmax(9rem, .78fr) minmax(10rem, .9fr) auto !important;
    gap: .72rem !important;
    align-items: end !important;
}

.mentor-v10-filter-form label > span,
.mentor-v9-filter-form label > span {
    display: block;
    margin-bottom: .36rem;
    color: #344054 !important;
    font-size: .73rem !important;
    font-weight: 750;
    letter-spacing: .01em;
}

.mentor-v10-filter-form :is(input, select),
.mentor-v9-filter-form :is(input, select) {
    min-width: 0 !important;
    min-height: 42px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mentor-v10-filter-actions,
.mentor-v9-filter-actions {
    display: flex !important;
    gap: .55rem !important;
}

.mentor-v10-filter-actions .button,
.mentor-v9-filter-actions .button {
    min-width: 8.2rem !important;
    min-height: 42px !important;
    white-space: nowrap;
}

.mentor-v10-filter-actions .button-primary,
.mentor-v9-filter-actions .button-primary {
    color: #fff !important;
    background: #090909 !important;
    border-color: #090909 !important;
    opacity: 1 !important;
}

/* Directory card facts: the fourth row only appears when actual published
   feedback exists. Three useful facts are visually cleaner for a new listing. */
.mentor-v10-facts,
.mentor-v9-facts {
    align-self: start !important;
    min-height: 0 !important;
}

.mentor-v10-facts > div,
.mentor-v9-facts > div {
    grid-template-columns: 6.9rem minmax(0, 1fr) !important;
}

.mentor-v10-facts dt,
.mentor-v9-facts dt {
    color: #65708a !important;
}

.mentor-v10-facts dd,
.mentor-v9-facts dd {
    font-weight: 720;
}

/* Profile hero: use the available left hero column for the mentor’s real
   name instead of making an unnecessarily oversized two-line title. */
.mentor-public-hero {
    padding-block: clamp(2.65rem, 4.3vw, 4rem) clamp(2rem, 3.2vw, 2.85rem) !important;
}

.mentor-public-hero-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(19rem, .65fr) !important;
    align-items: center !important;
    gap: clamp(1.5rem, 3.5vw, 3.5rem) !important;
}

.mentor-public-intro h1 {
    max-width: none !important;
    margin-block: .2rem .45rem !important;
    font-size: clamp(2.45rem, 4.05vw, 3.95rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em;
}

.mentor-public-rating-panel {
    min-height: 0 !important;
    padding: 1.35rem 1.55rem !important;
}

.mentor-public-rating-panel h2 {
    margin: .2rem 0 .35rem !important;
    font-size: clamp(1.6rem, 2.45vw, 2.15rem) !important;
    line-height: 1.08 !important;
}

/* Remove excess vertical air between the mentor’s live services and a feedback
   section. If no reviews exist, the template now omits that empty section. */
.mentor-public-services {
    padding-block: clamp(2.8rem, 4.8vw, 4rem) clamp(2rem, 3.2vw, 2.75rem) !important;
}

.mentor-public-services .stacked-panels > .card {
    padding: clamp(1.2rem, 2.2vw, 1.55rem) !important;
}

/* Readable profile links even on narrow screens. */
.mentor-link-value {
    display: inline-flex;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Existing availability-card protection remains explicit. */
.mentor-public-context-grid,
.mentor-v9-context-grid {
    align-items: start !important;
}

.mentor-public-context-grid > *,
.mentor-v9-context-grid > * {
    align-self: start !important;
    min-height: 0 !important;
    height: auto !important;
}

@media (max-width: 980px) {
    .mentor-v10-filter-shell,
    .mentor-v9-filter-shell {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    .mentor-v9-section--guide {
        padding-bottom: .75rem !important;
    }

    .mentor-v9-filter-section {
        padding-top: .75rem !important;
    }

    .mentor-v10-filter-form,
    .mentor-v9-filter-form {
        grid-template-columns: 1fr !important;
    }

    .mentor-v10-filter-actions .button,
    .mentor-v9-filter-actions .button {
        width: 100% !important;
    }

    .mentor-public-hero-grid {
        grid-template-columns: 1fr !important;
    }

    .mentor-public-intro h1 {
        font-size: clamp(2.35rem, 10vw, 3.5rem) !important;
    }
}

[data-theme="dark"] .mentor-v10-filter-form label > span,
[data-theme="dark"] .mentor-v9-filter-form label > span {
    color: #b8c4d8 !important;
}

[data-theme="dark"] .mentor-v10-filter-actions .button-primary,
[data-theme="dark"] .mentor-v9-filter-actions .button-primary {
    color: #0b1220 !important;
    background: #f8fafc !important;
    border-color: #f8fafc !important;
}
