.events-calendar{padding:var(--space-2xl) 0;background:var(--cream)}.section-header{text-align:center;margin-bottom:var(--space-xl)}.section-label{display:inline-block;font-family:var(--font-accent);font-size:1.2rem;color:var(--weathered-green);margin-bottom:var(--space-sm)}.section-header h2{font-size:2.5rem;margin-bottom:var(--space-sm);color:var(--burnt-sienna)}.section-subtitle{color:var(--wood-medium);font-size:1.1rem}.calendar-controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);padding:var(--space-md);background:var(--cream-light);border-radius:16px;border:2px solid var(--parchment);box-shadow:var(--shadow-md)}.view-toggle{display:flex;gap:4px;background:var(--parchment);border-radius:12px;padding:4px}.view-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;border:none;border-radius:10px;color:var(--wood-medium);font-family:var(--font-ui);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.view-btn:hover{color:var(--wood-dark);background:var(--cream)}.view-btn.active{background:var(--burnt-sienna);color:var(--cream);box-shadow:var(--shadow-sm)}.view-btn svg{flex-shrink:0}.filter-tags{display:flex;flex-wrap:wrap;gap:8px}.filter-tag{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--cream);border:2px solid var(--parchment);border-radius:25px;color:var(--wood-medium);font-family:var(--font-ui);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease}.filter-tag:hover{border-color:var(--burnt-sienna);background:var(--cream-light)}.filter-tag.active{background:#b4503c1a;border-color:var(--burnt-sienna);color:var(--burnt-sienna)}.filter-icon{font-size:1rem}.events-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);color:var(--wood-medium)}.loading-spinner{width:40px;height:40px;border:3px solid var(--parchment);border-top-color:var(--burnt-sienna);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-md)}@keyframes spin{to{transform:rotate(360deg)}}.events-list{display:flex;flex-direction:column;gap:0}.event-card{position:relative;display:grid;grid-template-columns:140px 1fr;gap:var(--space-xl);padding:var(--space-xl) var(--space-xl) var(--space-xl) calc(var(--space-xl) + 6px);background:var(--cream-light);border-bottom:1px solid var(--parchment);overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);animation:cardSlideIn .6s ease forwards;opacity:0}.event-card:first-child{border-radius:20px 20px 0 0}.event-card:last-child{border-radius:0 0 20px 20px;border-bottom:none}.event-card:only-child{border-radius:20px}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.event-card:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:var(--burnt-sienna);transition:width .3s ease}.event-card.type-music:before{background:linear-gradient(180deg,var(--mardi-purple) 0%,#9c5cc4 100%)}.event-card.type-special:before{background:linear-gradient(180deg,var(--mardi-gold) 0%,#e6c030 100%)}.event-card.type-food:before{background:linear-gradient(180deg,var(--faded-red) 0%,#d4453e 100%)}.event-card.type-holiday:before{background:linear-gradient(180deg,var(--mardi-green) 0%,#4caf50 100%)}.event-card.type-closed:before{background:linear-gradient(180deg,#dc2626,#991b1b)}.event-card:hover{background:var(--parchment);box-shadow:var(--shadow-md)}.event-card:hover:before{width:7px}.event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg);background:var(--cream);border-radius:16px;text-align:center;border:2px solid var(--burnt-sienna)}.date-month{font-family:var(--font-ui);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--burnt-sienna);margin-bottom:2px}.date-day{font-family:var(--font-display);font-size:3.2rem;font-weight:700;line-height:1;color:var(--wood-dark);margin:6px 0}.date-weekday{font-family:var(--font-ui);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--sage)}.event-content{display:flex;flex-direction:column;justify-content:center;padding:var(--space-sm) 0}.event-type{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:6px 14px;background:#b4503c1a;border-radius:20px;font-family:var(--font-ui);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--burnt-sienna);margin-bottom:12px;border:1px solid rgba(180,80,60,.2)}.event-card.type-music .event-type{background:#6b5b7a26;color:var(--mardi-purple);border-color:#6b5b7a40}.event-card.type-special .event-type{background:#b4503c26;border-color:#b4503c40}.event-card.type-closed .event-type{background:#dc262626;color:#dc2626;border-color:#dc262640}.event-name{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--wood-dark);margin-bottom:8px;line-height:1.3}.event-artist{font-family:var(--font-accent);font-size:1.1rem;color:var(--burnt-sienna);margin-bottom:10px}.event-description{font-size:.95rem;color:var(--wood-medium);line-height:1.6;margin-bottom:16px;max-width:600px}.event-meta{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.event-time{display:flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:.95rem;font-weight:500;color:var(--wood-dark)}.event-time svg{color:var(--burnt-sienna)}.free-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;background:#5a7a5a26;border:1px solid rgba(90,122,90,.35);border-radius:20px;font-family:var(--font-ui);font-size:.75rem;font-weight:600;color:var(--weathered-green);text-transform:uppercase;letter-spacing:.08em}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-xl)}.event-grid-card{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,#2d2520f2,#1e1916);border-radius:24px;border:1px solid rgba(201,162,39,.12);overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);animation:gridCardIn .6s ease forwards;opacity:0;box-shadow:0 4px 20px #0003}@keyframes gridCardIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.event-grid-card:hover{transform:translateY(-10px) scale(1.02);border-color:#c9a22759;box-shadow:0 30px 60px #0006,0 0 50px #c9a2271f}.grid-card-header{position:relative;padding:var(--space-xl) var(--space-xl) var(--space-lg);background:linear-gradient(135deg,#c9a22714,#66339914);border-bottom:1px solid rgba(201,162,39,.1)}.event-grid-card.type-music .grid-card-header{background:linear-gradient(135deg,#66339926,#9c5cc414)}.event-grid-card.type-special .grid-card-header{background:linear-gradient(135deg,#c9a22726,#e6c03014)}.event-grid-card.type-closed .grid-card-header{background:linear-gradient(135deg,#dc262626,#991b1b14)}.grid-date-badge{position:absolute;top:var(--space-lg);right:var(--space-lg);display:flex;flex-direction:column;align-items:center;padding:12px 18px;background:#000000b3;backdrop-filter:blur(12px);border-radius:14px;border:1px solid rgba(201,162,39,.15)}.grid-date-month{font-family:var(--font-ui);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--creole-gold)}.grid-date-day{font-family:var(--font-display);font-size:2rem;font-weight:700;line-height:1;color:var(--magnolia-cream);margin-top:2px}.grid-event-type{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#0006;border-radius:20px;font-family:var(--font-ui);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--creole-gold);margin-bottom:14px;border:1px solid rgba(201,162,39,.1)}.grid-event-title{font-family:var(--font-display);font-size:1.4rem;font-weight:600;color:var(--magnolia-cream);line-height:1.35;margin:0;padding-right:90px}.grid-card-body{flex:1;padding:var(--space-xl);display:flex;flex-direction:column}.grid-event-artist{font-family:var(--font-display);font-size:1.05rem;font-style:italic;color:var(--creole-gold);margin-bottom:12px}.grid-event-description{flex:1;font-size:.95rem;color:#f5f0e8b3;line-height:1.6;margin-bottom:var(--space-lg)}.grid-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-lg);border-top:1px solid rgba(201,162,39,.1)}.grid-event-time{display:flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:.95rem;font-weight:500;color:#f5f0e8d9}.grid-event-time svg{color:var(--creole-gold)}.month-calendar{background:linear-gradient(180deg,#231e1af2,#191614fa);border-radius:24px;padding:var(--space-xl) var(--space-xl) var(--space-lg);border:1px solid rgba(201,162,39,.2);box-shadow:0 25px 50px #0006,inset 0 1px #ffffff08}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid rgba(201,162,39,.1)}.calendar-nav-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#c9a22714;border:1px solid rgba(201,162,39,.25);border-radius:14px;color:var(--creole-gold);cursor:pointer;transition:all .3s ease}.calendar-nav-btn:hover{background:var(--creole-gold);color:var(--bayou-black);transform:scale(1.05);box-shadow:0 4px 20px #c9a2274d}.calendar-month-title{font-family:var(--font-display);font-size:2rem;font-weight:600;color:var(--magnolia-cream);margin:0;letter-spacing:.02em}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:var(--space-md);background:#c9a2270f;border-radius:10px;padding:var(--space-sm) 0}.calendar-weekdays span{text-align:center;font-family:var(--font-ui);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--creole-gold);padding:var(--space-sm) 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);background:#c9a2271f;gap:1px;border-radius:12px;overflow:hidden;border:1px solid rgba(201,162,39,.2)}.calendar-day{position:relative;min-height:110px;display:flex;flex-direction:column;padding:12px;background:#141210f2;transition:all .3s ease;cursor:default;overflow:hidden}.calendar-day.other-month{opacity:.35;background:#191614e6}.calendar-day.today{background:#c9a2271f}.calendar-day.today:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--creole-gold)}.calendar-day.today .calendar-day-number{color:var(--creole-gold);font-weight:700}.calendar-day.past{opacity:.45}.calendar-day.past .calendar-day-number{color:#f5f0e880}.calendar-day.past.has-event{opacity:.7;background:linear-gradient(160deg,#ff98001f,#191614f2)}.calendar-day.past.has-event:hover{opacity:.85;background:linear-gradient(160deg,#ff98002e,#191614f2)}.calendar-day.past.has-event .calendar-event-name{background:#ff980026;border-left-color:#ffb74d;color:#ffb74dcc;text-decoration:line-through;opacity:.9}.calendar-day.past.has-event .calendar-event-time{color:#ffb74d99;text-decoration:line-through}.calendar-day.has-event{cursor:pointer;background:linear-gradient(160deg,#66339926,#191614f2)}.calendar-day.has-event:hover{background:linear-gradient(160deg,#66339940,#c9a2271f);z-index:10}.calendar-day.has-event.type-closed{background:linear-gradient(160deg,#dc262626,#191614f2)}.calendar-day.has-event.type-closed:hover{background:linear-gradient(160deg,#dc262640,#991b1b1f)}.calendar-day.has-event.type-closed .calendar-event-name{background:#dc262633;border-left-color:#dc2626;color:#fca5a5}.calendar-day.has-event:hover .calendar-day-number{color:var(--creole-gold)}.calendar-day.selected{background:linear-gradient(145deg,var(--creole-gold) 0%,#d4a844 100%)}.calendar-day.selected .calendar-day-number,.calendar-day.selected .calendar-event-preview{color:var(--bayou-black)}.calendar-day-number{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--magnolia-cream);margin-bottom:10px;line-height:1}.calendar-event-preview{flex:1;display:flex;flex-direction:column;gap:6px;overflow:hidden}.calendar-event-name{font-family:var(--font-ui);font-size:.72rem;font-weight:600;color:var(--creole-gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;padding:4px 8px;background:#6393;border-radius:4px;border-left:3px solid var(--creole-gold)}.calendar-event-time{font-family:var(--font-ui);font-size:.68rem;color:#f5f0e8a6;padding-left:11px;margin-top:-3px}.calendar-day.selected .calendar-event-name{color:var(--bayou-black);background:#ffffff40;border-left-color:var(--bayou-black)}.calendar-day.selected .calendar-event-time{color:#1e1916bf}.calendar-more-events{font-family:var(--font-ui);font-size:.65rem;color:var(--creole-gold);font-weight:600;padding-left:11px;margin-top:2px}.event-details-panel{margin-top:var(--space-xl);background:linear-gradient(135deg,#2d2520f2,#1e1916);border-radius:20px;border:2px solid var(--creole-gold);overflow:hidden;animation:panelSlideUp .4s ease forwards;box-shadow:0 20px 50px #0006,0 0 60px #c9a22733}@keyframes panelSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.event-details-header{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-lg);align-items:center;padding:var(--space-xl);background:linear-gradient(135deg,#c9a22726,#6633991a);border-bottom:1px solid rgba(201,162,39,.2)}.event-details-date{display:flex;flex-direction:column;align-items:center;padding:var(--space-md) var(--space-lg);background:#0006;border-radius:16px}.details-month{font-family:var(--font-ui);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--creole-gold)}.details-day{font-family:var(--font-display);font-size:3rem;font-weight:700;line-height:1;color:var(--magnolia-cream)}.details-weekday{font-family:var(--font-ui);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#f5f0e899}.event-details-info{display:flex;flex-direction:column;gap:6px}.event-details-type{display:inline-flex;width:fit-content;padding:5px 14px;background:#c9a22733;border-radius:20px;font-family:var(--font-ui);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--creole-gold)}.event-details-title{font-family:var(--font-display);font-size:1.8rem;font-weight:600;color:var(--magnolia-cream);margin:0;line-height:1.2}.event-details-artist{font-family:var(--font-display);font-size:1.1rem;font-style:italic;color:var(--creole-gold);margin:0}.event-details-close{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--magnolia-cream);cursor:pointer;transition:all .3s ease}.event-details-close:hover{background:#d4453e4d;border-color:#d4453e80;color:#ff6b6b}.event-details-body{padding:var(--space-xl)}.event-details-description{font-size:1.1rem;color:#f5f0e8d9;line-height:1.7;margin-bottom:var(--space-lg)}.event-details-meta{display:flex;flex-wrap:wrap;gap:var(--space-md)}.meta-item{display:flex;align-items:center;gap:10px;padding:12px 18px;background:#0000004d;border-radius:12px;font-family:var(--font-ui);font-size:.95rem;color:#f5f0e8cc}.meta-item svg{color:var(--creole-gold);flex-shrink:0}.meta-item.highlight{background:linear-gradient(135deg,#4caf5033,#4caf501a);border:1px solid rgba(76,175,80,.3);color:#81c784}.meta-item.highlight svg{color:#81c784}.meta-item.past-event-badge{background:#ff980033;border:1px solid rgba(255,152,0,.3);color:#ffb74d}.meta-item.past-event-badge svg{color:#ffb74d}.no-events{text-align:center;padding:var(--space-2xl)}.no-events-icon{font-size:4rem;margin-bottom:var(--space-md)}.no-events p{font-size:1.2rem;color:var(--magnolia-cream);margin-bottom:var(--space-sm)}.no-events span{color:#f5f0e899}.calendar-footer{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid rgba(201,162,39,.2);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-md)}.update-notice{display:flex;align-items:center;gap:10px;font-size:.9rem;color:#f5f0e899}.social-follow{display:flex;gap:12px}.social-follow a{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:#c9a2271a;border:1px solid rgba(201,162,39,.2);color:var(--creole-gold);transition:all .3s ease}.social-follow a:hover{background:var(--creole-gold);color:var(--bayou-black);transform:translateY(-2px)}.event-card.hidden,.event-grid-card.hidden{display:none}@media(max-width:768px){.calendar-controls{flex-direction:column;align-items:stretch}.view-toggle,.filter-tags{justify-content:center}.event-card{grid-template-columns:1fr;gap:var(--space-md);padding:var(--space-lg)}.event-date{flex-direction:row;gap:var(--space-lg);justify-content:flex-start;padding:var(--space-md)}.date-day{font-size:2.5rem}.event-details-header{grid-template-columns:1fr;text-align:center}.event-details-date{flex-direction:row;justify-content:center;gap:var(--space-md)}.details-day{font-size:2.5rem}.event-details-close{position:absolute;top:var(--space-md);right:var(--space-md)}.calendar-day{min-height:80px;padding:8px}.calendar-day-number{font-size:1rem}.calendar-event-name{font-size:.6rem;padding:2px 4px}.calendar-event-time{display:none}.events-grid{grid-template-columns:1fr;gap:var(--space-lg)}.grid-event-title{padding-right:70px;font-size:1.2rem}}@media(max-width:480px){.section-header h2{font-size:1.8rem}.view-btn span{display:none}.view-btn{padding:10px 14px}.month-calendar{padding:var(--space-md);border-radius:16px}.calendar-nav{margin-bottom:var(--space-md);padding-bottom:var(--space-md)}.calendar-month-title{font-size:1.4rem}.calendar-nav-btn{width:40px;height:40px;border-radius:10px}.calendar-weekdays{margin-bottom:var(--space-sm)}.calendar-weekdays span{font-size:.6rem;letter-spacing:.08em}.calendar-day{min-height:60px;padding:6px}.calendar-day-number{font-size:.9rem;margin-bottom:4px}.calendar-event-preview{gap:4px}.calendar-event-name{font-size:.55rem;padding:2px 4px;line-height:1.2}.calendar-event-time{display:none}.calendar-more-events{font-size:.5rem}.events-grid{grid-template-columns:1fr}.event-details-title{font-size:1.4rem}.meta-item{flex:1 1 100%}.grid-card-header,.grid-card-body{padding:var(--space-md)}.grid-date-badge{padding:8px 12px}.grid-date-day{font-size:1.6rem}}
