/*
   Shared ContiSure appearance toggle + light-mode overrides for public pages
   that are not covered by Phoenix theme alone (sign-in / registration shells).
   Uses html[data-bs-theme="light"|"dark"] set by js/contisure-theme.js.
*/

/*
   Theme swap performance: while js/contisure-theme.js flips data-bs-theme
   it tags <html> with .theme-switching for a frame. Suppress every
   transition/animation underneath so we don't repaint the whole page
   through hundreds of colour interpolations.
*/
html.theme-switching,
html.theme-switching *,
html.theme-switching *::before,
html.theme-switching *::after {
    transition: none !important;
    animation: none !important;
}

/* ——— Navbar / toolbar theme button ——— */
.contisure-theme-toggle {
    align-items: center;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.92);
    display: inline-flex;
    font-size: 1.15rem;
    justify-content: center;
    line-height: 1;
    min-height: 2.4rem;
    min-width: 2.4rem;
    padding: 0.35rem 0.5rem;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.contisure-theme-toggle:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: var(--conti-yellow, #ffa500);
    color: #fff;
}

.contisure-theme-toggle:focus-visible {
    border-radius: 999px;
    outline: 2px solid var(--conti-yellow, #ffa500);
    outline-offset: 3px;
}

.contisure-theme-toggle__glyph--moon {
    display: none;
}

html[data-bs-theme="light"] .contisure-theme-toggle__glyph--sun {
    display: none;
}

html[data-bs-theme="light"] .contisure-theme-toggle__glyph--moon {
    display: inline;
}

html[data-bs-theme="light"] .contisure-theme-toggle {
    border-color: rgba(15, 23, 42, 0.18);
    color: #0f172a;
}

html[data-bs-theme="light"] .contisure-theme-toggle:hover {
    background: rgba(15, 23, 42, 0.06);
    border-color: var(--conti-yellow-dark, #d88900);
    color: #0f172a;
}

.signin-page .signin-topbar__actions {
    align-items: center;
    display: flex;
    gap: 0.5rem;
    position: absolute;
    right: clamp(1.25rem, 4vw, 2.5rem);
    top: clamp(1.25rem, 4vw, 1.75rem);
    z-index: 5;
}

.signin-page .signin-theme-toggle {
    position: static;
}

.registration-page .registration-topbar__end {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.registration-page .registration-topbar__end .contisure-theme-toggle {
    flex-shrink: 0;
}

/* Registration header: theme button must stay legible on white (light) and slate (dark) */
html[data-bs-theme="light"] .registration-page .registration-topbar .contisure-theme-toggle {
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.14);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    color: #0f172a;
    font-size: 1.15rem;
    min-height: 2.65rem;
    min-width: 2.65rem;
}

html[data-bs-theme="light"] .registration-page .registration-topbar .contisure-theme-toggle:hover {
    background: #e2e8f0;
    border-color: rgba(180, 83, 9, 0.75);
    color: #020617;
}

html[data-bs-theme="dark"] .registration-page .registration-topbar .contisure-theme-toggle {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    color: #fff;
    font-size: 1.15rem;
    min-height: 2.65rem;
    min-width: 2.65rem;
}

html[data-bs-theme="dark"] .registration-page .registration-topbar .contisure-theme-toggle:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: var(--conti-yellow, #ffa500);
    color: #fff;
}

/* ——— Sign-in: light shell (Phoenix variables do not style this custom page) ——— */
html[data-bs-theme="light"] body.signin-page {
    background: #e8ebe6;
    color: #0f172a;
}

html[data-bs-theme="light"] .signin-page .signin-shade {
    background:
        radial-gradient(circle at 70% 35%, rgba(255, 165, 0, 0.28), transparent 42%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.72) 50%, rgba(255, 255, 255, 0.35) 100%);
}

html[data-bs-theme="light"] .signin-page .signin-back {
    color: #334155;
}

html[data-bs-theme="light"] .signin-page .signin-back:hover {
    color: var(--conti-yellow-dark, #d88900);
}

html[data-bs-theme="light"] .signin-page .signin-card {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(15, 23, 42, 0.1);
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.12);
}

html[data-bs-theme="light"] .signin-page .signin-title {
    color: #0f172a;
}

html[data-bs-theme="light"] .signin-page .signin-lead {
    color: #475569;
}

html[data-bs-theme="light"] .signin-page .signin-label {
    color: #475569;
}

html[data-bs-theme="light"] .signin-page .signin-input {
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.14);
}

html[data-bs-theme="light"] .signin-page .signin-input:focus-within {
    background: #fff;
    border-color: var(--conti-yellow, #ffa500);
}

html[data-bs-theme="light"] .signin-page .signin-input > i {
    color: #64748b;
}

html[data-bs-theme="light"] .signin-page .signin-input input {
    color: #0f172a;
}

html[data-bs-theme="light"] .signin-page .signin-input input::placeholder {
    color: #94a3b8;
}

html[data-bs-theme="light"] .signin-page .signin-input input:-webkit-autofill {
    -webkit-text-fill-color: #0f172a;
    -webkit-box-shadow: 0 0 0 1000px #f8fafc inset;
}

html[data-bs-theme="light"] .signin-page .signin-eye {
    color: #64748b;
}

html[data-bs-theme="light"] .signin-page .signin-check {
    color: #334155;
}

html[data-bs-theme="light"] .signin-page .signin-link {
    color: #334155;
}

html[data-bs-theme="light"] .signin-page .signin-btn--ghost {
    border-color: rgba(15, 23, 42, 0.28);
    color: #0f172a;
}

html[data-bs-theme="light"] .signin-page .signin-btn--ghost:hover,
html[data-bs-theme="light"] .signin-page .signin-btn--ghost:focus-visible {
    background: rgba(15, 23, 42, 0.06);
    border-color: #0f172a;
    color: #0f172a;
}

html[data-bs-theme="light"] .signin-page .signin-foot {
    color: #64748b;
}

@media (max-width: 480px) {
    html[data-bs-theme="light"] .signin-page .signin-back {
        background: rgba(255, 255, 255, 0.85);
        border: 1px solid rgba(15, 23, 42, 0.12);
    }
}

/* ——— Registration: light shell ——— */
html[data-bs-theme="light"] body.registration-page {
    background: #e8ebe6;
    color: #0f172a;
}

html[data-bs-theme="light"] .registration-page .registration-shade {
    background:
        radial-gradient(circle at 65% 30%, rgba(255, 165, 0, 0.26), transparent 42%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.7) 50%, rgba(255, 255, 255, 0.38) 100%);
}

html[data-bs-theme="light"] .registration-page .registration-topbar {
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 10px 32px rgba(15, 23, 42, 0.08);
}

html[data-bs-theme="light"] .registration-page .registration-topbar::after {
    background: linear-gradient(90deg, transparent, rgba(255, 165, 0, 0.9), transparent);
    opacity: 1;
}

html[data-bs-theme="light"] .registration-page .registration-back {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.12);
    color: #334155;
}

html[data-bs-theme="light"] .registration-page .registration-back:hover {
    background: #fff7ed;
    border-color: rgba(234, 88, 12, 0.35);
    color: #9a3412;
}

html[data-bs-theme="light"] .registration-page .registration-brand__mark {
    color: #0f172a;
    font-size: 1.06rem;
}

html[data-bs-theme="light"] .registration-page .registration-brand__tagline {
    color: #64748b;
    font-weight: 600;
}

html[data-bs-theme="light"] .registration-page .registration-signin-btn {
    background: linear-gradient(180deg, #fff7ed 0%, #ffedd5 100%);
    border-color: rgba(234, 88, 12, 0.35);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.95) inset,
        0 2px 8px rgba(234, 88, 12, 0.12);
    color: #9a3412;
}

html[data-bs-theme="light"] .registration-page .registration-signin-btn__hint {
    color: #64748b;
}

html[data-bs-theme="light"] .registration-page .registration-signin-btn__label {
    color: #c2410c;
}

html[data-bs-theme="light"] .registration-page .registration-signin-btn:hover {
    background: linear-gradient(180deg, #ffedd5 0%, #fed7aa 100%);
    border-color: rgba(194, 65, 12, 0.5);
    box-shadow: 0 4px 16px rgba(234, 88, 12, 0.18);
    color: #7c2d12;
}

html[data-bs-theme="light"] .registration-page .registration-intro h1 {
    color: #0f172a;
}

html[data-bs-theme="light"] .registration-page .registration-intro p {
    color: #475569;
}

html[data-bs-theme="light"] body.registration-page {
    --reg-card-bg: #ffffff;
    --reg-card-header-bg: #f8fafc;
    --reg-card-border: rgba(15, 23, 42, 0.1);
    --reg-card-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 20px 40px -16px rgba(15, 23, 42, 0.14);
    --reg-title: #0f172a;
    --reg-muted: #64748b;
}

html[data-bs-theme="light"] .registration-page .registration-step .panel-header-2 {
    background: var(--reg-card-header-bg);
    border-color: var(--reg-card-border);
    border-bottom-color: rgba(15, 23, 42, 0.06);
}

html[data-bs-theme="light"] .registration-page .panel-header-2__step {
    background: linear-gradient(145deg, #fff7ed 0%, #ffedd5 100%);
    border-color: rgba(234, 88, 12, 0.28);
    color: #c2410c;
}

html[data-bs-theme="light"] .registration-page .panel-header-2__title {
    color: var(--reg-title);
}

html[data-bs-theme="light"] .registration-page .panel-header-2__note {
    color: var(--reg-muted);
}

html[data-bs-theme="light"] .registration-page .registration-step .list-group,
html[data-bs-theme="light"] .registration-page .list-group {
    background: var(--reg-card-bg);
    border-color: var(--reg-card-border);
    box-shadow: var(--reg-card-shadow);
}

html[data-bs-theme="light"] .registration-page .list-group-item {
    background: transparent !important;
    color: #0f172a;
}

html[data-bs-theme="light"] .registration-page .list-group-item + .list-group-item {
    border-top-color: rgba(15, 23, 42, 0.08);
}

html[data-bs-theme="light"] .registration-page .list-group-label {
    color: #475569 !important;
}

html[data-bs-theme="light"] .registration-page .registration-invoice-upload__label {
    color: #475569;
}

html[data-bs-theme="light"] .registration-page .registration-invoice-dropzone {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.16);
}

html[data-bs-theme="light"] .registration-page .registration-invoice-dropzone:hover,
html[data-bs-theme="light"] .registration-page .registration-invoice-dropzone:focus-visible,
html[data-bs-theme="light"] .registration-page .registration-invoice-dropzone--drag {
    background: #fff7ed;
    border-color: rgba(234, 88, 12, 0.45);
}

html[data-bs-theme="light"] .registration-page .registration-invoice-dropzone__title,
html[data-bs-theme="light"] .registration-page .registration-invoice-dropzone__filename {
    color: #0f172a;
}

html[data-bs-theme="light"] .registration-page .registration-invoice-dropzone__hint,
html[data-bs-theme="light"] .registration-page .registration-invoice-dropzone__change {
    color: #64748b;
}

html[data-bs-theme="light"] .registration-page .registration-invoice-dropzone__icon {
    background: #ffedd5;
    color: #c2410c;
}

html[data-bs-theme="light"] .registration-page .list-group-item input,
html[data-bs-theme="light"] .registration-page .list-group-item select,
html[data-bs-theme="light"] .registration-page .list-group-item .pw-field > input[type="password"],
html[data-bs-theme="light"] .registration-page .list-group-item .pw-field > input[type="text"] {
    background: #f8fafc !important;
    border: 1px solid rgba(15, 23, 42, 0.14) !important;
    color: #0f172a !important;
}

html[data-bs-theme="light"] .registration-page .list-group-item .pw-field > .pw-toggle-btn {
    color: #64748b;
}

html[data-bs-theme="light"] .registration-page .list-group-item .pw-field > .pw-toggle-btn:hover {
    background: rgba(15, 23, 42, 0.06);
    color: #c2410c;
}

html[data-bs-theme="light"] .registration-page .list-group-item input::placeholder {
    color: #94a3b8;
}

html[data-bs-theme="light"] .registration-page .list-group-item select option {
    background: #fff;
    color: #0f172a;
}

html[data-bs-theme="light"] .registration-page .list-group-item input:-webkit-autofill {
    -webkit-text-fill-color: #0f172a !important;
    -webkit-box-shadow: 0 0 0 1000px #f8fafc inset !important;
}

html[data-bs-theme="light"] .registration-page .no-border.form-control,
html[data-bs-theme="light"] .registration-page .form-control {
    background: #f8fafc !important;
    color: #0f172a !important;
    border-color: rgba(15, 23, 42, 0.12) !important;
}

html[data-bs-theme="light"] .registration-page .fitment-grid thead th {
    color: #0f172a;
    border-color: rgba(15, 23, 42, 0.12);
    background: rgba(15, 23, 42, 0.04);
}

html[data-bs-theme="light"] .registration-page .fitment-grid tbody td {
    color: #334155;
    border-color: rgba(15, 23, 42, 0.08);
}

html[data-bs-theme="light"] .registration-page .fitment-grid .position-label {
    color: #475569;
}

html[data-bs-theme="light"] .registration-page .fitment-grid input,
html[data-bs-theme="light"] .registration-page .fitment-grid select.fit-tyre-size,
html[data-bs-theme="light"] .registration-page .fitment-grid select.fit-qty {
    background-color: #f8fafc !important;
    border-color: rgba(15, 23, 42, 0.14) !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
}

html[data-bs-theme="light"] .registration-page .fitment-grid select.fit-tyre-size {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1.5L7 7.5L13 1.5' stroke='%2364748b' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-position: right 0.65rem center !important;
    background-repeat: no-repeat !important;
}

html[data-bs-theme="light"] .registration-page .fitment-grid select.fit-qty {
    background-image: none !important;
}

html[data-bs-theme="light"] .registration-page .fitment-grid select option {
    background: #fff;
    color: #0f172a;
}

/* Choices.js dealer dropdown — light theme */
html[data-bs-theme="light"] .registration-page .choices__inner {
    background: #f8fafc !important;
    border: 1px solid rgba(15, 23, 42, 0.14) !important;
    box-sizing: border-box !important;
    color: #0f172a !important;
    height: 46px !important;
    min-height: unset !important;
    padding: 0 0.95rem !important;
}

html[data-bs-theme="light"] .registration-page .choices.is-focused .choices__inner,
html[data-bs-theme="light"] .registration-page .choices.is-open .choices__inner {
    background: #fff !important;
    border-color: #ffa500 !important;
    box-shadow: 0 0 0 3px rgba(255, 165, 0, 0.18) !important;
}

html[data-bs-theme="light"] .registration-page .choices__list--single .choices__item {
    color: #0f172a !important;
}

html[data-bs-theme="light"] .registration-page .choices__placeholder {
    color: #94a3b8 !important;
}

html[data-bs-theme="light"] .registration-page .choices__list--dropdown,
html[data-bs-theme="light"] .registration-page .choices__list[aria-expanded] {
    background: #fff !important;
    border: 1px solid rgba(15, 23, 42, 0.14) !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12) !important;
}

html[data-bs-theme="light"] .registration-page .choices__list--dropdown .choices__input,
html[data-bs-theme="light"] .registration-page .choices__list[aria-expanded] .choices__input {
    background: #f8fafc !important;
    border: 1px solid rgba(15, 23, 42, 0.14) !important;
    color: #0f172a !important;
}

html[data-bs-theme="light"] .registration-page .choices__list--dropdown .choices__input::placeholder {
    color: #94a3b8 !important;
}

html[data-bs-theme="light"] .registration-page .choices__list--dropdown .choices__item,
html[data-bs-theme="light"] .registration-page .choices__list[aria-expanded] .choices__item {
    color: #0f172a !important;
}

html[data-bs-theme="light"] .registration-page .choices__list--dropdown .choices__item.is-highlighted,
html[data-bs-theme="light"] .registration-page .choices__list[aria-expanded] .choices__item.is-highlighted {
    background: rgba(255, 165, 0, 0.12) !important;
    color: #0f172a !important;
}

html[data-bs-theme="light"] .registration-page .choices__list--dropdown .choices__item.is-selected,
html[data-bs-theme="light"] .registration-page .choices__list[aria-expanded] .choices__item.is-selected {
    background: rgba(255, 165, 0, 0.08) !important;
    color: #c2410c !important;
}

html[data-bs-theme="light"] .registration-page .choices__list--dropdown .choices__item--disabled,
html[data-bs-theme="light"] .registration-page .choices__list[aria-expanded] .choices__item--disabled {
    color: #94a3b8 !important;
}

html[data-bs-theme="light"] .registration-page .footer-styling {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(15, 23, 42, 0.1);
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.1);
    color: #0f172a;
}

html[data-bs-theme="light"] .registration-page .footer-styling .form-check span {
    color: #334155;
}

/* ——— Tyre position schematic cards: light theme ——————————————————— */
html[data-bs-theme="light"] .registration-page .tyre-position-group__title {
    color: rgba(15, 23, 42, 0.5);
}

html[data-bs-theme="light"] .registration-page .tyre-position-side-label {
    color: rgba(15, 23, 42, 0.4);
}

html[data-bs-theme="light"] .registration-page .tyre-position-card {
    background: rgba(15, 23, 42, 0.03);
    border-color: rgba(15, 23, 42, 0.12);
}

html[data-bs-theme="light"] .registration-page .tyre-position-card:has(.fit-include:not(:checked)):hover {
    background: rgba(15, 23, 42, 0.06);
    border-color: rgba(15, 23, 42, 0.2);
}

html[data-bs-theme="light"] .registration-page .tyre-position-card--active {
    background: rgba(255, 165, 0, 0.06);
    border-color: rgba(217, 119, 6, 0.4);
}

html[data-bs-theme="light"] .registration-page .tyre-position-card--active:hover {
    background: rgba(255, 165, 0, 0.09);
    border-color: rgba(217, 119, 6, 0.55);
}

html[data-bs-theme="light"] .registration-page .tyre-position-card--selected {
    border-color: rgba(217, 119, 6, 0.7);
    box-shadow: 0 0 0 2px rgba(217, 119, 6, 0.12);
}

html[data-bs-theme="light"] .registration-page .tyre-position-card__label {
    color: #0f172a;
}

html[data-bs-theme="light"] .registration-page .tyre-position-card__field .form-label {
    color: #64748b;
}

html[data-bs-theme="light"] .registration-page .fit-slot-edit {
    border-top-color: rgba(15, 23, 42, 0.08);
}

/* Qty stepper buttons — light theme */
html[data-bs-theme="light"] .registration-page .fit-qty-btn {
    background: rgba(15, 23, 42, 0.07);
    border-color: rgba(15, 23, 42, 0.18);
    color: #0f172a;
}

html[data-bs-theme="light"] .registration-page .fit-qty-btn:hover {
    background: rgba(216, 137, 0, 0.15);
    border-color: rgba(216, 137, 0, 0.5);
    color: var(--conti-yellow-dark, #d88900);
}

html[data-bs-theme="light"] .registration-page .fit-qty-btn:active {
    background: rgba(216, 137, 0, 0.27);
}

/* Controls inside card — light theme (overrides dark defaults in registration.css) */
html[data-bs-theme="light"] .registration-page .tyre-position-card select,
html[data-bs-theme="light"] .registration-page .tyre-position-card input.fit-qty[type="number"],
html[data-bs-theme="light"] .registration-page .tyre-position-card input.fit-price[type="number"] {
    background: #f8fafc !important;
    border-color: rgba(15, 23, 42, 0.14) !important;
    color: #0f172a !important;
}

html[data-bs-theme="light"] .registration-page .tyre-position-card select:focus,
html[data-bs-theme="light"] .registration-page .tyre-position-card input.fit-qty[type="number"]:focus,
html[data-bs-theme="light"] .registration-page .tyre-position-card input.fit-price[type="number"]:focus {
    background: #fff !important;
    border-color: var(--conti-yellow-dark, #d88900) !important;
}

html[data-bs-theme="light"] .registration-page .tyre-position-card input.fit-qty[type="number"]::placeholder,
html[data-bs-theme="light"] .registration-page .tyre-position-card input.fit-price[type="number"]::placeholder {
    color: #94a3b8;
}

html[data-bs-theme="light"] .registration-page .tyre-position-card select option {
    background: #fff;
    color: #0f172a;
}

/* Choices.js tyre size inside card — light theme */
html[data-bs-theme="light"] .registration-page .tyre-position-card .choices__inner {
    background: #f8fafc !important;
    border-color: rgba(15, 23, 42, 0.14) !important;
    color: #0f172a !important;
}

html[data-bs-theme="light"] .registration-page .tyre-position-card .choices.is-focused .choices__inner,
html[data-bs-theme="light"] .registration-page .tyre-position-card .choices.is-open .choices__inner {
    background: #fff !important;
    border-color: var(--conti-yellow-dark, #d88900) !important;
}

html[data-bs-theme="light"] .registration-page .tyre-position-card .choices__list--single .choices__item {
    color: #0f172a !important;
}

html[data-bs-theme="light"] .registration-page .tyre-position-card .choices__placeholder {
    color: #94a3b8 !important;
}

/* ——— Registration: dark mode — readable fitment grid (Bootstrap data-bs-theme=dark) ——— */
html[data-bs-theme="dark"] body.registration-page {
    background: #141a22;
}

html[data-bs-theme="dark"] .registration-page .registration-shade {
    background:
        radial-gradient(circle at 65% 30%, rgba(255, 165, 0, 0.16), transparent 42%),
        linear-gradient(135deg, rgba(10, 14, 20, 0.92) 0%, rgba(18, 24, 32, 0.9) 50%, rgba(14, 18, 26, 0.92) 100%);
}

html[data-bs-theme="dark"] .registration-page .registration-topbar {
    background: rgba(14, 18, 24, 0.92);
    border-bottom-color: rgba(255, 165, 0, 0.32);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.05) inset,
        0 14px 36px rgba(0, 0, 0, 0.45);
}

html[data-bs-theme="dark"] .registration-page .registration-back {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.9);
}

html[data-bs-theme="dark"] .registration-page .registration-back:hover {
    background: rgba(255, 165, 0, 0.12);
    border-color: rgba(255, 165, 0, 0.5);
    color: #fff;
}

html[data-bs-theme="dark"] .registration-page .registration-brand__mark {
    color: #fff;
}

html[data-bs-theme="dark"] .registration-page .registration-brand__tagline {
    color: rgba(255, 255, 255, 0.65);
}

html[data-bs-theme="dark"] .registration-page .registration-signin-btn {
    background: linear-gradient(180deg, rgba(255, 165, 0, 0.2) 0%, rgba(255, 165, 0, 0.08) 100%);
    border-color: rgba(255, 165, 0, 0.5);
}

html[data-bs-theme="dark"] .registration-page .registration-signin-btn:hover {
    background: linear-gradient(180deg, rgba(255, 165, 0, 0.32) 0%, rgba(255, 165, 0, 0.14) 100%);
    border-color: rgba(255, 193, 77, 0.8);
}

html[data-bs-theme="dark"] body.registration-page {
    --reg-card-bg: rgba(28, 34, 44, 0.96);
    --reg-card-header-bg: rgba(22, 28, 36, 0.98);
    --reg-card-border: rgba(255, 255, 255, 0.12);
    --reg-card-shadow: 0 4px 6px rgba(0, 0, 0, 0.15), 0 24px 48px -12px rgba(0, 0, 0, 0.5);
    --reg-title: #fff;
    --reg-muted: rgba(255, 255, 255, 0.62);
}

html[data-bs-theme="dark"] .registration-page .registration-step .panel-header-2 {
    background: var(--reg-card-header-bg);
    border-color: var(--reg-card-border);
}

html[data-bs-theme="dark"] .registration-page .registration-step .list-group,
html[data-bs-theme="dark"] .registration-page .list-group {
    background: var(--reg-card-bg);
    border-color: var(--reg-card-border);
    box-shadow: var(--reg-card-shadow);
}

/* ——— Tyre position schematic cards: dark theme ——————————————————— */
html[data-bs-theme="dark"] .registration-page .tyre-position-group__title {
    color: rgba(255, 255, 255, 0.42);
}

html[data-bs-theme="dark"] .registration-page .tyre-position-side-label {
    color: rgba(255, 255, 255, 0.32);
}

html[data-bs-theme="dark"] .registration-page .tyre-position-card {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.1);
}

html[data-bs-theme="dark"] .registration-page .tyre-position-card--active {
    background: rgba(255, 165, 0, 0.09);
    border-color: rgba(255, 165, 0, 0.42);
}

html[data-bs-theme="dark"] .registration-page .tyre-position-card--selected {
    border-color: rgba(255, 165, 0, 0.72);
    box-shadow: 0 0 0 2px rgba(255, 165, 0, 0.14);
}

html[data-bs-theme="dark"] .registration-page .tyre-position-card__label {
    color: rgba(255, 255, 255, 0.9);
}

html[data-bs-theme="dark"] .registration-page .tyre-position-card__field .form-label {
    color: rgba(255, 255, 255, 0.52);
}

/* Qty stepper buttons — dark theme */
html[data-bs-theme="dark"] .registration-page .fit-qty-btn {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.22);
    color: #fff;
}

html[data-bs-theme="dark"] .registration-page .fit-qty-btn:hover {
    background: rgba(255, 165, 0, 0.22);
    border-color: rgba(255, 165, 0, 0.55);
    color: var(--conti-yellow, #ffa500);
}

html[data-bs-theme="dark"] .registration-page .tyre-position-card select,
html[data-bs-theme="dark"] .registration-page .tyre-position-card input.fit-qty[type="number"],
html[data-bs-theme="dark"] .registration-page .tyre-position-card input.fit-price[type="number"] {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    color: #fff !important;
}

html[data-bs-theme="dark"] .registration-page .tyre-position-card .choices__inner {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    color: #fff !important;
}

html[data-bs-theme="dark"] .registration-page .fitment-grid {
    background: #3a4452;
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.07),
        0 10px 32px rgba(0, 0, 0, 0.35);
}

html[data-bs-theme="dark"] .registration-page .fitment-grid thead th {
    background: #485363;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff !important;
}

html[data-bs-theme="dark"] .registration-page .fitment-grid tbody td {
    border-bottom-color: rgba(255, 255, 255, 0.12);
}

html[data-bs-theme="dark"] .registration-page .fitment-grid .position-label {
    color: #fff !important;
}


html[data-bs-theme="dark"] .registration-page .fitment-grid input,
html[data-bs-theme="dark"] .registration-page .fitment-grid input.fit-price {
    background: #4f5b6d !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, 0.32) !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.28);
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

html[data-bs-theme="dark"] .registration-page .fitment-grid input::placeholder {
    color: rgba(255, 255, 255, 0.58) !important;
    opacity: 1;
}

html[data-bs-theme="dark"] .registration-page .fitment-grid select.fit-tyre-size,
html[data-bs-theme="dark"] .registration-page .fitment-grid select.fit-qty {
    background-color: #4f5b6d !important;
    border: 1px solid rgba(255, 255, 255, 0.32) !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.28);
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

html[data-bs-theme="dark"] .registration-page .fitment-grid select.fit-tyre-size {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1.5L7 7.5L13 1.5' stroke='%23e2e8f0' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-position: right 0.6rem center !important;
    background-repeat: no-repeat !important;
    padding: 0 2.5rem 0 0.75rem !important;
}

html[data-bs-theme="dark"] .registration-page .fitment-grid select.fit-qty {
    background-image: none !important;
    padding: 0 1.65rem 0 0.65rem !important;
}


html[data-bs-theme="dark"] .registration-page .fitment-grid select.fit-tyre-size:focus,
html[data-bs-theme="dark"] .registration-page .fitment-grid select.fit-qty:focus {
    background-color: #5a677a !important;
    border-color: var(--conti-yellow, #ffa500) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

html[data-bs-theme="dark"] .registration-page .fitment-grid select.fit-tyre-size:focus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1.5L7 7.5L13 1.5' stroke='%23ffa500' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

html[data-bs-theme="dark"] .registration-page .fitment-grid select.fit-qty:focus {
    background-image: none !important;
}

html[data-bs-theme="dark"] .registration-page .fitment-grid input:focus {
    background: #5a677a !important;
    border-color: var(--conti-yellow, #ffa500) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

html[data-bs-theme="dark"] .registration-page .fitment-grid select option {
    background: #2f3844;
    color: #fff;
}

html[data-bs-theme="dark"] .registration-page #lblSaleValue {
    background: rgba(255, 165, 0, 0.18);
    border-color: rgba(255, 165, 0, 0.45);
    color: #ffb84d;
}

@media (max-width: 767.98px) {
    .registration-page .fitment-col--position {
        width: 18%;
    }

    .registration-page .fitment-col--size {
        width: 36%;
    }

    .registration-page .fitment-col--qty {
        width: 16%;
    }

    .registration-page .fitment-col--price {
        width: 30%;
    }
}

/* ——— Vehicle warranty check modal (landing + index) ——— */
.warranty-check-modal .modal-dialog {
    max-width: 32rem;
}

.warranty-check-modal__content {
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 1rem;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
    overflow: hidden;
}

.warranty-check-modal__header {
    align-items: flex-start;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    gap: 1rem;
    padding: 1.35rem 1.5rem 1.1rem;
}

.warranty-check-modal__header::before {
    background: var(--conti-yellow, #ffa500);
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.warranty-check-modal__content .modal-header {
    position: relative;
}

.warranty-check-modal__eyebrow {
    color: var(--conti-yellow-dark, #d88900);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    margin: 0 0 0.35rem;
    text-transform: uppercase;
}

.warranty-check-modal__heading .modal-title {
    color: #0f172a;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin: 0;
}

.warranty-check-modal__close {
    margin-top: 0.15rem;
    opacity: 0.65;
}

.warranty-check-modal__close:hover {
    opacity: 1;
}

.warranty-check-modal__body {
    padding: 1.25rem 1.5rem 1.5rem;
}

.warranty-check-modal__status {
    min-height: 4.5rem;
}

.warranty-check-modal__state {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    text-align: left;
}

.warranty-check-modal__state--loading {
    align-items: center;
    flex-direction: column;
    justify-content: center;
    padding: 0.5rem 0 0.75rem;
    text-align: center;
}

.warranty-check-modal__icon {
    align-items: center;
    border-radius: 999px;
    display: flex;
    flex-shrink: 0;
    height: 3rem;
    justify-content: center;
    width: 3rem;
}

.warranty-check-modal__state--inactive .warranty-check-modal__icon {
    background: rgba(239, 68, 68, 0.12);
    color: #dc2626;
}

.warranty-check-modal__state--success .warranty-check-modal__icon {
    background: rgba(34, 197, 94, 0.14);
    color: #16a34a;
}

.warranty-check-modal__state--warning .warranty-check-modal__icon {
    background: rgba(255, 165, 0, 0.18);
    color: #d88900;
}

.warranty-check-modal__state--error .warranty-check-modal__icon {
    background: rgba(239, 68, 68, 0.12);
    color: #dc2626;
}

.warranty-check-modal__title {
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.45;
    margin: 0;
}

.warranty-check-modal__title strong {
    font-weight: 800;
}

.warranty-check-modal__subtitle {
    color: #475569;
    font-size: 0.92rem;
    line-height: 1.5;
    margin: 0.5rem 0 0;
}

.warranty-check-modal__accent {
    color: var(--conti-yellow-dark, #d88900);
    font-weight: 800;
}

.warranty-check-modal__loading-text {
    color: #475569;
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0.85rem 0 0;
}

.warranty-check-modal__spinner {
    border-width: 0.2em;
    color: var(--conti-yellow, #ffa500);
    height: 2.25rem;
    width: 2.25rem;
}

.warranty-check-modal__details {
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    margin-top: 1.35rem;
    padding-top: 1.25rem;
}

.warranty-check-modal__details-title {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    margin: 0 0 0.85rem;
    text-transform: uppercase;
}

.warranty-check-modal__facts {
    display: grid;
    gap: 0.65rem;
    margin: 0;
}

@media (min-width: 480px) {
    .warranty-check-modal__facts {
        grid-template-columns: 1fr 1fr;
    }
}

.warranty-check-modal__fact {
    background: rgba(15, 23, 42, 0.04);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 0.65rem;
    margin: 0;
    padding: 0.65rem 0.75rem;
}

.warranty-check-modal__fact dt {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin: 0 0 0.2rem;
    text-transform: uppercase;
}

.warranty-check-modal__fact dd {
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 700;
    margin: 0;
}

.warranty-check-modal__footer {
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    justify-content: flex-end;
    padding: 0.85rem 1.5rem 1.25rem;
}

.warranty-check-modal__btn-close.btn {
    background: var(--conti-yellow, #ffa500) !important;
    border: 2px solid rgba(15, 23, 42, 0.12) !important;
    border-radius: 999px;
    box-shadow: 0 4px 14px rgba(255, 165, 0, 0.35);
    color: #0f172a !important;
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    min-height: 2.65rem;
    min-width: 7.5rem;
    padding: 0.55rem 1.5rem;
    --bs-btn-color: #0f172a;
    --bs-btn-bg: var(--conti-yellow, #ffa500);
    --bs-btn-border-color: rgba(15, 23, 42, 0.12);
    --bs-btn-hover-color: #020617;
    --bs-btn-hover-bg: #ffc14d;
    --bs-btn-hover-border-color: rgba(15, 23, 42, 0.18);
    --bs-btn-active-color: #020617;
    --bs-btn-active-bg: #f0a830;
    --bs-btn-active-border-color: rgba(15, 23, 42, 0.22);
}

.warranty-check-modal__btn-close.btn:hover,
.warranty-check-modal__btn-close.btn:focus,
.warranty-check-modal__btn-close.btn:active {
    background: #ffc14d !important;
    border-color: rgba(15, 23, 42, 0.18) !important;
    box-shadow: 0 6px 18px rgba(255, 165, 0, 0.42);
    color: #020617 !important;
    outline: none;
}

.warranty-check-modal__btn-close.btn:focus-visible {
    box-shadow:
        0 6px 18px rgba(255, 165, 0, 0.42),
        0 0 0 3px rgba(255, 165, 0, 0.45);
}

/* Light theme */
html[data-bs-theme="light"] .warranty-check-modal__content {
    background: #ffffff;
}

html[data-bs-theme="light"] .warranty-check-modal__close {
    filter: none;
}

/* Dark theme */
html[data-bs-theme="dark"] .warranty-check-modal__content {
    background: #1c222c;
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.55);
}

html[data-bs-theme="dark"] .warranty-check-modal__header,
html[data-bs-theme="dark"] .warranty-check-modal__footer {
    border-color: rgba(255, 255, 255, 0.1);
}

html[data-bs-theme="dark"] .warranty-check-modal__heading .modal-title,
html[data-bs-theme="dark"] .warranty-check-modal__title {
    color: #f8fafc !important;
}

html[data-bs-theme="dark"] .warranty-check-modal__heading .modal-title {
    opacity: 1;
}

html[data-bs-theme="dark"] .warranty-check-modal__subtitle,
html[data-bs-theme="dark"] .warranty-check-modal__loading-text,
html[data-bs-theme="dark"] .warranty-check-modal__details-title,
html[data-bs-theme="dark"] .warranty-check-modal__fact dt {
    color: rgba(248, 250, 252, 0.68);
}

html[data-bs-theme="dark"] .warranty-check-modal__fact {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.1);
}

html[data-bs-theme="dark"] .warranty-check-modal__fact dd {
    color: #fff;
}

html[data-bs-theme="dark"] .warranty-check-modal__details {
    border-top-color: rgba(255, 255, 255, 0.1);
}

html[data-bs-theme="dark"] .warranty-check-modal__close {
    filter: invert(1) grayscale(1);
    opacity: 0.85;
}

html[data-bs-theme="dark"] .warranty-check-modal__eyebrow,
html[data-bs-theme="dark"] .warranty-check-modal__accent {
    color: #ffb84d;
}

html[data-bs-theme="dark"] .warranty-check-modal__state--inactive .warranty-check-modal__icon {
    background: rgba(248, 113, 113, 0.18);
    color: #fca5a5;
}

html[data-bs-theme="dark"] .warranty-check-modal__state--success .warranty-check-modal__icon {
    background: rgba(74, 222, 128, 0.16);
    color: #86efac;
}

html[data-bs-theme="dark"] .warranty-check-modal__state--warning .warranty-check-modal__icon {
    background: rgba(255, 165, 0, 0.22);
    color: #ffc14d;
}

html[data-bs-theme="dark"] .warranty-check-modal__btn-close.btn,
html[data-bs-theme="dark"] .warranty-check-modal__btn-close.btn:hover,
html[data-bs-theme="dark"] .warranty-check-modal__btn-close.btn:focus,
html[data-bs-theme="dark"] .warranty-check-modal__btn-close.btn:active {
    background: var(--conti-yellow, #ffa500) !important;
    border-color: rgba(15, 23, 42, 0.35) !important;
    color: #0f172a !important;
    --bs-btn-color: #0f172a;
    --bs-btn-bg: var(--conti-yellow, #ffa500);
    --bs-btn-hover-color: #020617;
    --bs-btn-hover-bg: #ffc14d;
}

html[data-bs-theme="light"] .warranty-check-modal__btn-close.btn,
html[data-bs-theme="light"] .warranty-check-modal__btn-close.btn:hover,
html[data-bs-theme="light"] .warranty-check-modal__btn-close.btn:focus {
    color: #0f172a !important;
}

/* ========== Portal (index): theme toggle on top bar (colour follows bar background) ========== */
html[data-bs-theme="dark"] body.contisure-portal .navbar-top .contisure-theme-toggle {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.32);
    color: rgba(255, 255, 255, 0.95);
}

html[data-bs-theme="dark"] body.contisure-portal .navbar-top .contisure-theme-toggle:hover {
    background: rgba(255, 255, 255, 0.18);
    border-color: var(--conti-yellow, #ffa500);
    color: #fff;
}

html[data-bs-theme="light"] body.contisure-portal .navbar-top .contisure-theme-toggle {
    background: #f1f5f9;
    border: 1px solid rgba(15, 23, 42, 0.14);
    color: #0f172a;
}

html[data-bs-theme="light"] body.contisure-portal .navbar-top .contisure-theme-toggle:hover {
    background: #e2e8f0;
    border-color: rgba(234, 88, 12, 0.55);
    color: #020617;
}

body.contisure-portal .navbar-top .navbar-nav-icons .contisure-theme-toggle {
    flex-shrink: 0;
}

.contisure-theme-toggle--portal-menu {
    font-size: 1rem;
    min-height: 2.25rem;
    min-width: 2.25rem;
}

/* ========== Phoenix portal shell: theme toggle must change real UI ========== */
/* contisure-ui tokens are static on :root — remap on the portal body in dark mode */
html[data-bs-theme="dark"] body.contisure-portal {
    --cs-ink: #f1f5f9;
    --cs-body: #cbd5e1;
    --cs-muted: #94a3b8;
    --cs-border: #334155;
    --cs-line: rgba(148, 163, 184, 0.22);
    --cs-surface: #1e293b;
    --cs-canvas: #0f172a;
    --cs-canvas-tint: #273549;
    --cs-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.25), 0 12px 28px rgba(0, 0, 0, 0.35);
    --cs-shadow-soft: 0 1px 2px rgba(0, 0, 0, 0.2);
}

html[data-bs-theme="dark"] body.contisure-portal #content-container {
    background-color: var(--cs-canvas) !important;
    color: var(--cs-body);
}

html[data-bs-theme="dark"] body.contisure-portal .portal-brand-strip {
    background-color: #0a0f14 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

html[data-bs-theme="dark"] body.contisure-portal #breadcrumb-container {
    background-color: #1e293b !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* My Profile (and other modules using --cs-*): fix hard-coded light tab + form surfaces */
html[data-bs-theme="dark"] body.contisure-portal .my-profile-module .nav-tabs .nav-link:hover,
html[data-bs-theme="dark"] body.contisure-portal .my-profile-module .nav-tabs .nav-link.active {
    background: var(--cs-surface) !important;
    color: var(--profile-ink, var(--cs-ink)) !important;
}

html[data-bs-theme="dark"] body.contisure-portal .my-profile-module .form-control,
html[data-bs-theme="dark"] body.contisure-portal .my-profile-module .form-select,
html[data-bs-theme="dark"] body.contisure-portal .my-profile-module .choices__inner {
    background-color: #273549 !important;
    border-color: var(--cs-border) !important;
    color: var(--cs-ink) !important;
}

html[data-bs-theme="dark"] body.contisure-portal .my-profile-module .form-control:focus,
html[data-bs-theme="dark"] body.contisure-portal .my-profile-module .form-select:focus,
html[data-bs-theme="dark"] body.contisure-portal .my-profile-module .choices:focus-within .choices__inner {
    background-color: #334155 !important;
}

html[data-bs-theme="dark"] body.contisure-portal .my-profile-module .form-control[readonly] {
    background: #1e293b !important;
    color: var(--cs-muted) !important;
}

html[data-bs-theme="dark"] body.contisure-portal .my-profile-module .choices__list--dropdown {
    background-color: var(--cs-surface) !important;
    border-color: var(--cs-border) !important;
}

html[data-bs-theme="dark"] body.contisure-portal .my-profile-module .choices__item--selectable {
    color: var(--cs-body) !important;
}

html[data-bs-theme="dark"] body.contisure-portal .my-profile-module .choices__item--selectable:hover {
    background-color: rgba(255, 255, 255, 0.06) !important;
}

/* Preferred communication + choice tiles: radios on dark surfaces */
html[data-bs-theme="dark"] body.contisure-portal .my-profile-module .profile-choice .form-check-input {
    background-color: var(--cs-canvas-tint);
    border-color: rgba(241, 245, 249, 0.35);
}

html[data-bs-theme="dark"] body.contisure-portal .my-profile-module .profile-choice .form-check-input:checked {
    background-color: var(--cs-accent, #f59e0b);
    border-color: var(--cs-accent, #f59e0b);
}

html[data-bs-theme="dark"] body.contisure-portal .table {
    --bs-table-bg: var(--cs-surface, #1e293b);
    --bs-table-color: var(--cs-ink, #f1f5f9);
    background-color: var(--cs-surface, #1e293b) !important;
    color: var(--cs-ink, #f1f5f9);
}

html[data-bs-theme="light"] body.contisure-portal .portal-brand-strip {
    background-color: #ffffff !important;
}

/* -------------------------------------------------------------------------- */
/* Redundant top-of-page titles: active sidebar already shows the section.   */
/* Keep multi-step breadcrumbs (loadBreadCrumbs) and dynamic reference keys. */
/* -------------------------------------------------------------------------- */
body.contisure-portal #content-container #breadcrumb-container + .row.mb-4:not(:has(#keyFriendlyDisplay)) h1.h3,
body.contisure-portal #content-container #breadcrumb-container + .row.mb-4:not(:has(#keyFriendlyDisplay)) h1.m-n {
    display: none !important;
}

body.contisure-portal #content-container #breadcrumb-container + .row.mb-4:not(:has(#keyFriendlyDisplay)):has(.d-flex > h1.h3:only-child),
body.contisure-portal #content-container #breadcrumb-container + .row.mb-4:not(:has(#keyFriendlyDisplay)):has(.d-flex > h1.m-n:only-child) {
    display: none !important;
}

body.contisure-portal #content-container #breadcrumb-container + .container-fluid h1.m-n,
body.contisure-portal #content-container #breadcrumb-container + .container-fluid h1.h3 {
    display: none !important;
}

body.contisure-portal #content-container .container-fluid > #breadcrumb-container + .bg-light h1.m-n,
body.contisure-portal #content-container .container-fluid > #breadcrumb-container + .bg-light h1.h3 {
    display: none !important;
}

body.contisure-portal #content-container .content-wrapper > .content > .mb-3.d-flex.justify-content-between > div:first-child > h4.fw-bold.mb-0 {
    display: none !important;
}

body.contisure-portal #content-container .content-wrapper > .content > .mb-3.d-flex.justify-content-between > div:first-child > p.text-muted {
    display: none !important;
}

body.contisure-portal #content-container #breadcrumb-container + .mb-0 .row.align-items-center.justify-content-between h2.mb-0 {
    display: none !important;
}

/* ——— Self-hosted tutorial video player modal (index + registration) ——— */
.video-player-modal .modal-dialog {
    max-width: 48rem;
}

.video-player-modal__content {
    background: #0f172a;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 1rem;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
    overflow: hidden;
}

.video-player-modal__header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 1rem 1.25rem;
}

.video-player-modal__title {
    color: #ffffff;
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
}

.video-player-modal__header .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

.video-player-modal__body {
    padding: 0;
}

.video-player-modal__stage {
    aspect-ratio: 16 / 9;
    background: #000;
    position: relative;
    width: 100%;
}

.video-player-modal__video {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.video-player-modal__spinner {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
}

.video-player-modal__controls {
    align-items: center;
    background: #111827;
    display: flex;
    gap: 0.75rem;
    padding: 0.65rem 1rem;
}

.video-player-modal__btn {
    background: transparent;
    border: 0;
    color: #ffffff;
    flex-shrink: 0;
    font-size: 1rem;
    padding: 0.25rem 0.4rem;
}

.video-player-modal__btn:hover {
    color: var(--conti-yellow, #ffa500);
}

.video-player-modal__time {
    color: #cbd5e1;
    flex-shrink: 0;
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
    min-width: 2.5rem;
    text-align: center;
}

.video-player-modal__seek {
    accent-color: var(--conti-yellow, #ffa500);
    flex: 1 1 auto;
}
