/* =============================================
   Long Bombs Golf Picks — Styles
   Color scheme: Black & Gold
   ============================================= */

:root {
    --lbgp-black:      #111111;
    --lbgp-dark:       #1a1a1a;
    --lbgp-card:       #222222;
    --lbgp-border:     #333333;
    --lbgp-gold:       #c9a84c;
    --lbgp-gold-light: #e0c068;
    --lbgp-gold-dark:  #a07830;
    --lbgp-white:      #ffffff;
    --lbgp-gray:       #aaaaaa;
    --lbgp-success:    #2d7a2d;
    --lbgp-error:      #8b1c1c;
    --lbgp-radius:     8px;
    --lbgp-font:       -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Wrapper */
.lbgp-wrap {
    font-family: var(--lbgp-font);
    max-width: 900px;
    margin: 0 auto;
    padding: 0 16px 48px;
    color: var(--lbgp-white);
}

/* Header */
.lbgp-header {
    text-align: center;
    margin-bottom: 32px;
    padding: 32px 24px;
    background: var(--lbgp-dark);
    border-radius: var(--lbgp-radius);
    border-bottom: 3px solid var(--lbgp-gold);
}

.lbgp-header h2 {
    color: var(--lbgp-gold) !important;
    font-size: 1.8rem !important;
    margin: 0 0 8px !important;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.lbgp-deadline {
    margin: 0 !important;
    font-size: 0.95rem;
}

.lbgp-closed  { color: #e05555; font-weight: 600; }
.lbgp-open    { color: var(--lbgp-gold); font-weight: 600; }

/* Sections */
.lbgp-section {
    background: var(--lbgp-card);
    border: 1px solid var(--lbgp-border);
    border-radius: var(--lbgp-radius);
    padding: 24px;
    margin-bottom: 24px;
}

.lbgp-section-title {
    color: var(--lbgp-gold) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    margin: 0 0 16px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid var(--lbgp-border) !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.lbgp-pick-rule {
    font-weight: 400;
    color: var(--lbgp-gray);
    font-size: 0.9rem;
    text-transform: none;
    letter-spacing: 0;
}

/* Pick counter */
.lbgp-pick-counter {
    display: inline-block;
    background: var(--lbgp-black);
    border: 1px solid var(--lbgp-gold);
    color: var(--lbgp-gold);
    padding: 4px 14px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 16px;
}

/* Fields */
.lbgp-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

@media (max-width: 600px) {
    .lbgp-fields { grid-template-columns: 1fr; }
}

.lbgp-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.lbgp-field label {
    color: var(--lbgp-gray);
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.lbgp-field input[type="text"],
.lbgp-field input[type="email"],
.lbgp-field input[type="number"] {
    background: var(--lbgp-black) !important;
    border: 1px solid var(--lbgp-border) !important;
    color: var(--lbgp-white) !important;
    padding: 10px 14px !important;
    border-radius: var(--lbgp-radius) !important;
    font-size: 0.95rem !important;
    transition: border-color 0.2s;
    width: 100%;
    box-sizing: border-box;
}

.lbgp-field input:focus {
    outline: none !important;
    border-color: var(--lbgp-gold) !important;
}

.req { color: var(--lbgp-gold); }

.lbgp-hint {
    color: var(--lbgp-gray) !important;
    font-size: 0.8rem !important;
    margin: 2px 0 0 !important;
}

/* Acknowledge checkbox */
.lbgp-acknowledge {
    margin-top: 16px;
}

.lbgp-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    color: var(--lbgp-gray) !important;
    font-size: 0.9rem !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.lbgp-checkbox-label input[type="checkbox"] {
    margin-top: 2px;
    accent-color: var(--lbgp-gold);
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

/* Golfer grid */
.lbgp-golfer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 8px;
}

@media (max-width: 480px) {
    .lbgp-golfer-grid { grid-template-columns: repeat(2, 1fr); }
}

.lbgp-golfer-tile {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px;
    background: var(--lbgp-black);
    border: 1px solid var(--lbgp-border);
    border-radius: var(--lbgp-radius);
    cursor: pointer !important;
    transition: border-color 0.15s, background 0.15s;
    user-select: none;
    pointer-events: auto !important;
    position: relative;
}

.lbgp-golfer-tile:hover {
    border-color: var(--lbgp-gold-dark);
}

.lbgp-golfer-tile input[type="checkbox"] {
    display: none !important;
    pointer-events: none;
}

.lbgp-golfer-name {
    pointer-events: none;
}

.lbgp-check-icon {
    pointer-events: none;
}


.lbgp-golfer-name {
    font-size: 0.88rem;
    color: var(--lbgp-white);
    flex: 1;
}

.lbgp-check-icon {
    color: var(--lbgp-gold);
    font-size: 1rem;
    font-weight: 700;
    opacity: 0;
    transition: opacity 0.15s;
}

/* Selected state */
.lbgp-golfer-tile.selected {
    background: rgba(201, 168, 76, 0.12);
    border-color: var(--lbgp-gold);
}

.lbgp-golfer-tile.selected .lbgp-golfer-name {
    color: var(--lbgp-gold-light);
    font-weight: 600;
}

.lbgp-golfer-tile.selected .lbgp-check-icon {
    opacity: 1;
}

/* Disabled (max picks reached) */
.lbgp-golfer-tile.disabled:not(.selected) {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Submit button */
.lbgp-submit-section {
    text-align: center;
    background: transparent !important;
    border: none !important;
    padding: 8px 0 !important;
}

.lbgp-btn {
    background: linear-gradient(135deg, var(--lbgp-gold), var(--lbgp-gold-dark)) !important;
    color: var(--lbgp-black) !important;
    border: none !important;
    padding: 14px 48px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: var(--lbgp-radius) !important;
    cursor: pointer !important;
    transition: opacity 0.2s, transform 0.1s !important;
    min-width: 200px;
}

.lbgp-btn:hover:not(:disabled) {
    opacity: 0.9 !important;
    transform: translateY(-1px) !important;
}

.lbgp-btn:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
}

/* Messages */
.lbgp-success {
    background: rgba(45, 122, 45, 0.15);
    border: 1px solid #2d7a2d;
    color: #6fcf6f;
    padding: 16px 20px;
    border-radius: var(--lbgp-radius);
    margin-bottom: 24px;
    font-weight: 600;
    text-align: center;
}

.lbgp-error {
    background: rgba(139, 28, 28, 0.15);
    border: 1px solid #8b1c1c;
    color: #e07070;
    padding: 16px 20px;
    border-radius: var(--lbgp-radius);
    margin-bottom: 24px;
    font-weight: 600;
    text-align: center;
}

.lbgp-closed-msg {
    background: var(--lbgp-card);
    border: 1px solid var(--lbgp-border);
    border-radius: var(--lbgp-radius);
    padding: 32px;
    text-align: center;
    color: var(--lbgp-gray);
}

.lbgp-empty {
    text-align: center;
    color: var(--lbgp-gray);
    padding: 32px;
}

/* =============================================
   Leaderboard Table
   ============================================= */
.lbgp-leaderboard-wrap .lbgp-entry-count {
    color: var(--lbgp-gray);
    font-size: 0.9rem;
    margin: 4px 0 0 !important;
}

.lbgp-table-wrap {
    overflow-x: auto;
    border-radius: var(--lbgp-radius);
    border: 1px solid var(--lbgp-border);
}

.lbgp-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
    background: var(--lbgp-dark);
}

.lbgp-table thead tr {
    background: var(--lbgp-black);
    border-bottom: 2px solid var(--lbgp-gold);
}

.lbgp-table th {
    color: var(--lbgp-gold) !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 12px 14px !important;
    text-align: left !important;
    white-space: nowrap;
    font-size: 0.78rem !important;
}

.lbgp-table td {
    padding: 10px 14px !important;
    border-bottom: 1px solid var(--lbgp-border) !important;
    color: var(--lbgp-white) !important;
    vertical-align: top;
}

.lbgp-entry-row:last-child td {
    border-bottom: none !important;
}

.lbgp-entry-row:hover td {
    background: rgba(201, 168, 76, 0.05) !important;
}

.lbgp-rank {
    color: var(--lbgp-gold) !important;
    font-weight: 700 !important;
    text-align: center !important;
    width: 40px;
}

.lbgp-name {
    font-weight: 600 !important;
    white-space: nowrap;
}

.lbgp-picks {
    color: var(--lbgp-gray) !important;
    font-size: 0.82rem !important;
    min-width: 160px;
}

.lbgp-tb {
    text-align: center !important;
    color: var(--lbgp-gold-light) !important;
    font-weight: 600 !important;
    white-space: nowrap;
}

.lbgp-ts {
    color: var(--lbgp-gray) !important;
    font-size: 0.78rem !important;
    white-space: nowrap;
}
