/* Events Page — Premium Dark Theme */
:root {
    --ev-gold: #C9A96E;
    --ev-dark: #0d0d0d;
    --ev-card: #1a1a1a;
    --ev-border: rgba(201,169,110,0.12);
}

/* Override custom cursor from style.css */
body, a, button, input, select, textarea { cursor: auto !important; }
a, button { cursor: pointer !important; }
.cursor, .cursor-dot { display: none !important; }

/* Hero */
.events-hero { position:relative; height:45vh; min-height:350px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.events-hero-bg { position:absolute; inset:0; background:linear-gradient(135deg, #1a0a00 0%, #0d0d0d 40%, #0a0a1a 100%); }
.events-hero-bg::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 30% 50%, rgba(201,169,110,0.08) 0%, transparent 60%); }
.events-hero-content { position:relative; z-index:2; text-align:center; padding:0 2rem; }
.events-eyebrow { font-family:'Outfit',sans-serif; font-size:0.75rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--ev-gold); margin-bottom:0.8rem; display:flex; align-items:center; gap:0.5rem; justify-content:center; }
.events-title { font-family:'Cormorant Garamond',serif; font-size:3.5rem; font-weight:300; color:#fff; line-height:1.15; margin-bottom:1rem; }
.events-title em { font-style:italic; color:var(--ev-gold); }
.events-subtitle { font-family:'Outfit',sans-serif; font-size:0.95rem; color:rgba(255,255,255,0.5); max-width:500px; margin:0 auto; line-height:1.6; }

/* Container */
.events-container { max-width:1100px; margin:0 auto; padding:0 2rem; }

/* Filters */
.events-filters { padding:2rem 0 0; background:var(--ev-dark); }
.filter-bar { display:flex; gap:0.4rem; flex-wrap:wrap; justify-content:center; }
.filter-pill { background:var(--ev-card); border:1px solid var(--ev-border); color:rgba(255,255,255,0.5); padding:0.45rem 1rem; border-radius:25px; font-family:'Outfit',sans-serif; font-size:0.75rem; cursor:pointer; transition:all 0.25s; display:flex; align-items:center; gap:0.3rem; }
.filter-pill:hover { border-color:var(--ev-gold); color:rgba(255,255,255,0.8); }
.filter-pill.active { background:var(--ev-gold); color:var(--ev-dark); border-color:var(--ev-gold); font-weight:600; }

/* Events Section */
.events-section { padding:2.5rem 0 4rem; background:var(--ev-dark); min-height:50vh; }

/* Featured Event */
.featured-card { position:relative; border-radius:16px; overflow:hidden; margin-bottom:2.5rem; cursor:pointer; border:1px solid var(--ev-border); transition:all 0.3s; }
.featured-card:hover { border-color:rgba(201,169,110,0.3); box-shadow:0 20px 60px rgba(0,0,0,0.5); transform:translateY(-3px); }
.featured-card .fc-image { height:350px; background-size:cover; background-position:center; position:relative; }
.featured-card .fc-image::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 20%, rgba(13,13,13,0.95) 100%); }
.featured-card .fc-badge { position:absolute; top:1rem; left:1rem; z-index:2; background:var(--ev-gold); color:var(--ev-dark); padding:0.3rem 0.8rem; border-radius:20px; font-size:0.65rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; }
.featured-card .fc-content { position:absolute; bottom:0; left:0; right:0; padding:2rem; z-index:2; }
.featured-card .fc-date { font-family:'Outfit',sans-serif; font-size:0.7rem; color:var(--ev-gold); letter-spacing:0.15em; text-transform:uppercase; margin-bottom:0.5rem; }
.featured-card .fc-title { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:400; color:#fff; margin-bottom:0.4rem; }
.featured-card .fc-desc { font-size:0.8rem; color:rgba(255,255,255,0.6); line-height:1.5; max-width:600px; }
.featured-card .fc-footer { display:flex; align-items:center; gap:1rem; margin-top:1rem; }
.featured-card .fc-price { background:rgba(201,169,110,0.15); color:var(--ev-gold); padding:0.3rem 0.8rem; border-radius:20px; font-size:0.75rem; font-weight:500; }

/* Events Grid */
.events-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:1.2rem; }

/* Event Card */
.event-card { background:var(--ev-card); border:1px solid var(--ev-border); border-radius:12px; overflow:hidden; cursor:pointer; transition:all 0.3s; position:relative; }
.event-card:hover { border-color:rgba(201,169,110,0.3); box-shadow:0 12px 40px rgba(0,0,0,0.4); transform:translateY(-4px); }
.event-card .ec-image { height:180px; background-size:cover; background-position:center; position:relative; }
.event-card .ec-image::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(26,26,26,0.9) 100%); }
.event-card .ec-category { position:absolute; top:0.8rem; left:0.8rem; z-index:2; padding:0.2rem 0.6rem; border-radius:15px; font-size:0.6rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; }
.ec-category.soiree { background:rgba(156,39,176,0.8); color:#fff; }
.ec-category.concert { background:rgba(244,67,54,0.8); color:#fff; }
.ec-category.brunch { background:rgba(255,152,0,0.8); color:#fff; }
.ec-category.degustation { background:rgba(121,85,72,0.8); color:#fff; }
.ec-category.prive { background:rgba(96,125,139,0.8); color:#fff; }
.ec-category.autre { background:rgba(201,169,110,0.8); color:var(--ev-dark); }
.event-card .ec-date-badge { position:absolute; top:0.8rem; right:0.8rem; z-index:2; background:rgba(0,0,0,0.7); backdrop-filter:blur(8px); border-radius:8px; padding:0.4rem 0.6rem; text-align:center; min-width:48px; }
.ec-date-badge .db-day { display:block; font-size:1.2rem; font-weight:600; color:#fff; line-height:1; }
.ec-date-badge .db-month { display:block; font-size:0.55rem; text-transform:uppercase; color:var(--ev-gold); letter-spacing:0.1em; }
.event-card .ec-body { padding:1rem 1.2rem; }
.event-card .ec-title { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:400; color:#fff; margin-bottom:0.3rem; }
.event-card .ec-subtitle { font-size:0.72rem; color:rgba(255,255,255,0.5); margin-bottom:0.6rem; }
.event-card .ec-meta { display:flex; align-items:center; gap:0.8rem; flex-wrap:wrap; }
.event-card .ec-meta span { font-size:0.65rem; color:rgba(255,255,255,0.4); display:flex; align-items:center; gap:0.25rem; }
.event-card .ec-meta span i { color:var(--ev-gold); font-size:0.6rem; }
.event-card .ec-price { font-size:0.7rem; color:var(--ev-gold); font-weight:500; margin-top:0.5rem; }
.event-card .ec-soldout { position:absolute; inset:0; background:rgba(0,0,0,0.6); display:flex; align-items:center; justify-content:center; z-index:3; }
.event-card .ec-soldout span { background:rgba(244,67,54,0.9); color:#fff; padding:0.4rem 1.2rem; border-radius:20px; font-size:0.75rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; }

/* Event Modal */
.event-modal { display:none; position:fixed; inset:0; z-index:9999; }
.event-modal.open { display:flex; align-items:center; justify-content:center; }
.event-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,0.8); backdrop-filter:blur(4px); }
.event-modal-panel { position:relative; z-index:2; background:var(--ev-card); border:1px solid var(--ev-border); border-radius:16px; max-width:700px; width:95%; max-height:90vh; overflow-y:auto; }
.event-modal-close { position:absolute; top:1rem; right:1rem; z-index:10; background:rgba(0,0,0,0.5); border:none; color:#fff; width:36px; height:36px; border-radius:50%; cursor:pointer; font-size:1rem; display:flex; align-items:center; justify-content:center; transition:all 0.2s; }
.event-modal-close:hover { background:rgba(244,67,54,0.6); }
.em-cover { height:300px; background-size:cover; background-position:center; position:relative; border-radius:16px 16px 0 0; }
.em-cover::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, var(--ev-card) 100%); border-radius:16px 16px 0 0; }
.em-body { padding:0 2rem 2rem; position:relative; z-index:2; margin-top:-3rem; }
.em-category { display:inline-block; padding:0.2rem 0.6rem; border-radius:15px; font-size:0.6rem; font-weight:600; text-transform:uppercase; margin-bottom:0.5rem; }
.em-title { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:400; color:#fff; margin-bottom:0.3rem; }
.em-subtitle { font-size:0.85rem; color:rgba(255,255,255,0.5); margin-bottom:1.2rem; }
.em-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:0.6rem; margin-bottom:1.5rem; }
.em-info-item { background:rgba(201,169,110,0.05); border:1px solid var(--ev-border); border-radius:8px; padding:0.7rem; }
.em-info-item small { color:rgba(255,255,255,0.4); font-size:0.6rem; text-transform:uppercase; letter-spacing:0.1em; display:block; margin-bottom:0.2rem; }
.em-info-item div { color:#fff; font-size:0.85rem; }
.em-desc { font-size:0.85rem; color:rgba(255,255,255,0.7); line-height:1.7; margin-bottom:1.5rem; white-space:pre-line; }
.em-actions { display:flex; gap:0.6rem; flex-wrap:wrap; }
.em-actions .btn-book { background:var(--ev-gold); color:var(--ev-dark); border:none; padding:0.7rem 1.5rem; border-radius:8px; font-family:'Outfit',sans-serif; font-size:0.85rem; font-weight:600; cursor:pointer; transition:all 0.2s; display:flex; align-items:center; gap:0.4rem; }
.em-actions .btn-book:hover { background:#d4b87a; transform:translateY(-1px); }
.em-actions .btn-ticket { background:transparent; border:1px solid var(--ev-border); color:var(--ev-gold); padding:0.7rem 1.5rem; border-radius:8px; font-family:'Outfit',sans-serif; font-size:0.85rem; cursor:pointer; transition:all 0.2s; display:flex; align-items:center; gap:0.4rem; text-decoration:none; }
.em-actions .btn-ticket:hover { border-color:var(--ev-gold); background:rgba(201,169,110,0.1); }

/* Booking Form */
.booking-form { padding:2rem; }
.booking-form h3 { font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:400; color:#fff; margin-bottom:0.3rem; }
.booking-form .bf-event { font-size:0.75rem; color:var(--ev-gold); margin-bottom:1.5rem; }
.booking-form .bf-group { margin-bottom:1rem; }
.booking-form .bf-group label { display:block; font-size:0.65rem; text-transform:uppercase; letter-spacing:0.1em; color:rgba(255,255,255,0.5); margin-bottom:0.3rem; }
.booking-form .bf-group input, .booking-form .bf-group select, .booking-form .bf-group textarea { width:100%; padding:0.7rem; background:rgba(255,255,255,0.05); border:1px solid var(--ev-border); border-radius:8px; color:#fff; font-family:'Outfit',sans-serif; font-size:0.85rem; }
.booking-form .bf-group input:focus, .booking-form .bf-group textarea:focus { border-color:var(--ev-gold); outline:none; }
.booking-form .bf-submit { width:100%; background:var(--ev-gold); color:var(--ev-dark); border:none; padding:0.8rem; border-radius:8px; font-family:'Outfit',sans-serif; font-size:0.9rem; font-weight:600; cursor:pointer; margin-top:0.5rem; transition:all 0.2s; }
.booking-form .bf-submit:hover { background:#d4b87a; }
.booking-form .bf-success { text-align:center; padding:2rem; }
.booking-form .bf-success i { font-size:3rem; color:var(--ev-gold); margin-bottom:1rem; }
.booking-form .bf-success h3 { margin-bottom:0.5rem; }

/* Footer */
.events-footer { text-align:center; padding:2rem; background:var(--ev-dark); border-top:1px solid var(--ev-border); }
.events-footer p { font-size:0.7rem; color:rgba(255,255,255,0.3); }

/* No events */
.no-events { text-align:center; padding:4rem 2rem; grid-column:1/-1; }
.no-events i { font-size:3rem; color:rgba(201,169,110,0.2); margin-bottom:1rem; }
.no-events p { color:rgba(255,255,255,0.4); font-size:0.9rem; }

/* Responsive */
@media(max-width:768px) {
    .events-title { font-size:2.2rem; }
    .events-grid { grid-template-columns:1fr; }
    .featured-card .fc-image { height:220px; }
    .em-info-grid { grid-template-columns:1fr; }
    .em-cover { height:200px; }
}
