/* Kharjin: violet city energy, warm apricot and mint accents. */
body{background:#eee6fb;color:#30164d;background-image:radial-gradient(ellipse at 0% 40%,#dbcbf8 0,transparent 42%),radial-gradient(ellipse at 100% 75%,#d3eee6 0,transparent 35%)}
header{background:#f6f0ff;border-bottom:1px solid #daccf0;max-width:none;margin:0;box-shadow:0 4px 22px #42127b08}
.map-intro{position:relative;isolation:isolate;overflow:hidden;max-width:1250px;margin:24px auto 0;padding:30px 38px 55px;border-radius:28px;background:radial-gradient(ellipse at 88% 0%,#bd67ed 0,transparent 48%),linear-gradient(115deg,#3c147f,#7436d7 65%,#9256e4);color:#fff;box-shadow:0 14px 38px #5b219b24}
.map-intro::before{content:'';position:absolute;z-index:-1;width:260px;height:260px;inset-inline-end:-40px;top:-110px;border:45px solid #dfb4ff30;border-radius:50%}
.map-intro::after{content:'✦';position:absolute;z-index:-1;inset-inline-end:7%;bottom:8px;font-size:116px;line-height:1;color:#dec2ff38;transform:rotate(12deg)}
.map-intro .eyebrow{color:#ebdbff}.map-intro h1{margin:15px 0 12px;max-width:850px;line-height:1.12}.map-intro p{color:#f2e9ff;max-width:760px;margin-bottom:0}
.searchbox{grid-template-columns:1.4fr 1.1fr 1fr auto;margin:-26px auto 28px;max-width:1170px;border:1px solid #d5c2ef;background:#fcfaff;box-shadow:0 12px 28px #441a8020;align-items:center}.searchbox .field{min-width:0}.field label{color:#60447d}.field input,.field select{background:transparent}.date-controls{display:flex;align-items:center;gap:8px;min-width:0}.date-controls select{min-width:0;flex:1;width:100%}.calendar-trigger{position:relative;display:flex!important;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;background:#e8d9fc;border:1px solid #d3b9f4;border-radius:12px;color:#6226ba!important;margin:0!important;cursor:pointer;overflow:hidden}.calendar-trigger:hover,.calendar-trigger:focus-within{background:#d9c0fa;outline:2px solid #9755df;outline-offset:2px}.calendar-trigger input{position:absolute;inset:0;opacity:0;width:100%;height:100%;min-width:0;padding:0!important;cursor:pointer}.calendar-trigger input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;cursor:pointer}#chosen-date{display:block;color:#6a30b6;font-size:11px;padding-top:3px}#chosen-date:empty{display:none}
.primary{background:linear-gradient(115deg,#7737dc,#5320a9);box-shadow:0 5px 14px #6825c72b}.primary:hover{background:#5420a7;transform:translateY(-1px)}.section-head h2{color:#3d1d61}.chips{gap:9px;flex-wrap:wrap}.chip{background:#f6efff;border:1px solid #d3bceb;color:#563573;box-shadow:0 2px 5px #4d216307}.chip:nth-child(3n+2){background:#d9f0e7;border-color:#b8dace;color:#275a4a}.chip:nth-child(3n){background:#ffe3d0;border-color:#f2c5a9;color:#75462c}.chip.active,.chip[aria-pressed=true]{background:#713ce5;color:#fff;border-color:#713ce5;box-shadow:0 4px 12px #713ce536}.pill{background:#f7f0ff;border-color:#cdb7e9;color:#622b9f}.pill:hover{background:#e4d5f9}.count{color:#6a4c80}.card{border:1px solid #d6c3ee;background:#faf6ff;box-shadow:0 5px 16px #4825720c}.card:nth-child(3n+2){background:#f0faf5;border-color:#c6e2d4}.card:nth-child(3n){background:#fff3ea;border-color:#eed7c4}.card:hover{box-shadow:0 12px 26px #4e238325;transform:translateY(-3px)}.cardbody{background:transparent}.empty{background:#e3d4f8;border:1px dashed #b895e1;border-radius:22px;padding:35px!important}.empty h3{color:#512587}.empty p{color:#684d7f}.map-panel{border:2px solid #b795e6;box-shadow:0 8px 25px #4e238318;background:#e3d4f8}.map-caption{background:#d8c4f4;color:#533873;border-color:#c5a5e7}#mappreview{color:#573d75}.viewtoggle{background:#e1d1f4;border-color:#c3a4e5}.viewtoggle button{background:transparent}.banner{background:radial-gradient(circle at 95% 0%,#e1a6e940,transparent 50%),#3c176c;color:#fff;border:1px solid #612b9c}.banner .eyebrow{color:#d9bcf9}.banner p{color:#e5d3f8}.banner .primary{background:#e9d7ff;color:#481888;box-shadow:none}.small-note{color:#745b87}body>footer{border-top:1px solid #cbb1e8}.mobile-nav{background:#f1e8fdf5;border-color:#c9ade8}
@media(max-width:1050px){.map-intro{width:calc(100% - 40px)}.searchbox{grid-template-columns:1fr 1fr;max-width:calc(100% - 70px)}.searchbox .field:first-child{grid-column:1/-1}.searchbox .primary{grid-column:auto}.map-intro h1{max-width:85%}}
@media(max-width:760px){.map-intro{padding:25px 24px 48px;margin-top:16px;border-radius:24px;width:calc(100% - 30px)}.map-intro h1{max-width:100%;font-size:36px}.map-intro p{max-width:95%}.map-intro::after{font-size:90px;inset-inline-end:3%}.searchbox{max-width:none;width:calc(100% - 50px);padding:17px 12px;gap:14px 8px}.searchbox .field{border:0;padding:0 5px}.searchbox .field:first-child{padding-bottom:12px;border-bottom:1px solid #e0d0f1}.searchbox .primary{grid-column:1/-1}.calendar-trigger{flex-basis:42px;width:42px;height:44px}.date-controls{gap:3px}.field select{font-size:14px}.map-intro .eyebrow{font-size:9px;letter-spacing:1px}.banner{margin-top:30px}.empty{padding:24px!important}}
[dir=rtl] .searchbox .field{border-left:0}[dir=rtl] #chosen-date{font-family:'Cairo',sans-serif}[dir=rtl] .calendar-trigger input{text-align:start}[dir=rtl] .map-intro h1{max-width:100%}
@media(max-width:480px){.searchbox .field:nth-child(2),.searchbox .field:nth-child(3){grid-column:1/-1}.searchbox .field:nth-child(3){border-top:1px solid #e0d0f1;padding-top:12px}.date-controls select{font-size:16px}}
/* One expressive violet palette for every category. */
.chip:nth-child(n){background:#e6d5fa;border:1px solid #c7a6ee;color:#542780}.chip:nth-child(2n){background:#f1d9fc;border-color:#dfb4f0;color:#70268e}.chip:nth-child(3n){background:#dcd6fc;border-color:#bdb0ef;color:#463187}.chip.active,.chip[aria-pressed=true]{background:linear-gradient(120deg,#9b3fea,#6223ca);color:#fff;border-color:#7431d4}.card:nth-child(n){background:#f5edff;border-color:#d2b7ef}.card:nth-child(2n){background:#f9edff;border-color:#ddc1ee}body{background-color:#eadcf9;background-image:radial-gradient(ellipse at 0% 40%,#d3b7f5,transparent 45%),radial-gradient(ellipse at 100% 75%,#e7c2f5,transparent 40%)}
.map-intro{padding-bottom:65px;min-height:260px}.map-intro h1,.map-intro p,.map-intro>.eyebrow{position:relative;z-index:2;max-width:70%}.map-intro::after{display:none}.intro-photos{position:absolute;inset-inline-end:25px;top:30px;width:260px;height:195px;pointer-events:none}.intro-photos img{position:absolute;width:115px;height:145px;object-fit:cover;border:4px solid #e6caff;border-radius:18px;box-shadow:0 12px 22px #21054255}.intro-photos img:nth-child(1){left:0;top:22px;transform:rotate(-12deg)}.intro-photos img:nth-child(2){left:75px;top:0;transform:rotate(5deg)}.intro-photos img:nth-child(3){left:145px;top:28px;transform:rotate(15deg)}.city-pulse{display:flex;gap:12px;align-items:center;color:#dfb9ff;font-size:9px;letter-spacing:3px;font-weight:800;margin-top:20px}.city-pulse span:first-child{font-size:20px;color:#f1c5ff;animation:twinkle 4s ease-in-out infinite}.route-link{display:inline-flex;align-items:center;gap:6px;border-radius:9px;background:#e4d1fa;border:1px solid #c6a1eb;color:#5a2393;text-decoration:none;font-size:11px;font-weight:700;padding:10px 12px;min-height:40px}.route-link:hover{background:#ceb0f2}.cardfoot{flex-wrap:wrap;gap:8px}.cardfoot .route-link{flex-basis:100%;justify-content:center}.map-preview-card .route-link{display:flex;margin-top:7px}.map-anchor{font-size:12px;color:#6930aa;font-weight:700;text-decoration:none}.viewbar{justify-content:flex-end}.map-panel{border:2px solid #a16cd7}#activitymap{scroll-margin-top:25px}.favorites-page #searchform,.favorites-page .chips,.favorites-page .viewbar,.favorites-page .map-panel,.favorites-page .banner,.favorites-page .toolbar,.favorites-page .small-note,.favorites-page .intro-photos{display:none}.favorites-page .discovery-layout{display:block}.favorites-page .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.favorites-page .map-intro{min-height:220px;padding-bottom:30px;margin-bottom:28px}.favorites-page .map-intro h1,.favorites-page .map-intro p{max-width:100%}.favorites-note{color:#6e458f;font-size:13px;padding:13px 18px;border-inline-start:3px solid #9650db;background:#e1cbf5;border-radius:0 12px 12px 0}.favorite-empty-icon{font-size:64px;color:#a04bd8;line-height:1}.empty .primary{display:inline-flex;text-decoration:none;padding:14px 20px;border-radius:12px;margin-top:12px}.back-explore{text-decoration:none;display:inline-flex;align-items:center;min-height:44px}.card{transition:transform .2s,box-shadow .2s}.heart.saved{background:#713ce5;color:white}.card .visual{border-radius:14px 14px 0 0}.favorites-page #favlink{color:#713ce5;font-weight:700}
@keyframes twinkle{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(35deg) scale(1.25)}}
@media(max-width:1050px){.intro-photos{width:220px;transform:scale(.8);transform-origin:top right}.map-intro h1,.map-intro p,.map-intro>.eyebrow{max-width:70%}.favorites-page .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.map-panel{display:block;position:relative;top:auto;grid-row:1}.discovery-layout{display:grid;grid-template-columns:1fr}#activitymap{height:340px;min-height:300px}.favorites-page .discovery-layout{display:block}}
@media(max-width:760px){.intro-photos{display:none}.map-intro h1,.map-intro p,.map-intro>.eyebrow{max-width:100%}.map-intro{min-height:0;padding-bottom:48px}.city-pulse{letter-spacing:2px;margin-top:12px}.favorites-page .map-intro{min-height:0;padding-bottom:25px}.favorites-page .section-head{align-items:flex-start;gap:12px}.favorites-page .grid{grid-template-columns:1fr}.favorites-note{font-size:12px}.route-link{min-height:44px}.map-panel{margin-bottom:5px}.favorites-page .intro-photos{display:none}}
@media(prefers-reduced-motion:reduce){.city-pulse span:first-child{animation:none}.card,.primary{transition:none}}
/* Readable event information and a real organizer form. */
.card{cursor:pointer}.card .meta{font-size:13px;letter-spacing:.2px;line-height:1.6}.card .location{font-size:15px;line-height:1.65;margin-top:6px}.card .price{font-size:16px}.card .details{font-size:14px}.card .badge{font-size:12px}.card .route-link{font-size:13px}.card .photo-caption{font-size:10px}.cardbody{padding:19px}.card:focus-within{outline:3px solid #a96de5;outline-offset:3px}.map-preview-card small{font-size:14px}.map-preview-card strong{font-size:16px}.event-location{margin:22px 0;padding:15px;border:1px solid #d1b6ec;border-radius:16px;background:#eee1fc}.event-location h3{font-size:18px;margin:0 0 12px}.event-location iframe{display:block;width:100%;height:265px;border:0;border-radius:12px;margin-bottom:12px}#place-map{display:block;width:100%;height:520px;border:0}#place-map[hidden],#activitymap[hidden]{display:none!important}#proposal{width:780px;max-width:calc(100vw - 32px)}#proposal fieldset{border:1px solid #dfc9f2;border-radius:16px;padding:18px;margin:22px 0;background:#f8f2ff}#proposal legend{padding:0 9px;color:#632c9a;font-size:16px;font-weight:700}.proposal-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}#proposal .formrow{min-width:0}#proposal input,#proposal textarea,#proposal select{width:100%;box-sizing:border-box;min-height:44px;padding:11px 12px;border:1px solid #cdb5e5;background:#fff;border-radius:10px;color:#3b2051;font:inherit}#proposal label{display:block;font-size:14px;margin-bottom:7px}#proposalmap{height:240px;border-radius:12px;border:1px solid #d6bcec;margin:12px 0}.form-hint{font-size:13px;line-height:1.6;color:#76528e}.proposal-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#proposal-feedback{color:#613490;line-height:1.6}#proposal-submit:disabled{opacity:.55;cursor:wait}#proposal-submit{min-height:48px}.favorites-page .banner{display:flex}#proposalmap .leaflet-container{direction:ltr}
@media(max-width:900px){#place-map{height:340px}}@media(max-width:600px){.proposal-grid{grid-template-columns:1fr}#proposal fieldset{padding:14px}#proposal{padding:22px 16px}.card .meta{font-size:13px}.card .location{font-size:15px}.card .price{font-size:16px}.card .details{font-size:14px}}
#event-map-panel{scroll-margin-top:25px}
/* Poster-led cards inspired by the supplied event reference. */
#grid{align-items:stretch}.card:nth-child(n){display:flex;flex-direction:column;min-width:0;background:#07162a;border:1px solid #20314a;border-radius:18px;padding:16px;box-shadow:0 8px 24px #2712441a;overflow:hidden;color:#fff}.card-organizer{font-size:13px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;margin:0 0 14px;color:#eee6ff}.card .visual{flex:none;width:100%;height:auto;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#13263e}.card .event-photo,.card .event-photo.poster{display:block;width:100%;height:100%;object-fit:contain;background:#13263e}.card .visual.no-image{height:52px;aspect-ratio:auto;background:#10223a}.card .cardbody{display:flex;flex:1;flex-direction:column;padding:17px 0 0}.card .meta{color:#b995ed;font-size:11px;letter-spacing:.6px;margin-bottom:4px}.card h3{color:#fff;font-size:18px;line-height:1.45;margin:5px 0 12px;min-height:0}.card .location{color:#aab9cc;font-size:15px;line-height:1.6;margin:0 0 10px}.card .event-date{font-size:14px}.card .cardfoot{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px 8px;border-top:0;padding:14px 0 0;margin-top:auto}.card .price{justify-self:start;display:inline-flex;align-items:center;min-height:38px;padding:8px 16px;border-radius:22px;background:#182b43;color:#fff;font-size:16px;font-weight:800;line-height:1.25}.card .details{justify-self:end;color:#d8b7ff;font-size:13px;min-height:44px}.card .route-link{grid-column:1/-1;display:flex;width:100%;justify-content:center;min-height:44px;background:#7940ca;border-color:#995edf;color:#fff;align-self:end;border-radius:11px;font-size:13px}.card .route-link:hover{background:#9254e5}.card .badge{background:#14253de8;color:#e8d5ff;font-size:10px;bottom:10px;max-width:75%;left:10px}.card .photo-caption{font-size:8px;max-width:70%;right:6px;bottom:36px}.card .heart{background:#14253de8;color:#fff;border:1px solid #9a7fb0;width:40px;height:40px;top:10px;right:10px}.card .heart.saved{background:#8649d5}.card:hover{border-color:#9a65d9;box-shadow:0 14px 30px #2d17422b}.card:focus-within{outline-color:#b57ce9}#proposal-price-label{display:block;color:#773cb0;font-weight:700;font-size:13px;margin-top:6px}#proposal-price-label:empty{display:none}
[dir=rtl] .card .badge{left:auto;right:10px}[dir=rtl] .card .heart{left:10px;right:auto}[dir=rtl] .card .photo-caption{right:auto;left:6px}
@media(max-width:480px){.card:nth-child(n){padding:16px}.card h3{font-size:18px}.card .location{font-size:15px}.card .price{font-size:16px}.card .details{padding:8px 0}.card .cardfoot{display:grid}.card .visual{height:auto;aspect-ratio:1}}
#map-location-status{font-size:11px;line-height:1.6;color:#70508a;padding:0 15px;margin:8px 0}#map-location-status:empty{display:none}
.map-preview-card+.map-preview-card{border-top:1px solid #cbb0e7;margin-top:15px;padding-top:15px}

.map-consent{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:40px;text-align:center;height:100%;min-height:300px;background:radial-gradient(circle at 70% 20%,#bd8fe6,transparent 65%),#e5d2f5}.map-consent p{max-width:330px;line-height:1.7;color:#593373}.map-consent a{color:#5c229b;font-size:12px}.reuse-permission{display:flex!important;gap:12px;align-items:flex-start;background:#ecddf9;padding:15px;border-radius:12px}.reuse-permission input{width:20px!important;min-height:20px!important;flex:none;margin-top:3px}.intro-photos{display:none}

h1,h2,h3{font-family:'Trebuchet MS',Arial,sans-serif}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3{font-family:Tahoma,Arial,sans-serif}

.event-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;font-size:14px;line-height:1.65;max-height:4.95em;margin:0 0 14px}.card .event-summary{color:#c8bcd9}.card .badge{font-size:12px;font-weight:700;background:#6e36b7;color:#fff}.card .cardbody{padding-top:15px}#detailcontent>.event-summary{font-size:16px}

/* Event imagery and a structured detail sheet, with or without a poster. */
.card .event-photo,.card .event-photo.poster{object-position:center center}.card .badge{top:10px;bottom:auto;left:10px;right:auto;z-index:2;max-width:calc(100% - 68px)}.card .heart{z-index:3}.card .visual:before,.card .visual:after{display:none}.article-photo a{display:flex;justify-content:center;align-items:center}.article-photo img,.article-photo.poster img{width:100%;height:auto;max-height:430px;object-fit:contain;object-position:center;background:#eee5fa}.detail-heading{display:block;margin:0;padding:0 24px 20px 0;border:0;max-width:none}.detail-heading .eyebrow{color:#813cc0;line-height:1.7;letter-spacing:1px}.detail-heading h2{font-size:30px;line-height:1.25;margin:12px 0 0}.detail-without-image .detail-heading{padding:22px 24px;border-radius:16px;background:linear-gradient(120deg,#ece0ff,#fbe5f4);margin:8px 0 24px}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 24px}.detail-fact{display:flex;flex-direction:column;gap:6px;border:1px solid #e6d7f4;background:#f7f1fd;border-radius:13px;padding:16px;min-width:0;overflow-wrap:anywhere}.fact-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#826493}.detail-fact strong{font-size:16px;line-height:1.5;color:#38204e}.detail-fact>span:not(.fact-label){font-size:14px;color:#765487}.detail-price{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;background:#713bc0;border:0}.detail-price .fact-label,.detail-price strong{color:white}.detail-extra{margin:24px 0;border-top:1px solid #e5d7f0}.detail-extra>div{padding:12px 0;display:grid;grid-template-columns:115px 1fr;gap:12px;border-bottom:1px solid #e5d7f0}.detail-extra dt{font-size:12px;color:#80658e}.detail-extra dd{margin:0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}#detail .dialog-actions{padding-top:18px;border-top:1px solid #e5d7f0}#detail .detail-report{font-size:11px;border:0;padding-inline:0;width:100%}#detail .article-source{display:block;margin-top:20px;padding:16px 0 0;overflow-wrap:anywhere}#detail .close{position:sticky;top:0;z-index:5}html[dir=rtl] .detail-heading{padding-right:0;padding-left:24px}@media(max-width:480px){.detail-heading h2{font-size:25px}.detail-facts{grid-template-columns:1fr}.detail-price{grid-column:auto}.detail-extra>div{grid-template-columns:1fr;gap:5px}.article-photo img,.article-photo.poster img{max-height:350px}}
