/*
Theme Name: Events in Britain
Theme URI: https://www.eventsinbritain.co.uk/
Author: Events in Britain
Author URI: https://www.eventsinbritain.co.uk/
Description: A premium dark-themed events listing theme for Britain, featuring event discovery, organizer accounts, and modern Eventbrite-like UX.
Version: 1.6.0
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: events-in-britain
Tags: events, entertainment, dark-theme, custom-colors, custom-logo, custom-menu, featured-images
*/

/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
    /* Premium Dark Palette */
    --eib-base: #151e27;
    --eib-surface: #202b38;
    --eib-surface-hover: #2a3847;
    --eib-primary: #b52922;
    --eib-primary-hover: #9a231d;
    --eib-primary-light: #d63a32;
    --eib-text: #ffffff;
    --eib-text-muted: rgba(255, 255, 255, 0.7);
    --eib-text-subtle: rgba(255, 255, 255, 0.5);
    --eib-border: rgba(255, 255, 255, 0.08);
    --eib-border-light: rgba(255, 255, 255, 0.12);
    --eib-success: #10b981;
    --eib-warning: #f59e0b;
    --eib-error: #ef4444;
    --eib-info: #3b82f6;
    
    /* Tailwind-compatible color mappings */
    --color-primary: #b52922;
    --color-base: #151e27;
    --color-surface: #202b38;
}

/* Base font family */
body,
html {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
    background-color: var(--eib-base);
    color: var(--eib-text);
}

/* Override Tailwind bg classes for dark theme */
.bg-white { background-color: var(--eib-surface) !important; }
.bg-gray-50 { background-color: var(--eib-base) !important; }
.bg-gray-100 { background-color: #1a242f !important; }
.bg-gray-200 { background-color: var(--eib-surface) !important; }
.text-gray-900 { color: var(--eib-text) !important; }
.text-gray-800 { color: var(--eib-text) !important; }
.text-gray-700 { color: rgba(255, 255, 255, 0.9) !important; }
.text-gray-600 { color: var(--eib-text-muted) !important; }
.text-gray-500 { color: var(--eib-text-subtle) !important; }
.text-gray-400 { color: rgba(255, 255, 255, 0.4) !important; }
.border-gray-200 { border-color: var(--eib-border) !important; }
.border-gray-300 { border-color: var(--eib-border-light) !important; }

/* Form elements dark styling */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="datetime-local"],
input[type="time"],
textarea,
select {
    background-color: var(--eib-surface) !important;
    border-color: var(--eib-border-light) !important;
    color: var(--eib-text) !important;
}

input::placeholder,
textarea::placeholder {
    color: var(--eib-text-subtle) !important;
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--eib-primary) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(181, 41, 34, 0.25) !important;
}

/* Checkbox styling */
input[type="checkbox"] {
    accent-color: var(--eib-primary);
}

/* Card hover effects */
.eib-card {
    background-color: var(--eib-surface);
    border-radius: 16px;
    border: 1px solid var(--eib-border);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.eib-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
    border-color: var(--eib-border-light);
}

/* Premium button styles */
.eib-btn-primary {
    background-color: var(--eib-primary) !important;
    color: var(--eib-text) !important;
    border-radius: 9999px;
    transition: all 0.2s ease;
    border: none;
}

.eib-btn-primary:hover {
    background-color: var(--eib-primary-hover) !important;
    transform: translateY(-1px);
}

/* Alert/Notice styling */
.eib-alert-success {
    background-color: rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.3);
    color: #34d399;
}

.eib-alert-warning {
    background-color: rgba(245, 158, 11, 0.15);
    border: 1px solid rgba(245, 158, 11, 0.3);
    color: #fbbf24;
}

.eib-alert-error {
    background-color: rgba(239, 68, 68, 0.15);
    border: 1px solid rgba(239, 68, 68, 0.3);
    color: #f87171;
}

.eib-alert-info {
    background-color: rgba(59, 130, 246, 0.15);
    border: 1px solid rgba(59, 130, 246, 0.3);
    color: #60a5fa;
}

/* Link styling */
a {
    color: var(--eib-text);
    transition: color 0.2s ease;
}

a:hover {
    color: var(--eib-primary-light);
}

/* Selection styling */
::selection {
    background-color: var(--eib-primary);
    color: var(--eib-text);
}

/* Scrollbar styling for dark theme */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--eib-base);
}

::-webkit-scrollbar-thumb {
    background: var(--eib-surface);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--eib-surface-hover);
}

/* Accessibility */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: var(--eib-surface);
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(181, 41, 34, 0.6);
    clip: auto !important;
    clip-path: none;
    color: var(--eib-text);
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

.skip-link {
    position: absolute;
    left: -9999em;
    top: -9999em;
}

.skip-link:focus {
    left: 6px;
    top: 7px;
    z-index: 100000;
}

/* Badge styles */
.eib-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.eib-badge-featured {
    background-color: var(--eib-primary);
    color: var(--eib-text);
}

.eib-badge-free {
    background-color: var(--eib-success);
    color: var(--eib-text);
}

.eib-badge-online {
    background-color: var(--eib-info);
    color: var(--eib-text);
}

/* Hero section gradient overlay */
.eib-hero-gradient {
    background: linear-gradient(135deg, var(--eib-base) 0%, var(--eib-surface) 100%);
}

/* Premium glow effect */
.eib-glow {
    box-shadow: 0 0 40px rgba(181, 41, 34, 0.15);
}

/* Skeleton loading animation */
@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

.eib-skeleton {
    background: linear-gradient(90deg, var(--eib-surface) 25%, var(--eib-surface-hover) 50%, var(--eib-surface) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}
