@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url('../assets/fonts/inter-300.ttf') format('truetype')}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url('../assets/fonts/inter-400.ttf') format('truetype')}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url('../assets/fonts/inter-500.ttf') format('truetype')}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url('../assets/fonts/inter-600.ttf') format('truetype')}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url('../assets/fonts/inter-700.ttf') format('truetype')}
:root{--primary:#092159;--secondary:#5dc5f2;--ink:#212529;--muted:#6c757d;--light:#f8f9fa;--line:#dee2e6;--radius:.4rem;--container:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.5}a{color:var(--primary);text-decoration:none}button,input,select{font:inherit}.container{width:min(100% - 3rem,var(--container));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-4rem;left:0;background:var(--primary);color:#fff;padding:.75rem;z-index:99}.skip-link:focus{top:0}.site-header{background:#fff;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);position:relative;z-index:10}.nav{height:72px;display:flex;align-items:center}.brand img{width:95px;height:40px;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:2rem;margin-left:2rem;flex:1}.desktop-nav>a{color:#343a40;padding:1.5rem 0}.desktop-nav>a.active{color:var(--primary);font-weight:500}.language-label{margin-left:auto}.language-select{border:0;background:#fff;color:#343a40;padding:.5rem;cursor:pointer}.menu-button,.mobile-nav{display:none}.event-list{min-height:430px;padding-top:1.5rem;padding-bottom:3rem}.list-toolbar{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.list-toolbar h1{font-size:1.5rem;margin:0 auto 0 0}.filter-button,.light-button{border:0;background:var(--light);color:var(--ink);border-radius:var(--radius);padding:.55rem .85rem;cursor:pointer}.filter-button:after{content:' ▾';font-size:.75em}.search{display:flex;background:var(--light);border-radius:var(--radius);align-items:center}.search input{width:280px;background:transparent;border:0;padding:.55rem .75rem;outline:none}.search span{padding-right:.8rem}.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.event-card{border:1px solid rgba(0,0,0,.175);border-radius:var(--radius);overflow:hidden;color:inherit;transition:box-shadow .2s,transform .2s}.event-card:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.15);transform:translateY(-2px)}.card-image{height:200px;position:relative;overflow:hidden;background:var(--secondary)}.card-image img{width:100%;height:100%;object-fit:cover;opacity:.8;transform:scale(1.02);transition:transform .2s}.event-card:hover img{transform:scale(1.12)}.date-badge{position:absolute;right:1rem;top:1rem;width:4rem;height:4rem;border-radius:50%;background:var(--light);box-shadow:0 .125rem .25rem rgba(0,0,0,.075);display:flex;flex-direction:column;justify-content:center;text-align:center}.date-badge span{text-transform:uppercase;font-size:.8rem;font-weight:600}.date-badge strong{font-size:1.125rem;font-weight:400;line-height:1}.card-body{padding:1rem}.card-body h2{font-size:1.25rem;margin:.25rem 0 2.5rem}.location{font-size:.875rem;font-weight:700;margin:0}.no-results{text-align:center;color:var(--muted);padding:3rem}.breadcrumbs{display:flex;gap:.75rem;padding:1.1rem 0;color:var(--muted);font-size:.9rem}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:3.5rem;padding-bottom:3rem}.hero{height:410px;position:relative;overflow:hidden;border-radius:var(--radius);color:#fff}.hero img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:rgba(0,0,0,.4)}.hero h1{position:absolute;left:1.25rem;right:1.25rem;bottom:.75rem;margin:0;font-size:2rem}.description{margin-top:1.5rem}.description h2{font-size:1.25rem}.map-placeholder{height:260px;background:linear-gradient(135deg,#e8ecef,#cbd4da);display:flex;flex-direction:column;gap:.5rem;align-items:center;justify-content:center;color:var(--muted);margin-top:3rem}.map-placeholder span{font-size:2rem}.ticket-box,.info-block,.desktop-date{border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1.5rem}.ticket-box h3{font-size:1.5rem;margin:0 0 1rem}.primary{display:inline-block;border:1px solid var(--primary);background:var(--primary);color:#fff;border-radius:var(--radius);padding:.55rem 1rem;cursor:pointer}.primary:hover{background:#061740}.ticket-box .primary{width:100%}.date-card{min-height:106px}.date-card-inner{display:flex;align-items:flex-end;gap:.75rem;border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.date-number{font-size:3rem;line-height:.85;font-weight:300}.date-meta{font-size:.85rem}.calendar-links{margin-top:.75rem;font-size:.8rem;color:var(--muted)}.calendar-links a{display:inline-block;background:var(--light);margin:.4rem .2rem 0 0;padding:.4rem .55rem;border-radius:var(--radius)}.info-block h3,.share h3{font-size:1rem;margin:0 0 .75rem}.info-block p{margin:.25rem 0}.info-block small{display:block}.info-block .light-button{display:inline-block;margin-top:.75rem}.share p{font-size:.9rem}.share a{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--primary);color:#fff;margin-right:.35rem}.mobile-ticket,.mobile-date{display:none}.site-footer{background:#fff;border-top:1px solid #f1f1f1;padding-top:3rem}.footer-grid{display:grid;grid-template-columns:2fr 2fr 2fr 3fr;gap:2rem;padding-bottom:2rem}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{padding:.25rem 0}.site-footer h2{font-size:1.25rem;margin:0 0 .75rem}.site-footer p{color:var(--muted)}.copyright{border-top:1px solid #eee;color:var(--muted);font-size:.9rem;padding:1rem 0}dialog{border:0;border-radius:var(--radius);padding:0;width:min(92vw,600px);box-shadow:0 1rem 3rem rgba(0,0,0,.25)}dialog::backdrop{background:rgba(0,0,0,.5)}.modal-card{padding:1.25rem}.modal-head{display:flex;align-items:start;gap:1rem;border-bottom:1px solid var(--line)}.modal-head h2{font-size:1.25rem;margin:0 0 1rem}.close{margin-left:auto;border:0;background:none;font-size:1.75rem;cursor:pointer}.modal-card label{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}.modal-card input{width:5rem;padding:.4rem;border:1px solid var(--line);border-radius:var(--radius)}.placeholder-note{background:#e7f5ff;border:1px solid #b6e2ff;color:#164d68;padding:.75rem;border-radius:var(--radius);font-size:.9rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:1rem}.toast{position:fixed;left:50%;bottom:2rem;transform:translateX(-50%);background:var(--ink);color:#fff;padding:.8rem 1.2rem;border-radius:var(--radius);z-index:100}
@media(max-width:991px){.container{width:min(100% - 2rem,960px)}.desktop-nav{display:none}.menu-button{display:flex;margin-left:auto;width:42px;height:42px;border:0;background:#fff;flex-direction:column;justify-content:center;gap:5px}.menu-button span{height:2px;width:24px;background:#333}.mobile-nav{position:absolute;left:0;right:0;top:72px;background:#fff;border-top:1px solid var(--line);box-shadow:0 .5rem 1rem rgba(0,0,0,.08);padding:1rem}.mobile-nav:not([hidden]){display:flex;flex-direction:column;gap:.75rem}.mobile-nav a{padding:.75rem}.event-grid{grid-template-columns:repeat(2,1fr)}.detail-layout{display:block}.detail-sidebar>.ticket-box,.desktop-date{display:none}.mobile-ticket,.mobile-date{display:block}.mobile-ticket{margin-bottom:1rem}.detail-sidebar{margin-top:2rem}.hero{height:360px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:575px){.container{width:min(100% - 1.5rem,540px)}.list-toolbar{flex-wrap:wrap}.list-toolbar h1{width:100%;margin-bottom:.5rem}.search{flex:1}.search input{width:100%}.event-grid{grid-template-columns:1fr}.card-image{height:230px}.detail-layout{padding-bottom:2rem}.hero{height:270px}.hero h1{font-size:1.65rem}.footer-grid{grid-template-columns:1fr}.breadcrumbs span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-actions{flex-wrap:wrap}.modal-actions button{flex:1}}

/* Odoo-inspired event spotlight */
.site-header{background:var(--primary);box-shadow:none}.nav{height:64px}.brand{display:flex;align-items:center}.brand img{width:160px;height:48px;object-fit:contain}.desktop-nav>a,.desktop-nav>a.active{color:#fff}.language-select{background:var(--primary);color:#fff}.menu-button{background:transparent}.menu-button span{background:#fff}.event-list-spotlight{margin:2.5rem 0 4.5rem}.event-spotlight{grid-column:1/-1;margin-bottom:.5rem}.event-spotlight .hero{display:block;height:360px}.event-spotlight .hero img{object-position:center 48%}.event-spotlight .hero-shade{background:linear-gradient(90deg,rgba(4,16,48,.58),rgba(4,16,48,.18))}.event-spotlight .hero h1{left:3rem;bottom:5.5rem;font-size:2.5rem;font-weight:400}.event-summary{position:relative;z-index:2;width:min(82%,970px);min-height:88px;margin:-44px auto 0;display:grid;grid-template-columns:1fr 1.65fr 1.45fr auto;align-items:center;background:var(--primary);color:#fff;border-radius:.45rem;box-shadow:0 .6rem 1.6rem rgba(9,33,89,.18);overflow:hidden}.summary-item{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.5rem}.summary-item strong{font-size:.95rem}.summary-item span{white-space:nowrap}.summary-date{padding:1.15rem 1.5rem;border-left:1px solid rgba(255,255,255,.22);font-size:1.45rem;white-space:nowrap}.summary-register{align-self:stretch;display:flex;align-items:center;border:0;border-left:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;padding:1rem 2rem;cursor:pointer;font-weight:600}.summary-register:hover,.summary-register:focus-visible{background:rgba(255,255,255,.12)}.share[hidden]{display:none}

@media(max-width:991px){.mobile-nav{top:64px;background:var(--primary)}.mobile-nav a{color:#fff}.event-spotlight{grid-column:1}.event-spotlight .hero{height:330px}.event-summary{width:calc(100% - 2rem);grid-template-columns:1fr 1.45fr}.summary-date{border-left:0;border-top:1px solid rgba(255,255,255,.22)}.summary-register{border-top:1px solid rgba(255,255,255,.22)}}
@media(max-width:575px){.brand img{width:142px;height:44px}.event-list-spotlight{margin-top:1.5rem}.event-spotlight .hero{height:250px;border-radius:.35rem}.event-spotlight .hero h1{left:1.25rem;bottom:4.25rem;font-size:1.75rem}.event-summary{width:calc(100% - 1rem);margin-top:-32px;grid-template-columns:1fr;border-radius:.4rem}.summary-item{padding:.8rem 1rem}.summary-item+.summary-item,.summary-date,.summary-register{border-left:0;border-top:1px solid rgba(255,255,255,.18)}.summary-date{padding:.9rem 1rem;font-size:1.15rem}.summary-register{min-height:52px;padding:.8rem 1rem}}

/* Header and map refinements based on the Odoo reference. */
.site-header{background:var(--primary);box-shadow:0 .125rem .35rem rgba(0,0,0,.22)}
.nav{min-height:72px;height:auto}
.brand{display:flex;align-items:center;padding:.25rem 0}
.brand img{display:block;width:170px;height:auto;object-fit:contain}
.desktop-nav>a,.desktop-nav>a.active{color:#fff}
.language-select{background:var(--primary);color:#fff;border:1px solid transparent}
.language-select option{background:#fff;color:var(--ink)}
.map-box{height:320px;background:#dce3e8;margin-top:3rem;overflow:hidden}
.map-consent{height:100%;display:flex;flex-direction:column;gap:.5rem;align-items:center;justify-content:center;color:var(--muted);text-align:center;padding:1.5rem}
.map-consent span{font-size:2rem}.map-consent p{max-width:520px;margin:.25rem 0;font-size:.85rem}.map-box iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:991px){.brand img{width:158px;height:auto}.menu-button{background:transparent;align-items:center}.menu-button span{background:#fff}.mobile-nav .language-select{background:#fff;color:var(--ink);border-color:var(--line)}}
@media(max-width:575px){.nav{min-height:68px}.brand img{width:148px;height:auto}.mobile-nav{top:68px}.breadcrumbs span:not(:first-child){display:none}.map-box{height:280px}}

.form-grid{display:grid;grid-template-columns:minmax(130px,1fr) minmax(220px,2fr);gap:.65rem 1rem;align-items:center;padding:1rem 0}
.modal-card .form-grid label{display:block;padding:0;font-weight:500}
.form-grid input{width:100%;min-width:0;padding:.55rem .65rem;border:1px solid var(--line);border-radius:var(--radius)}
.form-grid input:focus{outline:3px solid rgba(93,197,242,.35);border-color:var(--primary)}
.form-grid input:user-invalid{border-color:#b02a37}
.form-grid small{grid-column:2;color:var(--muted);margin-top:-.45rem}
.required-note{font-size:.8rem;color:var(--muted);margin:.1rem 0 .75rem}
.form-error{background:#f8d7da;border:1px solid #f1aeb5;color:#842029;padding:.65rem .75rem;border-radius:var(--radius);margin-bottom:.75rem}
@media(max-width:575px){.form-grid{grid-template-columns:1fr;gap:.35rem}.form-grid small{grid-column:1;margin:0 0 .5rem}.modal-card .form-grid label:not(:first-child){margin-top:.35rem}}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.primary[disabled]{opacity:.65;cursor:wait}
