.de-events{--de-ivory:#f8f6f1;--de-navy:#132333;--de-gold:#ad9766;background:var(--de-ivory);color:var(--de-navy);font-family:'Libre Baskerville',Georgia,serif;font-size:15px;line-height:1.65;padding:24px clamp(16px,4vw,64px) 64px}.de-events *{box-sizing:border-box}.de-events a{color:inherit}.de-events .de-search{display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:end;max-width:1280px;margin:auto}.de-search label{display:block;min-width:0}.de-search label>span{display:block;font-size:12px;margin-bottom:6px}.de-search input,.de-search select{display:block;width:100%;min-width:0;height:52px;background:#fffdf9;border:1px solid #d9d4c9;border-radius:0;padding:10px 14px;font:inherit;color:var(--de-navy)}.de-events .de-button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:10px 24px;border:1px solid var(--de-gold);border-radius:0;text-decoration:none;background:transparent;color:var(--de-navy);font:inherit;cursor:pointer;transition:background .15s,color .15s}.de-events .de-primary{height:52px;background:var(--de-navy);color:white;border-color:var(--de-navy)}.de-events .de-button:hover{background:#263e50;color:white}.de-events :is(a,button,input,select):focus-visible{outline:3px solid #936d26;outline-offset:4px}.de-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:24px 0 8px}.de-pills a{border:1px solid #d9d4c9;border-radius:30px;padding:7px 20px;text-decoration:none;font-size:12px}.de-pills a:hover,.de-pills [aria-current]{border-color:var(--de-gold);background:#eee8db}.de-section{max-width:1280px;margin:0 auto;padding-top:42px;scroll-margin-top:30px}.de-events .de-eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;display:flex;align-items:center;gap:18px;margin:0 0 12px}.de-eyebrow:after{content:'';width:55px;height:1px;background:var(--de-gold)}.de-events h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(32px,3.2vw,46px);font-weight:500;line-height:1.1;margin:0 0 12px;color:var(--de-navy)}.de-events .de-intro{max-width:850px;margin:0 0 26px}.de-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.de-card{background:#fffdf9;border:1px solid #ece8df;display:flex;flex-direction:column;min-width:0;box-shadow:0 3px 8px #13233304}.de-picture{aspect-ratio:3/2;display:block;overflow:hidden;background:#eae5d9}.de-picture img{display:block;width:100%;height:100%;object-fit:cover}.de-no-image{height:100%;display:flex;justify-content:center;align-items:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:28px}.de-card-body{padding:20px;display:flex;flex:1;flex-direction:column}.de-events .de-category{color:#79663c;text-transform:uppercase;letter-spacing:1.4px;font-size:10px;margin:0 0 8px}.de-events h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:27px;font-weight:600;line-height:1.1;margin:0 0 18px;color:var(--de-navy)}.de-events h3 a{text-decoration:none}.de-events .de-detail,.de-events .de-price{font-size:12px;margin:0 0 9px}.de-detail span{margin-right:7px}.de-price{padding-bottom:12px}.de-events .de-card-button{margin-top:auto;width:100%;font-size:13px;padding:8px 10px}.de-pagination ul{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;list-style:none;margin:30px 0 0;padding:0}.de-pagination :is(a,span){display:block;padding:8px 15px;border:1px solid #ad9766;text-decoration:none}.de-pagination .current{background:#132333;color:white}@media(max-width:1024px){.de-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.de-search{grid-template-columns:1fr!important;gap:12px!important}.de-grid{grid-template-columns:1fr}.de-events{padding:20px 16px 40px}.de-pills{gap:8px}.de-pills a{padding:7px 12px}.de-section{padding-top:30px}.de-card-body{padding:22px}.de-events h3{font-size:30px}}

/* Compact search controls matching the supplied field reference. */
.de-events .de-search{gap:16px;align-items:center}
.de-events .de-search .de-field{position:relative;display:block;margin:0;min-width:0}
.de-events .de-search .de-field input,.de-events .de-search .de-field select{height:48px;margin:0;padding:0 42px 0 46px;border:1px solid #dcdcd5;border-radius:3px;background:#fffdf9;box-shadow:0 1px 3px #13233306;font-family:'Libre Baskerville',Georgia,serif;font-size:13px;line-height:normal;color:#34414b;appearance:none;-webkit-appearance:none}
.de-events .de-search .de-field select{cursor:pointer;background-image:none}
.de-events .de-field-icon,.de-events .de-field-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1;pointer-events:none;color:#63707a}
.de-events .de-field-icon{left:14px;width:19px;height:19px}
.de-events .de-field-arrow{right:13px;width:15px;height:15px}
.de-events .de-search .de-date-placeholder{position:absolute;left:46px;right:42px;top:50%;transform:translateY(-50%);display:none;margin:0;font-size:13px;line-height:normal;color:#34414b;pointer-events:none}
.de-events .de-date-input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;margin:0;padding:0;opacity:0;cursor:pointer}
.de-events .de-search .de-primary{height:48px;min-height:48px;font-size:13px}
/* Hide the entire empty native control, including Firefox's focused segments.
   Opacity keeps it focusable and eligible for showPicker(); the wrapper draws
   the visible field. A selected date restores the normal native rendering. */
.de-events .de-date-field.de-date-ready:not(.de-has-date){background:#fffdf9;border-radius:3px;box-shadow:inset 0 0 0 1px #dcdcd5,0 1px 3px #13233306}
.de-events .de-date-field.de-date-ready:not(.de-has-date) .de-date-input{opacity:0;cursor:pointer}
.de-events .de-date-field.de-date-ready:not(.de-has-date):focus-within{outline:3px solid #936d26;outline-offset:4px}
.de-events .de-date-field.de-date-ready:not(.de-has-date) .de-date-input::-webkit-datetime-edit{opacity:0}
.de-events .de-search .de-date-field.de-date-ready:not(.de-has-date) .de-date-placeholder{display:block}

/* Separate results and editable native Elementor introduction. */
.de-events .de-section.de-list-only{padding-top:0}
.de-editable-eyebrow,.de-editable-title,.de-editable-intro{padding-left:clamp(16px,4vw,64px);padding-right:clamp(16px,4vw,64px);background:#f8f6f1}
.de-editable-eyebrow{padding-top:24px}

/* Date range plus category and search. */
.de-events .de-search{grid-template-columns:repeat(3,minmax(0,1fr)) auto}
.de-feedback:empty{display:none}
.de-events .de-feedback{font-size:13px;margin:12px 0 0;text-align:center}
.de-events #de-results[aria-busy="true"]{opacity:.55;transition:opacity .15s}
@media(max-width:1024px){.de-events .de-search{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.de-events .de-search{grid-template-columns:1fr}}

/* Independent upcoming-events grid/carousel; never an AJAX results region. */
.de-upcoming{--de-upcoming-columns:4}
.de-upcoming-cols-1{--de-upcoming-columns:1}
.de-upcoming-cols-2{--de-upcoming-columns:2}
.de-upcoming-cols-3{--de-upcoming-columns:3}
.de-upcoming>.de-grid{grid-template-columns:repeat(var(--de-upcoming-columns),minmax(0,1fr))}
.de-upcoming .de-slider-track{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--de-upcoming-columns) - 1)*24px)/var(--de-upcoming-columns));overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:4px 1px 14px;scrollbar-width:thin;align-items:stretch}
.de-slider-track>.de-card{scroll-snap-align:start}
.de-slider-controls{display:flex;justify-content:flex-end;gap:10px;margin-bottom:16px}
.de-slider-controls[hidden]{display:none}
.de-slider-controls .de-button{min-width:44px;min-height:44px;padding:8px 14px}
.de-slider-controls button:disabled{opacity:.35;cursor:default}
@media(max-width:1024px){.de-upcoming-cols-3,.de-upcoming-cols-4{--de-upcoming-columns:2}}
@media(max-width:600px){.de-upcoming{--de-upcoming-columns:1}}
@media(prefers-reduced-motion:reduce){.de-upcoming .de-slider-track{scroll-behavior:auto}}

/* Public event-page availability, directly after the event image. */
.de-availability{display:flex;align-items:center;gap:16px;margin:22px 0 30px;padding:20px 22px;border:1px solid #ad9766;border-left-width:4px;border-radius:3px;background:#fffdf9;color:#132333;box-sizing:border-box}
.de-availability-icon{width:30px;height:30px;flex:0 0 30px;color:#88713f}
.de-availability-label{display:block;font:11px/1.5 'Libre Baskerville',Georgia,serif;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:5px}
.de-availability-value{display:block;font:600 27px/1.2 'Cormorant Garamond',Georgia,serif}
.de-availability small{display:block;font:12px/1.5 Georgia,serif;margin-top:6px;color:#596570}
.de-availability-refresh{margin-left:auto;padding:8px 12px;min-height:40px;border:1px solid #ad9766;border-radius:2px;background:transparent;color:#132333;font:12px Georgia,serif;cursor:pointer}
.de-availability-refresh[hidden]{display:none}
.de-availability-refresh:disabled{opacity:.5;cursor:wait}
.de-availability-refresh:focus-visible{outline:3px solid #936d26;outline-offset:3px}
.de-availability[data-de-availability="sold-out"]{border-color:#865742}
@media(max-width:600px){.de-availability{padding:16px;gap:12px;flex-wrap:wrap}.de-availability-value{font-size:24px}}

/* Event card availability immediately below the price. */
.de-events .de-card-body .de-price{padding-bottom:0;margin-bottom:8px}
.de-events .de-card-seats{display:flex;align-items:baseline;gap:7px;font-family:'Libre Baskerville',Georgia,serif;font-size:12px;line-height:1.55;color:#42614a;margin:0 0 18px;min-height:19px}
.de-events .de-card-seats>span:first-child{color:#88713f;font-size:11px}
.de-events .de-card-seats[data-de-seats="sold-out"]{color:#865742}
.de-events .de-card-seats[data-de-seats="info"]{color:#596570}
