/* One compact region chooser grows without crowding the mobile header. */
.directory-quick{display:grid;gap:18px;margin:24px 0;padding:20px;border:1px solid #7194ae;background:#fffdf7}
.directory-quick-group h2{margin:0 0 10px;font-size:1rem;color:#155789}
.directory-quick-group small{margin-left:8px;font-size:.875rem;font-weight:400;color:#5c6a70}
.directory-quick-group>div{display:flex;flex-wrap:wrap;gap:8px}
.directory-quick-group a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid #b6c9d7;border-radius:4px;font-size:1rem;color:#155789;text-decoration:none}
.directory-quick-group a:hover{background:#eaf3fa}
.directory-quick a:focus-visible{outline:3px solid #a96b27;outline-offset:3px}
.destination-switch{position:relative;flex:0 0 auto;font-family:inherit;z-index:1100}
.destination-switch>summary{position:relative;z-index:2100;display:flex;align-items:center;justify-content:space-between;gap:14px;list-style:none;border:1px solid #1764a5;border-radius:4px;background:#fffdf7;min-height:44px;padding:9px 13px;color:#155789;font-size:.875rem;font-weight:700;cursor:pointer}
.destination-switch>summary::-webkit-details-marker{display:none}
.destination-switch>summary>span:last-child{font-size:1.125rem;line-height:1}
.destination-switch[open]>summary{background:#eaf3fa}
.destination-menu{position:absolute;z-index:2000;top:calc(100% + 10px);left:0;width:360px;max-width:calc(100vw - 32px);padding:16px;border:1px solid #C9D4D9;border-radius:8px;background:#FCFCFA;box-shadow:0 10px 28px rgba(32,42,51,.14);box-sizing:border-box;isolation:isolate}
.destination-menu>p,.destination-europe>span{font-size:.75rem;letter-spacing:.07em;color:#5c6a70;margin:0 0 10px;font-weight:700}
.header .destination-menu nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin:0;padding:0}
.header .destination-menu nav>a,.destination-planned{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:42px;padding:8px 10px;border:0;color:#25485c;font-size:1rem;text-decoration:none}
.header .destination-menu nav>a[aria-current]{background:#e9f2f8;color:#145e8f}
.header .destination-menu nav>a[aria-current]:after{display:none}
.header .destination-menu nav>a:hover{background:#f3ead5}
.destination-planned{color:#696b68;font-weight:400}
.destination-planned small,.destination-europe small{font-size:.75rem;color:#71736e;white-space:nowrap}
.destination-europe{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px;padding-top:17px;border-top:1px dashed #c6c7bb}
.destination-europe>span{margin:0}
.destination-all{display:block;font-size:.875rem;padding-top:18px;color:#145e8f;text-decoration:underline;text-underline-offset:4px}
.destination-switch :focus-visible{outline:3px solid #a96b27;outline-offset:3px}
.directory-heading{display:flex;align-items:center;gap:18px;margin:30px 0 20px}
.directory-heading h2{font-size:1.4rem;color:#155789;margin:0}
.directory-heading>span{font-size:.75rem;letter-spacing:.15em;color:#68747b}
.city-picker .choice-fukuoka{border-color:#227775;box-shadow:5px 5px 0 #c9e2dc}
.city-picker .choice-fukuoka .city-choice-image{border-color:#227775}
.city-picker .choice-fukuoka h2{color:#226963}
.city-picker .choice-fukuoka .button{background:#226963;border-color:#226963}
.directory-upcoming{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:24px 0 0;padding:20px 0;border-bottom:1px dashed #c7cbbc}
.directory-upcoming>p{font-size:.875rem;color:#617078;margin:0}
.directory-upcoming>div{display:flex;gap:22px;flex-wrap:wrap}
.directory-upcoming>div>span{display:flex;gap:10px;align-items:baseline}
.directory-upcoming strong{font-size:1rem;color:#505c62}
.directory-upcoming small{font-size:.75rem;color:#6b6d65}
.directory-europe{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:25px 0;margin:0 0 28px;border-bottom:1px solid #c7cbbc}
.directory-europe .eyebrow{font-size:.75rem;color:#7b6050;margin-bottom:5px}
.directory-europe h2{font-size:1.4rem;color:#6b5043;margin:0}
.directory-europe>p{font-size:.9375rem;color:#666256;margin:0;flex:1;min-width:200px}
.directory-europe>span{font-size:.75rem;border:1px solid #c9bea7;border-radius:3px;padding:5px 9px;color:#695f4d;white-space:nowrap}
@media(min-width:1280px){.region-directory .city-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.region-directory .city-choice{grid-template-columns:37% minmax(0,1fr)}.region-directory .city-choice-copy{padding:20px 17px}.region-directory .city-choice-copy h2{font-size:26px}.region-directory .city-choice-copy .button{font-size:14px;padding:9px 10px}.region-directory .city-choice-copy p{font-size:1rem}}
@media(max-width:760px){.destination-switch{margin-left:auto}.destination-menu{left:auto;right:0}.destination-switch>summary{gap:9px;padding:8px 10px}.directory-heading{margin-top:26px}.directory-upcoming{padding-top:16px;gap:14px}.directory-upcoming>p{width:100%}.directory-europe{gap:15px;margin-bottom:22px}.directory-europe>p{order:3;flex-basis:100%;font-size:.875rem}.directory-europe>span{margin-left:auto}.header .brand{font-size:21px}}
@media print{.destination-switch{display:none}}
.city-picker .choice-hokkaido{border-color:#674664;box-shadow:5px 5px 0 #dfd3df}.city-picker .choice-hokkaido .city-choice-image{border-color:#674664}.city-picker .choice-hokkaido h2{color:#674664}.city-picker .choice-hokkaido .button{background:#674664;border-color:#674664}

.city-picker .choice-okinawa{border-color:#076978;box-shadow:5px 5px 0 #c3e3e7}.city-picker .choice-okinawa .city-choice-image{border-color:#076978}.city-picker .choice-okinawa h2{color:#076978}.city-picker .choice-okinawa .button{background:#076978;border-color:#076978}
@media(min-width:1280px){.region-directory .city-choice:last-child:nth-child(odd){grid-column:1/-1;grid-template-columns:37% minmax(0,1fr)}}

.destination-group+ .destination-group{margin-top:14px;padding-top:15px;border-top:1px dashed #c6c7bb}.destination-group>p{font-size:.75rem;letter-spacing:.07em;color:#5c6a70;margin:0 0 10px;font-weight:700}.destination-menu{max-height:calc(100vh - 128px);max-height:calc(100dvh - 128px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.region-directory .directory-region{display:block;padding:0;margin:0 0 38px;border:0;scroll-margin-top:90px}.directory-jump{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.directory-jump a{padding:10px 16px;border:1px solid #1764a5;color:#155789;background:#fffdf7;font-weight:700}.region-directory .directory-europe .directory-heading h2{color:#8b512f}.city-picker .choice-malta{border-color:#8b512f;box-shadow:5px 5px 0 #e6d0a8}.city-picker .choice-malta .city-choice-image{border-color:#8b512f}.city-picker .choice-malta h2{color:#8b512f}.city-picker .choice-malta .button{background:#8b512f;border-color:#8b512f}
