/* College Cuts - Styles */

/* ── Full-bleed page: hide Astra header/nav/footer ── */
body.msv-college-cuts-page .ast-above-header,
body.msv-college-cuts-page .ast-below-header,
body.msv-college-cuts-page .ast-main-header-wrap,
body.msv-college-cuts-page .site-header,
body.msv-college-cuts-page #masthead,
body.msv-college-cuts-page .ast-primary-header,
body.msv-college-cuts-page .ast-mobile-header-wrap,
body.msv-college-cuts-page .main-header-bar,
body.msv-college-cuts-page .ast-header-break-point,
body.msv-college-cuts-page .site-footer,
body.msv-college-cuts-page .ast-footer-overlay,
body.msv-college-cuts-page .ast-small-footer,
body.msv-college-cuts-page #colophon,
body.msv-college-cuts-page footer.site-footer { display: none !important; }

body.msv-college-cuts-page,
body.msv-college-cuts-page #page,
body.msv-college-cuts-page #content,
body.msv-college-cuts-page .site-content,
body.msv-college-cuts-page .ast-container,
body.msv-college-cuts-page .site-main,
body.msv-college-cuts-page .entry-content,
body.msv-college-cuts-page article,
body.msv-college-cuts-page .ast-article-single,
body.msv-college-cuts-page .ast-separate-container .ast-article-single,
body.msv-college-cuts-page .ast-separate-container .ast-article-post,
body.msv-college-cuts-page .ast-plain-container,
body.msv-college-cuts-page .post-content,
body.msv-college-cuts-page .page-content {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

body.msv-college-cuts-page .ast-separate-container .ast-article-single,
body.msv-college-cuts-page .ast-separate-container #primary {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ============================================
   CSS Variables & Theme
   ============================================ */
:root {
    --cc-mint:        #6fcf8a;
    --cc-dark:        #1a1a1a;
    --cc-dark-alt:    #2a2a2a;
    --cc-light:       #F4F6F8;
    --cc-text:        #2D3748;
    --cc-text-light:  #718096;
    --cc-border:      #E2E8F0;
    --cc-white:       #FFFFFF;
    --cc-d1:          #002855;
    --cc-d2:          #1A6B3C;
    --cc-d3:          #6B46C1;
    --cc-men:         #3182CE;
    --cc-women:       #C8102E;
    --cc-shadow:      0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);
    --cc-shadow-lg:   0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
    --cc-radius:      8px;
    --cc-radius-lg:   12px;
    --cc-transition:  all 0.2s ease;
}

/* ============================================
   Base Container
   ============================================ */
.college-cuts-container {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
    color: var(--cc-text);
    line-height: 1.6;
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px 40px 40px;
}
@media (max-width: 700px) {
    .college-cuts-container { padding: 16px 20px 32px; }
}

/* ============================================
   Loading State
   ============================================ */
.college-cuts-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    color: var(--cc-text-light);
}

.college-cuts-spinner {
    width: 48px;
    height: 48px;
    border: 4px solid var(--cc-border);
    border-top-color: var(--cc-mint);
    border-radius: 50%;
    animation: cc-spin 0.8s linear infinite;
}

@keyframes cc-spin {
    to { transform: rotate(360deg); }
}

/* ============================================
   Header — dark/black with mint accent, full bleed
   ============================================ */
.college-cuts-header {
    background: linear-gradient(135deg, var(--cc-dark) 0%, var(--cc-dark-alt) 100%);
    color: #FFFFFF !important;
    padding: 28px 40px 24px;
    border-bottom: 4px solid var(--cc-mint);
    margin-bottom: 0;
    text-align: center;
    position: relative;
    overflow: hidden;
    border-radius: 0;
}

.college-cuts-header::before {
    content: '';
    position: absolute;
    top: -30px; right: -30px;
    width: 180px; height: 180px;
    border-radius: 50%;
    background: rgba(111, 207, 138, .08);
    pointer-events: none;
}

.college-cuts-header h1 {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 4px 0;
    color: #FFFFFF !important;
    letter-spacing: -0.02em;
}

.college-cuts-header p {
    margin: 0;
    color: rgba(255,255,255,0.75) !important;
    font-size: 0.9rem;
}

@media (min-width: 768px) {
    .college-cuts-header { padding: 40px 40px 32px; }
    .college-cuts-header h1 { font-size: 1.85rem; }
}

/* Remove gender-based header color changes — always dark with mint */
.college-cuts-container[data-current-gender="W"] .college-cuts-header {
    background: linear-gradient(135deg, var(--cc-dark) 0%, var(--cc-dark-alt) 100%);
}

/* ============================================
   Controls / Toggles
   ============================================ */
.college-cuts-controls {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
}

@media (min-width: 640px) {
    .college-cuts-controls {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap: 24px;
        flex-wrap: wrap;
    }
}

.college-cuts-toggle-group {
    display: flex;
    background: var(--cc-white);
    border-radius: var(--cc-radius);
    box-shadow: var(--cc-shadow);
    overflow: hidden;
    border: 1px solid var(--cc-border);
}

.college-cuts-toggle-group button {
    flex: 1;
    padding: 12px 20px;
    font-size: 0.9rem;
    font-weight: 600;
    background: var(--cc-white);
    color: #2D3748 !important;
    border: none;
    cursor: pointer;
    transition: var(--cc-transition);
    white-space: nowrap;
}

.college-cuts-toggle-group button:not(:last-child) {
    border-right: 1px solid var(--cc-border);
}

.college-cuts-toggle-group button:hover {
    background: var(--cc-light);
}

/* Division active colors — keep existing division theming */
.college-cuts-toggle-group.division-toggle button.active[data-division="D1"] {
    background: var(--cc-d1);
    color: #FFFFFF !important;
}
.college-cuts-toggle-group.division-toggle button.active[data-division="D2"] {
    background: var(--cc-d2);
    color: #FFFFFF !important;
}
.college-cuts-toggle-group.division-toggle button.active[data-division="D3"] {
    background: var(--cc-d3);
    color: #FFFFFF !important;
}

/* Gender active — dark with mint accent */
.college-cuts-toggle-group.gender-toggle button.active[data-gender="M"] {
    background: var(--cc-men);
    color: #FFFFFF !important;
}
.college-cuts-toggle-group.gender-toggle button.active[data-gender="W"] {
    background: var(--cc-women);
    color: #FFFFFF !important;
}

/* ============================================
   Table Container
   ============================================ */
.college-cuts-table-container {
    background: var(--cc-white);
    border-radius: var(--cc-radius-lg);
    box-shadow: var(--cc-shadow);
    overflow: hidden;
}

.college-cuts-table-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    background: var(--cc-dark);
    color: #FFFFFF !important;
    flex-wrap: wrap;
    gap: 8px;
}

/* Division-colored table headers — same for both genders */
.college-cuts-container[data-current-division="D1"] .college-cuts-table-header { background: var(--cc-d1); }
.college-cuts-container[data-current-division="D2"] .college-cuts-table-header { background: var(--cc-d2); }
.college-cuts-container[data-current-division="D3"] .college-cuts-table-header { background: var(--cc-d3); }

.college-cuts-table-header h2 {
    margin: 0;
    font-size: 1.1rem;
    color: #FFFFFF !important;
    font-weight: 700;
}

.college-cuts-season-badge {
    background: rgba(255,255,255,0.2);
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #FFFFFF;
    white-space: nowrap;
}

/* Desktop Table */
.college-cuts-table-scroll {
    overflow-x: auto;
}

.college-cuts-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
}

.college-cuts-table th,
.college-cuts-table td {
    padding: 14px 16px;
    text-align: left;
    border-bottom: 1px solid var(--cc-border);
}

.college-cuts-table th {
    background: var(--cc-light);
    font-weight: 600;
    color: var(--cc-dark);
    white-space: nowrap;
}

.college-cuts-table tr:last-child td {
    border-bottom: none;
}

.college-cuts-table tr:hover {
    background: #f0fdf4;
}

.college-cuts-table .event-cell {
    font-weight: 600;
    color: var(--cc-d1);
}

.college-cuts-container[data-current-division="D2"] .college-cuts-table .event-cell { color: var(--cc-d2); }
.college-cuts-container[data-current-division="D3"] .college-cuts-table .event-cell { color: var(--cc-d3); }

.college-cuts-table .time-cell {
    font-family: 'SF Mono', 'Monaco', 'Inconsolata', monospace;
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--cc-dark);
}

.college-cuts-table .time-null {
    color: var(--cc-text-light);
    font-style: italic;
    font-size: 0.85rem;
    font-weight: 400;
    font-family: inherit;
}

/* Standard label badges */
.cc-std-label {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 4px;
    margin-left: 6px;
    vertical-align: middle;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}
.cc-std-label.a  { background: rgba(49,130,206,0.15); color: #2B6CB0; }
.cc-std-label.b  { background: rgba(56,161,105,0.15); color: #276749; }

/* Hide desktop table on mobile */
@media (max-width: 600px) {
    .college-cuts-table-desktop { display: none; }
}

/* ============================================
   Mobile Cards
   ============================================ */
.college-cuts-mobile-cards {
    display: none;
    padding: 12px;
}

@media (max-width: 600px) {
    .college-cuts-mobile-cards { display: block; }
}

.college-cuts-mobile-card {
    padding: 12px 8px;
    border-bottom: 1px solid var(--cc-border);
}

.college-cuts-mobile-card:last-child {
    border-bottom: none;
}

.college-cuts-mobile-event {
    font-weight: 600;
    color: var(--cc-d1);
    margin-bottom: 6px;
    font-size: 0.95rem;
}

.college-cuts-container[data-current-division="D2"] .college-cuts-mobile-event { color: var(--cc-d2); }
.college-cuts-container[data-current-division="D3"] .college-cuts-mobile-event { color: var(--cc-d3); }

.college-cuts-mobile-standards {
    display: flex;
    gap: 16px;
}

.college-cuts-mobile-std {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.college-cuts-mobile-std-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--cc-text-light);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.college-cuts-mobile-std-time {
    font-family: 'SF Mono', 'Monaco', 'Inconsolata', monospace;
    font-weight: 700;
    font-size: 1rem;
    color: var(--cc-dark);
}

/* ============================================
   Animations
   ============================================ */
@keyframes cc-fade-in {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

.college-cuts-animate-in {
    animation: cc-fade-in 0.3s ease forwards;
}

/* ============================================
   Print Styles
   ============================================ */
@media print {
    .college-cuts-controls { display: none; }
    .college-cuts-mobile-cards { display: none !important; }
    .college-cuts-table-desktop { display: block !important; }
}
