/**
 * Dark Theme Refinements for Triangle Play
 * 
 * Inspired by Destination Pickleball Figma design.
 * Loaded after Tailwind build for surgical overrides.
 */

/* ─── Base ─── */
html, body {
    overflow-x: hidden;
}

main.main {
    background-color: #0a0a0a;
}

/* ─── SiteOrigin Row Overrides ─── */
.so-content-dark {
    background-color: #0a0a0a !important;
}

/* ─── Featured Block Cards ─── */
.courtconnect-featured-block .grid > div {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.courtconnect-featured-block .grid > div:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 30px rgba(0,0,0,0.4);
}

/* ─── FAQ Refinements ─── */
.faq-item {
    border-radius: 12px !important;
    border: 1px solid rgba(255,255,255,0.06) !important;
    transition: all 0.2s ease !important;
    margin-bottom: 4px;
}

.faq-item:hover {
    border-color: rgba(255,255,255,0.12) !important;
    background: #1f1f1f !important;
}

/* ─── Gallery Tabs ─── */
.pckl-gallery-slider .tab-button {
    transition: all 0.2s;
}

.pckl-gallery-slider .tab-button.active {
    border-bottom: 2px solid #00fff0;
}

/* ─── Event Grid Cards (dark) ─── */
.courtconnect-eventst-grid-block article {
    background: #1a1a1a !important;
    border-color: rgba(255,255,255,0.1) !important;
}

/* ─── Form Field Focus Glow ─── */
.courtconnect-non-hubspot-form-block input:focus,
.courtconnect-non-hubspot-form-block textarea:focus,
.courtconnect-non-hubspot-form-block select:focus {
    border-color: rgba(0,255,240,0.5) !important;
    box-shadow: 0 0 0 3px rgba(0,255,240,0.15) !important;
    background: rgba(255,255,255,0.08) !important;
}

/* ─── Button Polish ─── */
.btn-solid {
    transition: all 0.2s ease !important;
}

.btn-solid:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

/* ─── Module Headlines ─── */
.module-container .widget-title {
    letter-spacing: -0.02em;
}

/* ─── Scrollbar Styling (dark) ─── */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #0a0a0a;
}

::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.15);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(255,255,255,0.25);
}

/* ─── Selection color ─── */
::selection {
    background: rgba(0,255,240,0.3);
    color: white;
}

/* ─── Single Post / Event Detail ─── */
.single-cr_event main.main,
.single-post main.main {
    background-color: #0a0a0a;
}

/* ─── Footer refinement ─── */
.footer {
    border-top: 1px solid rgba(255,255,255,0.06);
    background-image: none !important;
    background-color: #0d0d0d !important;
    background: linear-gradient(180deg, #0a0a0a 0%, #0d1117 50%, #0a0a0a 100%) !important;
}

.footer .footer-features {
    border-top: 1px solid rgba(255,255,255,0.06);
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* ─── Table Widget Dark ─── */
.courtconnect-table-block table {
    border-color: rgba(255,255,255,0.1);
}

.courtconnect-table-block th {
    background: rgba(255,255,255,0.05);
    border-color: rgba(255,255,255,0.1);
    color: white;
}

.courtconnect-table-block td {
    border-color: rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.8);
}

.courtconnect-table-block tr:hover td {
    background: rgba(255,255,255,0.03);
}

/* ─── Content Block Polish ─── */
.courtconnect-content-block .module-container,
.festistack-content-block .module-container {
    position: relative;
}

/* ─── Membership Cards ─── */
.courtconnect-memberships-block .plan-card {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px;
    transition: all 0.3s ease;
}

.courtconnect-memberships-block .plan-card:hover {
    background: rgba(255,255,255,0.06);
    border-color: rgba(0,255,240,0.2);
}

/* ─── Venue Grid Mobile Responsive ─── */
@media (max-width: 639px) {
    .module-container > div[style*="column-count"] {
        column-count: 1 !important;
    }
}

@media (min-width: 640px) and (max-width: 1023px) {
    .module-container > div[style*="column-count"] {
        column-count: 2 !important;
    }
}

/* ─── No pills anywhere ─── */
.vl-tier {
    display: none !important;
}

/* ─── Link hover state ─── */
a {
    transition: color 0.15s ease;
}
