.header{background-color:var(--warm-white);border-bottom:1px solid var(--sand);padding:var(--spacing-md) 0;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffef9f2}.header-content{display:flex;justify-content:space-between;align-items:center}.logo{text-decoration:none}.logo-text{display:flex;flex-direction:column;gap:.15rem}.logo-main{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--soft-black);letter-spacing:-.01em}.logo-sub{font-family:var(--font-body);font-size:.75rem;color:var(--terracotta);text-transform:uppercase;letter-spacing:.1em;font-weight:500}.nav{display:flex;gap:var(--spacing-lg);align-items:center}.nav-link{font-size:.95rem;color:var(--charcoal);font-weight:500;letter-spacing:.02em;transition:color .3s ease;position:relative}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background-color:var(--terracotta);transition:width .3s ease}.nav-link:hover:after{width:100%}.nav-button{background:none;padding:0;cursor:pointer}@media (max-width: 768px){.nav{gap:var(--spacing-md)}.logo-main{font-size:1.2rem}.logo-sub{font-size:.65rem}.nav-link{font-size:.85rem}}.event-card{background:var(--warm-white);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-soft);transition:all .4s ease;border:1px solid var(--sand);display:flex;flex-direction:column;gap:var(--spacing-md)}.event-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium)}.event-card-header{border-bottom:1px solid var(--sand);padding-bottom:var(--spacing-md)}.event-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.event-series{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--terracotta);font-weight:600}.event-badge{background-color:var(--sage);color:var(--warm-white);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;letter-spacing:.02em}.event-title{font-size:2rem;margin-bottom:.5rem;color:var(--soft-black)}.event-type{font-size:1rem;color:var(--charcoal);font-style:italic;margin:0}.event-card-body{flex:1;display:flex;flex-direction:column;gap:var(--spacing-md)}.event-info-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md)}.event-info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--terracotta);font-weight:600}.info-value{font-size:.95rem;color:var(--charcoal);font-weight:500}.event-description{line-height:1.7;color:var(--charcoal)}.event-pricing{background-color:var(--cream);padding:var(--spacing-md);border-radius:var(--radius-md);display:flex;justify-content:space-between;gap:var(--spacing-md);border:1px solid var(--sand)}.price-item{display:flex;flex-direction:column;gap:.5rem}.price-label{font-size:.85rem;color:var(--charcoal);font-weight:500}.price-value{font-family:var(--font-display);font-size:1.5rem;color:var(--soft-black);font-weight:500}.price-value.sold-out{text-decoration:line-through;opacity:.5}.event-card-footer{padding-top:var(--spacing-sm)}.event-card-footer .btn{width:100%}@media (max-width: 768px){.event-card{padding:var(--spacing-md)}.event-title{font-size:1.5rem}.event-pricing{flex-direction:column}}.home{min-height:100vh}.hero{background:linear-gradient(135deg,var(--cream) 0%,var(--sand) 100%);padding:var(--spacing-2xl) 0;text-align:center;border-bottom:1px solid var(--clay)}.hero-title{max-width:900px;margin:0 auto var(--spacing-md);line-height:1.3;color:var(--soft-black)}.hero-subtitle{font-size:1.2rem;max-width:700px;margin:0 auto;color:var(--charcoal);line-height:1.7}.events-section{background-color:var(--cream)}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(450px,1fr));gap:var(--spacing-lg)}.no-events{text-align:center;padding:var(--spacing-2xl);color:var(--charcoal);font-size:1.1rem}.about-section{background-color:var(--warm-white);padding:var(--spacing-2xl) 0;border-top:1px solid var(--sand)}.about-content{text-align:center}.about-content h2{margin-bottom:var(--spacing-lg);color:var(--soft-black)}.about-content p{font-size:1.1rem;line-height:1.8;color:var(--charcoal);max-width:700px;margin:0 auto var(--spacing-md)}@media (max-width: 768px){.hero{padding:var(--spacing-xl) 0}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.events-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.about-content p{font-size:1rem}}.event-detail{min-height:100vh;background-color:var(--cream)}.back-button{color:var(--charcoal);font-weight:500;margin-bottom:var(--spacing-lg);padding:.5rem 0;transition:color .3s ease}.back-button:hover{color:var(--terracotta)}.event-header{text-align:center;padding:var(--spacing-xl) 0;border-bottom:1px solid var(--sand)}.event-meta-top,.event-header h1{margin-bottom:var(--spacing-sm)}.event-details{background:var(--warm-white);padding:var(--spacing-lg);border-radius:var(--radius-lg);margin:var(--spacing-xl) 0;box-shadow:var(--shadow-soft)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.detail-item{display:flex;flex-direction:column;gap:.5rem}.detail-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--terracotta);font-weight:600}.detail-value{font-size:1.1rem;color:var(--soft-black);font-weight:500}.event-content{margin:var(--spacing-xl) 0}.content-section{margin-bottom:var(--spacing-xl)}.content-section h2{color:var(--soft-black);margin-bottom:var(--spacing-md)}.content-section h3{color:var(--charcoal);font-size:1.3rem;margin-bottom:var(--spacing-sm)}.content-section p{font-size:1.1rem;line-height:1.8;color:var(--charcoal)}.booking-section{background:var(--warm-white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-medium);margin-top:var(--spacing-2xl)}.booking-section h2{text-align:center;margin-bottom:var(--spacing-lg)}.pricing-display{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.price-option{background:var(--cream);padding:var(--spacing-md);border-radius:var(--radius-md);text-align:center;border:2px solid var(--clay);transition:all .3s ease}.price-option:not(.sold-out):hover{border-color:var(--terracotta);transform:translateY(-2px)}.price-option.sold-out{opacity:.6}.price-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.price-label{font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:var(--charcoal);font-weight:600}.sold-out-badge{background-color:var(--terracotta);color:var(--warm-white);padding:.2rem .6rem;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.price-amount{display:block;font-family:var(--font-display);font-size:2rem;color:var(--soft-black);font-weight:500;margin:var(--spacing-sm) 0}.price-note{display:block;font-size:.85rem;color:var(--charcoal);font-style:italic}.booking-form{max-width:500px;margin:0 auto}.form-group input,.form-group select{width:100%;padding:.875rem 1rem;border:1.5px solid var(--clay);border-radius:var(--radius-sm);background-color:var(--warm-white);transition:all .3s ease;font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--terracotta);box-shadow:0 0 0 3px #c97d601a}.form-summary{background-color:var(--cream);padding:var(--spacing-md);border-radius:var(--radius-md);margin:var(--spacing-lg) 0;border:1px solid var(--sand)}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:1.1rem;font-weight:500}.summary-total{font-family:var(--font-display);font-size:1.8rem;color:var(--terracotta);font-weight:500}.booking-form .btn{width:100%;margin-top:var(--spacing-md)}.booking-form .btn:disabled{opacity:.6;cursor:not-allowed}.form-note{text-align:center;font-size:.9rem;color:var(--charcoal);margin-top:var(--spacing-md);font-style:italic}@media (max-width: 768px){.booking-section{padding:var(--spacing-lg)}.detail-grid,.pricing-display{grid-template-columns:1fr}}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--cream) 0%,var(--sand) 100%);padding:var(--spacing-md)}.login-container{background:var(--warm-white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-strong);max-width:450px;width:100%;animation:fadeIn .5s ease-out}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-header h1{font-size:2rem;margin-bottom:var(--spacing-sm);color:var(--soft-black)}.login-header p{color:var(--charcoal);margin:0}.login-form{margin-bottom:var(--spacing-lg)}.login-form .btn{width:100%;margin-top:var(--spacing-md)}.login-footer{text-align:center;padding-top:var(--spacing-md);border-top:1px solid var(--sand)}.btn-link{background:none;border:none;color:var(--terracotta);font-weight:500;cursor:pointer;padding:0;transition:opacity .3s ease}.btn-link:hover{opacity:.7}@media (max-width: 768px){.login-container{padding:var(--spacing-lg)}.login-header h1{font-size:1.5rem}}.admin-dashboard{min-height:100vh;background-color:var(--cream)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--clay)}.dashboard-header h1{margin:0}.event-form-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#2b2826cc;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);overflow-y:auto}.modal-content{background:var(--warm-white);border-radius:var(--radius-lg);max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-strong);animation:fadeIn .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--sand);position:sticky;top:0;background:var(--warm-white);z-index:1}.modal-header h2{margin:0}.close-button{background:none;border:none;font-size:1.5rem;color:var(--charcoal);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .3s ease}.close-button:hover{background-color:var(--sand)}.event-form{padding:var(--spacing-lg)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--charcoal);font-size:.95rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1.5px solid var(--clay);border-radius:var(--radius-sm);background-color:var(--warm-white);transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--terracotta)}.form-group textarea{resize:vertical;font-family:var(--font-body)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--sand)}.events-table,.bookings-section{background:var(--warm-white);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);margin-bottom:var(--spacing-xl)}.events-table h2,.bookings-section h2{margin-bottom:var(--spacing-md)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}table{width:100%;border-collapse:collapse}thead{background-color:var(--cream)}th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);font-weight:600;color:var(--soft-black);border-bottom:2px solid var(--clay);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}td{padding:var(--spacing-md);border-bottom:1px solid var(--sand)}tbody tr:hover{background-color:var(--cream)}.action-buttons{display:flex;gap:var(--spacing-sm)}.btn-action{background:none;border:1px solid var(--clay);padding:.4rem .8rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;transition:all .3s ease;cursor:pointer;color:var(--charcoal)}.btn-action:hover{background-color:var(--terracotta);border-color:var(--terracotta);color:var(--warm-white)}.btn-action.delete:hover{background-color:#c53030;border-color:#c53030}.ticket-badge{display:inline-block;padding:.3rem .8rem;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.ticket-badge.early_access{background-color:var(--sage);color:var(--warm-white)}.ticket-badge.regular{background-color:var(--clay);color:var(--soft-black)}@media (max-width: 768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.form-grid{grid-template-columns:1fr}.modal-content{margin:0;max-height:100vh;border-radius:0}table{font-size:.85rem}th,td{padding:var(--spacing-sm)}.action-buttons{flex-direction:column}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1}.footer{background-color:var(--soft-black);color:var(--sand);padding:var(--spacing-lg) 0;text-align:center;margin-top:auto;border-top:1px solid var(--charcoal)}.footer p{margin:0;font-size:.9rem;color:var(--sand)}@media (max-width: 768px){.footer{padding:var(--spacing-md) 0}.footer p{font-size:.8rem}}:root{--cream: #FAF8F3;--sand: #E8E2D5;--clay: #D4C5B0;--terracotta: #C97D60;--deep-clay: #A85C43;--charcoal: #3A3633;--soft-black: #2B2826;--sage: #8B9D83;--soft-green: #A8B89F;--warm-white: #FFFEF9;--font-display: "Crimson Pro", serif;--font-body: "DM Sans", sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2.5rem;--spacing-xl: 4rem;--spacing-2xl: 6rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--shadow-soft: 0 2px 16px rgba(58, 54, 51, .08);--shadow-medium: 0 4px 24px rgba(58, 54, 51, .12);--shadow-strong: 0 8px 32px rgba(58, 54, 51, .16)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--cream);color:var(--charcoal);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:1.2;color:var(--soft-black)}h1{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:var(--spacing-md);font-weight:300;letter-spacing:-.02em}h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:var(--spacing-md);font-weight:300}h3{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:var(--spacing-sm)}p{margin-bottom:var(--spacing-sm);font-size:1.05rem;color:var(--charcoal)}a{color:inherit;text-decoration:none;transition:color .3s ease}a:hover{color:var(--terracotta)}button{font-family:var(--font-body);cursor:pointer;border:none;background:none;font-size:1rem}input,select,textarea{font-family:var(--font-body);font-size:1rem;color:var(--charcoal)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.container-narrow{max-width:800px;margin:0 auto;padding:0 var(--spacing-md)}.section-spacing{padding:var(--spacing-2xl) 0}@media (max-width: 768px){.section-spacing{padding:var(--spacing-xl) 0}}.btn{padding:1rem 2rem;border-radius:var(--radius-sm);font-weight:500;transition:all .3s ease;display:inline-block;text-align:center;letter-spacing:.02em}.btn-primary{background-color:var(--terracotta);color:var(--warm-white);box-shadow:var(--shadow-soft)}.btn-primary:hover{background-color:var(--deep-clay);color:var(--warm-white);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.btn-secondary{background-color:transparent;color:var(--charcoal);border:1.5px solid var(--clay)}.btn-secondary:hover{background-color:var(--clay);border-color:var(--clay)}.btn-large{padding:1.25rem 3rem;font-size:1.1rem}.loading{display:flex;justify-content:center;align-items:center;min-height:60vh;color:var(--terracotta)}.spinner{width:40px;height:40px;border:3px solid var(--sand);border-top-color:var(--terracotta);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-out forwards}.fade-in-delay-1{animation:fadeIn .6s ease-out .1s forwards;opacity:0}.fade-in-delay-2{animation:fadeIn .6s ease-out .2s forwards;opacity:0}.fade-in-delay-3{animation:fadeIn .6s ease-out .3s forwards;opacity:0}.error-message{background-color:#fff5f5;color:#c53030;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border-left:4px solid #FC8181;margin-bottom:var(--spacing-md)}.success-message{background-color:#f0fff4;color:#276749;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border-left:4px solid var(--sage);margin-bottom:var(--spacing-md)}
