.golf-scorecard-container {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    background: #B0B2C0 !important;
    overflow: visible !important;
    /* allow the plugin to fill its parent Elementor container */
    height: 100%;
    min-height: 320px; /* fallback if parent has no fixed height */
    display: flex;
    flex-direction: column;
    /* Better Elementor integration */
    box-sizing: border-box !important;
}

/* Special handling for Elementor integration */
.elementor-widget-container .golf-scorecard-container,
.elementor-column .golf-scorecard-container,
.elementor-section .golf-scorecard-container {
    width: 100% !important;
    max-width: 100% !important;
}

.golf-table-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow: auto !important;       /* internal scrolling: header sticky will stick to this wrapper */
    height: calc(100% - 60px);       /* fill container height accounting for rounds selector */
    max-height: 70vh;                /* limit maximum height for larger screens */
    position: relative;
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    margin: 0 !important;
    padding: 0 !important;
    /* Add indicator for horizontal scroll on touch devices */
    scrollbar-width: thin;
    scrollbar-color: #0C1542 #f1f1f1;
}

/* Badge que muestra total_par del servidor */
.golf-scorecard-selector-badge {
    background: #ffffff !important;
    color: #0C1542 !important;
    font-weight: 700;
    padding: 6px 10px;
    border-radius: 16px;
    margin-left: 12px;
    border: 2px solid rgba(255,255,255,0.12);
    box-sizing: border-box;
}

/* Cargar Montserrat */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700&display=swap');

.golf-scorecard-table {
    width: 100% !important;
    min-width: 1200px; /* Reducido de 1300px para columna HOLE optimizada */
    border-collapse: separate !important;
    border-spacing: 1px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px;
    background: transparent !important;
    table-layout: fixed;
}

.golf-scorecard-table th,
.golf-scorecard-table td {
    padding: 10px 8px; /* Padding vertical aumentado para mejor espaciado */
    text-align: center;
    border: none !important;
    color: #222;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background-color 0.2s ease; /* Transición suave en hover */
}

/* Fixed width for hole number columns to prevent stacking */
.golf-scorecard-table th:nth-child(n+3):nth-child(-n+20),
.golf-scorecard-table td:nth-child(n+3):nth-child(-n+20) {
    width: 36px;
    min-width: 36px;
    max-width: 36px;
}

/* Estilos de Celdas de Datos (filas impares y pares) */
.golf-scorecard-table tbody td {
    background: #fff;
    color: #222;
}
.golf-scorecard-table tbody tr:nth-child(even) td {
    background: #f8f9fa;
    color: #222;
}

/* Efecto hover en filas para mejor feedback visual */
.golf-scorecard-table tbody tr:hover td {
    background: #e8f4f8 !important; /* Color hover suave */
    transition: background-color 0.15s ease;
}

/* Mantener colores sticky en hover */
.golf-scorecard-table tbody tr:hover td:first-child {
    background: #0C1542 !important; /* POS mantiene su color */
}

/* === NUEVAS CLASES PARA PUNTAJE ACUMULATIVO === */
.golf-scorecard-table .score-red {
    /* Texto en rojo para indicar resultado bajo par (ej. birdie) */
    background: transparent !important;
    color: #e60000 !important; /* rojo vibrante */
    font-weight: 700 !important;
}
.golf-scorecard-table .score-black {
    /* Texto en oscuro para bogey o peor */
    background: transparent !important;
    color: #111111 !important; /* negro intenso */
    font-weight: 700 !important;
}
/* Neutro/Even */
.golf-scorecard-table .score-even {
    background: transparent !important;
    color: #666666 !important; /* gris suave */
    font-weight: 700 !important;
}

/* === ENCABEZADO FIJO (STICKY HEADER) === */
.golf-scorecard-table thead th {
    background: #0C1542 !important;
    color: #fff !important;
    font-weight: bold !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 220 !important; /* header principal - prioridad media (números de hoyos) */
    border: 1px solid #fff !important;
    background-clip: padding-box !important;
}

.golf-scorecard-table thead .par-row {
    display: table-row !important;
    position: sticky !important;
    top: var(--gg-head-h, 36px) !important;
    z-index: 210 !important; /* par-row - debajo del header de números */
}

.golf-scorecard-table .par-row td {
    background: #0C1542 !important;
    color: #fff !important;
    font-weight: 700 !important;
    background-clip: padding-box !important;
    z-index: 210 !important;
}

/* Asegurar que las filas de jugador estén por encima de otros elementos si es necesario */
.golf-scorecard-table tbody tr.player-row {
    position: relative;
    z-index: 10 !important; /* filas de jugador por debajo de headers */
}

/* Mantener últimas dos celdas de la fila PAR (en THEAD) con fondo azul y sin texto visible */
.golf-scorecard-table thead tr.par-row td:nth-last-child(1),
.golf-scorecard-table thead tr.par-row td:nth-last-child(2) {
    background-color: #0C1542 !important;
    color: transparent !important; /* texto no visible */
    pointer-events: none;
}

/* Celdas de cuerpo: mantener fondo blanco pero permitir que el texto represente el estado */
.golf-scorecard-table tbody td {
    background: #fff !important;
    color: #222 !important;
}
.golf-scorecard-table tbody tr:nth-child(even) td {
    background: #f8f9fa !important;
    color: #222 !important;
}

/* === COLUMNAS FIJAS (STICKY COLUMNS) === */
/* Columna POS (1ra) - Mayor prioridad en z-index para estar siempre visible */
.golf-scorecard-table th:first-child,
.golf-scorecard-table td:first-child {
    width: 42px; min-width: 42px; /* Reducido de 48px para más espacio */
    position: sticky !important;
    left: var(--gg-pos-left, 0px) !important;
    z-index: 300 !important; /* Prioridad alta para estar sobre todo */
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.1) !important; /* Sombra para destacar al hacer scroll */
    background-clip: padding-box !important; /* Asegurar que el fondo sea sólido */
    -webkit-background-clip: padding-box !important;
}
.golf-scorecard-table thead th:first-child { 
    z-index: 310 !important; /* Header POS con máxima prioridad */
    background: #0C1542 !important;
    background-color: #0C1542 !important;
    color: #fff !important;
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.15) !important; /* Sombra más visible en header */
    opacity: 1 !important; /* Forzar opacidad completa */
    background-clip: padding-box !important;
    -webkit-background-clip: padding-box !important;
}
.golf-scorecard-table tbody td:first-child {
    background: #0C1542 !important; /* azul consistente con header */
    background-color: #0C1542 !important;
    color: #fff !important;
    font-weight: 700 !important; /* Peso más fuerte para mayor contraste */
    font-size: 16px !important; /* Tamaño aumentado para mejor legibilidad */
    z-index: 300 !important;
    opacity: 1 !important; /* Forzar opacidad completa */
    background-clip: padding-box !important;
    -webkit-background-clip: padding-box !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important; /* Línea blanca separadora más sutil */
}

/* Reglas altamente específicas para forzar estilo POS frente a CSS externos (Elementor/Theme) */
.golf-table-wrapper .golf-scorecard-table > thead > tr > th:first-child,
.golf-table-wrapper .golf-scorecard-table > tbody > tr > td:first-child {
    background: #0C1542 !important;
    background-color: #0C1542 !important;
    color: #fff !important;
    position: sticky !important;
    left: 0 !important;
    z-index: 300 !important;
    opacity: 1 !important;
    background-clip: padding-box !important;
    -webkit-background-clip: padding-box !important;
    border-bottom: 1px solid #ffffff !important; /* Línea blanca separadora */
}

/* Asegurar que la fila PAR también tenga el z-index correcto para POS */
.golf-scorecard-table thead tr.par-row td:first-child {
    z-index: 305 !important;
    background: #0C1542 !important;
    background-color: #0C1542 !important;
    color: #fff !important;
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.15) !important;
    opacity: 1 !important;
    background-clip: padding-box !important;
    -webkit-background-clip: padding-box !important;
}

/* Columna PLAYER (2da) */
.golf-scorecard-table th:nth-child(2) {
    width: 110px; min-width: 95px; /* Reducido más de 140px/120px para desktop */
    position: sticky !important;
    left: var(--gg-player-left, 42px) !important; /* Actualizado de 48px a 42px */
    z-index: 250 !important; /* header player por encima de contenido pero debajo de POS */
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.08) !important; /* Sombra sutil */
    background: #0C1542 !important;
    background-color: #0C1542 !important;
    opacity: 1 !important;
    background-clip: padding-box !important;
    -webkit-background-clip: padding-box !important;
}
.golf-scorecard-table td:nth-child(2) {
    width: 110px; min-width: 95px; /* Reducido más de 140px/120px para desktop */
    position: sticky !important;
    left: var(--gg-player-left, 42px) !important; /* Actualizado de 48px a 42px */
    z-index: 240 !important; /* celdas player por delante del contenido pero detrás de POS */
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.08) !important; /* Sombra sutil */
    opacity: 1 !important;
    background-clip: padding-box !important;
    -webkit-background-clip: padding-box !important;
    text-align: left !important; /* Alineación a la izquierda */
    padding-left: 8px !important; /* Reducido de 12px para ahorrar espacio */
    padding-right: 4px !important; /* Reducido de 8px para ahorrar espacio */
    text-transform: uppercase !important; /* Nombres en mayúsculas */
    font-size: 13px !important; /* Reducido de 15px para mejor ajuste compacto */
    font-weight: 700 !important; /* Negrita más fuerte para mayor énfasis */
    letter-spacing: 0px !important; /* Eliminado espaciado extra para ahorrar espacio */
    color: #0C1542 !important; /* Color azul oscuro para contraste */
    overflow: hidden !important; /* Ocultar overflow */
    text-overflow: ellipsis !important; /* Añadir ... si el nombre es muy largo */
    white-space: nowrap !important; /* Evitar que se rompa en múltiples líneas */
}
.golf-scorecard-table tbody td:nth-child(2) { 
    background: white !important;
    background-color: white !important;
    opacity: 1 !important;
    border-bottom: 1px solid #e0e0e0 !important; /* Línea gris sutil separadora */
}
.golf-scorecard-table tbody tr:nth-child(even) td:nth-child(2) { 
    background: #f8f9fa !important;
    background-color: #f8f9fa !important;
    opacity: 1 !important;
    border-bottom: 1px solid #d0d0d0 !important; /* Línea gris para filas pares */
}

/* Ensure first and second columns intersections have proper z-index hierarchy */
.golf-scorecard-table thead th:first-child {
    z-index: 310 !important; /* POS header - máxima prioridad */
}
.golf-scorecard-table thead th:nth-child(2) {
    z-index: 250 !important; /* PLAYER header - debajo de POS */
    background: #0C1542 !important;
    background-color: #0C1542 !important;
    opacity: 1 !important;
}
.golf-scorecard-table thead tr.par-row td:first-child {
    z-index: 305 !important; /* PAR row POS - alta prioridad */
}
.golf-scorecard-table thead tr.par-row td:nth-child(2) {
    z-index: 245 !important; /* PAR row PLAYER - debajo de POS */
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.08) !important;
    background: #0C1542 !important;
    background-color: #0C1542 !important;
    color: #fff !important; /* Texto blanco para PAR */
    font-weight: 700 !important; /* Negrita para destacar */
    text-align: center !important; /* Centrado como el resto */
    opacity: 1 !important;
    background-clip: padding-box !important;
    -webkit-background-clip: padding-box !important;
    position: sticky !important; /* Mantener sticky como la columna HOLE */
    left: var(--gg-player-left, 42px) !important; /* Actualizado de 48px a 42px */
}

/* Anchos fijos para TO PAR y TOTAL - NO sticky para ver más columnas */
.golf-scorecard-table th:nth-last-child(2),
.golf-scorecard-table td:nth-last-child(2) { 
    min-width: 80px; 
    width: 80px; 
    /* NO sticky - permite ver más hoyos antes de llegar a estas columnas */
}
.golf-scorecard-table th:last-child,
.golf-scorecard-table td:last-child { 
    min-width: 80px; 
    width: 80px; 
    /* NO sticky - permite ver más hoyos antes de llegar a estas columnas */
}

/* Mantener background colors para TO PAR y TOTAL */

.golf-scorecard-table tbody td:nth-last-child(2),
.golf-scorecard-table tbody td:last-child {
    background-color: white !important;
}

.golf-scorecard-table tbody tr:nth-child(even) td:nth-last-child(2),
.golf-scorecard-table tbody tr:nth-child(even) td:last-child {
    background-color: #f8f9fa !important;
}


/* ============================================
   MEDIA QUERIES - RESPONSIVE DESIGN
   ============================================ */

/* Extra Large Desktops - 1920px y superior */
@media (min-width: 1920px) {
    .golf-scorecard-table {
        min-width: 1600px; /* Mostrar más columnas en pantallas grandes */
        font-size: 15px;
    }
    
    .golf-table-wrapper {
        max-height: 75vh;
    }
    
    .golf-scorecard-table th:nth-child(n+3):nth-child(-n+20),
    .golf-scorecard-table td:nth-child(n+3):nth-child(-n+20) {
        width: 40px;
        min-width: 40px;
        max-width: 40px;
    }
}

/* Large Desktops - 1440px a 1919px */
@media (min-width: 1440px) and (max-width: 1919px) {
    .golf-scorecard-table {
        min-width: 1500px;
        font-size: 14px;
    }
    
    .golf-table-wrapper {
        max-height: 72vh;
    }
    
    .golf-scorecard-table th:nth-child(n+3):nth-child(-n+20),
    .golf-scorecard-table td:nth-child(n+3):nth-child(-n+20) {
        width: 38px;
        min-width: 38px;
        max-width: 38px;
    }
}

/* Standard Desktops - 1200px a 1439px */
@media (min-width: 1200px) and (max-width: 1439px) {
    .golf-scorecard-table {
        min-width: 1400px;
        font-size: 14px;
    }
    
    .golf-table-wrapper {
        max-height: 70vh;
    }
    
    .golf-scorecard-table th:nth-child(n+3):nth-child(-n+20),
    .golf-scorecard-table td:nth-child(n+3):nth-child(-n+20) {
        width: 36px;
        min-width: 36px;
        max-width: 36px;
    }
}

/* Tablets Landscape & Small Desktops - 1025px a 1199px */
@media (min-width: 1025px) and (max-width: 1199px) {
    .golf-scorecard-table {
        min-width: 1200px;
        font-size: 13px;
    }
    
    .golf-table-wrapper {
        max-height: 65vh;
        -webkit-overflow-scrolling: touch;
    }
    
    .golf-scorecard-table th,
    .golf-scorecard-table td {
        padding: 7px;
    }
    
    .golf-scorecard-table th:nth-child(n+3):nth-child(-n+20),
    .golf-scorecard-table td:nth-child(n+3):nth-child(-n+20) {
        width: 34px;
        min-width: 34px;
        max-width: 34px;
    }
    
    .golf-scorecard-table th:nth-child(2),
    .golf-scorecard-table td:nth-child(2) {
        width: 160px;
        min-width: 140px;
    }
    
    /* Improved visibility of sticky columns */
    .golf-scorecard-table th:first-child, 
    .golf-scorecard-table td:first-child,
    .golf-scorecard-table th:nth-child(2), 
    .golf-scorecard-table td:nth-child(2) {
        box-shadow: 2px 0 5px rgba(0,0,0,0.12);
    }
}

/* Tablets Portrait - 768px a 1024px */
@media (min-width: 768px) and (max-width: 1024px) {
    .golf-scorecard-table {
        min-width: 1000px;
        font-size: 13px;
    }
    
    .golf-table-wrapper {
        max-height: 60vh;
        -webkit-overflow-scrolling: touch;
    }
    
    .golf-scorecard-table th,
    .golf-scorecard-table td {
        padding: 6px;
    }
    
    .golf-scorecard-table th:nth-child(n+3):nth-child(-n+20),
    .golf-scorecard-table td:nth-child(n+3):nth-child(-n+20) {
        width: 32px;
        min-width: 32px;
        max-width: 32px;
    }
    
    .golf-scorecard-table th:nth-child(2),
    .golf-scorecard-table td:nth-child(2) {
        width: 140px;
        min-width: 120px;
    }
    
    .golf-scorecard-table th:first-child,
    .golf-scorecard-table td:first-child {
        width: 44px;
        min-width: 44px;
    }
    
    /* Improved visibility of sticky columns */
    .golf-scorecard-table th:first-child, 
    .golf-scorecard-table td:first-child,
    .golf-scorecard-table th:nth-child(2), 
    .golf-scorecard-table td:nth-child(2) {
        box-shadow: 2px 0 5px rgba(0,0,0,0.15);
    }
}

/* Mobile Landscape & Small Tablets - 600px a 767px */
@media (min-width: 600px) and (max-width: 767px) {
    .golf-scorecard-table {
        min-width: 900px;
        font-size: 12px;
    }
    
    .golf-table-wrapper {
        max-height: 60vh;
        border-radius: 0;
        -webkit-overflow-scrolling: touch;
    }
    
    .golf-scorecard-table th,
    .golf-scorecard-table td {
        padding: 5px;
    }
    
    .golf-scorecard-table th:nth-child(n+3):nth-child(-n+20),
    .golf-scorecard-table td:nth-child(n+3):nth-child(-n+20) {
        width: 30px;
        min-width: 30px;
        max-width: 30px;
    }
    
    .golf-scorecard-table th:nth-child(2),
    .golf-scorecard-table td:nth-child(2) {
        width: 130px;
        min-width: 110px;
    }
    
    .golf-scorecard-table th:first-child,
    .golf-scorecard-table td:first-child {
        width: 42px;
        min-width: 42px;
    }
    
    .golf-rounds-selector select {
        max-width: 160px;
        font-size: 13px;
    }
}

/* Mobile Portrait - 480px a 599px */
@media (min-width: 480px) and (max-width: 599px) {
    .golf-scorecard-table {
        min-width: 800px;
        font-size: 12px;
    }
    
    .golf-table-wrapper {
        max-height: 65vh;
        border-radius: 0;
    }
    
    .golf-scorecard-table th,
    .golf-scorecard-table td {
        padding: 4px 5px;
    }
    
    .golf-scorecard-table th:nth-child(n+3):nth-child(-n+20),
    .golf-scorecard-table td:nth-child(n+3):nth-child(-n+20) {
        width: 28px;
        min-width: 28px;
        max-width: 28px;
    }
    
    .golf-scorecard-table th:nth-child(2),
    .golf-scorecard-table td:nth-child(2) {
        width: 100px; /* Reducido para móviles */
        min-width: 85px; /* Reducido para móviles */
        font-size: 13px !important;
        padding-left: 8px !important; /* Padding ajustado */
    }
    
    .golf-scorecard-table th:first-child,
    .golf-scorecard-table td:first-child {
        width: 40px;
        min-width: 40px;
    }
    
    .golf-rounds-selector select {
        max-width: 150px;
        font-size: 13px;
    }
    
    /* Improve mobile experience in Elementor */
    .elementor-widget-container .golf-scorecard-container,
    .elementor-section .golf-scorecard-container {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
}

/* Extra Small Devices - menos de 480px */
@media (max-width: 479px) {
    .golf-scorecard-table {
        min-width: 700px;
        font-size: 11px;
    }
    
    .golf-table-wrapper {
        max-height: 60vh;
        border-radius: 0;
    }
    
    .golf-scorecard-table th,
    .golf-scorecard-table td {
        padding: 6px 4px; /* Padding reducido pero legible */
    }
    
    .golf-scorecard-table th:nth-child(n+3):nth-child(-n+20),
    .golf-scorecard-table td:nth-child(n+3):nth-child(-n+20) {
        width: 26px;
        min-width: 26px;
        max-width: 26px;
    }
    
    .golf-scorecard-table th:nth-child(2),
    .golf-scorecard-table td:nth-child(2) {
        width: 95px; /* Reducido para móviles muy pequeños */
        min-width: 80px; /* Reducido para móviles muy pequeños */
        font-size: 12px !important; /* Nombres visibles en móviles pequeños */
        padding-left: 8px !important; /* Padding ajustado */
        letter-spacing: 0.2px !important; /* Menor espaciado */
    }
    
    .golf-scorecard-table th:first-child,
    .golf-scorecard-table td:first-child {
        width: 38px;
        min-width: 38px;
        font-size: 14px !important; /* POS visible en móviles */
    }
    
    .golf-scorecard-table th:nth-last-child(2),
    .golf-scorecard-table td:nth-last-child(2),
    .golf-scorecard-table th:last-child,
    .golf-scorecard-table td:last-child {
        min-width: 70px;
        width: 70px;
    }
    
    .golf-scorecard-container .golf-rounds-selector {
        padding: 6px 8px;
        flex-wrap: wrap;
        font-size: 12px;
    }
    
    .golf-scorecard-container .rounds-dropdown,
    .golf-scorecard-container .frontend-event-select {
        font-size: 12px;
        padding: 5px;
        width: 100%;
        margin-top: 4px;
    }
    
    .golf-scorecard-container .golf-rounds-selector label {
        margin-right: 4px;
        font-size: 12px;
    }
    
    /* Special handling for Elementor sections */
    .elementor-section-wrap .golf-scorecard-container {
        overflow: hidden;
    }
    
    .elementor-widget-container .golf-scorecard-container,
    .elementor-section .golf-scorecard-container {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
}

/* Height-specific adjustments for short screens */
@media (max-height: 600px) {
    .golf-table-wrapper {
        max-height: 50vh;
    }
}

@media (max-height: 500px) {
    .golf-table-wrapper {
        max-height: 45vh;
    }
    
    .golf-scorecard-container {
        min-height: 280px;
    }
}

/* Portrait orientation optimization */
@media (orientation: portrait) and (max-width: 767px) {
    .golf-table-wrapper {
        max-height: 55vh;
    }
}

/* Mobile sticky columns - force solid background */
@media (max-width: 767px) {
    /* POS column - completely solid */
    .golf-scorecard-table th:first-child,
    .golf-scorecard-table td:first-child,
    .golf-scorecard-table .par-row td:first-child {
        opacity: 1 !important;
        background-color: #0C1542 !important;
        background-clip: padding-box !important;
        -webkit-background-clip: padding-box !important;
        will-change: transform;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
    }
    
    /* PLAYER column - completely solid */
    .golf-scorecard-table th:nth-child(2),
    .golf-scorecard-table td:nth-child(2),
    .golf-scorecard-table .par-row td:nth-child(2) {
        opacity: 1 !important;
        background-color: #0C1542 !important;
        background-clip: padding-box !important;
        -webkit-background-clip: padding-box !important;
        will-change: transform;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
    }
}

/* Landscape orientation optimization */
@media (orientation: landscape) and (max-height: 500px) {
    .golf-table-wrapper {
        max-height: 50vh;
    }
    
    .golf-scorecard-table th,
    .golf-scorecard-table td {
        padding: 4px 5px;
        font-size: 11px;
    }
}

/* Modal para mostrar par por hoyo */
.gg-par-modal { position: fixed; inset: 0; display: none; align-items: center; justify-content: center; z-index: 9999; }
.gg-par-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.5); }
.gg-par-modal-content { position: relative; background: #fff; color: #14264b; max-width: 520px; width: 92%; margin: 0 auto; padding: 18px; border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,0.3); z-index: 2; }
.gg-par-modal-close { position: absolute; top: 8px; right: 10px; background: transparent; border: none; font-size: 20px; cursor: pointer; }
.gg-par-table { width: 100%; border-collapse: collapse; margin-top: 8px; }
.gg-par-table th, .gg-par-table td { padding: 8px; border: 1px solid #e6e6e6; text-align: center; }
.gg-par-table thead th { background: #f5f5f5; }

/* Hide the unnecessary spacer */
.golf-rounds-selector--spacer {
    display: none;
}

/* Custom scrollbars for better UX */
.golf-table-wrapper::-webkit-scrollbar {
    height: 8px;
    width: 8px;
}

.golf-table-wrapper::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.golf-table-wrapper::-webkit-scrollbar-thumb {
    background: #0C1542;
    border-radius: 4px;
}

.golf-table-wrapper::-webkit-scrollbar-thumb:hover {
    background: #232f66;
}

/* Visual indicator for horizontal scrolling on touch devices */
@media (hover: none) and (pointer: coarse) {
    .golf-table-wrapper::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 20px;
        background: linear-gradient(to right, transparent, rgba(255,255,255,0.7));
        pointer-events: none;
        opacity: 0.7;
        z-index: 80;
    }
    
    /* Elementor specific fixes for shortcode embedded tables */
    .elementor .golf-scorecard-container {
        max-width: 100vw !important;
    }
    
    .elementor-widget:not(.elementor-widget-text-editor) .golf-table-wrapper {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
}