/* CMC / Material 3 — global foundation, only for modern templates. */
:root {
 --cmc-ink: #172033;
 --cmc-icon-container: rgba(254, 69, 69, 0.1);
 --font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
 --md-sys-color-primary: #fe4545; --md-sys-color-on-primary: #231516;
 --md-sys-color-primary-container: #ffdad6; --md-sys-color-on-primary-container: #410006;
 --md-sys-color-secondary-container: #eef0f3; --md-sys-color-on-secondary-container: #172033;
 --md-sys-color-surface: #ffffff; --md-sys-color-surface-container-low: #f8fafc;
 --md-sys-color-surface-container: #eef0f3; --md-sys-color-on-surface: var(--cmc-ink);
 --md-sys-color-on-surface-variant: #596375; --md-sys-color-outline: #77808f;
 --md-sys-color-outline-variant: #dde1e7; --md-sys-color-error: #b3261e;
 --md-sys-color-error-container: #ffdad6; --md-sys-color-on-error-container: #410002;
 --cmc-link: #b92029; --cmc-success: #24643e; --cmc-success-container: #e5f4e9;
 --cmc-space-1: .25rem; --cmc-space-2: .5rem; --cmc-space-3: .75rem; --cmc-space-4: 1rem;
 --cmc-space-6: 1.5rem; --cmc-space-8: 2rem; --cmc-space-12: 3rem; --cmc-space-16: 4rem;
 --cmc-radius-small: 8px; --cmc-radius-medium: 12px; --cmc-radius-large: 16px; --cmc-radius-dialog: 28px;
 --cmc-elevation-1: 0 1px 3px #1720331a, 0 1px 2px #1720330d;
 --cmc-elevation-2: 0 4px 12px #17203314, 0 2px 4px #1720330d;
 --cmc-motion: 180ms cubic-bezier(.2,0,0,1);
 --bs-primary: var(--md-sys-color-primary); --bs-primary-rgb: 254,69,69;
 --bs-body-font-family: "Plus Jakarta Sans", var(--font-sans);
 --bs-body-color: var(--md-sys-color-on-surface); --bs-body-bg: var(--md-sys-color-surface);
 --bs-secondary-color: var(--md-sys-color-on-surface-variant);
 --bs-link-color: var(--cmc-link); --bs-link-color-rgb: 185,32,41; --bs-link-hover-color: #8f1820;
 --bs-border-color: var(--md-sys-color-outline-variant);
}
body.cmc-modern {font-family: "Plus Jakarta Sans", var(--font-sans); line-height:1.5; -webkit-font-smoothing:antialiased;}
.cmc-modern {min-height:100vh;display:flex;flex-direction:column;}
.cmc-modern main {flex:1;}
.cmc-modern h1,.cmc-modern h2,.cmc-modern h3 {color:var(--md-sys-color-on-surface);text-wrap:balance;}
.cmc-modern h1 {font-size:clamp(2rem,4.3vw,3.5rem);line-height:1.15;letter-spacing:-.035em;font-weight:700;}
.cmc-modern h2 {font-size:1.75rem;line-height:1.3;font-weight:600;letter-spacing:-.02em;}
.cmc-modern h3 {font-size:1.25rem;line-height:1.4;font-weight:600;}
.cmc-modern p {max-width:70ch;}
.cmc-modern a {text-underline-offset:.2em;}
.cmc-modern :focus-visible {outline:3px solid var(--cmc-link);outline-offset:4px;box-shadow:none;}
.cmc-modern ::selection {background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);}
.cmc-shell {max-width:1160px;margin-inline:auto;padding-inline:24px;width:100%;}
.cmc-topbar {border-bottom:1px solid var(--bs-border-color);background:var(--md-sys-color-surface);}
.cmc-topbar .navbar > .cmc-shell {display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between;gap:16px;}
.cmc-topbar .navbar {min-height:80px;padding-block:12px;}
.cmc-brand {color:var(--bs-body-color);font-size:1rem;font-weight:600;line-height:1.3;text-decoration:none;letter-spacing:-.02em;}
.cmc-brand span {display:block;font-size:.75rem;font-weight:700;letter-spacing:.14em;color:var(--cmc-link);}
.cmc-topbar .nav-link {min-height:48px;display:flex;align-items:center;padding:12px 20px!important;color:var(--md-sys-color-on-surface-variant);border-radius:999px;font-size:.875rem;font-weight:600;}
.cmc-topbar .nav-link:hover {background:var(--md-sys-color-surface-container);color:var(--bs-body-color);}
.cmc-topbar .nav-link[aria-current=page] {background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);}
.cmc-main {padding-block:48px 80px;}
.cmc-footer {border-top:1px solid var(--bs-border-color);padding-block:24px;color:var(--bs-secondary-color);font-size:.875rem;}
.cmc-kicker {color:var(--cmc-link);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;}
.cmc-lead {font-size:1.125rem;line-height:1.7;color:var(--bs-secondary-color);}
.cmc-section {margin-top:48px;}
.cmc-section-heading {display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:24px;}
.cmc-section-heading h2 {margin:0;}
.cmc-section-number {font-size:.75rem;color:var(--bs-secondary-color);font-weight:600;}
.cmc-modern .btn {min-height:48px;border-radius:999px;padding:12px 24px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:.875rem;line-height:1.5;transition:background-color var(--cmc-motion),box-shadow var(--cmc-motion);}
.cmc-modern .btn-primary {--bs-btn-bg:#fe4545;--bs-btn-color:#fff;--bs-btn-border-color:#fe4545;--bs-btn-hover-bg:#ed4040;--bs-btn-hover-color:#fff;--bs-btn-hover-border-color:#ed4040;--bs-btn-active-bg:#e83f3f;--bs-btn-active-color:#fff;--bs-btn-active-border-color:#e83f3f;}
.cmc-modern .btn-primary:hover {box-shadow:var(--cmc-elevation-1);}
.cmc-modern .btn-outline-primary {--bs-btn-color:var(--cmc-link);--bs-btn-border-color:var(--md-sys-color-outline);--bs-btn-hover-bg:#fff1ef;--bs-btn-hover-color:var(--cmc-link);--bs-btn-hover-border-color:var(--cmc-link);--bs-btn-active-bg:#ffdad6;--bs-btn-active-color:#410006;}
.cmc-modern .btn-secondary {--bs-btn-bg:#eef0f3;--bs-btn-color:#172033;--bs-btn-border-color:#eef0f3;--bs-btn-hover-bg:#e0e3e9;--bs-btn-hover-color:#172033;--bs-btn-hover-border-color:#e0e3e9;--bs-btn-active-bg:#d5d9e1;--bs-btn-active-color:#172033;}
.cmc-modern .btn-link {color:var(--cmc-link);text-decoration:none;}
.cmc-modern .btn-link:hover {background:#fff1ef;}
.cmc-modern .cmc-search-reset {display:inline-flex;align-items:center;justify-content:center;align-self:end;min-height:48px;line-height:1.2;}
.cmc-modern .btn:disabled,.cmc-modern .btn.disabled {background:#e5e7eb;border-color:#e5e7eb;color:#666e7b;opacity:1;box-shadow:none;pointer-events:none;}
.cmc-modern .btn-close,.cmc-modern .navbar-toggler {min-width:48px;min-height:48px;border-radius:999px;box-sizing:border-box;}
.cmc-modern .card {border:1px solid var(--bs-border-color);border-radius:var(--cmc-radius-medium);box-shadow:none;overflow:hidden;}
.cmc-modern .card-body {padding:24px;}
.cmc-card-filled {background:var(--md-sys-color-surface-container-low);border-color:transparent!important;}
.cmc-icon-tile {display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:16px;background:var(--cmc-icon-container);color:var(--md-sys-color-primary);font-size:24px;}
.cmc-modern .form-label {font-size:.875rem;font-weight:600;margin-bottom:8px;}
.cmc-modern .form-control,.cmc-modern .form-select {min-height:56px;border:1px solid var(--md-sys-color-outline);border-radius:4px;padding:14px 16px;color:var(--bs-body-color);font-family:inherit;}
.cmc-modern .form-control::placeholder {color:var(--bs-secondary-color);opacity:1;}
.cmc-modern .form-control:focus,.cmc-modern .form-select:focus {border-color:var(--md-sys-color-primary);outline:none;box-shadow:none;}
.cmc-modern .form-control:disabled {background:var(--md-sys-color-surface-container);color:var(--bs-secondary-color);}
.cmc-modern .form-control.is-invalid {border-color:var(--md-sys-color-error);background-image:none;}
.cmc-modern .invalid-feedback {color:var(--md-sys-color-error);}
.cmc-modern .form-text {color:var(--bs-secondary-color);font-size:.75rem;margin-top:8px;}
.cmc-modern .form-check {display:flex;align-items:center;gap:12px;min-height:48px;padding-left:0;}
.cmc-modern .form-check-input {float:none;margin:0;width:20px;height:20px;border-color:var(--md-sys-color-outline);flex-shrink:0;}
.cmc-modern .form-check-input:checked {background-color:var(--cmc-link);border-color:var(--cmc-link);}
.cmc-modern .form-check-label {display:flex;align-items:center;min-height:48px;cursor:pointer;}
.cmc-modern .badge {padding:8px 12px;border-radius:8px;font-size:.75rem;font-weight:600;}
.cmc-badge-success {background:var(--cmc-success-container);color:var(--cmc-success);}
.cmc-badge-neutral {background:var(--md-sys-color-surface-container);color:var(--bs-body-color);}
.cmc-modern .alert {border:0;border-radius:12px;padding:20px;display:flex;gap:12px;align-items:flex-start;}
.cmc-modern .alert-info {color:#203c57;background:#eaf2fa;}
.cmc-modern .alert-danger {color:var(--md-sys-color-on-error-container);background:var(--md-sys-color-error-container);}
.cmc-modern .modal-content {border:0;border-radius:28px;background:var(--md-sys-color-surface-container-low);box-shadow:var(--cmc-elevation-2);padding:8px;}
.cmc-modern .modal-header,.cmc-modern .modal-footer {border:0;gap:8px;}
.cmc-modern .modal-title {font-size:1.5rem;font-weight:600;}
.cmc-modern .table {--bs-table-color:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-border-color:var(--bs-border-color);margin:0;}
.cmc-modern .table th {font-size:.75rem;color:var(--bs-secondary-color);font-weight:600;}
.cmc-modern .table td,.cmc-modern .table th {padding:16px 24px;vertical-align:middle;}
.cmc-skip {position:absolute;left:16px;top:-100px;z-index:2000;background:white;padding:12px;}
.cmc-skip:focus {top:12px;}
.cmc-swatches {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.cmc-swatch {border:1px solid var(--bs-border-color);border-radius:12px;overflow:hidden;}
.cmc-swatch-color {height:80px;}
.cmc-swatch-label {padding:16px;font-size:.75rem;}
.cmc-swatch-label strong {display:block;margin-bottom:4px;}
@media(max-width:599px) {.cmc-shell{padding-inline:16px}.cmc-main{padding-block:32px 48px}.cmc-section{margin-top:32px}.cmc-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}.cmc-topbar .navbar{min-height:64px}.cmc-modern .card-body{padding:20px}}
@media(prefers-reduced-motion:reduce) {html:focus-within{scroll-behavior:auto}.cmc-modern *,.cmc-modern *::before,.cmc-modern *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;}}

/* Header: desktop from 769px; compact navigation at 768px and below. */
.cmc-topbar .cmc-brand span {color:var(--md-sys-color-primary);}
.cmc-navigation .cmc-brand {flex-shrink:0;}
.cmc-navigation .cmc-shell {position:relative;}
.cmc-mobile-actions {display:flex;align-items:center;gap:8px;margin-left:auto;}
.cmc-personal-icon,.cmc-menu-toggle {display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;border-radius:999px;text-decoration:none;}
.cmc-personal-icon {background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:24px;}
.cmc-personal-icon:hover {background:#ed4040;color:var(--md-sys-color-on-primary);}
.cmc-menu-toggle {border:0;background:transparent;color:var(--bs-body-color);font-size:28px;}
.cmc-menu-toggle:hover {background:var(--md-sys-color-surface-container);}
.cmc-menu-toggle .cmc-menu-close {display:none;font-size:22px;}
.cmc-menu-toggle[aria-expanded="true"] .cmc-menu-open {display:none;}
.cmc-menu-toggle[aria-expanded="true"] .cmc-menu-close {display:inline;}
.cmc-menu {gap:8px;}
.cmc-topbar .dropdown-toggle {border:0;background:transparent;font-family:inherit;gap:8px;}
.cmc-topbar .dropdown-menu {border:1px solid var(--bs-border-color);border-radius:12px;padding:8px;box-shadow:var(--cmc-elevation-2);min-width:260px;margin-top:8px;}
.cmc-topbar .dropdown-item {display:flex;align-items:center;min-height:48px;padding:12px 16px;border-radius:8px;color:var(--bs-body-color);font-size:.875rem;white-space:normal;}
.cmc-topbar .dropdown-item:hover,.cmc-topbar .dropdown-item:focus {background:var(--md-sys-color-surface-container);}
.cmc-topbar .dropdown-item:active {background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);}
@media(min-width:769px) {
 .cmc-navigation {flex-wrap:nowrap;}
 .cmc-mobile-actions {display:none;}
 .cmc-navigation .cmc-navigation-panel {display:flex!important;flex-basis:auto;justify-content:flex-end;}
 .cmc-menu {flex-direction:row;align-items:center;}
 .cmc-menu .dropdown-menu {position:absolute;}
 .cmc-topbar .nav-link {padding-inline:16px!important;}
 .cmc-personal-link {margin-left:8px;}
}
@media(max-width:768px) {
 .cmc-navigation {padding-block:8px!important;min-height:64px!important;}
 .cmc-navigation-panel {width:100%;flex-basis:100%;}
 .cmc-menu {padding:12px 0 8px;border-top:1px solid var(--bs-border-color);margin-top:8px;gap:4px;}
 .cmc-menu .nav-link {width:100%;justify-content:space-between;}
 .cmc-menu .dropdown-menu {position:static!important;transform:none!important;min-width:0;box-shadow:none;border:0;background:var(--md-sys-color-surface-container-low);margin:4px 0 8px 12px;}
 .cmc-personal-link {width:100%;margin-top:8px;}
}

/* Header refinements shared by the new pages. */
.cmc-topbar .cmc-brand {font-size:clamp(1.1rem,2.4vw,1.5rem);font-weight:700;line-height:1.15;letter-spacing:0;color:var(--cmc-ink);}
.cmc-topbar .cmc-brand span {font-size:inherit;line-height:inherit;font-weight:700;letter-spacing:.025em;}
.cmc-topbar .cmc-brand:hover {color:var(--cmc-ink);}
.cmc-topbar .nav-link,.cmc-topbar .dropdown-item {color:var(--cmc-ink);}
.cmc-personal-icon,.cmc-personal-icon:hover,.cmc-personal-icon:active {color:#fff;}
.cmc-modern .cmc-personal-link {--bs-btn-color:#fff;--bs-btn-hover-color:#fff;--bs-btn-active-color:#fff;}
@media(min-width:769px) {
 .cmc-topbar .nav-link,.cmc-topbar .dropdown-item,.cmc-personal-link {font-weight:600;}
 .cmc-topbar .nav-link:hover,.cmc-topbar .nav-link:active,
 .cmc-topbar .dropdown-item:hover,.cmc-topbar .dropdown-item:focus,.cmc-topbar .dropdown-item:active {background:transparent;color:var(--md-sys-color-primary);}
 .cmc-nav-separator {width:1px;height:28px;background:rgba(23,32,51,.14);margin-inline:8px;flex-shrink:0;}
 .cmc-personal-link {margin-left:0;}
}
@media(min-width:769px) and (max-width:991px) {
 .cmc-topbar .nav-link {padding-inline:10px!important;}
 .cmc-menu {gap:4px;}
 .cmc-nav-separator {margin-inline:4px;}
 .cmc-personal-link {padding-inline:16px!important;}
}
@media(max-width:768px) {
 .cmc-personal-item,.cmc-nav-separator {display:none;}
 .cmc-topbar .nav-link,.cmc-topbar .dropdown-item {font-weight:500;}
 .cmc-topbar a,.cmc-topbar button {-webkit-tap-highlight-color:transparent;}
 .cmc-topbar .nav-link:hover,.cmc-topbar .nav-link:focus,.cmc-topbar .nav-link:active,
 .cmc-topbar .dropdown-item:hover,.cmc-topbar .dropdown-item:focus,.cmc-topbar .dropdown-item:active,
 .cmc-menu-toggle:hover,.cmc-menu-toggle:active {background:transparent;color:var(--cmc-ink);box-shadow:none;}
 .cmc-topbar .dropdown-menu {background:transparent;}
 .cmc-personal-icon:hover,.cmc-personal-icon:active {background:var(--md-sys-color-primary);color:#fff;box-shadow:none;}
}

/* Single-line wordmark, with room for both mobile actions at 320px. */
.cmc-topbar .cmc-brand {white-space:nowrap;font-weight:700;font-size:clamp(.8125rem,2.05vw,1.5rem);letter-spacing:-.025em;}
.cmc-topbar .cmc-brand span {display:inline;font-size:inherit;font-weight:700;letter-spacing:inherit;}
@media(max-width:768px) {
 .cmc-navigation .cmc-shell {column-gap:8px;}
 .cmc-mobile-actions {gap:4px;}
 .cmc-topbar .cmc-brand {font-size:clamp(.8125rem,calc(5.5vw - 4.6px),1.5rem);}
}
@media(min-width:769px) and (max-width:991px) {
 .cmc-topbar .cmc-brand {font-size:1rem;}
}

/* Normalize native button padding and icon-font baseline in the header. */
.cmc-topbar .cmc-personal-icon,.cmc-topbar .cmc-menu-toggle {
 width:48px;height:48px;flex:0 0 48px;padding:0;margin-block:0;line-height:1;
}
.cmc-topbar .cmc-personal-icon > .bi,.cmc-topbar .cmc-menu-toggle > .bi {
 line-height:1;
}
.cmc-topbar .cmc-personal-icon > .bi::before,.cmc-topbar .cmc-menu-toggle > .bi::before {
 display:block;vertical-align:0;
}

/* Footer and legal notice adapted from the Laravel reference. */
.cmc-modern .site-footer {
    background: #111827;
    color: #fff;
    padding: clamp(3rem, 7vw, 5rem) 0;
}

.cmc-modern .footer-title {
    color: #fff;
    font-size: clamp(2.4rem, 7vw, 4.5rem);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    margin-bottom: 1.1rem;
}

.cmc-modern .footer-subtitle {
    color: rgba(255, 255, 255, 0.84);
    font-size: clamp(1rem, 2vw, 1.2rem);
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.cmc-modern .footer-subtitle span {
    color: var(--md-sys-color-primary);
}

.cmc-modern .footer-social {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.cmc-modern .footer-social a,
.cmc-modern .footer-legal {
    background: transparent;
    border: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.96rem;
    font-weight: 500;
    padding: 0;
    text-decoration: none;
    transition: color 0.2s ease;
}

.cmc-modern .footer-social a {
    align-items: center;
    color: #fff;
    display: inline-flex;
    font-size: 1.35rem;
    justify-content: center;
    min-height: 2.25rem;
    min-width: 2.25rem;
}

.cmc-modern .footer-social .bi {
    line-height: 1;
}

.cmc-modern .footer-social a:hover,
.cmc-modern .footer-legal:hover,
.cmc-modern .footer-legal:focus-visible {
    color: #fff;
}

.cmc-modern .footer-social a:hover {
    color: var(--md-sys-color-primary);
}

.cmc-modern .footer-social a:focus-visible {
    color: var(--md-sys-color-primary);
    outline: 2px solid rgba(254, 69, 69, 0.65);
    outline-offset: 0.25rem;
}

.cmc-modern .footer-legal {
    display: block;
    font-size: 0.78rem;
    font-weight: 400;
    margin-top: clamp(1.75rem, 4vw, 2.75rem);
    margin-inline: auto;
}

.cmc-modern .legal-modal .modal-dialog {
    margin: 1.75rem auto;
    max-width: min(52rem, calc(100vw - 2rem));
}

.cmc-modern .legal-modal-content {
    border: 0;
    border-radius: 0.75rem;
    box-shadow: 0 1.5rem 4rem rgba(17, 24, 39, 0.24);
    overflow: hidden;
}

.cmc-modern .legal-modal-header {
    align-items: flex-start;
    background: #fff;
    border-bottom: 1px solid rgba(23, 32, 51, 0.08);
    gap: 1rem;
    padding: clamp(1.1rem, 3vw, 1.5rem);
}

.cmc-modern .legal-modal-kicker {
    color: var(--md-sys-color-primary);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 0.3rem;
    text-transform: uppercase;
}

.cmc-modern .legal-modal-title {
    color: var(--cmc-ink);
    font-size: clamp(1.45rem, 4vw, 2rem);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.12;
}

.cmc-modern .legal-modal-close {
    border-radius: 50%;
    flex: 0 0 auto;
    margin: 0;
    padding: 0.75rem;
}

.cmc-modern .legal-modal-body {
    background: #f8fafc;
    color: var(--cmc-ink);
    display: grid;
    gap: 1rem;
    padding: clamp(1rem, 3vw, 1.5rem);
}

.cmc-modern .legal-section {
    background: var(--md-sys-color-surface);
    border: 1px solid rgba(23, 32, 51, 0.08);
    border-radius: 0.5rem;
    box-shadow: 0 0.75rem 1.75rem rgba(23, 32, 51, 0.06);
    padding: clamp(1rem, 3vw, 1.25rem);
}

.cmc-modern .legal-section-heading {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    margin-bottom: 0.8rem;
}

.cmc-modern .legal-section-heading h3 {
    color: var(--cmc-ink);
    font-size: clamp(1rem, 2.4vw, 1.12rem);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.25;
    margin: 0;
}

.cmc-modern .legal-section-icon {
    align-items: center;
    background: rgba(254, 69, 69, 0.1);
    border-radius: 50%;
    color: var(--md-sys-color-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1rem;
    height: 2.3rem;
    justify-content: center;
    width: 2.3rem;
}

.cmc-modern .legal-section p {
    color: var(--md-sys-color-on-surface-variant);
    font-size: 0.95rem;
    line-height: 1.7;
    margin-bottom: 0.75rem;
}

.cmc-modern .legal-section p:last-child {
    margin-bottom: 0;
}

.cmc-modern .legal-section a {
    color: var(--cmc-link);
    font-weight: 600;
    overflow-wrap: anywhere;
    text-decoration: none;
}

.cmc-modern .legal-section a:hover,
.cmc-modern .legal-section a:focus {
    color: var(--md-sys-color-primary);
    text-decoration: underline;
}

.cmc-modern .legal-data-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 1rem 0 0;
}

.cmc-modern .legal-data-grid div {
    background: #f8fafc;
    border: 1px solid rgba(23, 32, 51, 0.06);
    border-radius: 0.5rem;
    min-width: 0;
    padding: 0.85rem;
}

.cmc-modern .legal-data-grid dt {
    color: var(--md-sys-color-on-surface-variant);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    margin-bottom: 0.25rem;
    text-transform: uppercase;
}

.cmc-modern .legal-data-grid dd {
    color: var(--cmc-ink);
    font-size: 0.94rem;
    font-weight: 600;
    line-height: 1.45;
    margin: 0;
    overflow-wrap: anywhere;
}

.cmc-modern .legal-modal-footer {
    background: #fff;
    border-top: 1px solid rgba(23, 32, 51, 0.08);
    gap: 0.75rem;
    justify-content: space-between;
    padding: clamp(1rem, 3vw, 1.25rem) clamp(1rem, 3vw, 1.5rem);
}

.cmc-modern .legal-contact-link {
    align-items: center;
    color: var(--cmc-link);
    display: inline-flex;
    font-size: 0.94rem;
    font-weight: 700;
    gap: 0.5rem;
    min-height: 2.75rem;
    text-decoration: none;
}

.cmc-modern .legal-contact-link:hover,
.cmc-modern .legal-contact-link:focus {
    color: var(--md-sys-color-primary);
}

.cmc-modern .legal-modal-action {
    border-radius: 999px;
    font-weight: 700;
    min-height: 2.75rem;
    padding-inline: 1.35rem;
}

.cmc-modern .site-footer {background:rgb(17,24,39);}
.cmc-modern .footer-subtitle {max-width:none;margin-inline:auto;}
.cmc-modern .footer-social a {min-width:48px;min-height:48px;}
.cmc-modern .footer-social .bi::before {display:block;vertical-align:0;}
.cmc-modern .footer-legal {min-height:48px;padding:8px 16px;text-decoration:none;}
.cmc-modern .legal-modal-content {padding:0;}
.cmc-modern .legal-modal-header {border-bottom:1px solid var(--bs-border-color);}
.cmc-modern .legal-modal-footer {border-top:1px solid var(--bs-border-color);}
.cmc-modern .legal-contact-link,.cmc-modern .legal-modal-action {min-height:48px;}
.cmc-modern .legal-modal-close {margin:0 0 0 auto;}
.cmc-modern .legal-section p {max-width:none;}
@media(max-width:575px) {
 .cmc-modern .legal-modal .modal-dialog {margin:.5rem auto;max-width:calc(100vw - 1rem);height:calc(100% - 1rem);}
 .cmc-modern .legal-data-grid {grid-template-columns:1fr;}
 .cmc-modern .legal-modal-footer {flex-direction:column-reverse;align-items:stretch;}
 .cmc-modern .legal-contact-link,.cmc-modern .legal-modal-action {justify-content:center;width:100%;margin:0;}
}

.cmc-modern .legal-modal-action {--bs-btn-color:#fff;--bs-btn-hover-color:#fff;--bs-btn-active-color:#fff;}
.cmc-modern .footer-copyright {max-width:none;margin:12px auto 0;color:rgba(255,255,255,.72);font-size:.75rem;line-height:1.6;text-align:center;}

/* Hover opening uses Bootstrap focus internally; show the ring only for keyboard use. */
.cmc-modern .cmc-topbar .dropdown-toggle.cmc-pointer-open:focus-visible {
    outline: none;
    box-shadow: none;
}

/* Anniversary home: the header and hero fill the first viewport together. */
.cmc-main:has(.cmc-home-hero), .cmc-main.cmc-home-main {padding-block:0;}
.cmc-home-hero {
 --home-header-height:inherit;
 display:flex;align-items:center;justify-content:center;
 min-height:calc(100vh - var(--home-header-height, 81px));
 min-height:calc(100dvh - var(--home-header-height, 81px));
 padding-block:clamp(24px, 5vh, 64px);
}
.cmc-home-content {width:100%;}
.cmc-anniversary-logo {
 display:block;width:min(100%, 680px);height:auto;
 max-height:48vh;max-height:48dvh;object-fit:contain;
 margin:0 auto clamp(24px, 4vh, 40px);
}
.cmc-home-hero h1 {
 font-size:clamp(2.4rem, 7vw, 5rem);font-weight:700;line-height:1.08;
 margin-bottom:20px;
}
.cmc-home-city,.cmc-founding-year .bi {color:var(--md-sys-color-primary);}
.cmc-home-copy {
 max-width:760px;margin:0 auto;color:var(--md-sys-color-on-surface-variant);
 font-size:clamp(1.05rem, 2vw, 1.25rem);line-height:1.7;
}
.cmc-founding-year {white-space:nowrap;color:var(--cmc-ink);}

.cmc-modern .cmc-home-actions .btn-outline-primary {--bs-btn-border-color:var(--cmc-link);}

/* Homepage-only floating header and full-width sponsor sections. */
.cmc-home-header {position:sticky;top:0;z-index:1020;box-shadow:0 4px 20px rgba(23,32,51,.06);}
.cmc-main:has(.cmc-home-hero),.cmc-main.cmc-home-main {max-width:none;padding-inline:0;}
.cmc-home-content {max-width:1160px;margin-inline:auto;padding-inline:24px;}
@media(max-width:599px) {.cmc-home-content {padding-inline:16px;}}
/* Partners share the surface, radius, typography and focus roles of componentes.php. */
.cmc-partners {
 background:var(--md-sys-color-surface-container-low);
 border-top:1px solid var(--md-sys-color-outline-variant);
 padding-block:64px;
}
.cmc-partners-intro {margin-bottom:40px;}
.cmc-partners-intro h2 {font-size:clamp(1.75rem,3.2vw,2.5rem);font-weight:700;margin:0;}
.cmc-partners-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px;}
.cmc-partner-collaborators {grid-column:span 2;}
.cmc-collaborators-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;flex:1;}
.cmc-partner-group {min-width:0;display:flex;flex-direction:column;}
.cmc-modern .cmc-partner-label {
 display:flex;align-items:center;gap:12px;
 color:var(--cmc-link);font-size:.75rem;font-weight:700;
 letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px;
}
.cmc-partner-label::before {content:"";width:24px;height:2px;background:var(--md-sys-color-primary);flex-shrink:0;}
.cmc-modern .cmc-partner-card {
 flex:1;background:var(--md-sys-color-surface);
 color:var(--cmc-ink);text-decoration:none;
 transition:border-color var(--cmc-motion),box-shadow var(--cmc-motion),transform var(--cmc-motion);
}
.cmc-modern .cmc-partner-main .cmc-partner-card {border-top:3px solid var(--md-sys-color-primary);height:auto;}
.cmc-partner-art {display:flex;align-items:center;justify-content:center;height:208px;padding:32px;}
.cmc-partner-art img {display:block;width:100%;max-width:280px;max-height:128px;object-fit:contain;}
.cmc-partner-main .cmc-partner-art {height:256px;padding:48px;}
.cmc-partner-main .cmc-partner-art img {max-width:480px;max-height:160px;}
.cmc-partner-caption {
 display:flex;align-items:center;justify-content:space-between;gap:16px;
 border-top:1px solid var(--md-sys-color-outline-variant);padding:16px 24px;margin-top:auto;min-height:64px;
}
.cmc-partner-name {font-size:.875rem;font-weight:600;}
.cmc-partner-visit {display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:.75rem;font-weight:600;color:var(--cmc-link);}
.cmc-partner-visit .bi {font-size:1rem;}
.cmc-modern .cmc-partner-card:focus-visible {border-color:var(--cmc-link);outline-offset:4px;}
@media(hover:hover) and (pointer:fine) {
 .cmc-modern .cmc-partner-card:hover {border-color:var(--cmc-link);box-shadow:var(--cmc-elevation-2);transform:translateY(-3px);}
 .cmc-partner-card:hover .cmc-partner-visit {text-decoration:underline;text-underline-offset:4px;}
}
@media(max-width:991px) {
 .cmc-partners-grid {grid-template-columns:1fr;gap:32px;}
 .cmc-partner-collaborators {grid-column:auto;}
}
@media(max-width:599px) {
 .cmc-collaborators-grid {grid-template-columns:1fr;}
}
@media(max-width:767px) {
 .cmc-partners {padding-block:48px;}
 .cmc-partners-intro {margin-bottom:32px;}
 .cmc-partners-grid {grid-template-columns:1fr;gap:32px;}
 .cmc-partner-main .cmc-partner-art {height:208px;padding:32px;}
 .cmc-partner-art {height:192px;padding:24px;}
 .cmc-partner-caption {padding:16px;gap:12px;flex-wrap:wrap;}
 .cmc-modern .cmc-partner-card {height:auto;}
}
@media(prefers-reduced-motion:reduce) {
 .cmc-modern .cmc-partner-card {transition:none;}
 .cmc-modern .cmc-partner-card:hover {transform:none;}
}

/* Explicit brand emphasis, independent of the accessible link color. */
.cmc-brand-emphasis {color:var(--md-sys-color-primary);}

/* Current navigation item: subtle brand tint on desktop and mobile. */
.cmc-topbar .dropdown-item.active,
.cmc-topbar .dropdown-item[aria-current="page"] {background-color:rgba(254, 69, 69, 0.08);color:var(--cmc-ink);}

/* Reusable race-distance palette. Always pair colour with a written label. */
:root {
 --cmc-race-marathon: #c62828; --cmc-race-marathon-container: #fde8e8;
 --cmc-race-half: #1565c0; --cmc-race-half-container: #e6f0fc;
 --cmc-race-10k-ink: #715600; --cmc-race-10k: #facc15; --cmc-race-10k-container: #fff8cc;
 --cmc-race-5k: #2e7d32; --cmc-race-5k-container: #e5f4e9;
}
.race-badge-marathon {--race-on-color:#fff;--race-color:var(--cmc-race-marathon);--race-container:var(--cmc-race-marathon-container)}
.race-badge-half {--race-on-color:#fff;--race-color:var(--cmc-race-half);--race-container:var(--cmc-race-half-container)}
.race-badge-10k {--race-on-color:var(--cmc-ink);--race-color:var(--cmc-race-10k);--race-container:var(--cmc-race-10k-container)}
.race-badge-5k {--race-on-color:#fff;--race-color:var(--cmc-race-5k);--race-container:var(--cmc-race-5k-container)}
.cmc-race-badge {display:inline-flex;align-items:center;padding:6px 10px;border-radius:6px;background:var(--race-color);color:var(--race-on-color);font-size:.75rem;line-height:1.5;font-weight:700;letter-spacing:.025em;text-transform:uppercase}

/* Campaña de altas: escudo y aviso con los componentes y colores del Club. */
.cmc-alta-logo {display:block;width:144px;height:144px;object-fit:contain;margin:48px auto 0;}
.cmc-alta-status {max-width:720px;margin:0 auto 48px;text-align:center;}
.cmc-modern .cmc-alta-notice {display:flex;flex-direction:row;align-items:center;justify-content:center;gap:20px;padding:28px;text-align:center;margin-inline:auto;background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-left:4px solid var(--md-sys-color-primary);border-radius:12px;}
.cmc-alta-notice .cmc-icon-tile {flex-shrink:0;}
.cmc-modern .cmc-alta-notice h1 {font-size:clamp(1.375rem,3vw,1.875rem);line-height:1.3;margin:0;}
.cmc-alta-opening {margin:32px auto;}
.cmc-modern .cmc-alta-opening h2 {font-size:1rem;font-weight:600;margin-bottom:12px;color:var(--md-sys-color-on-surface-variant);}
.cmc-alta-opening-row {display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:nowrap;}
.cmc-alta-date {font-size:clamp(.875rem,2.8vw,1.5rem);font-weight:700;letter-spacing:-.025em;margin:0;white-space:nowrap;}
.cmc-alta-season {background:var(--md-sys-color-primary);color:#fff;padding:8px 10px;border-radius:6px;font-size:clamp(.625rem,1.6vw,.75rem);font-weight:700;white-space:nowrap;}
@media(max-width:599px) {.cmc-alta-logo{margin-top:32px}.cmc-modern .cmc-alta-notice{padding:20px 16px;gap:16px}.cmc-alta-status{margin-bottom:32px}}

@media(max-width:399px) {.cmc-alta-opening-row{gap:8px}.cmc-alta-season{padding:7px 6px;font-size:.5625rem}.cmc-alta-date{font-size:.8125rem}}

/* Solicitud de temporada completa. */
.cmc-registration {max-width:960px;margin-inline:auto;}
.cmc-registration-heading {text-align:center;margin-bottom:32px;}
.cmc-registration-heading p {margin-inline:auto;}
.cmc-registration-summary {display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:28px;margin-bottom:32px;background:var(--md-sys-color-surface-container-low);}
.cmc-registration-label {display:block;font-size:.875rem;color:var(--md-sys-color-on-surface-variant);margin-bottom:8px;}
.cmc-registration-price {display:block;font-size:2rem;letter-spacing:-.03em;margin-bottom:8px;}
.cmc-registration-summary p {font-size:.875rem;}
.cmc-registration-form {padding:32px;}
.cmc-registration-form .form-label {font-weight:600;}
@media(max-width:599px) {.cmc-registration-summary{grid-template-columns:1fr;padding:20px;gap:16px}.cmc-registration-form{padding:20px 16px}}

/* Foco del formulario de alta: un único borde fino de marca. */
.cmc-modern .cmc-registration-form .form-control:focus,
.cmc-modern .cmc-registration-form .form-select:focus {
 border:1px solid var(--md-sys-color-primary);
 outline:none;
 box-shadow:none;
}

/* Confirmación de solicitud: colores semánticos de éxito. */
.cmc-modern .cmc-registration-success {padding:32px 24px;text-align:center;background:var(--cmc-success-container);color:var(--cmc-success);border:1px solid var(--cmc-success);border-radius:12px;}
.cmc-registration-success-icon {display:block;font-size:2.5rem;line-height:1;margin-bottom:16px;color:var(--cmc-success);}
.cmc-modern .cmc-registration-success h2 {color:var(--cmc-success);}

/* Área personal: navegación por tarjetas. */
.cmc-personal-heading{margin-bottom:32px}.cmc-personal-greeting{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.cmc-personal-greeting p{margin:0;font-size:1.125rem;color:var(--bs-secondary-color)}.cmc-personal-greeting strong{color:var(--md-sys-color-primary);font-weight:600}.cmc-personal-admin{padding:5px 10px;border-radius:999px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);font-size:.6875rem;letter-spacing:.08em;font-weight:700}.cmc-personal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cmc-personal-card{padding:28px;display:flex;align-items:flex-start;transition:border-color var(--cmc-motion),box-shadow var(--cmc-motion)}.cmc-personal-card:hover{border-color:#bcc3ce;box-shadow:var(--cmc-elevation-1)}.cmc-personal-card h2,.cmc-personal-card h3{font-size:1.25rem;line-height:1.4;letter-spacing:-.02em;margin-bottom:10px}.cmc-personal-card p{font-size:.875rem;color:var(--bs-secondary-color);line-height:1.7;margin-bottom:24px}.cmc-personal-links{margin-top:auto;width:100%}.cmc-personal-links a,.cmc-personal-links button{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--bs-border-color);text-decoration:none;font-size:.875rem;font-weight:600;padding:12px 0}.cmc-personal-links a:hover,.cmc-personal-links button:hover{color:#8f1820;background:#fff8f7}.cmc-personal-management{margin-top:48px}.cmc-personal-section-heading{margin-bottom:24px}.cmc-personal-section-heading h2{font-size:1.5rem;margin-bottom:8px}.cmc-personal-section-heading p{color:var(--bs-secondary-color);font-size:.875rem;margin:0}.cmc-personal-grid-admin{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:991px){.cmc-personal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575px){.cmc-personal-grid{grid-template-columns:1fr;gap:16px}.cmc-personal-card{padding:24px}.cmc-personal-heading{margin-bottom:24px}.cmc-personal-management{margin-top:32px}}

.cmc-personal-bottom{display:flex;flex-direction:column;align-items:center;gap:32px;margin-top:48px}.cmc-personal-logo{display:block;width:144px;height:144px;object-fit:contain}

.cmc-personal-card > .cmc-icon-tile {margin-bottom:24px;flex-shrink:0;}

/* Recuperación de acceso */
.cmc-password-reset { max-width: 640px; margin: 0 auto; text-align: center; }
.cmc-password-heading .cmc-icon-tile { margin: 0 auto 24px; }
.cmc-password-heading h1 { font-size: clamp(1.8rem, 5vw, 2.8rem); overflow-wrap: anywhere; }
.cmc-password-reset .cmc-lead { margin-bottom: 32px; }
.cmc-password-card { padding: clamp(24px, 5vw, 40px); text-align: left; }
.cmc-password-card h2 { font-size: 1.6rem; margin-bottom: 16px; }
.cmc-password-success { color: var(--cmc-primary, #fe4545); font-size: 2rem; margin-bottom: 16px; }
.cmc-password-reset .cmc-personal-logo { display: block; }

/* Acceso al Área Personal. */
.cmc-login { max-width: 560px; margin: 0 auto; }
.cmc-login-card { padding: clamp(24px, 5vw, 40px); }
.cmc-login-recovery { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--bs-border-color); }

.cmc-login-heading { text-align: center; margin-bottom: 32px; }
.cmc-login-heading .cmc-icon-tile { margin-bottom: 24px; }
.cmc-login-heading h1 { font-size: clamp(1.8rem, 5vw, 2.8rem); }

/* Alta de carrera y selección compacta de distancias. */
.cmc-race-create{max-width:1000px;margin-inline:auto}
.cmc-race-section{padding:28px;margin-bottom:24px}
.cmc-race-section h2{font-size:1.35rem;margin-bottom:20px}
.cmc-race-section .form-label{font-weight:600}
.cmc-distance-table{table-layout:fixed;margin-bottom:0}
.cmc-distance-table th:first-child{width:28%}
.cmc-distance-table th:nth-child(2){width:20%}
.cmc-modern .cmc-distance-table td,.cmc-modern .cmc-distance-table th{vertical-align:middle;padding:12px 8px}
.cmc-modern .cmc-distance-table .form-control{padding:10px;min-height:48px}
.cmc-distance-price-label,.cmc-distance-note-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:575px){.cmc-race-section{padding:20px 16px}.cmc-distance-table thead{display:none}.cmc-distance-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px;padding-block:16px;border-bottom:1px solid var(--bs-border-color)}.cmc-modern .cmc-distance-table td,.cmc-modern .cmc-distance-table th{width:auto!important;border:0;padding:0}.cmc-distance-table td:last-child{grid-column:1/-1}.cmc-distance-price-label,.cmc-distance-note-label{position:static;width:auto;height:auto;clip-path:none;font-size:.8rem;margin-bottom:6px}}

.cmc-race-list th[scope="row"]{min-width:200px}
.cmc-race-list td:nth-child(3),.cmc-race-list td:nth-child(4),.cmc-race-list td:nth-child(5){white-space:nowrap}

.cmc-modern .cmc-race-list td,.cmc-modern .cmc-race-list th{padding:14px 12px}
.cmc-race-list{font-size:.875rem}
.cmc-race-actions{display:flex;gap:4px;align-items:center;white-space:nowrap}
.cmc-race-action{display:inline-flex;align-items:center;justify-content:center;width:36px;height:40px;border:0;border-radius:8px;background:transparent;color:var(--cmc-link);font-size:1.1rem;text-decoration:none}
.cmc-race-action:hover,.cmc-race-action:focus-visible{background:var(--md-sys-color-primary-container)}
.cmc-race-action:disabled{color:var(--bs-secondary-color);opacity:.45;cursor:not-allowed}
.cmc-race-heading{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.cmc-race-heading h1{flex:1;min-width:0;margin:0;overflow-wrap:anywhere}
.cmc-race-heading-actions{display:flex;align-items:center;gap:12px;margin-left:auto}
.cmc-race-card-heading{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.cmc-race-card-heading .cmc-icon-tile{flex:0 0 48px;border-radius:50%}
.cmc-race-card-heading h2{margin:0}
.cmc-modern .cmc-race-admin .cmc-race-section,.cmc-modern .cmc-race-poster{box-shadow:var(--cmc-elevation-1)}
.cmc-race-detail{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;align-items:stretch;margin-bottom:24px}
.cmc-race-detail-data{min-width:0;display:flex;flex-direction:column;gap:24px}
.cmc-race-detail-data>.cmc-race-section{flex:1 0 auto;margin:0}
.cmc-race-detail>.cmc-race-detail-data>.cmc-race-section:first-child{flex-grow:2}
.cmc-race-detail-data .cmc-race-card-heading,.cmc-race-detail-data dl{flex-shrink:0}
.cmc-race-poster{margin:0;padding:12px;background:var(--md-sys-color-surface-container-low);display:flex;justify-content:center}
.cmc-race-poster a{display:flex;align-items:center;width:100%}
.cmc-race-poster img{display:block;width:100%;max-height:750px;object-fit:contain}
.cmc-race-admin .cmc-race-edit{max-width:none;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px}
.cmc-race-edit>input[type="hidden"]{display:none}
.cmc-race-edit> *{grid-column:1/-1;min-width:0}
.cmc-race-edit>.cmc-race-edit-data{grid-column:1;grid-row:1}
.cmc-race-edit>.cmc-race-edit-poster{grid-column:2;grid-row:1}
.cmc-race-edit>.cmc-race-section{margin:0}
.cmc-race-edit-poster>a{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;margin-bottom:20px}
.cmc-race-edit-image{display:block;max-width:100%;max-height:500px;object-fit:contain}
@media(max-width:991px){.cmc-race-heading{gap:16px}.cmc-race-heading h1{flex-basis:calc(100% - 250px)}.cmc-race-detail{grid-template-columns:1fr}.cmc-race-poster{max-width:480px;width:100%;margin-inline:auto}.cmc-race-poster img{max-height:650px}.cmc-race-admin .cmc-race-edit{grid-template-columns:1fr}.cmc-race-edit>.cmc-race-edit-data,.cmc-race-edit>.cmc-race-edit-poster{grid-column:1;grid-row:auto}.cmc-race-edit>.cmc-race-period{grid-row:2}.cmc-race-card-heading{gap:12px}}

.cmc-snackbar-stack{position:fixed;top:24px;left:50%;transform:translateX(-50%);z-index:1090;display:grid;gap:12px;width:min(1112px,calc(100vw - 48px));pointer-events:none}
.cmc-modern .cmc-snackbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0;padding:16px 18px;border:0;border-radius:12px;box-shadow:var(--cmc-elevation-2);pointer-events:auto;animation:cmc-snackbar-in .18s ease-out}
.cmc-modern .cmc-snackbar.alert-success{background:#d1e7dd;color:#0f5132;border:1px solid #badbcc}
.cmc-modern .cmc-snackbar.alert-warning{background:#fff3cd;color:#664d03;border:1px solid #ffecb5}
.cmc-modern .cmc-snackbar.alert-danger{background:#f8d7da;color:#842029;border:1px solid #f5c2c7}
.cmc-snackbar a{color:inherit;font-weight:700}.cmc-snackbar .btn-close{flex:0 0 auto;width:32px;height:32px;min-width:32px;min-height:32px;margin:-7px -8px -7px 0;filter:none;opacity:.72}
.cmc-snackbar.is-leaving{opacity:0;transform:translateY(10px);transition:opacity .18s ease,transform .18s ease}
@keyframes cmc-snackbar-in{from{opacity:0;transform:translateY(10px)}}
@media(max-width:575px){.cmc-snackbar-stack{top:16px;width:calc(100vw - 32px)}}
@media(prefers-reduced-motion:reduce){.cmc-modern .cmc-snackbar{animation:none}.cmc-snackbar.is-leaving{transition:none}}

.cmc-admin-enrolment-list tr.is-claimed{--bs-table-bg:var(--bs-danger-bg-subtle,#f8d7da)}
.cmc-admin-enrolment-list tr.is-refunded{--bs-table-bg:#f1f3f5}

.cmc-modern .badge.cmc-enrolment-status{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border-radius:8px;font-size:.75rem;line-height:1.4;font-weight:700;letter-spacing:.025em;white-space:nowrap}
.cmc-modern .cmc-enrolment-status--reclamada{background:#a61b29;color:#fff}
.cmc-modern .cmc-enrolment-status--reintegrada{background:#cff4fc;color:#084c61}

.cmc-modern .cmc-admin-enrolment-list .badge.cmc-enrolment-status{display:flex;width:fit-content}

.cmc-personal-links button{width:100%;border-right:0;border-bottom:0;border-left:0;border-radius:0;background:transparent;color:var(--bs-link-color);font-family:inherit;text-align:left;cursor:pointer}
.cmc-personal-links button:disabled{opacity:.6;cursor:wait}
