/* =======================================================
   Responsive Font Variables
======================================================= */
:root {
    --fs-base: clamp(11px, 1.1vw, 16px);
    --fs-cell: clamp(6px, 0.85vw, 16px);
    --fs-hdr: clamp(9px, 1.0vw, 18px);
    --fs-time: clamp(10px, 0.85vw, 14px);
    --fs-title: clamp(10px, 1.5vw, 25px);
}

/* Smaller text on phones only */
@media (max-width: 768px) {
    :root {
        --fs-cell: clamp(4px, 2.2vw, 7px);
    }
}

.scheduleLogo {
    height: clamp(40px, 8vw, 100px);
    width: auto;
}

/* =======================================================
   Base Layout
======================================================= */
html, body {
    font-size: var(--fs-base) !important;
    width: 100%;
}

.wrapper {
    width: 98%;
    margin: 0 auto;
}

.wrapperHeader {
    background-color: white !important;
}

.wrapperContentPlaceHolder {
    margin-top: 140px !important;
}

.wrapperContentPlaceHolderEventDay {
    margin-top: 180px !important;
}

.headerTable {
    margin: 0 auto;
    width: 95% !important;
}

.tdCentered {
    text-align: center;
    vertical-align: middle;
}

.lbTitle {
    font-weight: bold !important;
    font-size: var(--fs-title) !important;
    color: #DF1544 !important;
}

/* =======================================================
   Grid Wrapper (Mobile Scroll Support)
======================================================= */
.gridWrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* =======================================================
   Header Styling
======================================================= */
.courtHeader {
    background-color: #a49483 !important;
    color: white;
    font-size: var(--fs-hdr) !important;
    font-weight: bold;
    text-align: center;
    border: 1px solid #000000 !important;
}

.courtHeaderTime {
    background-color: yellow !important;
    color: #000000 !important;
    font-size: var(--fs-hdr) !important;
    font-weight: bold;
    text-align: center;
    border: 1px solid #000000 !important;
}

/* Hide second header row under bands */
table[id^="GVD_DX"] tr[id$="_DXHeadersRow1"] {
    display: none !important;
}

.clockWrap {
    margin-top: 5px;
    margin-bottom: 5px;
    text-align: center;
}

.digitalClock {
    display: inline-block;
    padding: 0px 30px 2px 30px;
    border-radius: 1px;
    background-color: #DF1544;
    color: #FFFFFF;
    font-family: Segoe UI, Helvetica, Droid Sans, Tahoma, Geneva, sans-serif;
    font-weight: 900;
    letter-spacing: 1px;
    font-size: clamp(22px, 2.8vw, 40px);
    line-height: 1; 
}

/* =======================================================
   Grid Cells
======================================================= */
.gridRow-static-height {
    min-height: 28px !important;
}

.gridCell {
    border-color: black !important;
    border-width: 1px !important;
    border-style: solid !important;
    text-align: center;
    font-size: var(--fs-cell) !important;
    padding: 0px !important;
}

.gridCell6Court {
    background-color: #B3CBC1;
    font-size: var(--fs-cell) !important;
}

.gridCellMatch6Court {
    background-color: #B3CBC1;
    font-size: var(--fs-cell) !important;
}

/* =======================================================
   Time Column Styling
======================================================= */
.gridCellTime {
    font-size: var(--fs-time) !important;
    font-weight: bold;
    background-color: yellow;
    white-space: nowrap;
}

/* Stronger override for DevExpress theme */
td.gridCellTime.dxgv,
.dxgvDataRow td.gridCellTime,
.dxgvDataRowAlt td.gridCellTime {
    background-color: yellow !important;
    color: black !important;
    font-weight: bold !important;
    font-size: var(--fs-time) !important;
    text-align: center !important;
    vertical-align: middle !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

    td.gridCellTime.dxgv *,
    .dxgvDataRow td.gridCellTime *,
    .dxgvDataRowAlt td.gridCellTime * {
        color: inherit !important;
        font-weight: inherit !important;
        font-size: inherit !important;
    }

/* =======================================================
   Responsive Adjustments
======================================================= */
@media (max-width: 768px) {

    .gridRow-static-height {
        height: 42px !important;
    }

    .dxgvDataRow td,
    .dxgvDataRowAlt td {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
}

@media (max-width: 480px) {

    .gridRow-static-height {
        height: 36px !important;
    }

    .headerTable img {
        height: 70px !important;
    }
}

/* HARD override: Time header text black */
td#GVD_col9.dxgvHeader_ESM.courtHeaderTime,
td#GVD_col9.dxgvHeader_ESM.courtHeaderTime * {
    color: #000 !important;
}

/* Remove all grid cell padding */
#GVD td.dxgv,
#GVD .dxgvDataRow td,
#GVD .dxgvDataRowAlt td,
#GVD .dxgvHeader td,
#GVD .dxgvHeader_ESM {
    padding: 0px !important;
}
/* FINAL: Time cell font must shrink with viewport */
.gridCellTime,
td.gridCellTime.dxgv,
.dxgvDataRow td.gridCellTime,
.dxgvDataRowAlt td.gridCellTime {
    font-size: var(--fs-time) !important;
    font-weight: bold !important;
}

    .gridCellTime *,
    td.gridCellTime.dxgv *,
    .dxgvDataRow td.gridCellTime *,
    .dxgvDataRowAlt td.gridCellTime * {
        font-size: inherit !important;
    }