/* GRIDLY V4.03 */
[data-language-open] svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; }
#gridly-language-dialog { width:min(320px,calc(100vw - 32px)); box-sizing:border-box; padding:30px 24px 22px; border:1px solid #416381; border-radius:14px; background:#0b1423; color:#fff; font-family:Arimo,Arial,sans-serif; text-align:center; box-shadow:0 16px 48px #0008; }
#gridly-language-dialog::backdrop { background:#0009; }
#gridly-language-dialog h2 { font-size:19px; margin:0 0 9px; letter-spacing:1px; }
#gridly-language-dialog p { font-size:13px; color:#b8cce0; line-height:1.5; margin:0 0 20px; }
#gridly-language-dialog button { font:inherit; color:inherit; cursor:pointer; }
#gridly-language-dialog .language-close { position:absolute; right:8px; top:8px; border:0; background:none; width:32px; height:32px; font-size:25px; }
.language-choices { display:grid; gap:9px; }
.language-choices button { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:12px 16px; border:1px solid #456079; background:#111f32; border-radius:8px; }
.language-choices button span { font-size:11px; opacity:.75; }
.language-choices button[aria-pressed=true] { border-color:#69b7ff; background:#125aa9; }
.language-choices button:hover { background:#24445f; }
#gridly-language-dialog button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
#gridly-language-dialog .language-status { margin:12px 0 0; }
#gridly-language-dialog .language-status:empty { display:none; }
body.language-open { overflow:hidden; }
@media(max-width:400px) { .page-home .utility-row { gap:3px; } .page-home .utility-button.icon-only { width:38px; min-height:44px; } }
@media(max-width:340px) { .page-home .utility-row { gap:2px; } .page-home .utility-button.icon-only { width:35px; } }
/* Translated copy may be longer; keep it inside the viewport. */
.page-home .hero-tagline { max-width:calc(100vw - 40px); white-space:normal; margin-inline:auto; overflow-wrap:break-word; }
html:not([lang=en]) .event-tabs button { white-space:normal; line-height:1.3; }
html:not([lang=en]) .home-menu-button { white-space:normal; }

#gridly-language-dialog { max-height:calc(100dvh - 24px); overflow-y:auto; }
.travel-rating-feedback { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; margin:12px 0 24px; font-size:13px; }
.travel-rating-feedback[hidden] { display:none; }
.travel-rating-feedback button { border:1px solid #619fe3; border-radius:6px; background:#123867; color:#fff; padding:10px 16px; cursor:pointer; font:inherit; }
