/* Source: components.css */
/* Shared cards, forms and trip editor. Layout and materials are in style.css. */
*{box-sizing:border-box;scrollbar-width:none}
*::-webkit-scrollbar{display:none;width:0;height:0}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{border:0;cursor:pointer;color:inherit;background:none}
button:disabled{opacity:.4;cursor:default}
a{color:inherit;text-decoration:none}
button,a{touch-action:manipulation}
input,select,textarea{min-width:0;color:var(--ink)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid #188be577;outline-offset:3px}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{letter-spacing:-.035em}
img{display:block;max-width:100%;object-fit:cover}
small{line-height:1.4}
[hidden]{display:none!important}
.icon{display:block;flex-shrink:0;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.skip-link:focus{position:fixed;top:8px;left:8px;background:#fff;padding:12px;z-index:9999}
.destination-header{margin-bottom:22px}
.destination-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}
.country-link{display:flex;align-items:center;gap:4px;font-size:13px;padding:0;color:var(--muted)}
.country-link .icon{width:14px;height:14px}
.destination-navigation .text-button{font-size:13px}
.destination-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.destination-heading h1{font-size:clamp(40px,4vw,58px);line-height:1.07;letter-spacing:-2.4px;font-weight:750}
.destination-heading .icon-button{border:1px solid var(--line);background:transparent;margin-top:4px}
.destination-description{font-size:15px;color:var(--muted);line-height:1.55;max-width:600px;margin-top:13px}
.destination-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:17px}
.destination-meta button,.destination-clock{display:flex;align-items:center;gap:6px;padding:0;text-align:start}
.destination-meta .icon{width:17px;height:17px}
.destination-clock bdi{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;margin-inline-start:3px}
.destination-meta button strong{color:var(--ink);font-weight:500}
.hero-photo{position:relative;height:clamp(220px,19vw,330px);border-radius:24px;overflow:hidden;background:#c4e6f5;margin-bottom:18px}
.hero-photo>img{width:100%;height:100%;object-position:50% 45%}
.hero-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#04243666);pointer-events:none}
.hero-badge{position:absolute;top:16px;inset-inline-start:16px;padding:8px 12px;background:#ffffffec;border-radius:30px;display:flex;gap:7px;align-items:center;font-size:12px;z-index:1}
.hero-badge .icon{width:16px;height:16px}
.hero-actions{position:absolute;inset-inline:18px;bottom:18px;z-index:2;display:flex;align-items:center;gap:9px}
.primary-button,.secondary-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:45px;padding:12px 18px;border-radius:30px;font-size:14px;font-weight:600;line-height:1.35}
.primary-button{background:var(--accent);color:#fff}
.primary-button:hover{background:var(--accent-hover)}
.secondary-button{background:#e9f3fa;color:#153c58}
.secondary-button:hover{background:#dceefa}
.hero-actions .secondary-button{background:#fffffff2}
.primary-button .icon,.secondary-button .icon{width:18px;height:18px}
.text-button{display:inline-flex;align-items:center;gap:5px;color:var(--accent);padding:0;font-size:14px;font-weight:500;text-align:start;line-height:1.4}
.text-button .icon{width:16px;height:16px}
.section-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 14px}
.section-line h2,.intro-copy h2{font-size:23px;line-height:1.25;font-weight:650;letter-spacing:-.65px}
.section-line .text-button{flex-shrink:0;font-size:13px}
.travel-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:white;border-radius:18px;overflow:hidden;margin:18px 0 26px}
.travel-fact{padding:15px 12px;text-align:start;min-width:0;border-inline-end:1px solid var(--line)}
.travel-fact:last-child{border-inline-end:0}
.travel-fact>span{display:flex;gap:5px;align-items:center;font-size:12px;line-height:1.3;color:var(--muted)}
.travel-fact .icon{width:15px;height:15px}
.travel-fact strong{display:block;font-size:15px;line-height:1.35;font-weight:600;margin-top:8px;overflow-wrap:anywhere}
.booking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.booking-tile{display:flex;flex-direction:column;align-items:stretch;text-align:start;min-height:141px;border-radius:19px;padding:16px 14px;background:#e4f0f9;transition:transform .18s}
.booking-tile:hover{transform:translateY(-3px)}
.primary-tile{background:#16354b;color:white}
.booking-tile-top{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:500;min-height:24px}
.booking-tile-top>.icon{width:18px;height:18px}
.booking-tile-top>.icon:last-child{width:13px;height:13px;margin-inline-start:auto;align-self:flex-start}
.booking-tile strong{font-size:20px;letter-spacing:-.5px;margin:17px 0 5px;line-height:1.2}
.booking-tile small{font-size:12px;color:#607487}
.primary-tile small{color:#c3d7e6}
.tile-status{font-size:11px;opacity:.7;margin-top:auto;padding-top:7px}
.essential-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 26px}
.essential-links button{display:flex;align-items:center;gap:10px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:15px;text-align:start;min-width:0}
.essential-links button>.icon{width:20px;height:20px;color:#6289a5}
.essential-links button>span{flex:1;font-size:13px;font-weight:600}
.essential-links small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:4px}
.essential-links button>.icon:last-child{width:14px;height:14px}
.intro-copy{margin-top:28px}
.expandable-copy p{font-size:15px;line-height:1.7;color:#5c6e7b;margin:13px 0}
.long-copy summary{display:flex;align-items:center;gap:6px;width:fit-content;list-style:none;cursor:pointer;color:var(--accent);font-size:13px;font-weight:600;padding:5px 0}
.long-copy summary::-webkit-details-marker{display:none}
.long-copy .icon{width:15px;height:15px}
.long-copy .when-open{display:none}
.long-copy[open] .when-open{display:inline}
.long-copy[open] .when-closed{display:none}
.long-copy[open] summary .icon{transform:rotate(180deg)}
.suitability{display:flex;gap:8px;overflow:auto;margin-top:16px}
.suitability button{display:flex;align-items:center;gap:6px;white-space:nowrap;background:white;border:1px solid var(--line);border-radius:25px;padding:9px 12px;font-size:12px}
.suitability .icon{width:16px;height:16px}
.extras-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.extras-grid button{display:flex;gap:9px;align-items:center;padding:13px;background:white;border:1px solid var(--line);border-radius:15px;text-align:start}
.extras-grid button>.icon{width:18px;height:18px;color:#7095ac}
.extras-grid button>span{min-width:0;flex:1;font-size:13px;font-weight:600}
.extras-grid small{font-size:11px;font-weight:400;color:var(--muted);display:block;margin-top:4px}
.extras-grid button>.icon:last-child{width:13px;height:13px}
.mouse-rail{overflow-x:auto;overscroll-behavior-x:contain;cursor:grab;touch-action:pan-x pan-y}
.mouse-rail.dragging,.mouse-rail.dragging *{cursor:grabbing!important;user-select:none}
.mouse-rail img{user-select:none;-webkit-user-drag:none}
.place-group{margin-top:35px}
.place-group .section-line{margin-bottom:14px}
.place-group h2 .icon{display:none}
.mini-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);background:white;border-radius:50%;flex-shrink:0}
.mini-button .icon{width:16px;height:16px}
.place-rail{display:flex;gap:14px;margin-inline:-3px;padding:3px 3px 10px;align-items:stretch}
.group-card{position:relative;flex:0 0 calc((100% - 14px)/2);min-width:225px;background:white;border-radius:22px;overflow:hidden;border:1px solid #e7edf2;transition:transform .18s,box-shadow .18s}
.group-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px #233c5810}
.group-card-open{display:flex;flex-direction:column;width:100%;height:100%;padding:0;text-align:start}
.group-card-cover{display:block;position:relative;width:100%;height:158px;overflow:hidden;background:#dfecf4}
.group-card-cover>img{width:100%;height:100%}
.group-card-cover .category-cover{height:100%;border-radius:0}
.category-cover{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#dfecf4;color:#5f92b5}
.category-cover .icon{width:38px;height:38px;stroke-width:1.2}
.group-card-type{position:absolute;bottom:10px;inset-inline-start:10px;display:flex;gap:5px;align-items:center;padding:6px 9px;max-width:calc(100% - 20px);background:#fffffff2;border-radius:20px;font-size:11px;line-height:1.2}
.group-card-type .icon{width:13px;height:13px}
.group-card-copy{display:flex;flex:1;flex-direction:column;padding:16px;gap:9px}
.group-card-copy>strong{font-size:17px;font-weight:600;line-height:1.25;letter-spacing:-.45px}
.group-card-copy p{font-size:13px;line-height:1.5;color:var(--muted);flex:1}
.group-card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding-top:7px;border-top:1px solid #edf2f6;font-size:13px;font-weight:600}
.group-card-bottom small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:2px}
.save-button{display:flex;align-items:center;justify-content:center;width:33px;height:33px;position:absolute;top:10px;inset-inline-end:10px;z-index:2;border-radius:50%;background:#fffffff5;color:#334b5f}
.save-button .icon{width:17px;height:17px}
.saved{color:var(--accent)!important}
.saved .icon{fill:#188be51a}
.group-all{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 3px;font-size:13px;font-weight:500;color:var(--accent);text-align:start}
.group-all .icon{width:16px;height:16px}
.itinerary-card{display:flex;align-items:center;gap:17px;border-radius:22px;padding:22px;background:var(--navy);color:white;margin:28px 0}
.itinerary-icon{width:48px;height:48px;background:#ffffff14;border-radius:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.itinerary-copy{flex:1}
.itinerary-copy h3{font-size:19px;line-height:1.3;margin:5px 0 7px}
.itinerary-copy>small{font-size:11px;color:#a9c9df}
.itinerary-copy p{font-size:13px;line-height:1.5;color:#b9d0e0}
.itinerary-card button{background:#fff;color:#164566;font-size:13px;flex-shrink:0;padding:11px 15px}
.list-footer{margin:34px 0 0;padding:25px 0;border-top:1px solid var(--line);color:var(--muted)}
.footer-wordmark{display:block;font-size:20px;letter-spacing:-.7px;font-weight:750;color:#8eabbf;margin-bottom:13px}
.list-footer p{font-size:12px;line-height:1.6;max-width:580px}
.list-footer .text-button{font-size:12px;margin-top:12px}
.search-row{display:flex;gap:10px;margin-bottom:16px}
.search-field{display:flex;align-items:center;gap:10px;flex:1;min-width:0;background:white;border:1px solid var(--line);border-radius:30px;padding:0 16px;height:49px}
.search-field>.icon{color:#8599a8;width:19px;height:19px}
.search-field input{border:0;outline:0;background:none;width:100%;font-size:14px;min-width:0;height:100%}
.search-field input::-webkit-search-cancel-button{display:none}
.search-field button{padding:0}
.search-field button .icon{width:17px;height:17px}
.filter-button{width:49px;height:49px;border:1px solid var(--line)}
.category-strip{display:flex;gap:8px;padding:1px 0 8px}
.category-chip{display:flex;align-items:center;gap:6px;padding:9px 13px;border-radius:25px;border:1px solid var(--line);background:#fff;white-space:nowrap;font-size:12px;flex-shrink:0}
.category-chip .icon{width:15px;height:15px}
.category-chip.active{background:var(--navy);color:white;border-color:var(--navy)}
.results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 14px}
.results-heading h2{font-size:21px;line-height:1.25}
.view-switch{display:flex;gap:2px;padding:3px;border-radius:25px;background:#e9f0f5;flex-shrink:0}
.view-switch button{display:flex;align-items:center;gap:5px;min-height:32px;padding:7px 10px;border-radius:22px;font-size:12px;color:#6f8393}
.view-switch button.active{background:#fff;color:#14334c;box-shadow:0 2px 5px #1935540a}
.view-switch .icon{width:14px;height:14px}
.active-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.filter-tag{display:flex;align-items:center;gap:6px;font-size:12px;border-radius:20px;background:#dfeef9;padding:7px 10px}
.filter-tag .icon{width:13px;height:13px}
.place-list{display:grid;gap:11px}
.row-card{display:flex;position:relative;background:white;border:1px solid var(--line);border-radius:20px;padding:12px;min-height:118px}
.card-open{display:flex;gap:16px;width:100%;padding:0;text-align:start;align-items:center}
.row-thumb{display:block;width:94px;height:94px;border-radius:14px;overflow:hidden;flex-shrink:0;background:#deebf4}
.row-thumb>img{width:100%;height:100%}
.row-copy{display:block;min-width:0;padding-inline-end:27px}
.row-copy>strong{font-size:17px;font-weight:600;line-height:1.3;display:block;letter-spacing:-.4px}
.row-copy>small{display:block;font-size:12px;color:var(--muted);margin-top:6px}
.row-price{display:block;font-size:13px;font-weight:600;margin-top:9px}
.row-price-note{font-size:11px!important;color:#8c7955!important}
.row-card .save-button{top:14px;inset-inline-end:12px;background:#f1f6fa}
.row-short{font-size:13px;line-height:1.45;color:var(--muted);margin-top:6px}
.empty-state{text-align:center;padding:35px 20px;color:var(--muted)}
.empty-state>.icon{margin:0 auto 14px;width:28px;height:28px}
.empty-state h3{font-size:22px;margin:10px 0;color:var(--ink)}
.empty-state p{font-size:14px;line-height:1.6;margin-bottom:20px}
.loading-ring{display:block;width:25px;height:25px;border:2px solid #d7eaf5;border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.detail-hero{height:clamp(210px,19vw,320px);border-radius:23px;overflow:hidden;position:relative;background:#dceef8;margin-bottom:23px}
.detail-hero>img{width:100%;height:100%}
.detail-hero .category-cover .icon{width:70px;height:70px;stroke-width:1}
.detail-hero figcaption{position:absolute;bottom:10px;inset-inline-end:12px;background:#ffffffdd;border-radius:20px;padding:5px 8px;font-size:10px;color:#627384;max-width:80%}
.detail-summary{margin-bottom:13px}
.eyebrow{display:block;font-size:12px;color:var(--accent);font-weight:500;margin-bottom:8px;letter-spacing:.02em}
.detail-summary h2{font-size:36px;line-height:1.1;font-weight:650;letter-spacing:-1.5px}
.detail-summary>p{font-size:13px;color:var(--muted);margin-top:9px}
.detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:19px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:21px 0}
.detail-fact{display:flex;gap:7px;min-width:0}
.detail-fact>.icon{width:17px;height:17px;color:#7397b0;margin-top:2px}
.detail-fact>span{min-width:0}
.detail-fact small{display:block;font-size:11px;color:var(--muted);line-height:1.45}
.detail-fact strong{display:block;font-size:13px;font-weight:600;line-height:1.4;margin:5px 0;overflow-wrap:anywhere}
.detail-tags{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}
.detail-tags span{font-size:12px;color:#627e91;background:#e8f0f6;padding:7px 10px;border-radius:20px}
.detail-actions{display:flex;gap:10px;padding:16px 28px 20px;border-top:1px solid var(--line);background:#fffffff5;flex-shrink:0}
.detail-actions>.primary-button,.detail-actions>.secondary-button{flex:1}
.text-section{margin:25px 0}
.text-section h3,.place-offers>h3{font-size:22px;margin-bottom:15px}
.nearby-row{display:flex;gap:12px;align-items:center;padding:12px 0;width:100%;border-bottom:0;text-align:start}
.nearby-row .row-thumb{width:64px;height:64px;border-radius:13px}
.nearby-row>span:not(.row-thumb){flex:1}
.nearby-row strong{display:block;font-size:14px;font-weight:600;line-height:1.4}
.nearby-row small{display:block;font-size:12px;color:var(--muted);margin-top:5px}
.nearby-row>.icon{width:16px;height:16px}
.note{font-size:13px;line-height:1.6;color:var(--muted);margin:14px 0}
.wide-row{display:flex;align-items:center;gap:11px;width:100%;padding:16px 0;border-bottom:1px solid var(--line);text-align:start}
.wide-row>.icon{width:19px;height:19px;color:#739ab4}
.wide-row>span,.wide-row>strong{flex:1;min-width:0}
.wide-row strong{display:block;font-size:14px;font-weight:600;line-height:1.35}
.wide-row small{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.wide-row>.icon:last-child{width:15px;height:15px}
.utility-dialog{border:0;border-radius:28px;padding:0;width:min(660px,calc(100vw - 40px));max-height:calc(100dvh - 60px);background:var(--canvas);color:var(--ink);box-shadow:0 30px 100px #10253633;overflow:hidden}
.utility-dialog::backdrop{background:#17314655;backdrop-filter:blur(5px)}
.utility-dialog[open]{display:flex;flex-direction:column}
.dialog-heading{display:flex;align-items:center;gap:10px;padding:18px 22px;border-bottom:1px solid var(--line);background:#fff;flex-shrink:0}
.dialog-heading h2{font-size:22px;flex:1;line-height:1.2;font-weight:600}
.dialog-heading .icon-button{width:35px;height:35px;background:#f2f6f9}
.dialog-heading .icon{width:18px;height:18px}
.dialog-content{overflow:auto;padding:25px 28px 30px;min-height:0}
.dialog-content>h3{font-size:22px;margin:24px 0 12px}
.dialog-content>p{font-size:14px;line-height:1.65;color:var(--muted)}
.booking-heading h3{font-size:31px;line-height:1.15;margin:8px 0 13px;letter-spacing:-1px}
.booking-heading p{font-size:13px;line-height:1.6;color:var(--muted)}
.demo-note{padding:13px 15px;background:#f0efea;border-radius:14px}
.booking-tabs{display:flex;gap:7px;overflow:auto;margin:23px 0 18px}
.booking-tabs button{white-space:nowrap;font-size:13px;padding:10px 13px;background:#e9f0f5;border-radius:24px}
.booking-tabs button.active{background:var(--navy);color:#fff}
.offers-list{display:grid;gap:12px}
.offer-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;padding:19px;margin-bottom:12px}
.offer-card-heading{display:flex;gap:11px;align-items:center}
.offer-symbol{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#e7f3fb;color:var(--accent);width:41px;height:41px;border-radius:14px}
.offer-symbol .icon{width:21px;height:21px}
.offer-card-heading small{font-size:11px;color:var(--muted)}
.offer-card h4{font-size:19px;line-height:1.3;font-weight:600;margin-top:4px}
.offer-card>p{font-size:13px;line-height:1.6;color:var(--muted);margin:13px 0}
.offer-amount{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;margin:17px 0 10px}
.offer-amount strong{font-size:25px;letter-spacing:-.8px;font-weight:650}
.offer-amount>span{font-size:12px;color:var(--muted)}
.price-status{display:inline-block;font-size:11px;line-height:1.5;background:#e9f2f9;padding:3px 7px;border-radius:6px;color:#5d7d91}
.price-status.demo{background:#f2eee4;color:#857247}
.offer-card .offer-conditions{font-size:12px;margin:12px 0 17px}
.offer-outbound{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:15px;font-size:13px}
.offer-outbound>span:first-child{color:var(--muted)}
.offer-outbound>span:last-child{display:flex;gap:5px;align-items:center;color:var(--accent);font-weight:600}
.offer-outbound .icon{width:16px;height:16px}
.form-field{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#5f7688;margin-bottom:17px}
.form-field input,.form-field select,.form-field textarea{padding:12px 14px;min-height:45px;background:#fff;border:1px solid #dce6ed;border-radius:13px;font-size:15px;width:100%}
.form-field textarea{resize:vertical;min-height:80px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.form-actions{display:flex;justify-content:space-between;gap:15px;margin-top:25px}
.language-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0 26px}
.language-grid button{display:flex;justify-content:space-between;align-items:center;padding:14px;border-radius:13px;background:white;border:1px solid var(--line);font-size:14px}
.language-grid .active{border-color:var(--accent);background:#e9f5fd}
.language-grid .icon{width:17px;height:17px;color:var(--accent)}
.filter-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0 22px}
.filter-options label{position:relative;cursor:pointer}
.filter-options input{position:absolute;inset-inline-start:12px;top:15px;accent-color:var(--accent)}
.filter-options label>span{display:flex;align-items:center;gap:7px;min-height:44px;padding:12px 12px 12px 36px;background:white;border:1px solid var(--line);border-radius:13px;font-size:12px}
.filter-options .icon{width:16px;height:16px}
.filter-options input:checked+span{background:#e6f3fc;border-color:#a6d4f1}
.filter-toggles label{display:flex;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}
.filter-toggles input{accent-color:var(--accent);width:18px;height:18px}
.account-hero{display:flex;align-items:center;gap:15px;margin:3px 0 18px}
.avatar{width:61px;height:61px;background:#e0effa;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#4183b2}
.avatar .icon{width:27px;height:27px}
.account-hero h3{font-size:27px;margin-bottom:6px}
.account-hero small{font-size:12px;color:var(--muted)}
.account-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}
.account-stats button{display:flex;gap:10px;align-items:center;justify-content:center;padding:20px 12px;background:#e5f1fa;border-radius:16px;font-size:13px}
.account-stats strong{font-size:23px}
.account-stats .icon{width:23px;height:23px}
.trip-card{display:flex;align-items:center;gap:14px;background:white;border:1px solid var(--line);border-radius:18px;padding:19px;margin:11px 0;width:100%;text-align:start}
.trip-card>span{flex:1}
.trip-card strong{font-size:17px;display:block;line-height:1.3;font-weight:600}
.trip-card small{display:block;margin-top:6px;font-size:12px;color:var(--muted)}
.trip-card>.icon{color:var(--accent)}
.trip-heading h3{font-size:28px;line-height:1.2;margin-bottom:8px}
.trip-heading small{font-size:13px;color:var(--muted)}
.trip-utilities{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.trip-utilities .secondary-button{font-size:12px;min-height:36px;padding:9px 12px}
.day-card{margin:14px 0;border:1px solid var(--line);border-radius:18px;background:white;padding:15px}
.day-card>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer}
.day-card>summary::-webkit-details-marker{display:none}
.day-card summary strong{font-size:16px}
.day-card summary small{font-size:12px;color:var(--muted);flex:1;text-align:end}
.day-card summary:after{content:'⌄';color:#8aa2b3}
.day-card[open] summary:after{transform:rotate(180deg)}
.day-places{margin-top:13px}
.planned-place{display:flex;align-items:center;gap:9px;padding:12px 0;border-top:1px solid var(--line)}
.planned-place>button{display:flex;gap:10px;align-items:center;text-align:start;padding:0;flex:1;min-width:0}
.planned-place .row-thumb{width:49px;height:54px;border-radius:10px}
.planned-place strong{font-size:13px;line-height:1.35;display:block}
.planned-place small{font-size:11px;display:block;color:var(--muted);margin-top:4px}
.planned-actions{display:flex;gap:4px;align-items:center;flex-wrap:wrap;max-width:117px}
.planned-actions .mini-button{width:25px;height:27px;border:0;border-radius:8px;background:#f0f5f8}
.planned-actions .icon{width:14px;height:14px}
.day-select select{background:#f0f5f8;border:0;border-radius:8px;font-size:12px;padding:4px;width:38px;height:27px}
.trip-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:25px}
.danger{color:#b85555}
.day-edit-bar{display:flex;align-items:center;gap:5px;padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}
.day-edit-bar .text-button{margin-inline-end:auto;font-size:12px}
.planned-place[draggable="true"]{cursor:grab}
.planned-place.drag-over{border-top:2px solid var(--accent)}
.trip-note-form{margin:16px 0 22px}
.weather-hero{text-align:center;margin:15px 0 25px}
.weather-hero>.icon{width:45px;height:45px;color:#e6b764;margin:0 auto 17px}
.weather-hero strong{display:block;font-size:65px;letter-spacing:-4px;font-weight:500}
.weather-hero>span{display:block;color:var(--muted);font-size:15px;margin-top:6px}
.forecast-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0 23px}
.forecast-grid>div{background:white;border:1px solid var(--line);padding:16px 8px;border-radius:16px;text-align:center}
.forecast-grid small{font-size:12px;color:var(--muted)}
.forecast-grid .icon{margin:13px auto;color:#69a0c8}
.forecast-grid strong{font-size:14px;display:block}
.currency-big{display:flex;align-items:center;flex-direction:column;padding:20px 0 25px;gap:10px}
.currency-big small{font-size:13px;color:var(--muted)}
.currency-big strong{font-size:43px;letter-spacing:-2px;font-weight:600}
.currency-big>span{font-size:21px;color:var(--accent)}
.fx-table{margin:24px 0}
.fx-table>div{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}
.budget-big{font-size:42px;letter-spacing:-1.5px;margin:15px 0}
.budget-big small{display:block;font-size:13px;color:var(--muted);letter-spacing:0;margin-top:10px}
.budget-total{padding:20px;background:#e3f1fb;border-radius:18px;margin:10px 0 20px}
.budget-total small{display:block;color:var(--muted);font-size:12px}
.budget-total strong{display:block;font-size:31px;letter-spacing:-1px;margin-top:8px}
.country-title h3{font-size:39px;line-height:1.1}
.country-title{margin-bottom:20px}
.country-title~.travel-facts{grid-template-columns:1fr 1fr}
.status-note{padding:12px;background:#f5edda;border-radius:12px;font-size:13px;color:#8f7645}
.route-mode{display:flex;gap:8px;margin:20px 0}
.route-mode button{padding:11px 19px;font-size:14px;background:#e7eff5;border-radius:25px}
.route-mode .active{background:var(--navy);color:#fff}
.wide{width:100%}
.credits-list{padding-inline-start:19px;font-size:12px;line-height:1.75;color:var(--muted)}
.credits-list a{color:var(--accent)}
.site-navigation h3{margin:25px 0 10px;font-size:21px}
.toast{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:18px;max-width:90%;background:#17364c;color:white;border-radius:17px;box-shadow:0 8px 30px #152c4525;padding:15px 20px;z-index:100;font-size:13px;line-height:1.45}
.toast button{font-size:13px;color:#a9dcff;font-weight:600;white-space:nowrap}
.noscript-notice{position:fixed;inset:20px;background:#fff;border:1px solid var(--line);padding:30px;z-index:100}
.sheet-handle{display:none}
[dir=rtl] .group-all .icon,[dir=rtl] .detail-back .icon{transform:scaleX(-1)}
[dir=rtl] .filter-options label>span{padding:12px 36px 12px 12px}
.group-card-description{font-size:13px;line-height:1.5;color:var(--muted);flex:1}
.photo-credit{position:absolute;bottom:10px;inset-inline-end:12px;background:#ffffffdf;border-radius:18px;padding:5px 8px;font-size:10px;color:#617889;max-width:80%}
.place-rail[data-layout="compact"] .group-card{flex-basis:330px;min-width:280px}
.place-rail[data-layout="compact"] .group-card-open{flex-direction:row;align-items:center;padding:16px;gap:14px}
.place-rail[data-layout="compact"] .group-card-cover{width:66px;height:88px;border-radius:13px;flex-shrink:0}
.place-rail[data-layout="compact"] .group-card-type{display:none}
.place-rail[data-layout="compact"] .group-card-copy{padding:0;gap:8px;min-width:0}
.place-rail[data-layout="compact"] .group-card-copy>strong{padding-inline-end:19px;font-size:16px}
.place-rail[data-layout="compact"] .group-card-description{font-size:12px}
.place-rail[data-layout="compact"] .group-card-bottom{font-size:12px}
.category-cover[data-type="food"]{background:#f3e7d9;color:#bb875d}
.category-cover[data-type="coffee"]{background:#ede4dc;color:#ab8468}
.category-cover[data-type="nature"]{background:#deebe3;color:#7c9a87}
.category-cover[data-type="relax"]{background:#e1e7f4;color:#8997bd}
.category-cover[data-type="nightlife"]{background:#233e57;color:#c3d6e6}
.category-cover[data-type="hotels"]{background:#dceaf6;color:#85a9c4}
.template-card{padding:20px;border:1px solid var(--line);border-radius:22px;margin:20px 0;background:white}
.template-card .section-line{margin:0 0 12px}
.template-card h3{font-size:23px;line-height:1.2}
.template-days{font-size:12px;color:var(--muted);white-space:nowrap}
.template-card>p{font-size:13px;line-height:1.6;color:var(--muted)}
.template-card ol{list-style:none;padding:0;margin:20px 0}
.template-card li{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.5}
.template-card li>strong{flex-shrink:0;font-weight:600}
.template-card li>span{color:var(--muted)}
.trip-settings{margin:20px 0}
.trip-settings>summary,.day-notes>summary{font-size:13px;color:var(--accent);cursor:pointer;line-height:1.5}
.trip-settings form{margin-top:20px}
.trip-settings textarea{min-height:85px}
.day-notes{margin:16px 0}
.day-notes textarea{width:100%;min-height:75px;border:1px solid var(--line);background:#f7fafc;border-radius:12px;margin-top:10px;padding:11px;font-size:13px;resize:vertical}
.stop-time{display:flex;flex-direction:column;gap:3px}
.stop-time>span{font-size:10px;color:var(--muted)}
.stop-time input{font-size:12px;padding:5px 3px;border:1px solid var(--line);border-radius:8px;max-width:90px;background:#f5f9fc}
.planned-place-wrap{border-top:1px solid var(--line);padding-top:6px}
.planned-place-wrap .planned-place{border-top:0}
.stop-time-row{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;padding-inline-start:59px;gap:10px}
.stop-time-row small{font-size:11px;color:var(--muted)}
.day-map-banner{display:flex;gap:9px;align-items:center;padding:12px 14px;border-radius:15px;background:#e1f0fb;margin-bottom:15px;font-size:13px}
.day-map-banner>span{flex:1}
.day-map-banner button{color:var(--accent);font-size:12px}
.day-places[data-drop-day]{min-height:45px}
.day-edit-bar{flex-wrap:wrap}
.day-edit-bar>.mini-button:last-child{color:#b46c6c}
.day-map-banner{flex-wrap:wrap}
.day-map-banner>span{min-width:100px}
.trip-map-active{color:var(--accent)}
.language-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0 26px}
.language-options label{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:14px;cursor:pointer;font-size:14px}
.language-options label:has(input:checked){border-color:#94c9ec;background:#e8f4fc}
.language-options input{accent-color:var(--accent);width:16px;height:16px}
.dialog-actions{padding:16px 24px;border-top:1px solid var(--line);background:white}
.row-short{display:block}
.trip-settings[open]>summary{margin-bottom:5px}
.hero-booking>span{text-align:start}
.hero-booking strong{font-size:13px;font-weight:600;display:block}
.hero-booking small{font-size:10px;font-weight:400;display:block;margin-top:3px;color:#6c8190}
.hero-actions{align-items:stretch}
.hero-actions>.primary-button{align-self:stretch}
.hero-booking{border-radius:25px}


/* Source: style.css */

:root{--ink:#1c1c1e;--muted:#6c6c70;--accent:#007aff;--accent-hover:#0062d1;--canvas:#f7f8fa;--line:#3c3c4320;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--panel-width:410px;--glass:rgba(250,250,252,.89);--shadow:0 10px 40px #17273418,0 1px 4px #1727340d;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-synthesis:none;color:var(--ink);background:var(--canvas)}
*{box-sizing:border-box;scrollbar-width:none}*::-webkit-scrollbar{display:none;width:0;height:0}html,body{width:100%;height:100%;margin:0;overflow:hidden}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:none}a{color:inherit;text-decoration:none}img{object-fit:cover}h1,h2,h3,h4{letter-spacing:-.025em}[hidden]{display:none!important}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.glass{background:var(--glass);backdrop-filter:blur(30px) saturate(1.6);-webkit-backdrop-filter:blur(30px) saturate(1.6);border:1px solid #ffffffd9;box-shadow:var(--shadow)}
.explorer{position:relative;isolation:isolate;height:100dvh;width:100%;overflow:hidden;min-height:320px}.map-stage,.apple-map{position:absolute;inset:0}.map-stage{background:#e8ecea;z-index:0}.apple-map{z-index:0}.topbar{position:absolute;top:calc(18px + var(--safe-top));inset-inline:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:20;pointer-events:none}.topbar>*{pointer-events:auto}.brand-group{display:flex;align-items:center;gap:16px;padding:5px 6px 5px 12px;border-radius:23px}.brand{display:flex;align-items:center;gap:7px;font-size:23px;font-weight:700;letter-spacing:-1px;direction:ltr}.brand-mark{font-size:25px;letter-spacing:-3px;width:26px;padding-inline-end:2px}.brand-name{padding-inline-end:8px}.brand-group>.icon-button{border-inline-start:1px solid var(--line);border-radius:0;width:38px;height:29px;padding-inline-start:8px}.icon-button,.profile-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;flex-shrink:0;position:relative;background:transparent}.icon-button:hover,.profile-button:hover{background:#76768012}.top-actions{display:flex;align-items:center;padding:4px;gap:4px;border-radius:25px}.language-button{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;height:36px;padding:0 11px;min-width:40px}.profile-button{width:36px;height:36px}.profile-button .icon{width:26px;height:26px}.profile-button i,.filter-button i{position:absolute;top:3px;inset-inline-end:3px;width:7px;height:7px;border-radius:50%;background:var(--accent);border:1.5px solid white}.map-destination{display:flex;align-items:center;gap:8px;padding:12px 18px;border-radius:25px;font-size:15px;font-weight:600;margin-inline-end:auto}.map-destination .icon{width:18px;height:18px}.map-destination .icon:last-child{width:13px;height:13px;margin-inline-start:8px}
.browse-sheet,.detail-sheet{position:absolute;z-index:10;top:calc(88px + var(--safe-top));bottom:104px;inset-inline-start:20px;width:var(--panel-width);background:var(--glass);backdrop-filter:blur(35px) saturate(1.4);-webkit-backdrop-filter:blur(35px) saturate(1.4);border:1px solid #ffffffed;border-radius:25px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:top .32s cubic-bezier(.2,.8,.2,1),transform .32s cubic-bezier(.2,.8,.2,1),opacity .2s}.browse-scroll{overflow:auto;flex:1;min-height:0;overscroll-behavior:contain;padding:0 20px 28px}.panel-toolbar{display:flex;align-items:center;padding:10px 12px 2px 20px;gap:4px;flex-shrink:0}.panel-caption{font-size:12px;color:var(--muted);font-weight:600;margin-inline-end:auto}.panel-toolbar .icon-button{width:32px;height:32px}.panel-toolbar .icon{width:18px;height:18px}.sheet-handle{height:23px;width:100%;display:none;align-items:center;justify-content:center;touch-action:none;flex-shrink:0}.sheet-handle span{height:5px;width:36px;border-radius:5px;background:#3c3c4335}.section-nav{display:flex;background:#76768015;border-radius:10px;padding:3px;gap:3px;margin:10px 0 22px}.section-nav button{flex:1;font-size:13px;font-weight:500;color:var(--muted);padding:8px 5px;border-radius:8px}.section-nav button.active{background:#fff;color:var(--ink);box-shadow:0 2px 4px #00000012}.destination-navigation{margin-bottom:12px;gap:8px}.destination-navigation .country-link{font-size:13px;color:var(--accent);display:inline-flex;align-items:center;gap:3px}.destination-navigation .country-link .icon{width:12px;height:12px}.destination-navigation .text-button{font-size:12px}.destination-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.destination-heading h1{font-size:34px;letter-spacing:-1px;line-height:1.1;font-weight:700}.destination-heading .icon-button{width:32px;height:32px;color:var(--accent);border:0;background:#76768010}.destination-description{font-size:15px;line-height:1.5;color:var(--muted);margin-top:10px}.destination-meta{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:13px;font-size:12px;color:var(--muted)}.destination-meta button,.destination-clock{display:flex;align-items:center;gap:5px;padding:0}.destination-meta .icon{width:16px;height:16px}.destination-meta strong,.destination-meta bdi{font-weight:500;color:var(--ink)}.destination-meta bdi{margin-inline-start:4px;font-variant-numeric:tabular-nums}.destination-header{margin-bottom:18px}.hero-photo{height:145px;border-radius:16px;margin-bottom:16px}.hero-photo:after{display:none}.hero-photo>img{height:100%;width:100%}.hero-badge{top:auto;bottom:10px;inset-inline-start:10px;font-size:11px;padding:6px 9px;background:#fffffff0}.hero-badge .icon{width:14px;height:14px}.hero-actions{position:static;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.primary-button,.secondary-button{border-radius:13px;min-height:44px;font-size:14px;font-weight:600;padding:11px 14px}.primary-button{background:var(--accent)}.secondary-button{background:#007aff12;color:var(--accent)}.hero-actions .secondary-button{background:#007aff12}.hero-booking strong{font-size:12px}.hero-booking small{font-size:10px;color:var(--muted);line-height:1.4}.hero-booking>span{text-align:start}.hero-actions>.primary-button{font-size:12px;padding-inline:8px}.hero-actions .icon{width:17px;height:17px}.travel-facts{grid-template-columns:1fr 1fr;gap:0;background:#ffffffb8;border:1px solid var(--line);border-radius:16px;margin:16px 0 24px}.travel-fact{padding:13px 14px;border-bottom:1px solid var(--line);border-inline-end:1px solid var(--line);display:block}.travel-fact:nth-child(2n){border-inline-end:0}.travel-fact:nth-last-child(-n+2){border-bottom:0}.travel-fact>span{font-size:11px;color:var(--muted)}.travel-fact strong{font-size:14px;font-weight:600;margin-top:7px}.travel-fact .icon{width:15px;height:15px}.booking-grid{gap:8px}.booking-tile{border-radius:15px;padding:12px 10px;background:#fff;box-shadow:0 0 0 1px var(--line);min-height:140px}.primary-tile{background:#007aff;color:#fff;box-shadow:none}.booking-tile-top{font-size:11px;gap:5px;line-height:1.3}.booking-tile-top>.icon{width:16px;height:16px}.booking-tile-top>.icon:last-child{display:none}.booking-tile strong{font-size:17px;margin-top:16px}.booking-tile small{font-size:10px;color:var(--muted)}.primary-tile small{color:#ffffffde}.tile-status{font-size:9px;opacity:.85}.section-line h2,.intro-copy h2{font-size:21px;letter-spacing:-.5px}.section-line .text-button{font-size:12px}.section-line{margin-top:25px}.expandable-copy p,.article-section p{font-size:15px;line-height:1.65;color:#48484a}.long-copy summary{font-size:14px;font-weight:500}.itinerary-card{border-radius:16px;padding:16px;background:#e8eef5;gap:10px;grid-template-columns:36px 1fr}.itinerary-icon{background:#ffffffc4;color:var(--accent);width:36px;height:36px;border-radius:11px}.itinerary-card h3{font-size:17px}.itinerary-card .secondary-button{grid-column:1/-1;border-radius:10px;background:#ffffffc7;justify-content:space-between}.extras-grid button{border-radius:14px}.extras-grid button>.icon{color:var(--accent)}.group-card,.row-card{background:#ffffffd9;border-radius:15px}.group-card-type{display:none}.place-rail .group-card{flex-basis:230px;min-width:230px}.group-card-cover{height:148px;border-radius:15px 15px 0 0}.group-card-copy{padding:12px}.group-card-copy>strong{font-size:15px;line-height:1.3}.group-card-description{font-size:12px;line-height:1.5}.group-card-bottom{font-size:13px}.place-rail[data-layout="compact"] .group-card{flex-basis:320px;min-width:280px}.place-rail[data-layout="compact"] .group-card-cover{width:62px;height:82px;border-radius:10px}.place-rail[data-layout="compact"] .group-card-copy{padding:0}.group-all{font-weight:500;font-size:13px;color:var(--accent);border-bottom:1px solid var(--line);border-radius:0;background:none}.save-button{width:32px;height:32px;background:#fffffff2}.save-button .icon{width:18px;height:18px}.saved .icon{fill:#ff375f;stroke:#ff375f}.category-cover{background:#e6ebee;color:#7e8a93}.category-cover .icon{width:30px;height:30px;opacity:.9}.list-footer{padding-top:28px}.list-footer p{font-size:11px}.footer-wordmark{font-weight:650;font-size:19px;color:#98989d}
.place-browser{display:none}.explorer[data-tab="places"] .place-browser{display:block}.explorer[data-tab="places"] #overview,.explorer[data-tab="places"] #destination-groups{display:none}.explorer[data-tab="places"] .destination-description,.explorer[data-tab="places"] .destination-meta{display:none}.explorer[data-tab="places"] .destination-header{margin-bottom:17px}.explorer[data-tab="places"] .destination-heading h1{font-size:27px}.search-row{margin-top:14px;gap:8px}.search-field{background:#76768012;border:0;border-radius:12px;min-height:42px;padding-inline:12px}.search-field input{font-size:15px}.filter-button{background:#76768012;border-radius:12px;width:42px;height:42px}.category-strip{gap:6px;padding-block:14px}.category-chip{border:0;background:#76768012;border-radius:18px;padding:9px 11px;font-size:12px}.category-chip.active{background:var(--ink);color:#fff}.category-chip .icon{width:16px;height:16px}.results-heading{margin:6px 0 14px;align-items:center}.results-heading h2{font-size:18px}.view-switch{border-radius:9px;background:#76768016;padding:2px}.view-switch button{border-radius:7px;padding:7px;font-size:11px}.view-switch button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px #0002}.view-switch .icon{width:14px;height:14px}.row-card{border:0;box-shadow:0 0 0 1px var(--line);margin-bottom:10px}.row-thumb{width:70px;height:88px;border-radius:10px}.card-open{padding:12px;gap:12px}.row-copy>strong{font-size:14px}.row-copy>small{font-size:11px}.row-short{font-size:12px;line-height:1.5}.row-price{font-size:13px}.row-card .save-button{inset-inline-end:8px;top:8px}.card-open .row-copy{padding-inline-end:23px}.filter-tag{font-size:12px;border-radius:16px;background:#76768012}.day-map-banner{border-radius:12px;background:#007aff0d}
.map-heading{position:absolute;top:calc(87px + var(--safe-top));inset-inline-end:20px;display:flex;align-items:center;gap:10px;z-index:3;max-width:calc(100% - 470px)}.map-context{display:none;align-items:center;gap:7px;background:var(--glass);padding:12px 16px;border-radius:24px;font-size:13px;box-shadow:var(--shadow)}.map-context .icon{width:16px;height:16px}.map-context strong{max-width:240px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.map-heading>.icon-button,.map-tools{background:var(--glass);backdrop-filter:blur(24px);border:1px solid #fff;box-shadow:var(--shadow);border-radius:14px}.map-heading>.icon-button{width:44px;height:44px}.map-tools{position:absolute;inset-inline-end:20px;bottom:110px;z-index:3;display:flex;flex-direction:column;padding:3px}.map-tools>.icon-button{width:40px;height:42px;border-radius:10px}.map-tools>.icon-button+button{border-top:1px solid var(--line);border-radius:0 0 10px 10px}.map-tools .icon{width:21px;height:21px;color:#343438}.map-footer{position:absolute;z-index:3;bottom:35px;inset-inline:calc(var(--panel-width) + 55px) 95px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:12px;color:var(--muted);pointer-events:none}.map-footer>button{display:none}.map-footer>span{padding:8px 13px;border-radius:18px;background:#ffffffb8;backdrop-filter:blur(15px)}.map-footer.has-plan{pointer-events:auto}.map-footer.has-plan #edit-plan{display:block;padding:10px 14px;border-radius:12px;background:#fff;color:var(--accent)}.map-message{position:absolute;z-index:4;top:44%;left:calc(50% + 180px);transform:translate(-50%,-50%);max-width:300px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;background:var(--glass);border:1px solid #fff;border-radius:20px;padding:24px;box-shadow:var(--shadow);font-size:14px;color:var(--muted)}.map-message strong{color:var(--ink);font-size:17px}.map-message p{line-height:1.5}.map-message>.icon{width:32px;height:32px;color:var(--accent)}.loading-ring{width:22px;height:22px;border:2px solid #007aff22;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.map-pin{position:relative;display:flex;flex-direction:column;align-items:center;border:0;overflow:visible;padding:0;background:none;max-width:125px}.pin-face{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#fff;border:2px solid #fff;box-shadow:0 2px 7px #182d3b38;color:#41566b;transition:transform .18s,box-shadow .18s}.pin-face>.icon{width:19px;height:19px}.pin-photo{width:62px;height:62px;border-radius:16px}.pin-photo img{width:100%;height:100%;border-radius:13px;pointer-events:none}.pin-title{position:absolute;top:100%;margin-top:5px;left:50%;transform:translateX(-50%);font-size:11px;line-height:1.2;font-weight:600;color:#202c39;text-align:center;max-width:115px;min-width:60px;display:none;text-shadow:0 1px 2px white,1px 0 2px white,-1px 0 2px white,0 -1px 2px white;pointer-events:none}.map-pin.has-photo .pin-title,.map-pin:hover .pin-title,.map-pin.selected .pin-title{display:block}.map-pin.selected .pin-face{box-shadow:0 0 0 3px var(--accent),0 3px 15px #182d3b55;z-index:2}.map-pin.selected .pin-title{color:#005bc5}.map-pin:hover .pin-face{transform:translateY(-2px)}.cluster-pin{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:14px;border:3px solid #fff;background:#e9eef3;color:#49657c;box-shadow:0 3px 8px #182d3b30}.cluster-pin>.icon{width:23px;height:23px}.route-summary{position:absolute;z-index:5;top:calc(87px + var(--safe-top));inset-inline-start:calc(var(--panel-width) + 40px);max-width:350px;display:flex;gap:12px;align-items:center;padding:12px 15px;background:var(--glass);border:1px solid white;border-radius:17px;box-shadow:var(--shadow)}.route-summary>span{flex:1}.route-summary strong{font-size:13px;display:block}.route-summary small{font-size:12px;color:var(--muted);display:block;margin-top:4px}
.bottom-dock{position:absolute;z-index:16;bottom:calc(22px + var(--safe-bottom));inset-inline-start:20px;width:var(--panel-width);padding:5px;display:flex;align-items:stretch;gap:5px;border-radius:24px}.bottom-dock button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:18px;min-width:0;min-height:55px;flex:1;padding:7px 6px;font-size:10px;font-weight:500;color:#63636a}.bottom-dock .icon{width:22px;height:22px}.dock-views{display:flex;align-items:stretch;flex:2;gap:3px;background:#76768012;border-radius:18px;padding:2px}.dock-views button{min-height:51px;border-radius:16px}.bottom-dock button.active{color:var(--accent);background:#fff;box-shadow:0 1px 4px #1727340c}.bottom-dock>button.active{background:#007aff0d}.explorer[data-sheet="peek"]:not([data-detail]) .browse-sheet{transform:translateX(calc(-100% - 35px));opacity:0;pointer-events:none}.explorer[data-detail] .browse-sheet{visibility:hidden;pointer-events:none}.detail-sheet{z-index:12;background:#f8f8fa}.detail-toolbar{display:flex;gap:4px;align-items:center;padding:12px 12px 10px;flex-shrink:0}.detail-toolbar>span{flex:1}.detail-toolbar .icon-button{width:33px;height:33px;background:#76768012;color:var(--accent)}.detail-toolbar .icon{width:19px;height:19px}.detail-back{display:flex;align-items:center;gap:3px;padding:0;font-size:13px;color:var(--accent);max-width:45%;white-space:nowrap;overflow:hidden}.detail-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.detail-hero{margin:0 16px;height:220px;border-radius:17px;overflow:hidden;position:relative}.detail-hero:not(:has(img)){height:96px}.detail-hero img{height:100%;width:100%}.detail-summary{padding:21px 20px 0}.detail-summary h2{font-size:26px;line-height:1.18;letter-spacing:-.7px}.detail-summary>p{font-size:12px;margin-top:6px;color:var(--muted)}.detail-summary .eyebrow{text-transform:none;letter-spacing:0;font-size:12px;color:var(--muted);margin-bottom:8px}.place-intro{padding:0 20px}.detail-facts{margin:20px;grid-template-columns:1fr;border-radius:15px;background:white;border:1px solid var(--line);padding:0;gap:0}.detail-fact{padding:13px;display:flex;border-bottom:1px solid var(--line);gap:12px}.detail-fact:last-child{border:0}.detail-fact>span{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;flex:1}.detail-fact small:first-child{flex:1;font-size:12px}.detail-fact strong{font-size:13px;margin:0}.detail-fact small:last-child:not(:first-child){width:100%}.detail-fact>.icon{color:var(--accent);width:18px;height:18px}.detail-body{padding:0 20px 24px}.detail-actions{display:flex;gap:8px;padding:12px 16px;background:var(--glass);border-top:1px solid var(--line);flex-shrink:0}.detail-actions>button{flex:1;min-width:0;font-size:12px}.detail-actions .icon{width:17px;height:17px}.detail-tags{margin-inline:20px}.detail-tags>span{border-radius:8px;background:#76768012}.article-reader{margin-top:15px}.article-reader>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;color:var(--accent);font-size:14px;font-weight:500;cursor:pointer;padding:12px 0;border-bottom:1px solid var(--line)}.article-reader>summary::-webkit-details-marker{display:none}.article-reader[open]>summary>.icon{transform:rotate(180deg)}.article-reader .article-toc{padding:16px;margin:16px 0;background:#7676800b;border-radius:13px}.article-toc strong{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:10px}.article-toc a{display:block;color:var(--accent);font-size:13px;line-height:1.5;padding:5px 0}.article-section{scroll-margin-top:15px;padding:9px 0 15px}.article-section h3{font-size:20px;margin:16px 0 12px;line-height:1.3}.article-section p+p{margin-top:13px}.article-reader:has(.article-section) .article-section:last-child{padding-bottom:0}.article-source{font-size:12px;color:var(--muted);padding-top:14px}.article-source a{color:var(--accent)}.article-empty{display:none}
.utility-dialog{border:1px solid #fff;border-radius:25px;background:#f8f8fa;box-shadow:0 25px 100px #182d3b30;max-width:570px;width:calc(100% - 40px);max-height:calc(100dvh - 80px);padding:0;color:var(--ink)}.utility-dialog::backdrop{background:#101c2b25;backdrop-filter:blur(5px)}.dialog-heading{padding:14px 16px;background:#f8f8faf5;gap:8px}.dialog-heading h2{font-size:19px}.dialog-heading .icon-button{background:#76768010;width:33px;height:33px;color:var(--accent)}.dialog-heading .icon{width:19px;height:19px}.dialog-content{padding:18px 22px 26px}.form-field input,.form-field select,.form-field textarea,.day-notes textarea{border-radius:10px;background:#fff;border-color:var(--line)}.form-field input:focus,.form-field textarea:focus{border-color:var(--accent)}.wide-row{border-radius:12px;background:#fff;font-size:14px}.wide-row>.icon{color:var(--accent);width:20px;height:20px}.language-options label{border-radius:12px}.language-options label:has(input:checked){background:#007aff08;border-color:#007aff65}.language-options input{accent-color:var(--accent)}.filter-options label>span{border-radius:12px}.filter-toggles input{accent-color:var(--accent)}.filter-options input:checked+span{background:#007aff12;border-color:#007aff50;color:var(--accent)}.offer-card,.template-card,.day-card{border-radius:16px;background:#fff}.offer-outbound{background:#007aff0a;color:var(--accent);border-radius:10px}.offer-symbol{background:#007aff0c;color:var(--accent);border-radius:12px}.account-hero .avatar{background:#76768012;color:#777781;border-radius:50%}.nearby-row{border-radius:0;border-bottom:0}.toast{position:absolute;z-index:40;bottom:105px;left:50%;transform:translateX(-50%);padding:13px 18px;background:#303038f2;color:white;border-radius:16px;font-size:13px;max-width:calc(100% - 40px);box-shadow:var(--shadow)}.toast button{color:#8fceff;margin-inline-start:12px}.fullscreen-map .map-stage{inset:0}.fullscreen-map .map-heading{top:20px;max-width:calc(100% - 40px)}.fullscreen-map .map-tools{bottom:60px}.fullscreen-map .route-summary{inset-inline-start:20px}.fullscreen-map .map-message{left:50%}.fullscreen-map .map-context{display:flex}
@media(min-width:1500px){:root{--panel-width:440px}.browse-scroll{padding-inline:24px}.hero-photo{height:162px}.booking-tile{padding:14px 12px}.booking-tile strong{font-size:19px}}
@media(max-width:1100px) and (min-width:901px){:root{--panel-width:380px}.browse-scroll{padding-inline:17px}.hero-actions .primary-button{font-size:11px}.booking-tile strong{font-size:16px}.map-message{left:calc(50% + 150px)}}
@media(max-width:900px){
  :root{--panel-width:100%}.topbar{top:calc(12px + var(--safe-top));inset-inline:12px;gap:8px}.brand-group{padding:4px 7px;border-radius:19px}.brand-name,.brand-group>.icon-button{display:none}.brand-mark{font-size:25px;width:25px;line-height:32px}.map-destination{font-size:14px;gap:5px;padding:12px 13px;min-width:0;border-radius:22px}.map-destination>span:nth-child(2){max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-destination .icon:first-child{display:none}.map-destination .icon:last-child{margin-inline-start:5px}.top-actions{padding:3px;gap:0;border-radius:22px}.language-button{padding-inline:7px;min-width:34px;font-size:12px}.profile-button{width:33px;height:33px}.profile-button .icon{width:24px;height:24px}.browse-sheet,.detail-sheet{top:46%;bottom:calc(85px + var(--safe-bottom));inset-inline:8px;width:auto;border-radius:24px;transition:top .32s cubic-bezier(.2,.8,.2,1),opacity .2s;background:#f8f8faec;backdrop-filter:blur(35px)}.sheet-handle{display:flex}.panel-toolbar{display:none}.browse-scroll{padding:0 18px 25px}.section-nav{margin-top:2px;margin-bottom:17px}.destination-heading h1{font-size:30px}.destination-description{font-size:14px;line-height:1.45}.destination-navigation{margin-bottom:9px}.destination-meta{font-size:11px;gap:5px 10px;margin-top:10px}.destination-header{margin-bottom:14px}.hero-photo{height:155px}.hero-actions{gap:8px}.hero-actions>.primary-button{font-size:12px}.hero-actions>.secondary-button{padding-inline:10px}.travel-facts{margin-top:16px}.travel-fact{padding:13px}.section-line h2,.intro-copy h2{font-size:21px}.place-rail[data-layout="compact"] .group-card{flex-basis:calc(100vw - 66px);min-width:250px}.map-heading{top:calc(70px + var(--safe-top));inset-inline-end:12px;max-width:calc(100% - 24px)}.map-heading>.icon-button{width:40px;height:40px;border-radius:13px}.map-heading .icon{width:19px;height:19px}.map-context{display:none}.map-tools{inset-inline-end:12px;top:calc(120px + var(--safe-top));bottom:auto;padding:2px;border-radius:13px}.map-tools>.icon-button{height:37px;width:35px}.map-tools .icon{width:19px;height:19px}.map-footer{display:none}.map-message{top:27%;left:50%;max-width:230px;padding:15px;gap:7px;font-size:11px;border-radius:16px}.map-message strong{font-size:14px}.map-message>.icon{width:22px;height:22px}.map-message .text-button{font-size:12px}.bottom-dock{bottom:calc(10px + var(--safe-bottom));inset-inline:8px;width:auto;padding:4px;border-radius:24px;gap:3px}.bottom-dock button{min-height:54px;font-size:10px;gap:4px;padding:7px 4px}.dock-views button{min-height:50px}.bottom-dock .icon{width:21px;height:21px}.explorer[data-sheet="full"] .browse-sheet{top:calc(70px + var(--safe-top))}.explorer[data-sheet="peek"]:not([data-detail]) .browse-sheet{transform:none;top:calc(100% - 156px - var(--safe-bottom));opacity:1;pointer-events:auto}.explorer[data-sheet="peek"] .browse-scroll{overflow:hidden;padding:0 18px}.explorer[data-sheet="peek"] .section-nav,.explorer[data-sheet="peek"] .destination-navigation,.explorer[data-sheet="peek"] .destination-description,.explorer[data-sheet="peek"] .destination-meta,.explorer[data-sheet="peek"] .overview,.explorer[data-sheet="peek"] #destination-groups,.explorer[data-sheet="peek"] #place-browser,.explorer[data-sheet="peek"] .list-footer{display:none}.explorer[data-sheet="peek"] .destination-heading h1{font-size:20px}.explorer[data-sheet="peek"] .destination-heading .icon-button{display:none}.explorer[data-sheet="peek"] .destination-header{margin:0}.explorer[data-detail] .browse-sheet{visibility:hidden}.detail-sheet{top:43%;bottom:calc(85px + var(--safe-bottom));background:#f8f8faf2}.detail-sheet[data-size="full"]{top:calc(70px + var(--safe-top))}.detail-toolbar{padding:2px 12px 9px}.detail-toolbar .icon-button{width:31px;height:31px}.detail-back{font-size:13px}.detail-hero{height:190px;margin-inline:16px}.detail-summary{padding-top:18px}.detail-summary h2{font-size:25px}.detail-actions{padding:9px 12px;gap:8px}.detail-actions>button{min-height:41px;font-size:12px;padding:10px}.detail-facts{margin-inline:20px}.route-summary{top:calc(70px + var(--safe-top));inset-inline-start:12px;max-width:calc(100% - 74px);padding:10px;gap:8px}.route-summary>.icon{width:19px;height:19px}.route-summary strong{font-size:12px}.route-summary small{font-size:11px}.route-summary .icon-button{width:28px;height:28px}.utility-dialog{margin:auto 8px calc(8px + var(--safe-bottom));width:calc(100% - 16px);max-width:none;max-height:calc(100dvh - 75px - var(--safe-top));border-radius:25px}.dialog-heading{padding:13px 12px}.dialog-content{padding:15px 18px 24px}.dialog-heading h2{font-size:18px}.utility-dialog::backdrop{background:#101c2b25}.planned-place{gap:6px}.planned-place .row-thumb{width:35px;height:42px}.planned-place strong{font-size:12px}.planned-actions{gap:2px}.planned-actions .mini-button{width:25px}.form-field input,.form-field select,.form-field textarea{font-size:16px}.stop-time input{font-size:16px;max-width:115px}.language-options{gap:7px}.language-options label{font-size:13px;padding:12px}.toast{bottom:calc(93px + var(--safe-bottom));width:max-content;max-width:calc(100% - 30px);font-size:12px}.fullscreen-map .map-tools{top:auto;bottom:70px}.fullscreen-map .map-message{top:50%}
}
@media(max-width:360px){.map-destination{padding-inline:10px}.map-destination>span:nth-child(2){max-width:105px}.browse-scroll{padding-inline:15px}.booking-tile{padding:11px 8px}.booking-tile strong{font-size:15px}.hero-actions>.primary-button{font-size:11px}.topbar{gap:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(prefers-contrast:more){.glass,.browse-sheet,.detail-sheet{background:#fff;border-color:#777}.icon{stroke-width:2}.muted,.note{color:#47474b}}
[dir="rtl"] .icon{transform:none}[dir="rtl"] .detail-back>.icon,[dir="rtl"] .country-link>.icon,[dir="rtl"] .group-all>.icon{transform:scaleX(-1)}[dir="rtl"] .explorer[data-sheet="peek"]:not([data-detail]) .browse-sheet{transform:translateX(calc(100% + 35px))}@media(max-width:900px){[dir="rtl"] .explorer[data-sheet="peek"]:not([data-detail]) .browse-sheet{transform:none}}



/* Source: markers.css */
/* Photographic map markers use the same visual language as place cards. */
.map-pin{max-width:155px;min-width:0;isolation:isolate}
.pin-face{width:48px;height:48px;border-radius:16px;border:3px solid #fff;position:relative;box-shadow:0 3px 10px #192d3c36;transition:transform .18s,box-shadow .18s}
.pin-face::after{content:"";position:absolute;bottom:-7px;left:50%;margin-left:-5px;width:10px;height:10px;background:#fff;transform:rotate(45deg);z-index:-1;border-radius:1px;box-shadow:2px 2px 3px #192d3c1a}
.pin-face>.icon{width:25px;height:25px}
.pin-photo{width:100px;height:100px;border-radius:24px;border-width:4px;background:#fff}
.pin-photo img{width:100%;height:100%;object-fit:cover;border-radius:19px;display:block}
.map-pin.featured .pin-photo{width:132px;height:132px;border-radius:29px}
.map-pin.featured .pin-photo img{border-radius:24px}
.pin-title{font-size:13px;font-weight:650;line-height:1.2;max-width:150px;min-width:100px;margin-top:9px;color:#243442;text-shadow:0 1px 2px #fff,1px 0 2px #fff,-1px 0 2px #fff,0 -1px 2px #fff;letter-spacing:-.15px}
.map-pin.featured .pin-title{font-size:14px;max-width:165px}
.map-pin.selected .pin-face{border-color:#007aff;box-shadow:0 0 0 3px #fff,0 5px 20px #007aff40}
.map-pin.selected .pin-face::after{background:#007aff}
.map-pin.selected .pin-title{color:#0057b7;font-weight:700}
.map-pin.selected{z-index:10}
.pin-illustration{position:absolute;bottom:6px;inset-inline-end:6px;display:flex;border-radius:50%;width:16px;height:16px;color:#fff;background:#1d2d41a8}
.pin-illustration .icon{width:16px;height:16px}
.cluster-pin{position:relative;width:63px;height:63px;border-radius:19px;background:#fff;border:3px solid #fff;overflow:visible;box-shadow:0 3px 9px #1b354b30}
.cluster-pin:has(.cluster-photos){background:transparent;border:0;box-shadow:none}
.cluster-photos{position:relative;display:block;width:58px;height:58px}
.cluster-photos>img{position:absolute;inset:0;width:58px;height:58px;border:3px solid #fff;border-radius:17px;object-fit:cover;box-shadow:0 3px 9px #1b354b35}
.cluster-photos>img:first-child{transform:translate(-6px,-5px) rotate(-9deg)}
.cluster-photos>img:last-child{transform:translate(4px,3px) rotate(4deg)}
.cluster-symbol{display:flex;align-items:center;justify-content:center;position:absolute;bottom:-6px;inset-inline-end:-7px;width:23px;height:23px;border-radius:50%;border:2px solid #fff;background:#fff;color:#314b65;box-shadow:0 2px 5px #263a4b22}
.cluster-symbol .icon{width:15px;height:15px}
.cluster-pin:hover .cluster-photos>img:last-child{transform:translate(6px,4px) rotate(8deg)}
@media(max-width:900px){.pin-photo{width:76px;height:76px;border-radius:20px}.pin-photo img{border-radius:15px}.map-pin.featured .pin-photo{width:99px;height:99px;border-radius:24px}.map-pin.featured .pin-photo img{border-radius:19px}.pin-title{font-size:11px;min-width:76px;max-width:110px;margin-top:8px}.map-pin.featured .pin-title{font-size:12px;max-width:125px}.cluster-pin{width:50px;height:50px;border-radius:16px}.cluster-photos,.cluster-photos>img{width:46px;height:46px}.cluster-photos>img{border-radius:14px}.cluster-symbol{width:20px;height:20px;bottom:-3px;inset-inline-end:-5px}.cluster-symbol .icon{width:13px;height:13px}.pin-illustration{bottom:5px;inset-inline-end:5px;width:13px;height:13px}.pin-illustration .icon{width:13px;height:13px}}
@media(prefers-reduced-motion:reduce){.pin-face,.cluster-photos>img{transition:none}}

/* Selected photo card; coordinates come from the public MapKit conversion API.
   No bottom-sheet duplicate and no nested buttons inside a marker button. */
#explorer .map-pin.has-map-card{visibility:hidden;pointer-events:none}
#explorer .map-photo-card{position:absolute;top:0;left:0;z-index:6;display:flex;flex-direction:column;width:var(--card-width,290px);max-height:var(--card-height,600px);background:#fff;color:var(--ink);border:1px solid #24344212;border-radius:22px;box-shadow:0 8px 28px #16324b2b;isolation:isolate;text-align:start;will-change:transform}
#explorer .map-photo-card[data-anchored="true"]::before{content:"";position:absolute;left:var(--anchor-x);top:var(--anchor-y);width:8px;height:8px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid #fff;background:var(--accent);box-shadow:0 1px 5px #16324b33;z-index:-1;pointer-events:none}
#explorer .map-photo-card::after{content:"";position:absolute;left:var(--tip-x,50%);width:14px;height:14px;transform:translateX(-50%) rotate(45deg);background:#fff;z-index:-1;box-shadow:2px 2px 3px #16324b10}
#explorer .map-photo-card[data-tip="bottom"]::after{bottom:-7px}
#explorer .map-photo-card[data-tip="top"]::after{top:-7px}
#explorer .map-photo-card[data-tip="none"]::after{display:none}
#explorer .map-photo-hero{position:relative;flex-shrink:0;height:clamp(72px,calc(var(--card-height,600px) - 150px),150px);border-radius:21px 21px 0 0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#eaf2fa}
#explorer .map-photo-hero>img{display:block;width:100%;height:100%;object-fit:cover}
#explorer .map-photo-hero>.category-symbol{font-size:40px}
#explorer .map-photo-close{position:absolute;top:8px;inset-inline-end:8px;width:36px;height:36px;border-radius:50%;background:#fffffff2;box-shadow:0 1px 8px #16324b15;color:#344454}
#explorer .map-photo-close .icon{width:18px;height:18px}
#explorer .map-photo-content{min-height:0;padding:13px 14px 14px;overflow:auto;overscroll-behavior:contain;border-radius:0 0 21px 21px}
#explorer .map-photo-content>small{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-bottom:4px}
#explorer .map-photo-content h2{font-size:19px;line-height:1.22;font-weight:700;letter-spacing:-.3px;margin:0 0 12px;overflow-wrap:anywhere}
#explorer .map-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#explorer .map-photo-actions>button{min-width:0;min-height:44px;height:auto;padding:10px 8px;border-radius:12px;font-size:13px;line-height:1.25;gap:4px;white-space:normal}
#explorer .map-photo-actions .icon{width:17px;height:17px;flex-shrink:0}
#explorer .map-photo-actions .quick-trip-button span{overflow-wrap:anywhere}


/* Source: booking.css */
/* V7: a service overview and photographic offer cards. */
.utility-dialog[data-kind="booking"]{width:min(940px,calc(100% - 48px));max-width:940px;max-height:calc(100dvh - 64px);border-radius:28px;background:#f5f5f7}
.utility-dialog[data-kind="booking"] .dialog-heading{padding:15px 22px;background:#f5f5f7;border-bottom:0}
.utility-dialog[data-kind="booking"] .dialog-heading h2{font-size:17px;letter-spacing:-.2px}
.utility-dialog[data-kind="booking"] .dialog-content{padding:10px 28px 28px;scroll-behavior:smooth}
.booking-heading{padding:2px 2px 18px;max-width:680px}
.booking-heading .eyebrow{text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;color:#6c6c72}
.booking-heading h3{font-size:36px;line-height:1.08;letter-spacing:-1.2px;margin:7px 0 12px;color:#1d1d1f}
.booking-heading p{font-size:15px;line-height:1.55;color:#69696f;margin:0;max-width:540px}
.booking-navigation{display:flex;align-items:center;gap:12px;position:sticky;top:-11px;z-index:4;padding:12px 0 10px;background:#f5f5f7f5;backdrop-filter:blur(20px)}
.booking-tabs{display:flex;flex:1;min-width:0;gap:6px;overflow:auto;margin:0;padding:2px}
.booking-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:41px;padding:9px 14px;border-radius:22px;color:#515157;background:#e9e9ed;font-size:14px;font-weight:550;transition:background .18s,color .18s}
.booking-tabs button>.icon{width:18px;height:18px}
.booking-tabs button.active{color:#fff;background:#1d1d1f;box-shadow:0 2px 4px #00000015}
.booking-tabs button:hover:not(.active){background:#dddde3;color:#1d1d1f}
.booking-disclosure{display:flex;gap:8px;align-items:flex-start;color:#757579;font-size:12px;line-height:1.5;padding:6px 2px 17px;margin:0}
.booking-disclosure>.icon{width:15px;height:15px;flex-shrink:0;margin-top:1px}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.service-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border-radius:22px;background:#fff;text-align:start;box-shadow:0 1px 2px #00000007;transition:box-shadow .18s,transform .18s}
.service-card:hover{box-shadow:0 8px 24px #17263812;transform:translateY(-2px)}
.service-photo{position:relative;display:block;height:168px;overflow:hidden;flex-shrink:0}
.service-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.service-card:hover .service-photo>img{transform:scale(1.035)}
.service-symbol{position:absolute;inset-inline-start:16px;bottom:14px;display:flex;align-items:center;justify-content:center;width:37px;height:37px;border-radius:12px;color:#1d1d1f;background:#fffffff0;backdrop-filter:blur(10px);box-shadow:0 2px 5px #0001}
.service-symbol .icon{width:21px;height:21px}
.service-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:20px;gap:8px}
.service-copy>strong{font-size:23px;line-height:1.15;letter-spacing:-.5px;font-weight:650}
.service-description{font-size:14px;line-height:1.5;color:#6c6c72;max-width:32em}
.service-providers{font-size:12px;color:#838389;line-height:1.5}
.service-price{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding-top:13px}
.service-price b{font-size:23px;letter-spacing:-.5px;font-weight:650;color:#1d1d1f}
.service-price small{font-size:11px;line-height:1.5;color:#838389}
.service-link{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;color:#006fe8;font-size:14px;font-weight:550;padding-top:8px}
.service-link .icon{width:17px;height:17px}
.service-lead{grid-column:1/-1;display:grid;grid-template-columns:1.12fr 1fr;min-height:282px}
.service-lead .service-photo{height:100%;min-height:282px}
.service-lead .service-copy{padding:25px;gap:11px}
.service-lead .service-copy>strong{font-size:30px;letter-spacing:-.9px}
.service-lead .service-description{font-size:15px}
.service-lead .service-price{padding-top:16px}
.service-lead .service-symbol{width:43px;height:43px;inset-inline-start:20px;bottom:20px;border-radius:14px}
.service-lead .service-symbol .icon{width:25px;height:25px}
.offers-list{gap:16px}
.booking-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.offer-card{display:flex;flex-direction:column;min-width:0;margin:0;padding:0;border:1px solid #e9e9ee;border-radius:22px;background:#fff;overflow:hidden}
.offer-photo{position:relative;width:100%;height:182px;overflow:hidden;background:#e5e9e9}
.offer-photo>img{width:100%;height:100%;object-fit:cover}
.offer-kind{display:inline-flex;align-items:center;gap:5px;position:absolute;inset-inline-start:12px;top:12px;max-width:calc(100% - 70px);font-size:11px;font-weight:550;line-height:1.2;padding:7px 9px;border-radius:15px;color:#303037;background:#fffffff0;backdrop-filter:blur(12px)}
.offer-kind>.icon{width:14px;height:14px}
.offer-photo .save-button{position:absolute;top:10px;inset-inline-end:11px;height:32px;width:32px}
.offer-copy{display:flex;flex-direction:column;flex:1;padding:18px;min-width:0}
.offer-card-heading{display:block}
.offer-card h4{font-size:20px;line-height:1.25;letter-spacing:-.45px;font-weight:650;margin:0;color:#1d1d1f;overflow-wrap:anywhere}
.offer-summary{font-size:14px;line-height:1.5;color:#76767c;margin:9px 0 0}
.offer-map-link{display:flex;align-items:center;gap:5px;font-size:12px;color:#006fe8;align-self:flex-start;margin-top:11px;padding:0;text-align:start}
.offer-map-link>.icon{width:14px;height:14px}
.offer-price-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;padding:18px 0 14px}
.offer-amount{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin:0;min-width:0}
.offer-amount strong{font-size:25px;letter-spacing:-.7px;font-weight:650;line-height:1.2;color:#1d1d1f}
.offer-amount>span{font-size:12px;line-height:1.4;color:#76767c}
.offer-card .price-status{font-size:10px;padding:3px 6px;border-radius:5px;white-space:nowrap;background:#f0f0f3;color:#797981}
.offer-terms{margin:0 0 14px;padding-top:11px;border-top:1px solid #eeeef2}
.offer-terms>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;font-size:12px;line-height:1.4;color:#717179;cursor:pointer}
.offer-terms>summary::-webkit-details-marker{display:none}
.offer-terms>summary>.icon{width:13px;height:13px}
.offer-terms[open]>summary>.icon{transform:rotate(180deg)}
.offer-terms>p{font-size:12px;line-height:1.65;color:#717179;margin:10px 0 0}
.offer-outbound{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:45px;padding:12px 13px;margin-top:auto;border:0;border-radius:12px;background:#007aff;font-size:12px;color:#fff}
.offer-outbound>span:first-child{color:#ffffffdf;font-weight:500}
.offer-outbound>span:last-child{color:#fff;font-weight:600;text-align:end}
.offer-outbound:hover{background:#0065df}
.booking-footer{display:flex;align-items:flex-start;gap:10px;padding:24px 3px 20px;color:#84848b}
.booking-footer>.icon{width:18px;height:18px;flex-shrink:0;margin-top:2px}
.booking-footer p{font-size:12px;line-height:1.55;margin:0;max-width:670px}
.image-label{position:absolute;bottom:9px;inset-inline-start:9px;border-radius:5px;padding:3px 5px;background:#1b273a94;color:#fff;font-size:9px;line-height:1.2;font-weight:400;max-width:calc(100% - 18px);pointer-events:none}
.service-photo .image-label{inset-inline-start:auto;inset-inline-end:10px}
.group-card-cover,.row-thumb{position:relative}
.row-thumb .image-label{font-size:7px;bottom:4px;inset-inline-start:3px;padding:2px 3px;max-width:calc(100% - 6px)}
.detail-hero .image-label{bottom:auto;top:12px;inset-inline-start:12px;font-size:10px}
.group-card-copy>strong{font-size:17px;letter-spacing:-.2px}
.group-card-description{font-size:14px;line-height:1.5}
.place-rail .group-card{flex-basis:248px;min-width:248px}
.group-card-cover{height:164px}
.row-copy>strong{font-size:16px}
.row-short{font-size:13px}
.destination-description,.expandable-copy p,.article-section p{font-size:16px}
.group-card-bottom{font-size:14px}
.row-thumb{width:82px;height:94px}
.section-line h2,.intro-copy h2{font-size:23px}
@media(max-width:650px){
 .utility-dialog[data-kind="booking"]{width:calc(100% - 16px);max-height:calc(100dvh - 60px - var(--safe-top));border-radius:25px;margin:auto 8px calc(8px + var(--safe-bottom))}
 .utility-dialog[data-kind="booking"] .dialog-heading{padding:13px 13px 7px}
 .utility-dialog[data-kind="booking"] .dialog-heading h2{font-size:16px}
 .utility-dialog[data-kind="booking"] .dialog-content{padding:12px 16px 22px}
 .booking-heading{padding-bottom:10px}.booking-heading h3{font-size:29px;letter-spacing:-.8px}.booking-heading p{font-size:14px}
 .booking-navigation{gap:6px;top:-13px;padding-block:10px}
 .booking-tabs{gap:5px}.booking-tabs button{font-size:13px;padding:8px 12px;min-height:38px}.booking-tabs button>.icon{width:16px;height:16px}
 .booking-disclosure{font-size:11px;padding-top:5px}
 .service-grid{gap:10px}.service-card{border-radius:17px}.service-photo{height:105px}.service-copy{padding:13px;gap:6px}
 .service-copy>strong{font-size:18px;letter-spacing:-.4px}.service-description{font-size:12px;line-height:1.45}.service-providers{font-size:10px}.service-price{padding-top:8px}.service-price b{font-size:18px}.service-price small{font-size:9px}.service-link{font-size:11px;gap:5px;line-height:1.3}.service-link>.icon{width:13px;height:13px;flex-shrink:0}.service-symbol{width:29px;height:29px;border-radius:9px;inset-inline-start:11px;bottom:10px}.service-symbol .icon{width:17px;height:17px}
 .service-lead{display:flex;min-height:0}.service-lead .service-photo{height:160px;min-height:0}.service-lead .service-copy{padding:17px;gap:7px}.service-lead .service-copy>strong{font-size:26px}.service-lead .service-description{font-size:14px}.service-lead .service-price{padding-top:8px}.service-lead .service-price b{font-size:23px}.service-lead .service-link{font-size:14px}.service-lead .service-symbol{height:37px;width:37px;inset-inline-start:15px;bottom:15px}
 .booking-offers{grid-template-columns:1fr;gap:14px}.offer-photo{height:184px}.offer-copy{padding:17px}.offer-card{border-radius:19px}.offer-card h4{font-size:21px}.offer-summary{font-size:14px}.offer-outbound{font-size:13px}.booking-footer{padding-top:20px}
 .place-rail .group-card{flex-basis:235px;min-width:235px}.group-card-cover{height:150px}.group-card-copy>strong{font-size:16px}.group-card-description{font-size:13px}.destination-description{font-size:15px}
}
@media(max-width:359px){.service-grid{grid-template-columns:1fr}.service-lead{grid-column:auto}.service-card:not(.service-lead){display:grid;grid-template-columns:100px 1fr}.service-card:not(.service-lead) .service-photo{height:100%}.service-providers{overflow-wrap:anywhere}.service-copy>strong{font-size:17px}}
@media(prefers-contrast:more){.booking-heading p,.offer-summary,.service-description{color:#4b4b50}.booking-disclosure,.service-providers,.offer-amount>span{color:#55555c}.offer-card{border-color:#999}.image-label{background:#162236}}
/* Booking hub and provider-powered fare calendar. */
.booking-services{display:grid;gap:12px;margin:8px 0 26px}
.booking-service{display:flex;align-items:center;gap:14px;background:#fff;padding:16px;border-radius:20px;text-align:start;min-width:0;width:100%}
.booking-service-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#e8f1ff;color:#0875ed}
.booking-service-icon[data-service="hotels"]{background:#f1eaff;color:#9155d5}
.booking-service-icon[data-service="experiences"]{background:#e5f6ee;color:#31946b}
.booking-service-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}
.booking-service-copy>strong{font-size:20px;line-height:1.15}
.booking-service-copy>small{font-size:11px;color:var(--muted);line-height:1.4}
.booking-service-price{display:flex;align-items:center;gap:3px;color:var(--accent);font-size:13px;font-weight:600}
.booking-service-price .icon{width:15px;height:15px}
.booking-service>img{width:72px;height:84px;object-fit:cover;border-radius:12px;flex:0 0 72px}
.booking-more-title{font-size:20px;margin:0 0 14px}
.booking-extras{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.booking-extras>button{background:#fff;border-radius:18px;min-width:0;text-align:start;padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;position:relative}
.booking-extras>button>.icon:first-child{color:#5a779f}
.booking-extras>button>.icon:last-child{position:absolute;inset-inline-end:12px;top:16px;width:16px;height:16px;color:var(--muted)}
.booking-extras strong{font-size:14px;line-height:1.4}.booking-extras small{color:var(--accent)}
.flight-form{background:#fff;border-radius:20px;padding:18px;margin:18px 0 24px}
.flight-form .form-field{margin-bottom:12px;font-size:12px;min-width:0;display:flex;flex-direction:column;gap:6px}
.flight-form input:not([type="checkbox"]){width:100%;min-width:0;max-width:100%;box-sizing:border-box;font:inherit;font-size:15px;min-height:46px;border:1px solid #e1e6ed;border-radius:12px;padding:10px;background:#f7f9fc;color:var(--ink)}
.flight-city{position:relative}.flight-suggestions{position:absolute;z-index:8;top:100%;inset-inline:0;padding:4px;background:#fff;box-shadow:0 8px 24px #1233;border-radius:12px;max-height:240px;overflow:auto}
.flight-suggestions[hidden]{display:none}.flight-suggestions button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;text-align:start;padding:10px;background:#fff;border-radius:8px;font-size:14px}
.flight-suggestions button:hover,.flight-suggestions button[aria-selected="true"]{background:#eaf2ff}.flight-suggestions small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.flight-suggestions bdi{color:var(--muted)}
.flight-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.flight-oneway{display:flex;align-items:center;gap:8px;font-size:13px;margin:12px 0 18px}.flight-oneway input{accent-color:var(--accent);width:18px;height:18px}.flight-form .primary-button{width:100%}.flight-form input:disabled{opacity:.4}
.flight-calendar>.section-line{align-items:start;flex-wrap:wrap;gap:12px}.flight-calendar h3{font-size:20px;margin:0}.flight-calendar input[type="month"]{max-width:160px;font:inherit;font-size:13px;background:#fff;border:0;border-radius:10px;padding:8px;color:var(--ink)}
.flight-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin:18px -8px}.flight-weekday{font-size:10px;text-align:center;color:var(--muted);padding-bottom:8px}.flight-calendar-grid button{height:56px;border:1px solid transparent;background:#fff;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:2px;min-width:0;font-size:13px;color:var(--ink)}.flight-calendar-grid button small{font-size:10px;white-space:nowrap;max-width:100%;letter-spacing:-.3px}.flight-calendar-grid button.cheapest{background:#e5f5ec;color:#258059}.flight-calendar-grid button.selected{border-color:var(--accent);background:#e8f1ff;color:var(--accent)}.flight-calendar-grid button:disabled{opacity:.3}.flight-calendar-grid[aria-busy="true"]{opacity:.5}
.flight-empty{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px;line-height:1.5;background:#eaf0f8;border-radius:14px;padding:16px}.flight-empty>.icon{flex:0 0 26px}
.flight-result{background:#fff;padding:20px;border-radius:18px}.flight-result .eyebrow{font-size:11px;color:var(--muted)}.flight-result h3{margin-top:12px}.flight-result p{font-size:13px}.flight-result>strong{display:block;font-size:26px}.flight-result>small{display:block;margin:6px 0 16px;color:var(--muted)}.flight-result>.primary-button{width:100%}
@media(max-width:360px){.booking-service{gap:10px;padding:14px}.booking-service>img{width:54px;flex-basis:54px;height:80px}.booking-service-copy>strong{font-size:18px}.flight-form{padding:14px}.flight-dates{grid-template-columns:1fr}.flight-calendar-grid button small{font-size:9px}}


/* Source: explore.css */
/* V9: photographic catalogue, colourful place types and unobtrusive map tools. */
.category-symbol{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;line-height:1;border-radius:13px;background:#e1eafe;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:23px;font-weight:400;letter-spacing:0}
.category-symbol[data-symbol="sea"]{background:#dff4f5}.category-symbol[data-symbol="nature"]{background:#e5f1de}.category-symbol[data-symbol="food"]{background:#fff0dc}.category-symbol[data-symbol="coffee"]{background:#f0e8df}.category-symbol[data-symbol="relax"]{background:#eee6f9}.category-symbol[data-symbol="fun"]{background:#ffe6ee}.category-symbol[data-symbol="shopping"]{background:#eae5fc}.category-symbol[data-symbol="hotels"]{background:#e1edfa}.category-symbol[data-symbol="nightlife"]{background:#eee9fa}
.category-heading{display:flex;align-items:center;gap:9px}.category-heading>.category-symbol{width:32px;height:32px;font-size:21px;border-radius:10px}
.category-chip{display:flex;align-items:center;gap:6px;padding:8px 11px;color:#515157;background:#e9e9ef;font-size:13px;min-height:39px}.category-chip>.category-symbol{width:22px;height:22px;font-size:19px;background:transparent;border-radius:0}.category-chip.active{background:#dfebff;color:#125dad;box-shadow:inset 0 0 0 1px #aac9f455}
.filter-options label>span{display:flex;align-items:center;gap:9px;text-align:start;padding:12px;font-size:14px}.filter-options .category-symbol{width:36px;height:36px;border:0;border-radius:12px;font-size:23px;padding:0;min-width:36px}
.place-category{display:flex;align-items:center;gap:8px}.place-category>.category-symbol{width:28px;height:28px;border-radius:9px;font-size:18px}
.category-cover>.category-symbol{width:80px;height:80px;font-size:46px;border-radius:24px}.photo-unavailable{display:flex!important;align-items:center;justify-content:center;background:#eef1f4}.photo-unavailable>.category-symbol{width:75px;height:75px;font-size:43px;border-radius:24px}

/* Compact place rows keep substantial photographs without a card frame. */
.place-list{display:flex;flex-direction:column;gap:21px;padding-bottom:15px}
.place-list .row-card{position:relative;border:0;background:transparent;box-shadow:none;margin:0;padding:0;min-height:0;border-radius:0;overflow:visible}
.place-list .card-open{display:grid;grid-template-columns:128px minmax(0,1fr);width:100%;gap:14px;padding:0;text-align:start;border:0;border-radius:0;background:transparent;align-items:center}
.place-poster{position:relative;display:block;width:128px;height:128px;overflow:hidden;border-radius:22px;background:#e8edf0}
.place-poster img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.place-list .card-open:hover .place-poster img{transform:scale(1.035)}
.place-list .row-copy{display:flex;flex-direction:column;min-width:0;padding:0;gap:6px}
.row-kicker{display:flex;align-items:center;gap:5px;min-width:0;font-size:11px;color:#6c7078;line-height:1.4}
.row-kicker>.category-symbol{width:20px;height:20px;font-size:16px;border-radius:0;background:transparent}
.row-kicker>span:not(.category-symbol){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.place-list .row-title>strong{font-size:18px;line-height:1.22;letter-spacing:-.35px;font-weight:650;color:#1d1d1f;padding:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.place-list .row-short{font-size:13px;line-height:1.45;color:#6c6c72;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 10px;margin-top:2px}.row-meta>small{font-size:11px;color:#7c7c83;white-space:nowrap}
.place-list .row-price{font-size:14px;line-height:1.3;font-weight:650;color:#1d1d1f;margin:0;display:block}
.place-list .row-price-note{display:block;font-size:10px;color:#7c7c83;line-height:1.3;margin:0}
.place-list .row-card .save-button{position:absolute;inset-inline-start:7px;inset-inline-end:auto;top:7px;width:31px;height:31px;border:1px solid #ffffffb8;border-radius:50%;color:#353c46;background:#fffffff0;backdrop-filter:blur(12px);box-shadow:0 2px 9px #19334e0d}
.place-list .row-card .save-button .icon{width:18px;height:18px}.place-list .row-card .save-button.saved{color:#ff375f}
.place-list .card-open:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:18px}
.group-card{background:transparent;box-shadow:none;border:0;overflow:visible}.group-card-cover{border-radius:18px;overflow:hidden}.group-card-copy{padding:12px 1px 0}.group-card-copy>strong{font-size:18px;letter-spacing:-.35px}.group-card-description{color:#6c6c72}.group-card .save-button{top:9px;inset-inline-end:9px}.group-card-bottom{justify-content:space-between;margin-top:3px}.group-card-bottom>small:only-child{margin-inline-start:0}

.map-options{position:absolute;z-index:14;top:calc(87px + var(--safe-top));inset-inline-start:calc(var(--panel-width) + 40px);max-width:calc(100% - var(--panel-width) - 130px);pointer-events:auto;transition:inset-inline-start .25s}
.map-choice-buttons{display:flex;align-items:center;gap:8px}
.map-choice-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid #ffffffec;background:#fffffff0;color:#282b30;border-radius:15px;padding:8px 13px;box-shadow:0 3px 17px #142a3e13;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);font-size:14px;font-weight:600;line-height:1.3;white-space:nowrap}
.type-choice-button{min-width:0}.type-choice-button>span:not(.category-symbol){overflow:hidden;text-overflow:ellipsis}.map-choice-button>.category-symbol{background:transparent;width:23px;height:23px;font-size:21px}.map-choice-button>.icon{width:19px;height:19px;flex-shrink:0}.type-choice-button>.icon:last-child{width:12px;height:12px}
.map-choice-button[aria-expanded="true"]{background:#fff;box-shadow:0 0 0 2px #007aff55,0 4px 18px #142a3e12}.map-choice-button.filtered{background:#f1f6ff;color:#075ab5}.layer-choice-button.selected{color:#075ab5}.layer-choice-button{flex-shrink:0}
.map-choice-panel{position:absolute;top:54px;inset-inline-start:0;width:366px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 240px - var(--safe-top) - var(--safe-bottom));display:flex;flex-direction:column;background:#f8f9fbfa;border:1px solid #fff;border-radius:24px;padding:16px;box-shadow:0 16px 55px #182d3b2c;backdrop-filter:blur(35px);-webkit-backdrop-filter:blur(35px)}
.map-choice-heading{display:flex;align-items:center;gap:10px;margin-bottom:13px;flex-shrink:0}.map-choice-heading h2{font-size:20px;font-weight:650;letter-spacing:-.4px;flex:1}.map-choice-heading .icon-button{width:29px;height:29px;background:#e8e9ee;color:#737780}.map-choice-heading .icon-button .icon{width:16px;height:16px}
.map-type-choices{display:grid;grid-template-columns:1fr;gap:3px;overflow:auto;min-height:0;overscroll-behavior:contain;padding:1px}
.map-type-choices>button{display:flex;align-items:center;gap:11px;min-height:61px;position:relative;padding:9px 8px;border:0;text-align:start;border-radius:15px;cursor:pointer;background:transparent}
.map-type-choices>button:hover{background:#eceff5}.map-type-choices>button[aria-pressed="true"]{background:#e6effd}
.map-type-choices>button:focus-visible{outline:2px solid #007aff;outline-offset:-2px}
.map-type-choices>button>.category-symbol{width:41px;height:41px;border-radius:13px;font-size:26px}
.map-type-choices>button>span:not(.category-symbol):not(.type-check){flex:1;min-width:0;pointer-events:none}
.map-type-choices strong{display:block;font-size:15px;line-height:1.3;font-weight:600;letter-spacing:-.2px}.map-type-choices small{display:block;font-size:12px;line-height:1.35;color:#7c8088;margin-top:3px}
.type-check{display:flex;align-items:center;justify-content:center;width:21px;height:21px;border:1.5px solid #d4d8e0;border-radius:50%;color:transparent;flex-shrink:0}.type-check>.icon{width:14px;height:14px}
.map-type-choices>button[aria-pressed="true"]>.type-check{color:#fff;background:#007aff;border-color:#007aff}
.map-choice-actions{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid #e2e5ea;flex-shrink:0}.map-choice-actions .text-button{font-size:13px}.map-choice-actions .primary-button{font-size:13px;gap:9px;border-radius:13px;min-height:41px}.map-choice-actions .primary-button .icon{width:14px;height:14px}
.map-style-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:3px 0}
.map-style-choices>button{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;border-radius:17px;background:#eff1f4;border:2px solid transparent;padding:9px 9px 12px;font-size:14px}
.map-style-choices>button[aria-pressed="true"]{border-color:#007aff;background:#e5efff;color:#0068d8}.map-style-choices>button>.icon{position:absolute;inset-inline-end:12px;top:12px;border-radius:50%;color:white;background:#007aff;padding:3px;width:21px;height:21px}
.map-style-sample{display:flex;align-items:center;justify-content:center;border-radius:11px;width:100%;height:87px;background:linear-gradient(118deg,#d6e4cd 0 34%,#f4f2e9 34% 68%,#bae0f0 68%);color:#667e8f}.map-style-sample>.icon{width:36px;height:36px;background:#ffffffe8;padding:7px;box-sizing:content-box;border-radius:13px;box-shadow:0 2px 9px #142a3e15}.map-style-sample.satellite{background:linear-gradient(118deg,#34482f 0 33%,#768069 33% 67%,#386477 67%);color:#3a555d}
.explorer[data-sheet="peek"]:not([data-detail]) .map-options{inset-inline-start:20px;max-width:calc(100% - 100px)}
.explorer[data-sheet="peek"]:not([data-detail]) .browse-sheet{display:none}
.fullscreen-map .map-options{top:calc(20px + var(--safe-top));inset-inline-start:20px;max-width:calc(100% - 100px)}
.fullscreen-map .map-choice-panel{max-height:calc(100dvh - 150px)}
.map-footer:not(.has-plan){display:none}.map-footer.has-plan{justify-content:flex-end}
.explorer[data-map-style="satellite"] .pin-title{background:#182635c9;color:#fff;text-shadow:none;padding:4px 7px;border-radius:8px;box-shadow:0 2px 7px #0002}.explorer[data-map-style="satellite"] .map-pin.selected .pin-title{background:#007aff;color:#fff}
.route-summary:not([hidden]){top:calc(145px + var(--safe-top))}
@media(max-width:1100px) and (min-width:901px){.layer-choice-button>span{display:none}.layer-choice-button{width:44px;padding:8px}.map-choice-button{font-size:13px}.map-options{max-width:calc(100% - var(--panel-width) - 118px)}}
@media(max-width:900px){
 .place-list{gap:19px}.place-list .card-open{grid-template-columns:118px minmax(0,1fr);gap:12px}.place-poster{width:118px;height:118px;border-radius:21px}.place-list .row-title>strong{font-size:17px}.place-list .row-short{font-size:12px}.place-list .row-copy{gap:5px;padding:0}.place-list .row-price{font-size:14px}.row-kicker{font-size:10px}
 .map-options,.explorer[data-sheet="peek"]:not([data-detail]) .map-options{inset-inline-start:12px;top:calc(70px + var(--safe-top));max-width:calc(100% - 76px)}
 .map-choice-button{min-height:40px;padding:7px 10px;border-radius:13px;font-size:13px}.map-choice-button>.category-symbol{width:21px;height:21px;font-size:20px}.map-choice-buttons{gap:7px}.layer-choice-button{width:40px;padding:8px}.layer-choice-button>span{display:none}.layer-choice-button>.icon{width:19px;height:19px}
 .map-choice-panel{top:50px;width:346px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 224px - var(--safe-top) - var(--safe-bottom));padding:15px;border-radius:22px}.map-choice-heading h2{font-size:20px}.map-type-choices>button{min-height:58px;padding:8px 6px}.map-type-choices strong{font-size:15px}.map-type-choices small{font-size:12px}.map-type-choices>button>.category-symbol{width:39px;height:39px;font-size:25px}.map-choice-actions{gap:8px}.map-choice-actions .primary-button{font-size:12px;padding-inline:11px}
 .fullscreen-map .map-options,.explorer.fullscreen-map[data-sheet="peek"]:not([data-detail]) .map-options{top:calc(20px + var(--safe-top));inset-inline-start:12px}.fullscreen-map .map-choice-panel{max-height:calc(100dvh - 135px - var(--safe-top))}
 .explorer[data-sheet="peek"]:not([data-detail]) .browse-sheet{display:none}.route-summary:not([hidden]){top:calc(119px + var(--safe-top));max-width:calc(100% - 76px)}
 .group-card-cover{border-radius:17px}.group-card-copy{padding-inline:1px}.group-card-copy>strong{font-size:17px}.category-heading>.category-symbol{width:29px;height:29px;font-size:20px;border-radius:9px}
 .map-footer.has-plan{display:flex;bottom:calc(94px + var(--safe-bottom));inset-inline:12px;justify-content:center}.map-footer.has-plan #edit-plan{font-size:12px;min-height:38px;padding:9px 14px}
}
@media(max-height:550px){.map-choice-panel{max-height:calc(100dvh - 175px);padding:12px}.map-choice-heading{margin-bottom:7px}.map-choice-actions{margin-top:7px;padding-top:7px}}
@media(prefers-reduced-motion:reduce){.map-options,.place-poster img{transition:none}}
@media(prefers-contrast:more){.map-choice-button,.map-choice-panel{background:white;border-color:#747d88}.map-type-choices small,.row-kicker,.place-list .row-short{color:#515861}}

.category-symbol[data-symbol="popular"]{background:#fff0ca}
.map-collection-choices{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px;flex-shrink:0}
.map-collection-choices>button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px;border-radius:13px;background:#edeff3;color:#666b73;font-size:13px;text-align:start}
.map-collection-choices>button>.category-symbol{width:23px;height:23px;background:transparent;font-size:20px}
.map-collection-choices>button[aria-pressed="true"]{background:#e2ecff;color:#0060bd;box-shadow:inset 0 0 0 1px #aac7ef55}
.destination-identity{display:contents}
@media(min-width:901px){
 .topbar{justify-content:space-between;gap:20px}
 .destination-identity{display:flex;align-items:center;width:var(--panel-width);flex:0 0 var(--panel-width);gap:8px;min-width:0}
 .destination-identity .brand-group{height:44px;min-height:44px;gap:9px;padding:5px 6px 5px 11px;flex-shrink:0}
 .destination-identity .brand{font-size:21px;gap:6px}.destination-identity .brand-mark{font-size:24px;width:25px}.destination-identity .brand-name{padding-inline-end:3px}
 .destination-identity .brand-group>.icon-button{width:34px;padding-inline-start:8px}
 .destination-identity .map-destination{height:44px;flex:1;min-width:0;margin:0;padding:10px 12px;gap:6px;font-size:14px}
 .destination-identity .map-destination>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:start}
 .destination-identity .map-destination>.icon{flex-shrink:0}.destination-identity .map-destination>.icon:last-child{margin-inline-start:0}
 .map-options,.explorer[data-sheet="peek"]:not([data-detail]) .map-options{top:calc(18px + var(--safe-top));inset-inline-start:calc(var(--panel-width) + 40px);max-width:calc(100% - var(--panel-width) - 195px)}
 .map-choice-button{height:44px;border-radius:23px}.map-choice-buttons{max-width:100%}
 .map-choice-panel{top:56px;max-height:calc(100dvh - 118px - var(--safe-top) - var(--safe-bottom));width:350px}
 .map-tools,.explorer.fullscreen-map .map-tools{top:auto;bottom:calc(22px + var(--safe-bottom));inset-inline-end:20px}
 .route-summary:not([hidden]){top:calc(88px + var(--safe-top))}
 .explorer.fullscreen-map .map-options,.explorer.fullscreen-map[data-sheet="peek"]:not([data-detail]) .map-options{inset-inline-start:20px;top:calc(20px + var(--safe-top));max-width:calc(100% - 110px)}
}
@media(max-width:360px){.place-list .card-open{grid-template-columns:98px minmax(0,1fr);gap:10px}.place-poster{width:98px;height:98px}.place-list .row-title>strong{font-size:16px}}

.row-title{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;min-width:0}.row-title>strong{flex:1;min-width:0}.row-chevron{display:flex;align-items:center;justify-content:center;width:14px;height:22px;flex-shrink:0;color:#9298a0}.row-chevron>.icon{width:12px;height:12px}.row-meta>small{display:inline-flex;align-items:center;gap:4px}.row-meta>small>.icon{width:13px;height:13px}.category-symbol[data-symbol="children"]{background:#ffefdd}.category-symbol[data-symbol="route"]{background:#e4e9fc}[dir="rtl"] .row-chevron>.icon{transform:scaleX(-1)}


/* Source: guide.css */
/* Destination guide: compact reading, travel facts and booking entry points. */

.section-nav{margin:8px 0 20px;background:#e9ebf0;border-radius:15px;padding:4px;gap:4px}
.section-nav button{min-height:34px;border-radius:11px;font-size:13px;font-weight:600;padding:8px}
.section-nav button.active{background:#fff;color:#22272e;box-shadow:0 2px 7px #252d4010}
.destination-navigation{align-items:center;margin-bottom:14px;gap:10px}
.destination-navigation .country-link,.destination-navigation .text-button{font-size:12px;font-weight:500;gap:5px}
.destination-navigation .icon{width:13px;height:13px}
.destination-heading{gap:12px;margin-bottom:12px}
.destination-heading h1{font-size:35px;line-height:1.12;font-weight:700;letter-spacing:-1.1px}
.destination-heading .icon-button{width:34px;height:34px;flex-shrink:0;background:#e8edf5;color:#007aff;border-radius:50%;margin:0}
.destination-summary{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.destination-summary .destination-description{flex:1;min-width:0;margin:0;color:#69707a;font-size:14px;line-height:1.5}
.destination-cover{width:94px;height:104px;object-fit:cover;border-radius:22px;flex-shrink:0}
.destination-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:0}
.destination-meta .destination-weather,.destination-meta .destination-clock{display:flex;align-items:center;gap:9px;min-width:0;padding:11px 12px;background:#fff;border-radius:15px;text-align:start}
.destination-meta .icon{color:#8296b2;width:21px;height:21px;flex-shrink:0}
.destination-meta .destination-weather>.icon{color:#5591ca}
.destination-meta small{display:block;color:#687383;font-size:10px;line-height:1.3;margin-bottom:3px}
.destination-meta strong,.destination-meta bdi{display:block;color:#28303b;font-size:13px;line-height:1.3;font-weight:600}
.destination-meta .destination-weather>span,.destination-meta .destination-clock>span{min-width:0}
.destination-season{display:flex;align-items:center;gap:6px;margin:12px 2px 0;flex-wrap:wrap;font-size:11px;line-height:1.35;color:#82868e}
.destination-season .icon{width:15px;height:15px;color:#c3a15f}.destination-season strong{font-weight:600;color:#606873}
.destination-header{margin-bottom:17px}
.explorer[data-tab="places"] .destination-summary,.explorer[data-tab="places"] .destination-season{display:none}

.hero-actions{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:0 0 13px;align-items:stretch}
.hero-actions>button{min-width:0;min-height:65px;padding:12px 11px;border:0;border-radius:18px;display:flex;align-items:center;justify-content:flex-start;gap:8px;text-align:start}
.hero-actions>button:only-child{grid-column:1/-1}
.hero-actions .hero-booking{background:#007aff;color:#fff;box-shadow:0 3px 10px #007aff14}
.hero-actions .hero-booking>.icon{width:23px;height:23px;flex-shrink:0}.hero-actions .hero-booking>span{min-width:0}
.hero-actions .hero-booking strong{font-size:13px;line-height:1.3;color:#fff;font-weight:600;display:block}
.hero-actions .hero-booking small{display:block;font-size:10px;color:#e6f1ff;line-height:1.35;margin-top:4px}
.hero-actions .hero-plan{background:#e8ecf6;color:#354d75}.hero-actions .hero-plan strong{font-size:12px;font-weight:600;line-height:1.35}
.hero-actions .hero-plan>.category-symbol{width:29px;height:33px;background:transparent;font-size:24px;border-radius:0}
.travel-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;background:none;border:0;overflow:visible;margin:0 0 24px}
.travel-facts .travel-fact{padding:13px 12px;background:#fff;border:0!important;border-radius:16px;min-width:0;box-shadow:none}
.travel-facts .travel-fact>span{font-size:11px;line-height:1.3;color:#687383;gap:6px;align-items:center}
.travel-facts .travel-fact .icon{width:15px;height:15px;color:#8d9eb5;flex-shrink:0}
.travel-facts .travel-fact[data-fact="rules"] .icon{color:#5b9a89}.travel-facts .travel-fact[data-fact="fx"] .icon{color:#9a89b2}
.travel-facts .travel-fact strong{font-size:15px;line-height:1.3;color:#343a44;margin-top:8px;letter-spacing:-.2px;font-weight:600}
.booking-section-heading{margin-top:22px;margin-bottom:12px}.booking-section-heading h2{font-size:23px;line-height:1.2}
#guide-bookings{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(145px,43%);grid-template-columns:none;gap:9px;overflow-x:auto;overscroll-behavior-x:contain;padding:0 1px 5px;margin-bottom:4px}
#guide-bookings .booking-tile{min-height:141px;border:0;border-radius:18px;background:#fff;padding:14px 13px;box-shadow:none;color:#333b46}
#guide-bookings .booking-tile-top{font-size:12px;line-height:1.35;gap:7px;align-items:flex-start}
#guide-bookings .booking-tile-top>.icon{width:19px;height:19px;color:#7796c4;flex-shrink:0}
#guide-bookings .booking-tile-top>span{min-width:0}
#guide-bookings .booking-tile strong{font-size:20px;color:#253956;letter-spacing:-.6px;line-height:1.2;margin:16px 0 6px}
#guide-bookings .booking-tile small{font-size:10px;color:#7b838e;line-height:1.35}
#guide-bookings .tile-status{font-size:9px;color:#9399a2;opacity:1;padding-top:7px}
.intro-copy{margin-top:25px}.intro-copy h2{font-size:23px}.intro-copy>.expandable-copy>p{font-size:14px;color:#69707a;line-height:1.6;margin-top:11px}

.interest-navigation{display:block;margin:0 0 18px;min-width:0}
.interest-navigation .guide-category-rail{display:flex;overflow-x:auto;min-width:0;gap:7px;margin:0;padding:3px 1px;overscroll-behavior-x:contain}
.interest-navigation .guide-category-rail button{padding:7px 11px 7px 7px;gap:7px;border:0;background:#fff;box-shadow:none;min-height:42px;font-size:12px;color:#424954;border-radius:15px;flex-shrink:0}
.interest-navigation .guide-category-rail .category-symbol{width:28px;height:28px;min-width:28px;font-size:20px;border-radius:10px}

.interest-navigation .guide-category-rail button.active{background:#dfebff;color:#0964c5}

/* A single column prevents the CTA from compressing the route description. */
#overview .itinerary-card{display:grid;grid-template-columns:minmax(0,1fr);gap:13px;padding:19px;border-radius:22px;background:#e8eef8;color:#253650;margin:25px 0;align-items:stretch;box-shadow:none}
.itinerary-heading{display:flex;align-items:center;gap:12px;min-width:0}
.itinerary-heading>.category-symbol{width:43px;height:43px;min-width:43px;border-radius:14px;font-size:27px;background:#f7f9ff}
#overview .itinerary-copy{min-width:0;flex:1}
#overview .itinerary-copy>small{display:block;font-size:11px;line-height:1.3;color:#536b8c}
#overview .itinerary-copy>h3{font-size:20px;line-height:1.25;color:#253650;font-weight:650;letter-spacing:-.4px;margin:5px 0 0}
#overview .itinerary-card>p{font-size:13px;line-height:1.55;color:#5c6d85;margin:0}
#overview .itinerary-card>.secondary-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;border:0;background:#fff;color:#26578e;font-size:13px;font-weight:600;border-radius:13px;padding:12px 14px;margin:0;grid-column:1}
#overview .itinerary-card>.secondary-button>.icon{width:15px;height:15px;flex-shrink:0}
.utility-dialog[data-kind="templates"] .template-card{border:0;background:#fff;padding:19px;border-radius:21px;margin:17px 0;box-shadow:0 2px 9px #23365006}
.utility-dialog[data-kind="templates"] .template-card h3{font-size:21px;letter-spacing:-.35px;color:#283750}
.utility-dialog[data-kind="templates"] .template-days{background:#eaf0fa;color:#4770a4;border-radius:9px;padding:6px 8px;font-size:11px;white-space:nowrap}
.utility-dialog[data-kind="templates"] .template-card li{display:grid;grid-template-columns:55px minmax(0,1fr);gap:9px;border-color:#edf0f5;font-size:12px;color:#4e6280}
.utility-dialog[data-kind="templates"] .template-card .primary-button{border-radius:13px;font-size:13px;min-height:43px}

@media(max-width:900px){
 
 .section-nav{margin:2px 0 18px}.section-nav button{min-height:33px;font-size:13px}
 .destination-navigation{margin-bottom:12px}.destination-navigation .country-link,.destination-navigation .text-button{font-size:11px}
 .destination-heading h1{font-size:32px}.destination-heading{margin-bottom:12px}
 .destination-summary{gap:14px;margin-bottom:14px}.destination-summary .destination-description{font-size:13px;line-height:1.5}.destination-cover{width:86px;height:96px;border-radius:21px}
 .destination-meta .destination-weather,.destination-meta .destination-clock{padding:10px;gap:7px}.destination-meta .icon{width:18px;height:18px}.destination-meta strong,.destination-meta bdi{font-size:12px}.destination-meta small{font-size:10px}
 .hero-actions{gap:8px}.hero-actions>button{padding:11px 10px;min-height:64px}.hero-actions .hero-booking strong{font-size:12px}.hero-actions .hero-plan strong{font-size:11px}.hero-actions .hero-plan>.category-symbol{font-size:22px;width:26px}
 .travel-facts .travel-fact{padding:12px}.travel-facts .travel-fact>span{font-size:10px}.travel-facts .travel-fact strong{font-size:14px}
 #overview .itinerary-card{padding:18px}.interest-navigation{gap:5px}
}
@media(max-width:360px){.destination-summary{gap:11px}.destination-cover{width:72px;height:87px}.hero-actions>button{gap:6px;padding-inline:9px}.hero-actions .hero-booking>.icon{width:19px;height:19px}.hero-actions .hero-plan>.category-symbol{display:none}.destination-meta .icon{display:none}}
@media(prefers-contrast:more){.destination-summary .destination-description,.destination-meta small,.travel-facts .travel-fact>span,.intro-copy>.expandable-copy>p{color:#525d6b}#overview .itinerary-copy>small,#overview .itinerary-card>p{color:#3b5273}.hero-actions .hero-booking small{color:#fff}}


/* Source: interface.css */
/* Wikiway: one map canvas, independent guide, places and booking panels. */
/* Shared, edge-attached frame. Safe areas stay inside the header and dock. */
:root{--sheet-gutter:20px;--control-height:48px;--header-height:calc(72px + var(--safe-top));--dock-height:calc(72px + var(--safe-bottom));--panel-surface:#f7f8fa;--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}
.topbar{top:0;inset-inline:0;min-height:var(--header-height);align-items:flex-start;gap:0}
.top-actions{height:48px;margin-top:calc(12px + var(--safe-top));margin-inline-end:16px}
.browse-sheet,.detail-sheet{top:var(--header-height);bottom:var(--dock-height);inset-inline-start:0;inset-inline-end:auto;width:var(--panel-width);background:var(--panel-surface);border:0;border-inline-end:1px solid #e3e6eb;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.detail-actions{background:var(--panel-surface)}
.fullscreen-map .map-context{display:none}
.destination-identity.glass{display:flex;align-items:center;gap:0;width:var(--panel-width);flex:0 0 var(--panel-width);min-width:0;height:var(--header-height);padding:calc(14px + var(--safe-top)) var(--sheet-gutter) 14px;background:var(--panel-surface);border:0;border-inline-end:1px solid #e3e6eb;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.destination-identity .brand{gap:7px;flex-shrink:0;font-size:20px;font-weight:650;letter-spacing:-.8px;padding-inline-end:13px;min-height:38px}
.brand-symbol{display:block;width:34px;height:34px;flex-shrink:0}.destination-identity .brand-name{display:inline;padding:0}
.destination-identity .map-destination{display:flex;align-items:center;justify-content:flex-start;flex:1;min-width:0;height:36px;margin:0;padding:0 13px;border-radius:0;background:transparent;box-shadow:none;border-inline-start:1px solid #dce0e7;font-size:14px}
.destination-identity .map-destination>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:none;text-align:start}
.destination-identity .site-menu{display:flex;width:38px;height:38px;flex:0 0 38px;border:0;border-radius:50%;padding:9px;background:transparent;color:#333943}
.site-menu .icon{width:21px;height:21px}.destination-identity button:hover{background:#e8eef766}.destination-identity a:focus-visible,.destination-identity button:focus-visible{outline:2px solid #087bfa;outline-offset:-2px;border-radius:16px}
.map-choice-button{height:48px;min-height:48px}.map-choice-panel{top:58px}
.bottom-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;bottom:0;inset-inline-start:0;inset-inline-end:auto;width:var(--panel-width);height:var(--dock-height);padding:6px 10px calc(6px + var(--safe-bottom));background:var(--panel-surface);border:0;border-top:1px solid #e3e6eb;border-inline-end:1px solid #e3e6eb;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.bottom-dock>button{min-height:54px;padding:7px 3px;border-radius:19px;font-size:11px;line-height:1.2;text-align:center;overflow-wrap:anywhere}
.bottom-dock>button.active{background:transparent;color:#007aff;box-shadow:none}.bottom-dock>button:focus-visible{outline:2px solid #087bfa;outline-offset:-3px}.country-explorer .bottom-dock{grid-template-columns:repeat(3,minmax(0,1fr))}
.panel-toolbar{display:flex;padding:6px 10px 9px var(--sheet-gutter);gap:4px}.panel-toolbar .icon-button{width:36px;height:36px;border-radius:50%;color:#49525e;background:transparent}.panel-toolbar .icon-button:hover{background:#e6eaf1}.panel-toolbar .panel-caption{font-size:13px;font-weight:600;color:#707884}
.browse-scroll{padding:0 var(--sheet-gutter) 25px;scrollbar-width:none}.browse-scroll::-webkit-scrollbar,.mouse-rail::-webkit-scrollbar{display:none}.mouse-rail{scrollbar-width:none;scroll-behavior:auto;cursor:grab}.mouse-rail.dragging{cursor:grabbing;user-select:none;scroll-snap-type:none!important}
.explorer[data-tab="places"] #destination-header{display:none}.results-heading{margin:16px 0}.results-heading h2{font-size:23px;line-height:1.2;letter-spacing:-.45px}
.search-row{align-items:stretch;gap:8px;margin-bottom:13px}.search-row .search-field{height:var(--control-height);min-height:var(--control-height);box-sizing:border-box;margin:0;border:0;border-radius:15px;background:#e9ecf1;padding:0 13px}
.search-row .filter-button{height:var(--control-height);min-height:var(--control-height);width:var(--control-height);flex:0 0 var(--control-height);box-sizing:border-box;border:0;border-radius:15px;background:#e9ecf1;padding:12px}.search-row input{height:100%;font-size:15px}
.search-row .filter-button .icon{width:22px;height:22px}.search-row .filter-button i{top:7px;inset-inline-end:7px}
/* Content starts on the reading grid; scrolling clips at the sheet itself. */
.place-rail.mouse-rail,#category-strip,.interest-navigation,#guide-bookings{margin-inline:calc(-1 * var(--sheet-gutter));width:calc(100% + 2 * var(--sheet-gutter));max-width:none;box-sizing:border-box}
.place-rail.mouse-rail,#category-strip,#guide-bookings{padding-inline:var(--sheet-gutter);scroll-padding-inline:var(--sheet-gutter)}
.interest-navigation{display:block}.interest-navigation .guide-category-rail{padding:3px var(--sheet-gutter);scroll-padding-inline:var(--sheet-gutter)}
.mouse-rail{overscroll-behavior-x:contain;touch-action:pan-x pan-y}.category-strip{display:flex;gap:7px;padding-block:3px 9px;overflow-x:auto}
.category-chip{border-radius:14px;min-height:40px;padding:8px 11px;font-size:13px;flex-shrink:0}.category-chip.active{box-shadow:none;background:#dfebff;color:#0964c5}
.place-group{padding:0;margin:28px 0 32px;border:0}.place-group .section-line{gap:10px;align-items:center;margin:0 0 13px}.place-group h2{font-size:21px;letter-spacing:-.4px;line-height:1.2;min-width:0}
.place-group .group-all{display:flex;align-items:center;gap:3px;flex-shrink:0;width:auto;min-height:36px;padding:6px 0 6px 7px;border:0;background:transparent;color:#007aff;font-size:13px;margin:0;white-space:nowrap}.group-all .icon{width:12px;height:12px}
.place-rail.mouse-rail{display:flex;gap:12px;overflow-x:auto;padding-block:2px 5px;scroll-snap-type:x proximity}
.place-rail .group-card{flex:0 0 182px;min-width:182px;width:182px;border:0;border-radius:0;background:transparent;box-shadow:none;scroll-snap-align:start;transform:none;overflow:visible}
.place-rail .group-card-open{padding:0;display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;height:100%;text-align:start;border-radius:18px}
.place-rail .group-card-cover{display:block;width:100%;height:136px;border-radius:18px;overflow:hidden}.group-card-cover img{width:100%;height:100%;object-fit:cover}.place-rail .group-card-copy{display:flex;flex-direction:column;flex:1;gap:5px;padding:9px 0 0;min-width:0}.place-rail .group-card-copy>strong{font-size:15px;font-weight:600;line-height:1.3;letter-spacing:-.2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.group-card-fact{font-size:12px;line-height:1.4;color:#68727f;display:block}.group-card:hover{transform:none;box-shadow:none}.group-card .save-button{width:34px;height:34px;top:7px;inset-inline-end:7px;border:1px solid #ffffffcc;background:#fffffff0;color:#384757;box-shadow:0 2px 7px #18283c10}.group-card .save-button .icon{width:18px;height:18px}.group-card .save-button.saved{color:#f03565}
.place-list{gap:18px}.place-list .card-open{grid-template-columns:104px minmax(0,1fr);gap:13px;min-height:104px}.place-list .place-poster{width:104px;height:104px;border-radius:20px}.place-list .row-title>strong{font-size:16px;line-height:1.25}.place-list .row-copy{gap:7px}.place-list .row-kicker{font-size:11px}.place-list .row-meta{gap:4px 9px;margin:0}.place-list .row-meta>small{white-space:normal;font-size:11px;color:#65707e}.place-list .row-price{font-size:13px}.row-address{display:flex;gap:4px;align-items:flex-start;font-size:11px;line-height:1.35;color:#68727f}.row-address .icon{width:13px;height:13px;flex-shrink:0}.place-list .row-card .save-button{width:32px;height:32px;top:5px;inset-inline-start:5px}.active-filters{gap:6px;margin:0 0 15px}.active-filters:empty{display:none}.filter-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:7px 9px;background:#e6edf9;border:0;border-radius:11px;min-height:32px}.filter-tag .category-symbol{height:18px;width:18px;font-size:16px;background:none}.filter-tag .icon{width:12px;height:12px}
/* Full-row controls with a clear keyboard focus and no checkbox over artwork. */
.utility-dialog[data-kind="filters"]{width:440px;max-width:calc(100% - 32px);max-height:calc(100dvh - 80px)}
.utility-dialog[data-kind="filters"][open]{display:flex;flex-direction:column}.utility-dialog[data-kind="filters"] .dialog-heading{flex-shrink:0;padding:14px 16px}.utility-dialog[data-kind="filters"] .dialog-content{overflow-y:auto;min-height:0;padding:8px 20px 20px;scrollbar-width:none}.utility-dialog[data-kind="filters"] .dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px;background:#f8f9fc;border-top:1px solid #e1e5eb;flex-shrink:0}.utility-dialog[data-kind="filters"] .dialog-actions .primary-button{min-height:44px;min-width:140px;border-radius:14px}
.filter-section{padding:0;margin:15px 0 22px;border:0;min-width:0}.filter-section legend{font-size:13px;font-weight:600;color:#667180;padding:0;margin-bottom:10px}.filter-options{display:flex;flex-direction:column;gap:3px;background:#fff;border-radius:18px;padding:5px;border:0}
.filter-options .filter-choice{display:block;position:relative;cursor:pointer;margin:0;border:0;border-radius:13px;padding:0;background:transparent}.filter-options .filter-choice>input,.subtype-choice>input{position:absolute;width:1px;height:1px;opacity:0;clip-path:inset(50%);margin:0;padding:0}
.filter-options .filter-choice>.filter-choice-content{display:flex;align-items:center;gap:10px;min-height:55px;padding:8px 10px;border:0;border-radius:13px;font-size:14px;background:transparent;box-sizing:border-box;color:#303640}.filter-choice-content>.category-symbol{width:35px;height:35px;font-size:22px;border-radius:11px;background:#e1eafe;flex-shrink:0;min-width:35px;padding:0}.filter-choice-content>span:nth-child(2){flex:1;min-width:0}.filter-choice-content>.choice-check{display:flex;align-items:center;justify-content:center;width:21px;height:21px;border:1.5px solid #d4dbe5;border-radius:7px;background:transparent;color:transparent;flex-shrink:0}.choice-check .icon{width:14px;height:14px}.filter-choice>input:checked+.filter-choice-content{background:#eaf2ff;color:#125eae}.filter-choice>input:checked+.filter-choice-content>.choice-check{background:#087bfa;border-color:#087bfa;color:#fff}.filter-choice>input:focus-visible+.filter-choice-content{outline:2px solid #087bfa;outline-offset:-2px}.filter-choice:hover>.filter-choice-content{background:#f1f4f9}
.subtype-options{display:flex;flex-wrap:wrap;gap:7px}.subtype-choice{position:relative;cursor:pointer}.subtype-choice>span{display:block;padding:10px 13px;border-radius:12px;border:1px solid #dce2ea;background:#fff;font-size:13px}.subtype-choice>input:checked+span{background:#e5efff;border-color:#a7cafa;color:#0b63c0}.subtype-choice>input:focus-visible+span{outline:2px solid #087bfa;outline-offset:2px}
.filter-toggles{background:#fff;border-radius:18px;padding:0 13px}.filter-toggles .toggle-row{position:relative;display:flex;align-items:center;gap:12px;justify-content:space-between;min-height:53px;padding:10px 0;border-bottom:1px solid #edf0f4;cursor:pointer;font-size:14px}.toggle-row:last-child{border-bottom:0}.toggle-row>span:first-child{flex:1}.filter-toggles .toggle-row>input{position:absolute;inset-inline-end:0;opacity:0;width:42px;height:27px;margin:0}.toggle-track{position:relative;display:block;width:42px;height:26px;flex:0 0 42px;border-radius:20px;background:#d9dee6;transition:background .15s}.toggle-track:after{content:"";position:absolute;inset-inline-start:3px;top:3px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #1112;transition:inset-inline-start .15s}.toggle-row>input:checked+.toggle-track{background:#087bfa}.toggle-row>input:checked+.toggle-track:after{inset-inline-start:19px}.toggle-row>input:focus-visible+.toggle-track{outline:2px solid #087bfa;outline-offset:3px}
.food-subtypes[hidden]{display:none!important}
.visit-information{padding:6px 20px 0}.visit-information h3{font-size:17px;letter-spacing:-.2px;margin:0 0 12px}.visit-information .detail-facts{margin:0;border:0;background:#fff;border-radius:17px;padding:0 13px;display:block}.visit-information .detail-fact{padding:13px 0;display:flex;gap:11px;border:0;border-bottom:1px solid #edf0f4}.visit-information .detail-fact:last-child{border-bottom:0}.detail-fact>.icon{width:19px;height:19px;color:#8491a2;flex-shrink:0}.detail-fact>span{min-width:0}.detail-fact strong{font-size:14px;font-weight:550;line-height:1.45;display:block;margin-top:3px;overflow-wrap:anywhere}.detail-fact small{font-size:11px;line-height:1.45;color:#727c89;display:block}.fact-sources{margin:11px 0 17px;font-size:11px;color:#778191}.fact-sources summary{display:flex;align-items:center;gap:5px;cursor:pointer;list-style:none;min-height:30px}.fact-sources summary .icon{width:12px;height:12px}.fact-sources a{display:block;position:relative;padding:8px 20px 8px 0;color:#567599}.fact-sources a small{display:block;color:#778191;font-size:10px;margin-top:3px}.fact-sources a>.icon{width:13px;height:13px;position:absolute;inset-inline-end:0;top:10px}
.place-intro>p{font-size:14px;line-height:1.55;color:#56616f;margin:0}.detail-summary h2{font-size:27px;line-height:1.15}.detail-hero{height:210px}.detail-toolbar .icon-button{width:36px;height:36px}.detail-actions>button{min-height:44px;font-size:13px;padding:11px 8px;border-radius:15px}.add-trip-row{margin:8px 0 18px;color:#087bfa;border:0;background:#e8f0fd;border-radius:14px;padding:12px}
.detail-sheet:has(.detail-actions [data-panel="add-trip"]) .add-trip-row{display:none}
.booking-navigation{display:block;width:100%;max-width:none}.booking-navigation .booking-tabs{padding-inline:24px;margin-inline:-24px;width:calc(100% + 48px);max-width:none;scroll-padding-inline:24px;box-sizing:border-box;overflow-x:auto}.booking-tabs button{min-height:40px}.booking-tile-action{font-size:13px!important;line-height:1.35;font-weight:550!important;margin-top:auto}.booking-tile:has(.booking-tile-action){min-height:112px!important}.service-copy .service-link{margin-top:auto}.service-copy:has(.service-price) .service-link{margin-top:12px}.booking-disclosure:empty{display:none}
.utility-dialog[data-kind="booking"]{--booking-gutter:28px}.utility-dialog[data-kind="booking"] .booking-tabs{padding-inline:var(--booking-gutter);margin-inline:calc(-1 * var(--booking-gutter));width:calc(100% + 2 * var(--booking-gutter));scroll-padding-inline:var(--booking-gutter)}
.menu-personal{border-top:1px solid #e0e5ed;margin-top:18px;padding-top:9px}
@media(min-width:1100px){:root{--sheet-gutter:24px}.place-rail .group-card{flex-basis:192px;min-width:192px;width:192px}.place-rail .group-card-cover{height:144px}}
@media(min-width:901px){
 .map-options,.explorer[data-sheet="peek"]:not([data-detail]) .map-options{top:calc(12px + var(--safe-top));inset-inline-start:calc(var(--panel-width) + 16px);max-width:calc(100% - var(--panel-width) - 144px)}
 .map-choice-panel{top:60px;max-width:calc(100vw - var(--panel-width) - 32px)}
 .map-heading{top:calc(var(--header-height) + 12px);inset-inline-end:16px}
 .map-tools,.explorer.fullscreen-map .map-tools{bottom:calc(24px + var(--safe-bottom));inset-inline-end:16px;top:auto}
 .map-footer{inset-inline:calc(var(--panel-width) + 16px) 88px;bottom:26px}
 .route-summary:not([hidden]){inset-inline-start:calc(var(--panel-width) + 16px);top:calc(var(--header-height) + 12px);max-width:calc(100% - var(--panel-width) - 96px)}
 .detail-hero{height:230px}
 .explorer.fullscreen-map .map-options,.explorer.fullscreen-map[data-sheet="peek"]:not([data-detail]) .map-options{top:calc(16px + var(--safe-top));inset-inline-start:16px;max-width:calc(100% - 100px)}
 .fullscreen-map .map-choice-panel{max-width:calc(100vw - 32px)}
 .fullscreen-map .map-heading{top:calc(16px + var(--safe-top))}
 .fullscreen-map .route-summary:not([hidden]){inset-inline-start:16px;max-width:calc(100% - 96px)}
}
@media(max-width:900px){
 :root{--sheet-gutter:18px;--header-height:calc(64px + var(--safe-top));--dock-height:calc(64px + var(--safe-bottom))}.utility-dialog[data-kind="booking"]{--booking-gutter:16px}
 .topbar{gap:8px;height:var(--header-height);align-items:center;padding:calc(8px + var(--safe-top)) calc(12px + var(--safe-right)) 8px calc(12px + var(--safe-left));background:var(--panel-surface);border-bottom:1px solid #e3e6eb}
 .destination-identity.glass{width:auto;flex:1;min-width:0;height:48px;padding:0;border:0;border-radius:0;background:transparent}.destination-identity .brand{padding-inline-end:8px}.destination-identity .brand-name{display:none}.brand-symbol{width:32px;height:32px}.destination-identity .map-destination{font-size:15px;height:34px;padding:0 9px}.destination-identity .site-menu{width:36px;height:36px;flex-basis:36px;padding:8px}.top-actions{height:48px;padding:3px 0;gap:0;flex-shrink:0;margin:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.language-button{font-size:12px;padding-inline:7px}.profile-button{width:33px;height:33px}
 .browse-sheet,.detail-sheet{inset-inline:0;width:100%;top:46%;bottom:var(--dock-height);border:0;border-radius:22px 22px 0 0}
 .detail-sheet{top:43%}.explorer[data-sheet="full"] .browse-sheet,.detail-sheet[data-size="full"]{top:var(--header-height);border-radius:0}
 .sheet-handle{height:22px}.detail-toolbar{padding-inline:var(--sheet-gutter)}
 .map-options,.explorer[data-sheet="peek"]:not([data-detail]) .map-options,.map-heading{top:calc(var(--header-height) + 12px)}
 .map-tools{top:calc(var(--header-height) + 62px)}
 .route-summary:not([hidden]){top:calc(var(--header-height) + 62px)}
 .map-footer.has-plan{bottom:calc(var(--dock-height) + 14px)}
 .panel-toolbar{display:flex;padding:0 10px 8px var(--sheet-gutter)}.panel-toolbar .icon-button{width:34px;height:34px}.panel-toolbar .panel-caption{font-size:12px}.browse-scroll{padding-inline:var(--sheet-gutter)}
 .bottom-dock{inset-inline:0;width:100%;padding:4px calc(10px + var(--safe-right)) calc(4px + var(--safe-bottom)) calc(10px + var(--safe-left));gap:2px;border-inline-end:0}.bottom-dock>button{font-size:10px;min-height:52px}.bottom-dock .icon{width:21px;height:21px}.map-choice-button{height:40px;min-height:40px}.map-choice-panel{top:50px}
 .place-list .card-open{grid-template-columns:100px minmax(0,1fr);gap:12px}.place-list .place-poster{width:100px;height:100px}.place-list .row-title>strong{font-size:16px}.place-rail .group-card{flex-basis:176px;min-width:176px;width:176px}.place-rail .group-card-cover{height:132px}.place-group h2{font-size:20px}.category-heading>.category-symbol{width:28px;height:28px;font-size:19px}
 .utility-dialog[data-kind="filters"]{margin:auto 8px calc(8px + var(--safe-bottom));max-width:calc(100% - 16px);width:calc(100% - 16px);max-height:calc(100dvh - 75px - var(--safe-top));border-radius:26px}.utility-dialog[data-kind="filters"] .dialog-content{padding-inline:18px}.utility-dialog[data-kind="filters"] .dialog-actions{padding:12px 18px}.filter-options .filter-choice>.filter-choice-content{font-size:14px;min-height:53px}.filter-toggles .toggle-row{font-size:14px}
 .explorer .utility-dialog{margin:auto 0 0;width:100%;max-width:100%;max-height:calc(100dvh - var(--header-height));border:0;border-radius:22px 22px 0 0}
 .explorer .utility-dialog .dialog-content{padding-bottom:calc(24px + var(--safe-bottom))}
 .explorer .utility-dialog[data-kind="filters"] .dialog-content{padding-bottom:20px}
 .explorer .utility-dialog[data-kind="filters"] .dialog-actions{padding-bottom:calc(12px + var(--safe-bottom))}
 .toast{bottom:calc(var(--dock-height) + 12px)}
 .booking-navigation .booking-tabs{margin-inline:-18px;width:calc(100% + 36px);padding-inline:18px;scroll-padding-inline:18px}.detail-hero{height:185px}.visit-information{padding-inline:20px}.detail-summary h2{font-size:25px}
}
@media(max-width:360px){.place-list .card-open{grid-template-columns:88px minmax(0,1fr);gap:10px}.place-list .place-poster{width:88px;height:94px}.place-list .row-title>strong{font-size:15px}.destination-identity .map-destination{padding-inline:7px;font-size:13px}.destination-identity .brand{padding-inline-end:5px}.row-address{display:none}.hero-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.toggle-track,.toggle-track:after{transition:none}}
@media(prefers-contrast:more){.group-card-fact,.row-address,.detail-fact small,.fact-sources,.filter-section legend{color:#435166}.destination-identity.glass,.bottom-dock{background:#fff;border-color:#7b8999}}

/* Fullscreen visibility follows the shared frame rules. */
.fullscreen-map .topbar,.fullscreen-map .browse-sheet,.fullscreen-map .detail-sheet,.fullscreen-map .bottom-dock,.fullscreen-map .map-footer{display:none!important}


/* Source: workspace.css */
/* One permanent desktop column. Utilities may use dialogs; primary sections do not. */
:root{--panel-width:480px;--sheet-gutter:28px;--control-height:52px}
.destination-identity .site-search{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;padding:9px;border-radius:50%;background:transparent;color:#333943}
.destination-identity .site-search[aria-expanded="true"]{color:#007aff;background:#e7effd}
.destination-identity .site-search .icon{width:21px;height:21px}
.destination-identity .map-destination{font-size:16px}
.bottom-dock>button{font-size:12px;gap:6px}
.bottom-dock .icon{width:24px;height:24px}
.panel-toolbar{padding:9px var(--sheet-gutter) 17px;min-height:42px}
.panel-toolbar .panel-caption{font-size:14px;color:#727b88}
.browse-scroll{padding-bottom:36px}
.destination-navigation{margin-bottom:16px}
.destination-navigation .country-link{font-size:14px}
.destination-heading h1{font-size:40px;letter-spacing:-1.1px;line-height:1.12}
.destination-heading{margin-bottom:18px}
.destination-summary{align-items:flex-start;gap:20px;margin-bottom:22px}
.destination-summary .destination-description{font-size:16px;line-height:1.6;color:#626d7b}
.destination-cover{width:144px;height:154px;border-radius:26px}
.destination-meta{gap:12px}
.destination-meta .destination-weather,.destination-meta .destination-clock{padding:14px;gap:10px;border-radius:18px}
.destination-meta small{font-size:11px;margin-bottom:5px}
.destination-meta strong,.destination-meta bdi{font-size:15px}
.destination-season{margin-top:15px;font-size:12px;gap:7px}
.destination-header{margin-bottom:24px}
.hero-actions{gap:12px;margin-bottom:16px}
.hero-actions>button{min-height:78px;padding:16px 14px;border-radius:20px;gap:10px}
.hero-actions .hero-booking strong,.hero-actions .hero-plan strong{font-size:14px;line-height:1.4}
.hero-actions .hero-booking small{font-size:11px}
.travel-facts{gap:12px;margin-bottom:32px}
.travel-facts .travel-fact{padding:17px 15px;border-radius:18px}
.travel-facts .travel-fact>span{font-size:12px;gap:8px}
.travel-facts .travel-fact strong{font-size:18px;margin-top:10px}
.travel-facts .travel-fact .icon{width:18px;height:18px}
.booking-section-heading{margin-top:30px;margin-bottom:16px}
.booking-section-heading h2,.intro-copy h2,.section-line h2{font-size:26px;line-height:1.2;letter-spacing:-.55px}
#guide-bookings{gap:12px;grid-auto-columns:minmax(175px,45%)}
#guide-bookings .booking-tile{min-height:132px;padding:18px;border-radius:20px}
#guide-bookings .booking-tile-top{font-size:14px;gap:8px}
#guide-bookings .booking-tile-action{font-size:15px!important;margin-top:20px}
#guide-bookings .booking-tile small{font-size:12px}
.intro-copy{margin-top:32px}
.intro-copy>.expandable-copy>p,.article-section p{font-size:16px;line-height:1.7}
.interest-navigation{margin-block:26px}
.interest-navigation .guide-category-rail,.category-strip{gap:9px}
.interest-navigation .guide-category-rail button,.category-chip{min-height:46px;padding:9px 13px;font-size:14px;gap:8px;border-radius:16px}
.interest-navigation .guide-category-rail .category-symbol{width:30px;height:30px;font-size:22px}
#overview .itinerary-card{margin:32px 0;padding:24px;border-radius:24px;gap:16px}
#overview .itinerary-copy>small{font-size:12px}
#overview .itinerary-copy>h3{font-size:25px;margin-top:7px}
#overview .itinerary-card>p{font-size:15px;line-height:1.6}
#overview .itinerary-card>.secondary-button{min-height:50px;font-size:15px;padding:14px 16px;border-radius:15px}
.place-group{margin:36px 0 40px}
.place-group .section-line{margin-bottom:17px}
.place-group h2{font-size:26px;line-height:1.2}
.place-group .group-all{font-size:14px;min-height:40px}
.category-heading>.category-symbol{width:34px;height:34px;font-size:24px}
.place-rail.mouse-rail{gap:16px;padding-bottom:8px}
.place-rail .group-card{flex-basis:220px;min-width:220px;width:220px}
.place-rail .group-card-cover{height:176px;border-radius:23px}
.place-rail .group-card-copy{padding-top:12px;gap:7px}
.place-rail .group-card-copy>strong{font-size:18px;line-height:1.3}
.group-card-fact{font-size:13px;line-height:1.5}
.group-card .save-button{width:36px;height:36px;top:9px;inset-inline-end:9px}
.search-row{gap:10px;margin-bottom:18px}
.search-row input{font-size:16px}
.search-row .search-field,.search-row .filter-button{border-radius:17px}
.results-heading{margin:22px 0}
.results-heading h2{font-size:27px}
.place-list{gap:24px}
.place-list .card-open{grid-template-columns:132px minmax(0,1fr);gap:18px;min-height:132px}
.place-list .place-poster{width:132px;height:132px;border-radius:25px}
.place-list .row-title>strong{font-size:19px;line-height:1.3}
.place-list .row-copy{gap:9px;padding:3px 0}
.place-list .row-kicker,.row-address,.place-list .row-meta>small{font-size:13px;line-height:1.4}
.place-list .row-price{font-size:15px}
.place-list .row-kicker .category-symbol{height:23px;width:23px;font-size:19px}
.place-list .row-card .save-button{width:34px;height:34px;top:7px;inset-inline-start:7px}
.detail-toolbar{padding:14px var(--sheet-gutter);gap:9px}
.detail-toolbar .icon-button{width:38px;height:38px}
.detail-back{font-size:15px}
.detail-hero{height:270px;margin-inline:var(--sheet-gutter);border-radius:25px}
.detail-summary{padding:24px var(--sheet-gutter) 18px}
.detail-summary h2{font-size:32px;line-height:1.16;margin-top:12px}
.detail-summary>p{font-size:14px}
.place-intro{padding-inline:var(--sheet-gutter)}
.place-intro>p{font-size:16px;line-height:1.65}
.visit-information{padding:18px var(--sheet-gutter) 0}
.visit-information h3{font-size:20px;margin-bottom:15px}
.visit-information .detail-facts{padding-inline:17px;border-radius:20px}
.visit-information .detail-fact{padding-block:16px;gap:13px}
.detail-fact strong{font-size:15px;line-height:1.55}
.detail-fact small{font-size:12px}
.detail-body{padding-inline:var(--sheet-gutter)}
.detail-tags{padding-inline:var(--sheet-gutter)}
.detail-actions{padding:16px var(--sheet-gutter);gap:12px}
.detail-actions>button{min-height:50px;font-size:15px;border-radius:17px}
.nearby-row{padding-block:14px;gap:14px}
.nearby-row .row-thumb{width:78px;height:78px;border-radius:18px}
.nearby-row strong{font-size:16px}

/* Inline sections share the guide frame and retain the map and main navigation. */
.workspace-panel{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;overflow:hidden}
.workspace-heading{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:12px var(--sheet-gutter) 18px}
.workspace-heading h2{font-size:25px;line-height:1.2;letter-spacing:-.5px;flex:1;min-width:0;margin:0;outline-offset:5px}
.workspace-heading .icon-button{width:38px;height:38px;border-radius:50%;color:#007aff;background:#e9eef5;flex-shrink:0}
.workspace-heading .icon-button .icon{width:20px;height:20px}
.workspace-scroll{overflow:auto;flex:1;min-height:0;padding:6px var(--sheet-gutter) 36px;overscroll-behavior:contain;scrollbar-width:none;scroll-padding-top:80px}
.workspace-scroll::-webkit-scrollbar{display:none}
.workspace-panel .note{font-size:14px;line-height:1.6}
.workspace-panel .form-field{font-size:14px;gap:9px;margin-bottom:22px}
.workspace-panel .form-field input,.workspace-panel .form-field select,.workspace-panel .form-field textarea{font-size:16px;padding:14px;border-radius:14px;min-height:50px}
.workspace-panel .primary-button,.workspace-panel .secondary-button{min-height:48px;padding:13px 15px;border-radius:16px;font-size:14px;gap:9px}
.workspace-panel .wide-row{min-height:66px;padding-block:17px}
.workspace-panel .wide-row strong{font-size:16px}
.workspace-panel .wide-row small{font-size:13px}
.workspace-panel .booking-heading{padding:4px 0 16px}
.workspace-panel .booking-heading h3{font-size:32px;line-height:1.15;letter-spacing:-.8px;margin:9px 0 14px}
.workspace-panel .booking-heading p{font-size:15px;line-height:1.6}
.workspace-panel .booking-navigation{top:-6px;margin-inline:calc(-1 * var(--sheet-gutter));width:calc(100% + 2 * var(--sheet-gutter));padding:12px 0 16px;background:var(--panel-surface)}
.workspace-panel .booking-tabs{margin:0;width:100%;padding-inline:var(--sheet-gutter);scroll-padding-inline:var(--sheet-gutter);gap:8px}
.workspace-panel .booking-tabs button{flex-shrink:0;min-height:44px;font-size:14px;padding:11px 15px}
.workspace-panel .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.workspace-panel .service-card{border-radius:22px;box-shadow:none}
.workspace-panel .service-photo{height:140px}
.workspace-panel .service-copy{padding:18px 16px;gap:9px}
.workspace-panel .service-copy>strong{font-size:21px;line-height:1.2;overflow-wrap:anywhere}
.workspace-panel .service-description{font-size:13px;line-height:1.5}
.workspace-panel .service-providers{font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.workspace-panel .service-link{font-size:13px;line-height:1.4;gap:8px;padding-top:13px}
.workspace-panel .service-link>.icon{width:15px;height:15px;flex-shrink:0}
.workspace-panel .service-lead{display:flex;grid-column:1/-1;min-height:0}
.workspace-panel .service-lead .service-photo{height:228px;min-height:0}
.workspace-panel .service-lead .service-copy{padding:22px;gap:10px}
.workspace-panel .service-lead .service-copy>strong{font-size:28px}
.workspace-panel .service-lead .service-description{font-size:15px}
.workspace-panel .service-lead .service-link{font-size:15px}
.workspace-panel .booking-offers{grid-template-columns:minmax(0,1fr);gap:24px}
.workspace-panel .offer-card{border:0;border-radius:24px}
.workspace-panel .offer-photo{height:224px}
.workspace-panel .offer-copy{padding:22px}
.workspace-panel .offer-card h4{font-size:24px}
.workspace-panel .offer-summary{font-size:15px;line-height:1.6}
.workspace-panel .offer-outbound{min-height:50px;font-size:14px;padding:14px;border-radius:15px}
.workspace-panel .booking-footer{padding-block:28px}
.workspace-panel .booking-footer p{font-size:13px;line-height:1.6}
.workspace-panel .trip-utilities{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 26px}
.workspace-panel .trip-utilities>button{flex:1;min-width:145px}
.workspace-panel .trip-card{padding:20px;min-height:100px;gap:16px;border:0;border-radius:22px;background:#fff;margin-bottom:16px}
.workspace-panel .trip-card>span{min-width:0;flex:1}
.workspace-panel .trip-card strong{font-size:20px;line-height:1.3;overflow-wrap:anywhere}
.workspace-panel .trip-card small{font-size:13px;margin-top:8px}
.workspace-panel .trip-card>.icon:first-child{width:38px;height:38px;padding:8px;box-sizing:content-box;border-radius:18px;background:#e8efff;color:#5881ce}
.workspace-panel .trip-heading h3{font-size:30px;line-height:1.2;margin:4px 0 10px;overflow-wrap:anywhere}
.workspace-panel .trip-heading small{font-size:14px}
.workspace-panel .trip-settings{padding:18px;border-radius:18px;background:#fff;margin:20px 0}
.workspace-panel .trip-settings>summary{font-size:15px;line-height:1.4}
.workspace-panel .trip-settings form{padding-top:22px}
.workspace-panel .day-card{padding:20px;border:0;border-radius:22px;background:#fff;margin:20px 0}
.workspace-panel .day-card>summary{font-size:19px;gap:12px;margin-bottom:12px}
.workspace-panel .day-card>summary small{font-size:13px}
.workspace-panel .planned-place{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0}
.workspace-panel .planned-place>button{display:flex;align-items:center;gap:14px;min-width:0;flex:1 1 100%;text-align:start;padding:0}
.workspace-panel .planned-place .row-thumb{width:88px;height:88px;flex:0 0 88px;border-radius:19px;overflow:hidden}
.workspace-panel .planned-place .row-thumb img{width:100%;height:100%}
.workspace-panel .planned-place>button>span:last-child{min-width:0;flex:1}
.workspace-panel .planned-place strong{font-size:17px;line-height:1.4}
.workspace-panel .planned-place small{font-size:13px;margin-top:6px}
.workspace-panel .planned-actions{display:flex;justify-content:flex-end;flex:1;gap:7px}
.workspace-panel .planned-actions .mini-button,.workspace-panel .day-edit-bar .mini-button{width:34px;height:34px;border-radius:10px;background:#f0f3f8}
.workspace-panel .day-select select{min-width:48px;min-height:34px;font-size:14px;border-radius:10px}
.workspace-panel .stop-time-row{padding:0 0 16px}
.workspace-panel .stop-time{font-size:13px}
.workspace-panel .stop-time input{min-height:40px;font-size:14px}
.workspace-panel .day-notes{margin:15px 0}
.workspace-panel .day-notes>summary{font-size:14px}
.workspace-panel .day-notes textarea{width:100%;margin-top:12px;font-size:15px;border-radius:12px;padding:12px}
.workspace-panel .day-edit-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:20px}
.workspace-panel .day-edit-bar>.text-button{margin-inline-end:auto;font-size:14px}
.workspace-panel .trip-footer{display:flex;gap:14px;align-items:center;justify-content:space-between;margin:26px 0}
.workspace-panel .template-card{padding:22px;border:0;border-radius:24px;background:#fff;margin:0 0 22px}
.workspace-panel .template-card h3{font-size:24px;line-height:1.25}
.workspace-panel .template-card p,.workspace-panel .template-card li{font-size:14px;line-height:1.6}
.workspace-panel .template-card .primary-button{width:100%;margin-top:18px}
.workspace-panel .template-days{border-radius:10px;background:#eaf1ff;color:#4770a4;padding:7px 10px;font-size:12px;white-space:nowrap}
.site-search-field{height:var(--control-height);border:0;background:#e9ecf1;border-radius:17px;padding:0 15px;gap:12px}
.site-search-field input{width:100%;min-width:0;height:100%;border:0;outline:0;background:transparent;font-size:16px}
.site-search-field:focus-within{outline:2px solid #007aff;outline-offset:2px}
.site-search-group{margin-top:28px}
.site-search-group h3{font-size:21px;line-height:1.3;margin:0 0 16px}
.search-destination-row{display:flex;align-items:center;gap:14px;min-height:76px;padding:14px 0;width:100%;text-align:start;border-bottom:1px solid #e6eaf0}
.search-destination-row>span:nth-child(2){flex:1;min-width:0}
.search-destination-row strong{display:block;font-size:18px;font-weight:600;line-height:1.35}
.search-destination-row small{display:block;font-size:12px;color:#747e8c;margin-top:4px}
.search-destination-icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:16px;background:#e6edfc;color:#5174b0}
.search-destination-row>.icon{width:16px;height:16px;color:#a0a8b4}
.search-destination-more{margin-top:20px;color:#007aff}
.country-area-list .country-area{padding-block:18px;gap:15px}
.country-area img{width:70px;height:70px;border-radius:18px}
.country-area strong{font-size:19px}
.country-area small{font-size:13px}
.country-explorer .destination-description{font-size:16px;line-height:1.65}

@media(min-width:901px){
 .desktop-hide-close,.panel-toolbar [data-action="close-content"],.detail-toolbar [data-action="close-place"]{display:none!important}
 .explorer[data-sheet="peek"]:not([data-detail]):not(.fullscreen-map) .browse-sheet{display:flex;transform:none;opacity:1;pointer-events:auto}
 .workspace-heading{padding-top:18px}
}
@media(min-width:901px) and (max-width:1099px){
 :root{--panel-width:clamp(360px,calc(100vw - 580px),480px);--sheet-gutter:22px}
 .destination-identity .brand-name{display:none}
 .destination-cover{width:116px;height:136px}
 .place-list .card-open{grid-template-columns:116px minmax(0,1fr);gap:14px}
 .place-list .place-poster{width:116px;height:124px}
 .place-list .row-title>strong{font-size:18px}
 .workspace-panel .service-copy{padding:16px 13px}
 .workspace-panel .service-copy>strong{font-size:19px}
 .workspace-panel .service-grid{gap:12px}
 .workspace-panel .service-photo{height:124px}
}
@media(max-width:900px){
 :root{--panel-width:100%;--sheet-gutter:20px;--control-height:50px}
 .destination-identity .site-search{width:34px;height:36px;flex-basis:34px;padding:7px}
 .destination-identity .map-destination{font-size:15px;padding-inline:8px}
 .destination-identity .site-menu{width:34px;flex-basis:34px;padding:7px}
 .panel-toolbar{padding:0 12px 14px var(--sheet-gutter);min-height:36px}
 .panel-toolbar .panel-caption{font-size:13px}
 .destination-heading h1{font-size:36px}
 .destination-summary{gap:16px;margin-bottom:20px}
 .destination-cover{width:110px;height:130px;border-radius:24px}
 .destination-summary .destination-description{font-size:15px;line-height:1.55}
 .destination-meta .destination-weather,.destination-meta .destination-clock{padding:12px;gap:8px}
 .destination-meta strong,.destination-meta bdi{font-size:13px}
 .destination-meta small{font-size:10px}
 .destination-meta,.hero-actions,.travel-facts{gap:10px}
 .hero-actions>button{padding:14px 12px;min-height:72px}
 .hero-actions .hero-booking strong,.hero-actions .hero-plan strong{font-size:13px}
 .travel-facts .travel-fact{padding:15px 13px}
 .travel-facts .travel-fact strong{font-size:16px}
 .travel-facts .travel-fact>span{font-size:11px}
 .place-rail .group-card{flex-basis:204px;min-width:204px;width:204px}
 .place-rail .group-card-cover{height:160px;border-radius:21px}
 .place-rail .group-card-copy>strong{font-size:17px}
 .place-group{margin-block:30px 34px}
 .place-group h2,.section-line h2,.intro-copy h2{font-size:24px}
 .place-list .card-open{grid-template-columns:112px minmax(0,1fr);gap:15px;min-height:116px}
 .place-list .place-poster{width:112px;height:116px;border-radius:22px}
 .place-list .row-title>strong{font-size:18px}
 .place-list .row-kicker,.row-address,.place-list .row-meta>small{font-size:12px}
 .place-list .row-copy{gap:7px}
 .detail-hero{height:225px}
 .detail-summary h2{font-size:29px}
 .detail-summary{padding-top:22px}
 .detail-toolbar{padding-block:4px 14px}
 .detail-actions{padding-block:13px}
 .detail-actions>button{font-size:14px}
 .workspace-heading{padding:2px var(--sheet-gutter) 16px;gap:10px}
 .workspace-heading h2{font-size:24px}
 .workspace-heading .icon-button{width:34px;height:34px}
 .workspace-panel .booking-heading h3{font-size:29px}
 .workspace-panel .service-grid{gap:12px}
 .workspace-panel .service-photo{height:120px}
 .workspace-panel .service-copy{padding:16px 13px}
 .workspace-panel .service-copy>strong{font-size:19px}
 .workspace-panel .service-lead .service-photo{height:205px}
 .workspace-panel .service-lead .service-copy{padding:20px}
 .workspace-panel .service-lead .service-copy>strong{font-size:26px}
 .workspace-panel .offer-photo{height:205px}
 .workspace-panel .offer-copy{padding:20px}
 .workspace-panel .offer-card h4{font-size:22px}
 .workspace-panel .day-card{padding:17px}
 .bottom-dock>button{font-size:11px}
 .bottom-dock .icon{width:23px;height:23px}
 .explorer[data-sheet="full"]:not([data-detail]):not(.fullscreen-map) .map-options,.explorer:has(.detail-sheet[data-size="full"]:not([hidden])):not(.fullscreen-map) .map-options{visibility:hidden;pointer-events:none}
}
@media(max-width:360px){
 :root{--sheet-gutter:16px}
 .destination-identity .map-destination{font-size:13px;padding-inline:6px}
 .destination-cover{width:86px;height:116px}
 .destination-summary .destination-description{font-size:14px}
 .place-list .card-open{grid-template-columns:96px minmax(0,1fr);gap:12px}
 .place-list .place-poster{width:96px;height:108px}
 .place-list .row-title>strong{font-size:17px}
 .workspace-panel .service-grid{grid-template-columns:minmax(0,1fr)}
 .workspace-panel .service-card{display:flex}
 .workspace-panel .service-photo{height:160px}
 .workspace-panel .service-lead .service-photo{height:180px}
 .workspace-panel .trip-card{padding:16px;gap:12px}
}
@media(prefers-reduced-motion:reduce){.workspace-panel .service-card,.workspace-panel .service-photo>img{transition:none}}

[dir="rtl"] .workspace-heading [data-action="workspace-back"] .icon,[dir="rtl"] .search-destination-row>.icon{transform:scaleX(-1)}


/* Source: refinements.css */
/* Guide content, edge hints and map groups — release 14. */
.browse-scroll{padding-top:22px}
.browse-close{position:absolute;top:7px;inset-inline-end:12px;z-index:3;width:32px;height:32px;border-radius:50%;background:#e9edf2;color:#576270}
.destination-heading{margin-bottom:20px}
.destination-heading h1{font-size:38px;letter-spacing:-1px}
.destination-panorama{width:100%;aspect-ratio:2.15;overflow:hidden;border-radius:23px;background:#e3edf2;margin-bottom:19px}
.destination-panorama img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 58%}
.destination-intro{font-size:16px;line-height:1.6;color:#505c6b;margin:0 0 22px}
.row-practical,.row-price{display:flex;align-items:flex-start;gap:6px;line-height:1.45}
.row-practical{font-size:13px;color:#586575}
.row-practical>.icon,.row-price>.icon{width:16px;height:16px;flex:0 0 16px;margin-top:2px}
.row-price{font-weight:600}
.group-card-fact{display:flex;align-items:flex-start;gap:6px}
.group-card-fact .icon{width:16px;height:16px;flex:0 0 16px;margin-top:1px}

/* The viewport reaches the sheet edge; content alone has an initial gutter. */
.rail-viewport{position:relative;min-width:0}
.place-group>.rail-viewport,.rail-viewport:has(>#category-strip),.rail-viewport:has(>#guide-bookings){margin-inline:calc(-1 * var(--sheet-gutter));width:calc(100% + 2 * var(--sheet-gutter))}
.rail-viewport>.place-rail.mouse-rail,.rail-viewport>#category-strip,.rail-viewport>#guide-bookings{margin:0;width:100%;max-width:100%;padding-inline:var(--sheet-gutter);scroll-padding-inline:var(--sheet-gutter)}
.prices-intro{font-size:16px;line-height:1.6;color:#64707e;margin:8px 0 24px}
.local-prices{display:flex;flex-direction:column;gap:22px;margin:0 0 30px}
.local-price-row{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:14px;row-gap:5px;text-align:start;align-items:center;width:100%;padding:0}
.local-price-row>.row-thumb{width:64px;height:72px;border-radius:16px;overflow:hidden;grid-row:1/3}
.local-price-row>.row-thumb img{width:100%;height:100%;object-fit:cover}
.local-price-row>span:nth-child(2){min-width:0;align-self:end}
.local-price-row strong{display:block;font-size:17px;line-height:1.3;font-weight:600}
.local-price-row small{display:block;font-size:12px;line-height:1.45;color:#6d7783;margin-top:5px}
.local-price-row>b{grid-column:2;align-self:start;font-size:15px;color:#1b2e40;font-weight:600}
.workspace-panel .weather-hero{padding:25px 0 18px}
.workspace-panel .weather-hero>strong{font-size:64px;letter-spacing:-2px}
.workspace-panel .forecast-grid{gap:10px;margin:18px 0 28px}
.workspace-panel .forecast-grid>div{padding:19px 8px;border:0;border-radius:18px;background:#fff;gap:12px}
.workspace-panel .forecast-grid strong{font-size:15px}
.workspace-panel .currency-big{padding:25px 0}
.workspace-panel .currency-big>strong{font-size:42px}
.workspace-panel .fx-table{background:white;border-radius:18px;padding:4px 18px;margin-bottom:24px}
.workspace-panel .fx-table>div{padding-block:17px}
.destination-identity .brand-wordmark{font-weight:800;letter-spacing:-1.3px;font-size:27px;color:#34363b;line-height:1}
.destination-identity .site-menu{margin-inline-start:-9px;margin-inline-end:8px}
.destination-identity .brand{padding-inline-end:17px}
.destination-identity .map-destination{gap:7px;padding-inline:14px;font-size:16px}
.destination-pin{display:flex!important;flex:0 0 18px;overflow:visible!important}
.destination-pin .icon{display:block!important;width:18px;height:18px;color:#5a626c;margin:0!important}
.map-style-choices{display:flex;flex-direction:column;gap:4px}
.map-style-choices>button{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 14px;border:0;border-radius:13px;background:transparent;text-align:start}
.map-style-choices>button>strong{flex:1;font-size:15px}
.map-style-choices>button[aria-pressed="true"]{background:#e9f1fd;color:#007aff}
.places-heading{display:flex;align-items:center;gap:12px;margin:0 0 24px}
.places-heading>h2{font-size:25px;letter-spacing:-.5px;margin:0}
.places-heading>.icon-button{width:38px;height:38px;border-radius:50%;background:#e9eef5;color:#007aff}
#workspace-title:focus,#workspace-scroll:focus,#dialog-title:focus,#browse-scroll:focus{outline:none}
#detail-title:focus{outline:none}
.budget-calculator{margin:0 0 34px}
.budget-calculator>p{font-size:14px;line-height:1.65;color:#677483;margin:0 0 24px}
.budget-calculator .budget-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px;margin-top:18px}
.budget-calculator .form-field{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;margin:0;font-size:13px;line-height:1.4;color:#687483}
.budget-calculator input,.budget-calculator select{width:100%;min-width:0;min-height:48px;border:1px solid #e2e6ec;border-radius:13px;background:#fff;color:#172435;padding:11px 13px;font-size:17px;font-variant-numeric:tabular-nums}
.budget-calculator .budget-result{background:#eaf2ff;border-radius:21px;padding:22px;margin:24px 0 0;display:flex;flex-direction:column;gap:8px}
.budget-result>span{font-size:13px;color:#607592}
.budget-result>strong{font-size:32px;line-height:1.2;letter-spacing:-1px;overflow-wrap:anywhere}
.local-prices-heading{font-size:23px;margin:0 0 10px}
.group-card .place-quality{gap:3px 7px;margin-top:7px}
.group-card .place-rating small{font-size:9px}
.offer-copy>.place-quality{margin:9px 0 12px}
.trip-place-preview{display:flex;align-items:center;gap:15px;padding:18px;background:#fff;border-radius:20px;margin:0 0 26px}
.trip-place-preview>.row-thumb{width:68px;height:72px;flex:0 0 68px;border-radius:15px;overflow:hidden}
.trip-place-preview>span:last-child{min-width:0;display:flex;flex-direction:column;gap:7px}
.trip-place-preview strong{font-size:18px;line-height:1.35;font-weight:600}
.trip-place-preview small{font-size:12px;line-height:1.4;color:#73808d}
.workspace-panel .trip-add-form .form-field{gap:10px;margin-bottom:22px;color:#657382}
.workspace-panel .trip-form-primary,.workspace-panel .trip-form-secondary{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;gap:9px;border-radius:15px;padding:13px 18px;font-size:15px;font-weight:600;line-height:1.4}
.workspace-panel .trip-form-primary{margin-top:28px}
.workspace-panel .trip-form-secondary{margin-top:12px;background:transparent;border:1px solid #dbe3ed;color:#1767bc}
.trip-form-primary .icon,.trip-form-secondary .icon{width:19px;height:19px;flex:0 0 19px}
.explorer select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23677483%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:18px;padding-inline-end:44px!important}
[dir="rtl"] .explorer select{background-position:left 16px center}
.workspace-heading>h2{min-width:0;line-height:1.2}
@media(prefers-reduced-motion:reduce){.utility-dialog.side-drawer{animation:none}.workspace-panel details>summary>.icon{transition:none}}
.category-chip,.guide-category-rail button.category-chip,.category-strip button.category-chip{border:0!important;border-radius:15px!important;background:#eaeef3!important;box-shadow:none!important;position:relative;color:#697383;padding:10px 13px;min-height:44px;align-self:center}
.category-chip.active,.guide-category-rail button.category-chip.active,.category-strip button.category-chip.active{background:#e8f0ff!important;color:#0866d5}
.category-chip::after{content:none}

.place-quality{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;line-height:1.4;margin:3px 0}
.hotel-stars{display:inline-flex;gap:1px;color:#b1832f}
.hotel-stars>.icon{width:11px;height:11px;fill:currentColor;stroke-width:1}
.place-rating{display:inline-flex;align-items:center;gap:4px;color:#185947;font-size:13px}
.place-rating>.icon{width:13px;height:13px;fill:currentColor}
.place-rating b{font-weight:650;white-space:nowrap}
.place-rating small{font-size:10px;color:#747e89;font-weight:400}
.place-quality>a{display:inline-flex;align-items:center;gap:6px}
.place-quality>a>.icon{width:13px;height:13px;color:#8697a5}
.detail-summary .place-quality{margin-top:12px}
.detail-summary .place-rating{font-size:16px}
.detail-summary .place-rating small{font-size:12px}
.detail-summary .hotel-stars>.icon{width:14px;height:14px}
.utility-dialog.side-drawer{position:fixed;left:0;right:auto;top:0;bottom:0;margin:0;width:var(--panel-width);max-width:calc(100vw - 24px);height:100dvh;max-height:100dvh;border:0;border-radius:0;box-shadow:14px 0 50px #1c2e4324;background:var(--panel-surface);animation:drawer-enter .2s ease-out}
.side-drawer::backdrop{backdrop-filter:none;background:#18263725}
.side-drawer .dialog-heading{padding:calc(22px + var(--safe-top)) 24px 20px;background:var(--panel-surface)}
.side-drawer .dialog-heading h2{font-size:25px}
.side-drawer .dialog-content{padding:10px 28px 30px;scrollbar-width:none}
.side-drawer .wide-row{display:flex;align-items:center;gap:14px;padding:16px 0;border-radius:0;background:transparent;border-bottom:1px solid #e4e8ef;text-align:start;min-height:64px}
.side-drawer .wide-row>.category-symbol{flex:0 0 40px;width:40px;height:40px;border-radius:14px}
.side-drawer .wide-row>strong,.side-drawer .wide-row>span:not(.category-symbol){flex:1;min-width:0}
.side-drawer .wide-row>strong{font-size:15px;font-weight:550}
.side-drawer .wide-row>.icon:last-child{width:16px;flex:0 0 16px}
.side-drawer .note{font-size:14px;line-height:1.65}
.side-drawer .account-hero{gap:17px;margin-bottom:20px}
.side-drawer .account-hero h3{font-size:28px;line-height:1.25}
.side-drawer .account-hero .avatar{width:58px;height:58px;flex:0 0 58px}
.side-drawer .account-hero small{font-size:12px}
.side-drawer .form-field{font-size:14px;gap:9px;margin-top:20px}
.side-drawer .form-field input,.side-drawer .form-field select{min-height:48px;padding:12px 14px;font-size:16px;border-radius:14px}
.side-drawer #profile-form>button{width:100%;min-height:46px;margin-top:2px}
.side-drawer .account-stats{gap:12px;margin:28px 0}
.side-drawer .account-stats>button{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:9px;background:#e9eef6;border-radius:17px;min-height:70px;padding:16px 8px;font-size:14px}
.side-drawer .account-stats strong{font-size:22px}
.side-drawer .language-options{grid-template-columns:minmax(0,1fr);gap:0;background:white;border-radius:20px;overflow:hidden;margin-bottom:28px}
.side-drawer .language-options label{display:flex;align-items:center;min-height:53px;padding:14px 18px;font-size:16px;border:0;border-bottom:1px solid #eef0f4;border-radius:0}
.side-drawer .language-options label:has(input:checked){background:#edf4ff;color:#0866d5}
.side-drawer .language-options input{width:18px;height:18px;flex-shrink:0}
.workspace-panel details>summary{list-style:none;display:flex;align-items:center;gap:10px}
.workspace-panel details>summary::-webkit-details-marker{display:none}
.workspace-panel details>summary::after{content:none!important}
.workspace-panel details>summary>.icon:last-child{width:17px;height:17px;flex-shrink:0;margin-inline-start:auto;transition:transform .15s;color:#8391a1}
.workspace-panel details[open]>summary>.icon:last-child{transform:rotate(180deg)}
.workspace-panel .day-card{padding:20px 18px;margin-block:24px}
.workspace-panel .day-card>summary{margin:0;padding-bottom:18px}
.workspace-panel .day-card:not([open])>summary{padding-bottom:0}
.workspace-panel .day-card>summary strong{font-size:21px}
.workspace-panel .day-card summary small{font-size:12px}
.workspace-panel .planned-place-wrap{position:relative;border-top:1px solid #e9edf2;padding:17px 0}
.workspace-panel .planned-place{display:flex;flex-wrap:nowrap;gap:9px;padding:0;padding-inline-end:30px}
.workspace-panel .stop-index{font-size:11px;color:#8996a3;flex:0 0 12px;text-align:center;font-variant-numeric:tabular-nums}
.workspace-panel .planned-place>button{flex:1 1 auto;gap:12px;padding:0;min-width:0}
.workspace-panel .planned-place .row-thumb{width:68px;height:76px;flex:0 0 68px;border-radius:16px}
.workspace-panel .planned-place strong{font-size:16px;font-weight:600;line-height:1.35}
.workspace-panel .planned-place small{font-size:12px;margin-top:5px;color:#74818f}
.workspace-panel .stop-settings>summary{position:absolute;top:39px;inset-inline-end:-4px;width:32px;height:34px;border-radius:10px;background:#f3f5f8;display:grid;place-items:center;cursor:pointer}
.workspace-panel .stop-settings>summary>.icon{width:17px;height:17px;margin:0!important;transform:none!important}
.workspace-panel .stop-editor{margin-top:16px;padding:16px;border-radius:16px;background:#f4f6f9;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.workspace-panel .stop-time,.workspace-panel .stop-editor .day-select{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#687788;min-width:0}
.workspace-panel .stop-time input,.workspace-panel .day-select select{width:100%;max-width:none;min-height:40px;border-radius:10px;background-color:#fff;border:1px solid #e3e7ed;padding:7px;font-size:14px}
.workspace-panel .planned-actions{grid-column:1/-1;display:flex;align-items:center;flex-wrap:nowrap;max-width:none;gap:8px;justify-content:flex-start}
.workspace-panel .planned-actions>.danger{margin-inline-start:auto;font-size:12px;gap:4px}
.workspace-panel .planned-actions .mini-button{width:36px;height:34px;background:#fff}
.workspace-panel .day-edit-bar{padding-top:18px;border-top:1px solid #e9edf2;gap:8px}
.workspace-panel .day-edit-bar>.text-button{font-size:14px}
.workspace-panel .day-notes>summary{font-size:13px;color:#577695}
.workspace-panel .day-card .wide-row{background:transparent;line-height:1.4}
.workspace-panel .day-card .wide-row strong{font-size:13px}
@keyframes drawer-enter{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@media(min-width:901px){.toast{left:calc(50% + var(--panel-width) / 2);bottom:26px;max-width:calc(100% - var(--panel-width) - 48px)}[dir="rtl"] .toast{left:calc(50% - var(--panel-width) / 2)}.fullscreen-map .toast{left:50%;max-width:calc(100% - 48px)}}
@media(max-width:900px){.destination-identity .brand-wordmark{font-size:23px}.destination-identity .brand{padding-inline-end:10px}.destination-identity .site-menu{margin-inline-start:-8px;margin-inline-end:3px}.destination-identity .map-destination{padding-inline:10px;font-size:14px}.destination-pin{flex-basis:15px}.destination-pin .icon{width:15px;height:15px}.side-drawer .dialog-content{padding-inline:22px}.utility-dialog.side-drawer{width:min(420px,calc(100vw - 24px))}.places-heading{margin-bottom:20px}}
@media(max-width:360px){.destination-identity .brand-wordmark{font-size:20px}.destination-identity .brand{padding-inline-end:8px}.destination-identity .map-destination{font-size:13px;gap:3px;padding-inline:7px}.destination-identity .site-menu{width:28px;flex-basis:28px}.destination-identity .site-search{width:30px;flex-basis:30px}.workspace-panel .day-card{padding-inline:14px}.workspace-panel .planned-place .row-thumb{width:57px;height:67px;flex-basis:57px}}

/* Each group shows up to four distinct layers, even with shared source photos. */
.cluster-photos>.cluster-photo{position:absolute;inset:0;display:grid;place-items:center;width:58px;height:58px;border:3px solid #fff;border-radius:17px;overflow:hidden;background:#dce8ee;box-shadow:0 2px 7px #1b354b30;transform-origin:50% 70%}
.cluster-photo>img{width:100%;height:100%;object-fit:cover}
.cluster-photo>.icon{width:26px;height:26px;color:#48627b}
.cluster-pin[data-stack="2"] .cluster-photo:nth-child(1){transform:translate(-7px,-6px) rotate(-10deg)}
.cluster-pin[data-stack="2"] .cluster-photo:nth-child(2){transform:translate(4px,3px) rotate(4deg)}
.cluster-pin[data-stack="3"] .cluster-photo:nth-child(1){transform:translate(-11px,-10px) rotate(-15deg)}
.cluster-pin[data-stack="3"] .cluster-photo:nth-child(2){transform:translate(-3px,-4px) rotate(-5deg)}
.cluster-pin[data-stack="3"] .cluster-photo:nth-child(3){transform:translate(6px,3px) rotate(6deg)}
[data-map-density="wide"] .map-pin:not(.selected) .pin-photo{width:54px;height:54px;border-radius:17px;border-width:3px}
[data-map-density="wide"] .map-pin:not(.selected) .pin-photo img{border-radius:13px}
[data-map-density="wide"] .map-pin.featured:not(.selected) .pin-photo{width:66px;height:66px;border-radius:20px}
[data-map-density="wide"] .map-pin.featured:not(.selected) .pin-photo img{border-radius:16px}
[data-map-density="wide"] .map-pin:not(.selected) .pin-title{display:none}
@media(min-width:901px){.browse-sheet>.sheet-handle{display:none}}
@media(max-width:900px){
 .browse-sheet>.sheet-handle{height:42px;flex:0 0 42px;align-items:flex-start;padding-top:11px}
 .browse-scroll{padding-top:4px}
 .destination-heading h1{font-size:34px}
 .destination-panorama{aspect-ratio:1.95;border-radius:21px;margin-bottom:17px}
 .destination-intro{font-size:15px;line-height:1.6;margin-bottom:20px}
 .cluster-photos>.cluster-photo{width:46px;height:46px;border-radius:14px}
 .row-practical{font-size:12px}
 .workspace-panel .weather-hero>strong{font-size:56px}
}


/* v16: v14 design, parent country, consistent collections and compact focus. */
.destination-navigation .country-parent{display:inline-flex;align-items:center;gap:8px;padding:0;min-height:26px;font-weight:500;color:#737983;text-decoration:none}
.country-parent:hover>span:last-child{text-decoration:underline;text-underline-offset:4px}
.country-flag{font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.group-card-category{display:block;font-size:13px;line-height:1.45;color:#747e89;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.place-rail .group-card-copy>strong{min-height:2.6em}
.place-rail .group-card-cover{position:relative}
.place-rail .group-card-open:focus-visible{outline:none}
.place-rail .group-card-open:focus-visible .group-card-cover::after{content:"";position:absolute;inset:3px;border:2px solid #fff;border-radius:inherit;box-shadow:0 0 0 2px #657382;pointer-events:none}
.place-rail .group-card-open:focus-visible .group-card-copy>strong{text-decoration:underline;text-underline-offset:3px}
.mouse-rail:focus,.mouse-rail:focus-visible,#results:focus{outline:none}

/* v17: identical fact hierarchy in guide collections and place lists. */
.card-facts{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;width:100%;margin-top:7px}
.card-facts .place-quality{margin:0!important;min-height:21px}
.place-rating{font-size:14px;gap:5px}
.place-rating .rating-count{font-size:12px;font-weight:400;color:#7c858f;margin-inline-start:2px;white-space:nowrap}
.rating-unavailable,.price-unavailable{color:#969da6}
.rating-unavailable>.icon{fill:none;color:#a0a7af}
.card-food-facts{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap;font-size:12px;line-height:1.45;color:#6e7782;width:100%}
.card-cuisine{min-width:0}
.card-price-level{white-space:nowrap;font-weight:500;color:#5c6876}
.card-price-level::before{content:"·";margin-inline-end:7px;color:#a5aab0}
.card-hours{display:flex;align-items:center;gap:5px;font-size:12px;line-height:1.4;color:#7a828c}
.card-hours>.icon{width:13px;height:13px;flex:0 0 13px}
.card-hours.is-open{color:#35745c}
.card-hotel-price{display:flex;flex-direction:column;gap:3px;line-height:1.45}
.card-hotel-price>strong{font-size:17px;font-weight:650;letter-spacing:-.3px}
.card-hotel-price>small{font-size:11px;color:#7c858f}
.group-card-copy .card-facts{min-height:24px}
.row-card .row-copy{justify-content:center}
.row-card .card-facts{margin-top:9px}
.row-card .card-food-facts,.row-card .card-hours{font-size:13px}
.group-card-copy{padding-bottom:5px}
.hotel-rate-note{font-size:12px;line-height:1.55;color:#75808d;margin:16px 24px 20px}

/* Keep keyboard focus on controls, not on the whole scrolling sheet. */
.workspace-panel:focus,.workspace-panel:focus-visible,
.workspace-panel [tabindex="-1"]:focus,.workspace-panel [tabindex="-1"]:focus-visible,
#workspace-scroll:focus-visible,#browse-scroll:focus-visible,#results:focus-visible{outline:none!important;box-shadow:none}
.planned-place>button:focus-visible{outline:none}
.planned-place>button:focus-visible .row-thumb{box-shadow:0 0 0 2px #657382;outline:2px solid white;outline-offset:-3px}
.planned-place>button:focus-visible strong{text-decoration:underline;text-underline-offset:3px}
.workspace-panel .day-card>summary:focus-visible{outline:none}
.workspace-panel .day-card>summary:focus-visible>strong{text-decoration:underline;text-underline-offset:4px}
.workspace-panel[data-kind="add-trip"] .workspace-scroll,.workspace-panel[data-kind="new-trip"] .workspace-scroll{padding-top:10px}
.workspace-panel .trip-add-form{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin:0}
.workspace-panel .trip-add-form .form-field{display:flex;flex-direction:column;gap:9px;margin:0;font-size:13px;color:#74808e;min-width:0}
.workspace-panel .trip-add-form select{width:100%;min-height:52px;font-size:16px;line-height:1.4;padding:14px 48px 14px 16px!important;background-color:#fff;border:1px solid #e0e5ec;border-radius:15px;background-position:right 18px center}
[dir="rtl"] .workspace-panel .trip-add-form select{padding:14px 16px 14px 48px!important;background-position:left 18px center}
.workspace-panel .trip-form-primary,.workspace-panel .trip-form-secondary{min-height:52px;border-radius:15px;width:100%;padding:14px 18px;line-height:1.4;box-sizing:border-box;user-select:none;-webkit-user-select:none}
.workspace-panel .trip-add-form .trip-form-primary{margin-top:8px}
.workspace-panel .trip-form-secondary{margin-top:12px;background:#edf2f8;border:0;color:#2967a9}
.trip-place-preview .place-quality{margin:0}
.workspace-panel #new-trip-form .form-field{margin-bottom:20px}
.workspace-panel #new-trip-form input{min-height:52px;padding:14px 16px;font-size:16px}
.trip-utilities>button,.day-edit-bar>button{user-select:none;-webkit-user-select:none}
@media(max-width:360px){.place-rating{font-size:13px}.card-hotel-price>strong{font-size:16px}.workspace-panel .trip-place-preview{padding:14px;gap:12px}.workspace-panel .trip-place-preview strong{font-size:17px}}

/* v18: photographic rows, a shared header and one account on every page. */
.places-heading{margin:0}
.places-heading>h2{font-size:25px;line-height:1.2;letter-spacing:-.5px;flex:1;min-width:0}
.explorer[data-tab="places"] .browse-scroll{padding-top:6px}
.place-browser{padding-top:0;margin-top:0}
.place-list{gap:24px}
.place-list .card-open{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:18px;min-height:0;align-items:center}
.place-list .place-poster{width:100%;height:auto;aspect-ratio:1;border-radius:23%;align-self:start}
.place-list .row-copy{padding:0;gap:0;min-width:0}
.place-list .row-title{gap:8px;align-items:flex-start}
.place-list .row-title>strong{font-size:19px;line-height:1.3;letter-spacing:-.25px;overflow-wrap:anywhere}
.place-list .row-chevron{margin-top:4px;flex:0 0 15px}
.place-list .row-card .save-button{width:34px;height:34px;top:9px;inset-inline-start:9px}
.place-quality .place-rating{color:#657076;font-weight:600}
.place-quality .place-rating>.icon{color:inherit;fill:currentColor}
.place-quality .rating-unavailable{color:#969da6}
.place-quality .rating-unavailable>.icon{fill:none}
.cluster-count{width:auto;min-width:27px;height:27px;padding:0 5px;font-size:12px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;box-sizing:border-box;color:#263b4b}

/* Type previews are pictures without a second map icon covering them. */
.map-style-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:3px 0}
.map-style-choices>button{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0;padding:7px 7px 11px;background:#eef1f5;border:2px solid transparent;border-radius:18px;text-align:start}
.map-style-choices>button[aria-pressed="true"]{border-color:#007aff;background:#e9f1fd;color:#007aff}
.map-style-preview{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;border-radius:11px;user-select:none;-webkit-user-drag:none}
.map-style-label{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:0 4px;min-height:22px}
.map-style-label>strong{font-size:14px;font-weight:600}
.map-style-check{display:grid;place-items:center;width:19px;height:19px;flex:0 0 19px}
.map-style-check>.icon{width:18px;height:18px}

.side-drawer[data-kind="account"] .dialog-content{padding-top:24px}
.account-layout{display:flex;flex-direction:column;gap:24px}
.account-identity{display:flex;align-items:center;gap:16px;min-width:0}
.account-avatar{display:grid;place-items:center;width:62px;height:62px;flex:0 0 62px;border-radius:22px;background:#e9edf2;color:#667581}
.account-avatar>.icon{width:35px;height:35px}
.account-identity>span:last-child{min-width:0}
.account-identity h3{margin:0!important;font-size:27px;line-height:1.2;overflow-wrap:anywhere;letter-spacing:-.5px}
.account-identity small{display:block;margin-top:6px;font-size:13px;color:#7b818a}
.account-device-note{margin:-8px 0 0;font-size:13px;line-height:1.6;color:#7b818a}
.account-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.account-shortcut{display:grid;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:12px 5px;padding:17px 16px;border-radius:19px;background:#fff;text-align:start;min-width:0;border:0;color:#252c34}
.account-shortcut-icon{display:grid;place-items:center;width:35px;height:35px;grid-column:1/-1;border-radius:12px;background:#eef3f9;color:#5580ae}
.account-shortcut-icon>.icon{width:22px;height:22px}
.account-shortcut>strong{font-size:15px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.account-shortcut>.icon{width:15px;height:15px;color:#9ba4af}
.account-section>h3{font-size:15px!important;font-weight:600;line-height:1.35;margin:0 0 12px!important;color:#767f89}
.account-preferences,.account-saved-list{border-radius:20px;background:#fff;overflow:hidden;padding:0 16px}
.account-preference{display:flex;align-items:center;gap:13px;width:100%;min-height:74px;padding:15px 0;border:0;background:transparent;text-align:start}
.account-preference+.account-preference{border-top:1px solid #edf0f4}
.account-row-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;color:#657991}
.account-row-icon>.icon{width:23px;height:23px}
.account-row-copy{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.account-row-copy>strong{font-size:15px;font-weight:500;color:#2d353f}
.account-row-copy>small{font-size:13px;color:#818995;line-height:1.4;overflow-wrap:anywhere}
.account-preference>.icon,.account-profile>summary>.icon{width:16px;height:16px;flex-shrink:0;color:#9ba4af}
.side-drawer .account-saved-list .wide-row{gap:12px;min-height:64px;padding:13px 0;background:transparent}
.side-drawer .account-saved-list .wide-row:last-child{border-bottom:0}
.side-drawer .account-saved-list .wide-row>strong{flex:1;min-width:0;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.side-drawer .account-saved-list .wide-row>.icon:first-child{width:24px;height:24px;flex:0 0 24px;color:#7889a1}
.side-drawer .account-saved-list .wide-row>.icon:last-child{width:15px;height:15px;color:#9ba4af}
.side-drawer .account-saved-list .category-symbol{width:34px;height:34px;flex:0 0 34px;font-size:23px;border-radius:11px}
.account-profile{margin:0;border:0;border-radius:20px;background:#fff;overflow:hidden}
.account-profile>summary{display:flex;align-items:center;gap:13px;min-height:65px;padding:15px 16px;list-style:none;cursor:pointer}
.account-profile>summary::-webkit-details-marker{display:none}
.account-profile>summary::before,.account-profile>summary::after{content:none}
.account-profile>summary>strong{flex:1;min-width:0;font-size:15px;font-weight:500;line-height:1.4}
.account-profile[open]>summary>.icon{transform:rotate(180deg)}
.account-profile form{padding:6px 18px 18px}
.account-profile .form-field{margin:0 0 16px}
.account-profile .secondary-button,.account-login{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;border-radius:14px;font-size:14px}

/* No focus rings, pseudo-element rings or browser tap flashes. Focus order,
   Enter, Tab, arrows and screen-reader names remain functional. */
*:focus,*:focus-visible,*:focus-within{outline:none!important;outline-offset:0!important}
*:focus,*:focus-visible{box-shadow:none!important}
button,a,input,select,textarea,summary,[tabindex]{-webkit-tap-highlight-color:transparent}
.place-rail .group-card-open:focus-visible .group-card-cover::after{content:none!important}
.planned-place>button:focus-visible .row-thumb{box-shadow:none!important;outline:none!important}
.place-rail .group-card-open:focus-visible .group-card-copy>strong,.planned-place>button:focus-visible strong,.workspace-panel .day-card>summary:focus-visible>strong{text-decoration:none}
.filter-choice>input:focus-visible+.filter-choice-content,.subtype-choice>input:focus-visible+span,.toggle-row>input:focus-visible+.toggle-track{outline:none!important;box-shadow:none!important}
.form-field input:focus,.form-field textarea:focus{border-color:#dce2e9}
@media(max-width:900px){
 .top-actions .language-button{display:none}
 .top-actions{padding:4px}
 .top-actions .profile-button{width:36px;height:36px}
 .places-heading>h2{font-size:24px}
 .places-heading>.icon-button{width:34px;height:34px}
 .place-list .card-open{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:15px;min-height:0}
 .place-list .place-poster{width:100%;height:auto;border-radius:23%}
 .place-list .row-title>strong{font-size:18px}
 .place-list .row-card .save-button{width:31px;height:31px;top:7px;inset-inline-start:7px}
 .cluster-count{min-width:24px;height:24px;font-size:11px;padding-inline:4px}
 .account-layout{gap:22px}
 .account-shortcut{padding:16px 13px}
 .account-shortcut>strong{font-size:14px}
}
@media(max-width:360px){
 .place-list .card-open{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:12px}
 .place-list .row-title>strong{font-size:17px}
 .place-list .row-card .save-button{width:28px;height:28px;top:5px;inset-inline-start:5px}
 .account-shortcuts{gap:9px}
 .account-avatar{width:54px;height:54px;flex-basis:54px}
 .account-identity h3{font-size:24px}
 .account-shortcut{padding:14px 10px}
}


/* Source: presentation.css */
/* Shared action controls and photographic collections. */
:root{--action-height:48px;--action-radius:14px;--action-font:15px;--action-gap:8px}
:is(#explorer,#utility-dialog,#country-dialog) :is(.primary-button,.secondary-button,.offer-outbound),
#overview .itinerary-card>.secondary-button{
 display:inline-flex;align-items:center;justify-content:center;gap:var(--action-gap);
 min-height:var(--action-height);padding:12px 16px;border:0;border-radius:var(--action-radius);
 font:600 var(--action-font)/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 text-align:center;letter-spacing:0;box-shadow:none;white-space:normal;
}
:is(#explorer,#utility-dialog,#country-dialog) :is(.primary-button,.offer-outbound){background:var(--accent,#007aff);color:#fff}
:is(#explorer,#utility-dialog,#country-dialog) :is(.primary-button,.offer-outbound):hover{background:var(--accent-hover,#0065df)}
:is(#explorer,#utility-dialog,#country-dialog) .secondary-button,
#overview .itinerary-card>.secondary-button{background:#eaf1fc;color:#096bd8}
:is(#explorer,#utility-dialog,#country-dialog) .secondary-button:hover,
#overview .itinerary-card>.secondary-button:hover{background:#dfeafb}
:is(#explorer,#utility-dialog,#country-dialog) :is(.primary-button,.secondary-button)>strong,
:is(#explorer,#utility-dialog,#country-dialog) :is(.primary-button,.secondary-button)>span>strong{font:inherit;letter-spacing:inherit;color:inherit}
:is(#explorer,#utility-dialog,#country-dialog) :is(.primary-button,.secondary-button,.offer-outbound) .icon,
#overview .itinerary-card>.secondary-button>.icon{width:20px;height:20px;flex:0 0 20px}
:is(#explorer,#utility-dialog,#country-dialog) :is(.primary-button,.secondary-button)>.category-symbol{display:inline-grid;place-items:center;width:22px;height:22px;min-width:22px;flex:0 0 22px;font-size:21px;background:transparent;border-radius:0}
:is(#explorer,#utility-dialog,#country-dialog) .text-button{
 display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;min-height:44px;
 padding:8px 0;border:0;border-radius:0;background:transparent;color:var(--accent,#007aff);
 font:600 var(--action-font)/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 letter-spacing:0;text-align:start;box-shadow:none;
}
:is(#explorer,#utility-dialog,#country-dialog) .text-button .icon{width:18px;height:18px;flex:0 0 18px}
:is(#explorer,#utility-dialog,#country-dialog) .text-button:hover{color:var(--accent-hover,#0065df)}
:is(#explorer,#utility-dialog,#country-dialog) .offer-outbound{display:flex;justify-content:space-between;width:100%;gap:12px}
:is(#explorer,#utility-dialog,#country-dialog) .offer-outbound>span{font:inherit;color:inherit}
.hero-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px}
.hero-actions>button{flex:1 1 180px;min-width:0}
.hero-actions .hero-booking>span{text-align:start}
.hero-actions .hero-booking small{font-size:12px;line-height:1.4}
.service-link{font-size:var(--action-font);font-weight:600;line-height:1.4}

/* The guide is a light photo shelf: square covers and names only. */
.place-rail.mouse-rail{gap:14px;align-items:flex-start;padding-block:0 6px}
.place-rail .group-card{flex:0 0 clamp(116px,30%,148px);width:clamp(116px,30%,148px);min-width:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.place-rail .group-card-open{display:flex;flex-direction:column;align-items:stretch;gap:0;height:auto;border:0;border-radius:0;padding:0;background:none}
.place-rail .group-card-cover{display:block;width:100%;height:auto;aspect-ratio:1;overflow:hidden;border-radius:18px;background:#e9edf1}
.place-rail .group-card-cover img{display:block;width:100%;height:100%;object-fit:cover}
.place-rail .group-card-copy{display:block;padding:10px 0 0;min-width:0;flex:none}
.place-rail .group-card-copy>strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:0;font-size:16px;line-height:1.3;font-weight:600;letter-spacing:-.2px;overflow-wrap:anywhere}
.place-group{margin-block:32px 38px}
.place-group .section-line{margin-bottom:14px}

/* Photo cards sit inside the reading gutter in lists and site search. */
.place-list{display:flex;flex-direction:column;gap:16px;margin-inline:0;width:100%}
.place-list .row-card{display:block;position:relative;width:100%;min-height:0;margin:0;padding:14px 14px 20px;border:0;border-radius:28px;background:#fff;box-shadow:none;overflow:hidden}
.place-list .card-open{display:flex;flex-direction:column;align-items:stretch;width:100%;min-height:0;gap:0;padding:0;border:0;background:transparent;text-align:start}
.place-list .place-poster{display:block;width:100%;height:auto;aspect-ratio:1.95;border-radius:21px;align-self:stretch;overflow:hidden;background:#e8edf0}
.place-list .place-poster>img{display:block;width:100%;height:100%;object-fit:cover}
.place-list .place-poster>.category-cover{height:100%;border-radius:inherit}
.place-list .row-copy{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;width:100%;padding:16px 0 0}
.place-list .row-title{display:block}
.place-list .row-title>strong{display:block;font-size:21px;line-height:1.3;font-weight:650;letter-spacing:-.35px;overflow-wrap:anywhere}
.place-list .row-card .card-facts{margin-top:9px;gap:8px}
.place-list .card-facts .place-rating{font-size:15px;line-height:1.4}
.place-list .card-facts .rating-count{font-size:14px}
.place-list .card-food-facts,.place-list .card-hours{font-size:14px;line-height:1.4}
.place-list .card-hotel-price{gap:2px}
.place-list .card-hotel-price>strong{font-size:19px;line-height:1.3}
.place-list .card-hotel-price>small{font-size:12px;line-height:1.4}
.place-list .row-card .save-button{top:24px;inset-inline-start:auto;inset-inline-end:24px}
@media(max-width:900px){
 .place-list .row-card{padding:12px 12px 18px;border-radius:25px}
 .place-list .place-poster{aspect-ratio:1.95;border-radius:20px}
 .place-list .row-copy{padding-top:14px}
 .place-list .row-title>strong{font-size:20px}
 .place-list .row-card .save-button{top:21px;inset-inline-end:21px}
}

/* Account and language return to floating dialogs; navigation keeps its drawer. */
.explorer .utility-dialog.personal-dialog{
 position:fixed;inset:0;margin:auto;width:min(520px,calc(100vw - 32px));max-width:calc(100vw - 32px);
 height:fit-content;max-height:min(760px,calc(100dvh - 48px - var(--safe-top) - var(--safe-bottom)));
 border:1px solid #fff;border-radius:28px;background:var(--panel-surface);box-shadow:0 24px 90px #182d3b30;
 animation:personal-dialog-enter .18s ease-out;
}
.utility-dialog.personal-dialog::backdrop{background:#101c2b30;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.personal-dialog .dialog-heading{gap:12px;padding:18px 20px;background:var(--panel-surface)}
.personal-dialog .dialog-heading h2{font-size:23px;line-height:1.25}
.personal-dialog .dialog-content{padding:24px;overscroll-behavior:contain;scrollbar-width:none}
.personal-dialog .dialog-content>h3{font-size:18px;margin:0 0 16px}
.personal-dialog .language-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 26px}
.personal-dialog .language-options label{gap:9px;min-height:52px;padding:12px 14px;font-size:15px;border:1px solid #e0e4ea;border-radius:15px;background:#fff}
.personal-dialog .language-options label:has(input:checked){background:#eaf2ff;border-color:#a6c9f7;color:#0866d5}
.personal-dialog .language-options input{width:18px;height:18px;flex:0 0 18px;margin:0}
.personal-dialog .form-field{font-size:14px;gap:9px;margin:0 0 18px}
.personal-dialog .form-field input,.personal-dialog .form-field select{min-height:48px;padding-block:12px;padding-inline-start:14px;font-size:16px;border-radius:14px}
.utility-dialog .account-saved-list .wide-row{display:flex;align-items:center;gap:12px;min-height:64px;padding:13px 0;border-radius:0;background:transparent;border-bottom:1px solid #e4e8ef;text-align:start}
.utility-dialog .account-saved-list .wide-row:last-child{border-bottom:0}
.utility-dialog .account-saved-list .wide-row>strong{flex:1;min-width:0;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.utility-dialog .account-saved-list .wide-row>.icon:first-child{width:24px;height:24px;flex:0 0 24px;color:#7889a1}
.utility-dialog .account-saved-list .wide-row>.icon:last-child{width:15px;height:15px;flex:0 0 15px;color:#9ba4af}
.utility-dialog .account-saved-list .category-symbol{width:34px;height:34px;flex:0 0 34px;font-size:23px;border-radius:11px}

/* The object photograph replaces the site header inside the left column. */
.explorer[data-detail] .destination-identity{visibility:hidden;pointer-events:none}
.explorer .detail-sheet{top:0;bottom:var(--dock-height);border-radius:0;background:var(--panel-surface);transition:none}
.detail-sheet .detail-toolbar{position:absolute;z-index:3;inset:0 0 auto;display:flex;align-items:center;gap:10px;padding:calc(16px + var(--safe-top)) 20px 16px;pointer-events:none}
.detail-sheet .detail-toolbar .icon-button{pointer-events:auto}
.detail-sheet .detail-scroll{padding:0;scroll-padding-top:calc(86px + var(--safe-top))}
.detail-sheet .detail-hero{width:100%;height:clamp(260px,42dvh,360px);margin:0;border-radius:0;overflow:hidden;background:#dbe5ec}
.detail-sheet .detail-hero:not(:has(img)){height:clamp(260px,42dvh,360px)}
.detail-sheet .detail-hero>img{width:100%;height:100%;object-fit:cover}
.detail-sheet .detail-hero>.category-cover{height:100%;border-radius:0}
.detail-content{position:relative;z-index:1;margin-top:-26px;padding-bottom:16px;border-bottom:0;border-radius:28px 28px 0 0;background:var(--panel-surface)}
.detail-content .detail-summary{padding:26px var(--sheet-gutter) 18px}
.detail-content .detail-summary h2{margin:0;font-size:32px;line-height:1.16;overflow-wrap:anywhere}
.detail-content .detail-tags:empty{display:none}
.detail-sheet .detail-actions{position:relative;z-index:2;padding:14px var(--sheet-gutter);gap:12px;background:var(--panel-surface);border-top:1px solid #d8dee7}
@keyframes personal-dialog-enter{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:900px){
 .explorer .utility-dialog.personal-dialog{width:calc(100% - 16px);max-width:520px;max-height:calc(100dvh - 32px - var(--safe-top) - var(--safe-bottom));border-radius:26px}
 .personal-dialog .dialog-heading{padding:16px;gap:10px}
 .personal-dialog .dialog-heading h2{font-size:21px}
 .explorer .personal-dialog .dialog-content{padding:20px 18px 24px}
 .personal-dialog .language-options{gap:8px}
 .personal-dialog .language-options label{font-size:14px;padding:12px}
 .explorer[data-detail] .topbar,.explorer[data-detail] .map-options,.explorer[data-detail] .map-heading,.explorer[data-detail] .map-tools,.explorer[data-detail] .route-summary{visibility:hidden;pointer-events:none}
 .explorer .detail-sheet,.explorer .detail-sheet[data-size="full"]{top:0;border-radius:0}
 .detail-sheet .detail-toolbar{padding-inline:calc(16px + var(--safe-left)) calc(16px + var(--safe-right))}
 .detail-sheet .detail-hero,.detail-sheet .detail-hero:not(:has(img)){height:clamp(240px,40dvh,340px)}
 .detail-content .detail-summary h2{font-size:29px}
 .detail-content{border-bottom:1px solid var(--line)}
 .detail-sheet .detail-actions{padding-block:12px}
}
@media(prefers-reduced-motion:reduce){.explorer .utility-dialog.personal-dialog{animation:none}}
@media(max-width:360px){
 .place-rail .group-card{flex-basis:112px;width:112px}
 .place-rail .group-card-copy>strong{font-size:15px}
 .place-list .row-title>strong{font-size:19px}
 .place-list .place-poster{border-radius:18px}
}

/* One family of icon actions, shared by every page and panel. */
:root{--icon-control-size:44px;--icon-control-radius:14px;--icon-control-bg:#edf0f4;--icon-control-hover:#e1e6ed;--icon-control-ink:#394450;--icon-control-glyph:22px}
:is(#explorer,#utility-dialog,#country-dialog) :is(.icon-button,.save-button,.mini-button,.profile-button,.language-button,.stop-settings>summary):not([hidden]){
 display:inline-flex;align-items:center;justify-content:center;gap:0;
 width:var(--icon-control-size);height:var(--icon-control-size);min-width:var(--icon-control-size);min-height:var(--icon-control-size);
 flex:0 0 var(--icon-control-size);padding:0;border:0;border-radius:var(--icon-control-radius);
 background:var(--icon-control-bg);color:var(--icon-control-ink);box-shadow:none;
 font-size:13px;font-weight:600;line-height:1;text-decoration:none;list-style:none;
 backdrop-filter:none;-webkit-backdrop-filter:none;appearance:none;-webkit-appearance:none;
 cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;
 transition:background-color .15s,color .15s,transform .12s;
}
:is(#explorer,#utility-dialog,#country-dialog) :is(.icon-button,.save-button,.mini-button,.profile-button,.language-button,.stop-settings>summary) .icon{
 width:var(--icon-control-glyph);height:var(--icon-control-glyph);flex:0 0 var(--icon-control-glyph);margin:0;
 color:inherit;stroke-width:1.8;
}
:is(#explorer,#utility-dialog,#country-dialog) :is(.detail-toolbar .icon-button,.save-button,.map-heading>.icon-button,.map-tools>.icon-button){
 --icon-control-bg:rgba(250,251,253,.94);--icon-control-hover:#fff;
 backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
:is(#explorer,#utility-dialog,#country-dialog) :is(.icon-button,.profile-button,.language-button)[aria-expanded="true"],
:is(#explorer,#utility-dialog,#country-dialog) .icon-button[aria-pressed="true"]:not([data-save]){background:#e8f0ff;color:var(--accent)}
:is(#explorer,#utility-dialog,#country-dialog) :is(.icon-button,.save-button).saved{color:#ff375f}
:is(#explorer,#utility-dialog,#country-dialog) :is(.icon-button,.save-button).saved .icon{fill:currentColor}
:is(#explorer,#utility-dialog,#country-dialog) .mini-button[data-delete-day]{color:#b65f63}
:is(#explorer,#utility-dialog,#country-dialog) :is(.icon-button,.save-button,.mini-button,.profile-button,.language-button):disabled{opacity:.35;cursor:default}
@media(hover:hover){
 :is(#explorer,#utility-dialog,#country-dialog) :is(.icon-button,.save-button,.mini-button,.profile-button,.language-button,.stop-settings>summary):not(:disabled):hover{background:var(--icon-control-hover)}
}
:is(#explorer,#utility-dialog,#country-dialog) :is(.icon-button,.save-button,.mini-button,.profile-button,.language-button,.stop-settings>summary):not(:disabled):active{transform:scale(.96)}
/* A search filter stays aligned with its input; its shape and glyph stay shared. */
:is(#explorer,#utility-dialog,#country-dialog) .filter-button{--icon-control-size:var(--control-height)}
:is(#explorer,#utility-dialog,#country-dialog) .input-clear{--icon-control-bg:transparent}
#explorer .search-field:has(.input-clear){padding-inline-end:4px}
#explorer .destination-identity .site-menu{margin-inline:0 8px}
#explorer .destination-heading .icon-button{margin-top:0}
#explorer .top-actions{height:44px;padding:0;gap:8px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
#explorer .map-tools{gap:8px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
#explorer .map-choice-button{height:var(--icon-control-size);min-height:var(--icon-control-size);border:0;border-radius:var(--icon-control-radius);background:rgba(250,251,253,.94);color:var(--icon-control-ink);box-shadow:none}
#explorer .map-choice-button[aria-expanded="true"],#explorer .map-choice-button.filtered,#explorer .layer-choice-button.selected{background:#e8f0ff;color:var(--accent);box-shadow:none}
#explorer .layer-choice-button>.icon{width:var(--icon-control-glyph);height:var(--icon-control-glyph);stroke-width:1.8}
#explorer .profile-button i,#explorer .filter-button i{top:5px;inset-inline-end:5px}
#explorer .workspace-panel .planned-place{padding-inline-end:54px}
#explorer .workspace-panel .stop-settings>summary{top:33px;inset-inline-end:0}
#explorer .workspace-panel .day-select select{min-height:44px}
@media(max-width:900px){
 #explorer .top-actions .language-button{display:none}
 #explorer .destination-identity .site-menu{margin-inline-end:4px}
}
@media(max-width:1100px){#explorer .layer-choice-button{width:var(--icon-control-size);padding:0}}
@media(max-width:360px){
 #explorer .topbar{gap:4px;padding-inline:calc(8px + var(--safe-left)) calc(8px + var(--safe-right))}
 #explorer .destination-identity .brand-wordmark{font-size:18px}
 #explorer .destination-identity .brand{padding-inline-end:6px}
 #explorer .destination-identity .map-destination{padding-inline:6px}
}
@media(prefers-reduced-motion:reduce){
 :is(#explorer,#utility-dialog,#country-dialog) :is(.icon-button,.save-button,.mini-button,.profile-button,.language-button,.stop-settings>summary){transition:none}
}

/* The guide opens with a full-width destination photograph. */
#explorer[data-tab="overview"] .browse-scroll{padding-top:0}
#explorer .destination-header{margin-bottom:20px}
#explorer .destination-panorama{width:calc(100% + var(--sheet-gutter) * 2);height:clamp(230px,32dvh,310px);aspect-ratio:auto;margin:0 calc(-1 * var(--sheet-gutter));border-radius:0}
#explorer .destination-panorama>img{width:100%;height:100%;object-fit:cover;object-position:center 58%}
#explorer .destination-welcome{padding-top:23px}
#explorer .destination-navigation{margin-bottom:7px}
#explorer .destination-heading{align-items:center;margin-bottom:14px}
#explorer .destination-heading h1{font-size:38px;line-height:1.12;letter-spacing:-1.1px;margin:0}
#explorer .destination-intro{font-size:16px;line-height:1.55;margin:0 0 18px}
#explorer .destination-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
#explorer .destination-meta .destination-weather,#explorer .destination-meta .destination-clock{padding:0;background:transparent;border-radius:0;min-height:44px;gap:9px}
#explorer .destination-meta small{font-size:11px;margin-bottom:3px}
#explorer .destination-meta strong,#explorer .destination-meta bdi{font-size:14px}
#explorer .destination-weather>.icon:last-child{width:14px;height:14px;color:#95a0ac}
#explorer .destination-season{margin:14px 0 0;font-size:12px}
#explorer #overview .hero-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
#explorer #overview .hero-actions>button{flex:none;min-height:var(--action-height);justify-content:center;padding:12px 16px}
#explorer #overview .hero-booking>span{text-align:center}
#explorer #overview .hero-booking small{color:inherit;opacity:.75}
#explorer #overview .interest-navigation{margin-block:0 24px}
#explorer #guide-popular .place-group{margin-top:0}
#explorer .guide-more{margin-top:30px}
#explorer[data-tab="places"] #guide-more{display:none}
#explorer .guide-more .intro-copy{border:0;padding-top:0}
@media(max-width:900px){
 #explorer .destination-panorama{height:clamp(210px,30dvh,290px)}
 #explorer .destination-welcome{padding-top:22px}
 #explorer .destination-heading h1{font-size:35px}
}

/* Keep adding places without leaving the collection. */
#explorer .card-place-actions{display:flex;align-items:stretch;gap:10px;margin-top:17px}
#explorer .card-place-actions .quick-trip-button{flex:1;min-width:0}
#explorer .quick-trip-button>span{min-width:0;overflow-wrap:anywhere}
#explorer .card-place-actions>.icon-button{--icon-control-size:var(--action-height)}
#explorer .quick-trip-button.in-trip{background:#edf1f6;color:#475c75}
#explorer .detail-place-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
#explorer .detail-place-actions>button{flex:1 1 150px;min-width:0}
#explorer .quick-trip-context{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:12px 14px;border-radius:16px;background:#eaf1fc;color:#4a607d}
#explorer .quick-trip-context>.icon{width:22px;flex:0 0 22px}
#explorer .quick-trip-context>span{flex:1;min-width:0}
#explorer .quick-trip-context small{display:block;font-size:11px;margin-bottom:3px}
#explorer .quick-trip-context strong{display:block;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
#explorer .quick-trip-context .text-button{flex:0 0 auto;font-size:13px}
#explorer .quick-trip-hint{font-size:13px;line-height:1.5;color:var(--muted);margin:-2px 0 18px}
#explorer .toast{flex-wrap:wrap;justify-content:center;gap:10px 16px}
#explorer .toast>span{min-width:0;overflow-wrap:anywhere}
#explorer .toast>button{min-height:36px;padding:6px 0;font-size:14px;font-weight:600;white-space:nowrap;color:#fff}
#explorer .map-return{position:absolute;z-index:5;bottom:calc(var(--dock-height) + 14px);inset-inline:16px;display:flex;align-items:center;gap:12px;padding:12px 16px;border:0;border-radius:18px;background:rgba(250,251,253,.97);color:var(--ink);box-shadow:0 6px 24px #22344b24;text-align:start}
#explorer .map-return>.icon{width:22px;height:22px;flex:0 0 22px;color:var(--accent)}
#explorer .map-return>span{min-width:0}
#explorer .map-return small{display:block;color:var(--muted);font-size:12px;margin-bottom:3px}
#explorer .map-return strong{display:block;font-size:15px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#explorer:has(.map-return:not([hidden])) .map-footer{display:none}
#explorer .row-card.map-previewed{background:#eef4fe}
#explorer .group-card.map-previewed .group-card-copy{color:var(--accent)}
#explorer .map-pin.is-previewed .pin-face{border-color:#007aff;box-shadow:0 4px 20px #007aff66;transform:translateY(-4px)}
#explorer .map-pin.is-previewed .pin-title{color:#0057b7}
#explorer .cluster-pin.is-previewed .cluster-photo{border-color:#007aff}
#explorer .cluster-pin.is-previewed .cluster-count{background:#007aff;color:white}
#explorer .cluster-preview-name{display:none;position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);width:160px;font-size:13px;font-weight:650;line-height:1.25;color:#0057b7;text-shadow:0 1px 2px #fff,1px 0 2px #fff,-1px 0 2px #fff}
#explorer .cluster-pin.is-previewed .cluster-preview-name{display:block}
#explorer .quick-trip-context[hidden],#explorer .map-return[hidden]{display:none}
@media(min-width:901px){#explorer .map-return{display:none}}
@media(max-width:900px){#explorer:has(.map-return:not([hidden])) .map-tools{bottom:calc(var(--dock-height) + 104px)}}

/* Map navigation stays fixed while the destination sheet moves. */
#explorer.destination-explorer .topbar{inset-inline-start:0;inset-inline-end:auto;top:0;width:100%;height:var(--header-height);min-height:0;padding:calc(16px + var(--safe-top)) 20px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:transparent;border:0;pointer-events:none}
#explorer.destination-explorer .destination-identity{width:auto;height:44px;flex:0 0 auto;padding:0;gap:8px;border:0;background:transparent;pointer-events:auto}
#explorer.destination-explorer .destination-identity .icon-button{margin:0}
#explorer.destination-explorer .top-actions{height:44px;margin:0;padding:0;pointer-events:auto}
#explorer.destination-explorer[data-detail] .topbar{visibility:visible}
#explorer.destination-explorer[data-detail] .destination-identity{visibility:hidden;pointer-events:none}
#explorer.destination-explorer[data-screen="guide"] .browse-sheet{top:var(--header-height)}
#explorer.destination-explorer .topbar::before{content:"";position:absolute;z-index:-1;inset-block:0;inset-inline-start:0;width:var(--panel-width);background:var(--panel-surface)}
#explorer.destination-explorer:is([data-screen="map"],[data-detail],.fullscreen-map) .topbar::before{display:none}
#explorer.destination-explorer .topbar button{--icon-control-bg:rgba(250,251,253,.94);--icon-control-hover:#fff}
#explorer.destination-explorer .destination-header{margin-bottom:16px}
#explorer.destination-explorer .destination-panorama{display:none}
#explorer.destination-explorer .destination-welcome{margin:0 calc(-1 * var(--sheet-gutter));padding:24px var(--sheet-gutter) 0;background:var(--panel-surface)}
#explorer.destination-explorer .destination-navigation{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:10px;font-size:12px;color:#7c8592}
#explorer.destination-explorer .destination-navigation .country-link{font-size:13px}
#explorer.destination-explorer .destination-heading{margin-bottom:12px}
#explorer.destination-explorer .destination-heading h1{font-size:36px}
#explorer.destination-explorer .destination-intro{font-size:15px;line-height:1.5;margin-bottom:12px}
#explorer.destination-explorer .destination-meta{gap:12px 22px}
#explorer.destination-explorer .destination-meta small{font-size:10px}
#explorer.destination-explorer .destination-meta strong,#explorer.destination-explorer .destination-meta bdi{font-size:13px}
#explorer.destination-explorer #overview .hero-actions{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:10px;margin-bottom:26px}
#explorer.destination-explorer #overview .guide-map-button{padding:0;width:48px;min-height:48px}
#explorer.destination-explorer .guide-map-button .icon{width:22px;height:22px}
#explorer.destination-explorer #guide-popular .category-symbol{display:none}
#explorer.destination-explorer #guide-popular h2{font-size:25px}
#explorer.destination-explorer #guide-popular .section-line{margin-bottom:16px}
#explorer.destination-explorer .place-rail .group-card{flex-basis:31%;width:31%}
#explorer.destination-explorer .place-rail .group-card-copy>strong{font-size:15px}
#explorer.destination-explorer .destination-season{margin:24px 0 12px}
#explorer.destination-explorer .menu-brand{display:inline-flex;align-items:center;min-height:44px;margin-bottom:12px;color:var(--accent);text-decoration:none}
#explorer.destination-explorer .menu-brand .brand-wordmark{font-size:30px}
#explorer.destination-explorer .browse-scroll{scroll-padding-top:calc(96px + var(--safe-top))}
#explorer.destination-explorer.fullscreen-map .topbar{display:flex!important}
#explorer.destination-explorer.fullscreen-map .map-heading{top:calc(76px + var(--safe-top))}
#explorer.destination-explorer.fullscreen-map .map-options{top:calc(76px + var(--safe-top))}
@media(min-width:901px){
 #explorer.destination-explorer[data-screen="guide"] .browse-sheet{top:0}
 #explorer.destination-explorer[data-screen="guide"] .topbar::before{display:none}
 #explorer.destination-explorer[data-screen="guide"].guide-scrolled:not(.fullscreen-map) .topbar::before{display:block}
 #explorer.destination-explorer .destination-panorama{display:block;height:300px}
 #explorer.destination-explorer .destination-welcome{position:relative;z-index:2;margin-top:-26px;border-radius:28px 28px 0 0}
}
@media(max-width:900px){
 #explorer.destination-explorer{--sheet-gutter:20px}
 #explorer.destination-explorer .topbar{width:100%;padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) 10px calc(16px + var(--safe-left))}
 #explorer.destination-explorer[data-screen="map"] .topbar{background:transparent}
 #explorer.destination-explorer[data-screen="guide"] .browse-sheet{top:37%;border-radius:24px 24px 0 0}
 #explorer.destination-explorer[data-screen="guide"][data-sheet="full"] .browse-sheet{top:calc(var(--header-height) + 24px);border-radius:24px 24px 0 0}
 #explorer.destination-explorer[data-sheet="half"] .browse-sheet{top:37%;border-radius:24px 24px 0 0}
 #explorer.destination-explorer[data-screen="guide"][data-sheet="low"] .browse-sheet{top:calc(100% - var(--dock-height));pointer-events:none}
 #explorer.destination-explorer:is([data-sheet="half"],[data-screen="guide"]) .topbar::before{display:none}
 #explorer.destination-explorer[data-detail] .topbar{visibility:hidden;pointer-events:none}
 #explorer.destination-explorer[data-detail] .top-actions{pointer-events:none}
 #explorer.destination-explorer .destination-welcome{padding-top:0}
 #explorer.destination-explorer .destination-heading h1{font-size:34px}
 #explorer.destination-explorer .destination-meta{gap:8px 20px}
 #explorer.destination-explorer #guide-popular h2{font-size:23px}
 #explorer.destination-explorer .place-rail.mouse-rail{gap:12px}
 #explorer.destination-explorer .sheet-handle{width:100%;min-height:44px;height:44px;flex:0 0 44px;align-self:center;align-items:flex-start;padding-top:11px;background:transparent;border-radius:0;z-index:22}
 #explorer.destination-explorer .sheet-handle span{width:36px;height:4px;background:#a8b2be}
 #explorer.destination-explorer.fullscreen-map .map-return{bottom:calc(16px + var(--safe-bottom))}
}
@media(max-width:360px){
 #explorer.destination-explorer .topbar{padding-inline:calc(12px + var(--safe-left)) calc(12px + var(--safe-right))}
 #explorer.destination-explorer .destination-identity{gap:4px}
 #explorer.destination-explorer .bottom-dock{padding-inline:2px}
 #explorer.destination-explorer .bottom-dock>button{font-size:9px;letter-spacing:-.15px;padding-inline:0;overflow-wrap:normal}
}

/* A shared 44px grid for the map toolbar and its expanded tools. */
#explorer.destination-explorer{--map-gutter:20px;--map-gap:8px;--map-top:calc(16px + var(--safe-top));--map-step:52px}
#explorer.destination-explorer .topbar{padding:var(--map-top) var(--map-gutter) 12px;gap:var(--map-gap)}
#explorer.destination-explorer .destination-identity,#explorer.destination-explorer .top-actions{gap:var(--map-gap)}
#explorer.destination-explorer .top-actions{flex:0 0 auto;margin-inline-start:auto}
#explorer.destination-explorer .map-options{position:static;flex:1;min-width:0;max-width:none;margin-inline-start:calc(var(--panel-width) - 104px);visibility:visible;pointer-events:auto;transition:none}
#explorer.destination-explorer.fullscreen-map .map-options{margin-inline-start:0}
#explorer.destination-explorer .map-choice-buttons{display:flex;min-width:0;gap:var(--map-gap)}
#explorer.destination-explorer .type-choice-button{height:44px;min-height:44px;max-width:200px;min-width:44px;padding:0 10px;border-radius:14px}
#explorer.destination-explorer .type-choice-button>span:not(.category-symbol){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#explorer.destination-explorer .layer-choice-button{position:fixed;top:calc(var(--map-top) + var(--map-step));inset-inline-end:var(--map-gutter);width:44px;height:44px;min-height:44px;padding:0;border-radius:14px}
#explorer.destination-explorer .layer-choice-button>span{display:none}
#explorer.destination-explorer .map-stage .map-tools{top:auto;bottom:calc(20px + var(--safe-bottom));inset-inline-end:var(--map-gutter);gap:8px;visibility:visible;pointer-events:auto}
#explorer.destination-explorer .map-tools [data-action="locate"]{order:0}
#explorer.destination-explorer .map-choice-panel{position:fixed;z-index:40;top:calc(var(--map-top) + var(--map-step));inset-inline-start:calc(var(--panel-width) + var(--map-gutter));inset-inline-end:auto;width:366px;max-width:calc(100vw - var(--map-gutter) * 2);max-height:calc(100dvh - 180px - var(--safe-bottom))}
#explorer.destination-explorer.fullscreen-map .map-choice-panel{inset-inline-start:var(--map-gutter)}
#explorer.destination-explorer .map-options:has(.layer-choice-button[aria-expanded="true"]) .map-choice-panel{top:calc(var(--map-top) + var(--map-step) * 2);inset-inline-start:auto;inset-inline-end:var(--map-gutter)}
#explorer.destination-explorer :is(.map-options,.map-tools,#fullscreen-button)[hidden]{display:none!important}
@media(max-width:900px){
 #explorer.destination-explorer{--map-gutter:16px}
 #explorer.destination-explorer .map-options{margin-inline-start:0}
 #explorer.destination-explorer .type-choice-button{max-width:100%}
 #explorer.destination-explorer .map-choice-panel{inset-inline-start:var(--map-gutter)}
 #explorer.destination-explorer[data-screen="guide"][data-sheet="low"]:not(.fullscreen-map) .map-stage .map-tools{bottom:calc(var(--dock-height) + 20px)}
}
@media(max-width:360px){
 #explorer.destination-explorer{--map-gutter:12px;--map-gap:6px}
 #explorer.destination-explorer .type-choice-button{width:44px;padding:0}
 #explorer.destination-explorer .type-choice-button>span:not(.category-symbol),#explorer.destination-explorer .type-choice-button>.icon:last-child{display:none}
}

/* Only deliberate mobile sheet resizing animates; screen navigation is immediate. */
#explorer.destination-explorer .browse-sheet{transition:none}
@media(max-width:900px) and (prefers-reduced-motion:no-preference){
 #explorer.destination-explorer.sheet-animating .browse-sheet{transition:top .32s cubic-bezier(.2,.8,.2,1)}
}

/* Main sections share one heading and the same content gutter. */
#explorer.destination-explorer[data-section-header="true"] .topbar::before{display:none}
#explorer.destination-explorer[data-site-controls="map"] .destination-identity{visibility:hidden;pointer-events:none}
#explorer.destination-explorer[data-site-controls="hidden"] .topbar{visibility:hidden;pointer-events:none}
#explorer.destination-explorer[data-site-controls="hidden"] :is(.destination-identity,.top-actions){pointer-events:none}
#explorer.destination-explorer[data-section-header="true"][data-sheet="full"] .browse-sheet{top:0;border-radius:0}
#explorer.destination-explorer .workspace-heading{min-height:68px;margin:0;padding:var(--map-top) 20px 8px;gap:12px;align-items:center;background:var(--panel-surface)}
#explorer.destination-explorer .workspace-heading h2{margin:0;font-size:28px;line-height:1.2;letter-spacing:-.6px;font-weight:700}
#explorer.destination-explorer .workspace-scroll,#explorer.destination-explorer[data-tab="places"] .browse-scroll{padding-top:8px}
#explorer.destination-explorer #place-browser .search-row{margin-top:0}
#explorer.destination-explorer .workspace-scroll>.note:first-child{margin-top:0}
#explorer.destination-explorer .booking-heading{padding:0 0 12px}
#explorer.destination-explorer .booking-heading h3{font-size:24px;line-height:1.25;margin:10px 0}
#explorer.destination-explorer .booking-heading .eyebrow{display:block;margin-bottom:10px;font-size:13px;color:#7c8592}
#explorer.destination-explorer .booking-heading p{font-size:15px;line-height:1.5}
#explorer.destination-explorer .booking-tabs button{min-height:44px;border-radius:14px;background:#edf0f4;color:#657080;box-shadow:none}
#explorer.destination-explorer .booking-tabs button.active{background:#e8f0ff;color:#0866d5;box-shadow:none}
#explorer.destination-explorer .booking-tabs button:hover:not(.active){background:#e1e6ed;color:#394450}
#explorer.destination-explorer .workspace-panel[data-kind="trips"] .trip-utilities{flex-direction:column;gap:10px}
#explorer.destination-explorer .workspace-panel[data-kind="trips"] .trip-utilities>button{flex:none;width:100%;min-height:48px}
@media(max-width:900px){
 #explorer.destination-explorer[data-section-header="true"][data-sheet="full"] .browse-sheet{padding-top:var(--safe-top)}
 #explorer.destination-explorer .workspace-heading{padding:0 var(--sheet-gutter) 8px;min-height:52px}
 #explorer.destination-explorer .workspace-heading h2{font-size:26px}
 #explorer.destination-explorer.fullscreen-map .map-return{inset-inline-start:var(--map-gutter);inset-inline-end:calc(var(--map-gutter) + 56px);max-width:none;width:auto}
}

#explorer.destination-explorer .sheet-handle[hidden]{display:none}
#explorer.destination-explorer.sheet-dragging{user-select:none;-webkit-user-select:none}
@media(max-width:900px){
 #explorer.destination-explorer[data-section-header="true"] .workspace-heading{padding-top:16px;min-height:68px}
}

/* Reading panels, October 2026: one scroll edge and one in-page map. */
#explorer.destination-explorer .workspace-heading{position:relative;z-index:2;box-shadow:0 1px 0 transparent;transition:box-shadow .15s}
#explorer.destination-explorer .workspace-heading.is-scrolled{box-shadow:0 1px 0 #26384b14,0 5px 12px #26384b08}
#explorer.destination-explorer .map-return{display:block;padding:12px 16px 16px;max-width:400px;box-shadow:0 8px 32px #18324d26}
#explorer.destination-explorer .map-card-back{display:flex;align-items:center;gap:4px;min-height:30px;padding:0;margin:0 0 8px;font-size:12px;color:var(--muted)}
#explorer.destination-explorer .map-card-back .icon{width:16px;height:16px}
#explorer.destination-explorer .map-card-main{display:flex;align-items:center;gap:10px}
#explorer.destination-explorer .map-card-place{display:flex;flex:1;min-width:0;align-items:center;gap:12px;padding:0;background:none;text-align:start}
#explorer.destination-explorer .map-card-place>img{width:72px;height:72px;flex:0 0 72px;object-fit:cover;border-radius:13px}
#explorer.destination-explorer .map-card-place>span{min-width:0}
#explorer.destination-explorer .map-card-place strong{font-size:17px;white-space:normal;line-height:1.2}
#explorer.destination-explorer .map-card-place small{font-size:11px;margin-bottom:4px}
#explorer.destination-explorer .map-card-details{display:flex;align-items:center;gap:4px;color:var(--accent);font-size:12px;margin-top:6px}
#explorer.destination-explorer .map-card-details .icon{width:14px;height:14px}
#explorer.destination-explorer .map-return[hidden]{display:none}
@media(min-width:901px){
 #explorer.destination-explorer .map-return{inset-inline-start:calc(var(--panel-width) + 20px);inset-inline-end:20px;bottom:24px}
}
@media(max-width:900px){
 #explorer.destination-explorer[data-screen="guide"][data-sheet="half"] .browse-sheet{top:28%}
 #explorer.destination-explorer[data-screen="guide"] .sheet-handle{position:absolute;top:0;inset-inline:0;height:28px;min-height:28px;width:100%;padding-top:10px}
 #explorer.destination-explorer[data-screen="guide"] .browse-scroll{padding-top:36px;scroll-padding-top:28px}
 #explorer.destination-explorer[data-screen="guide"] .browse-sheet{overflow:hidden}
 #explorer.destination-explorer.map-workspace .browse-sheet{visibility:hidden;pointer-events:none}
 #explorer.destination-explorer.map-workspace .topbar{visibility:visible}
 #explorer.destination-explorer.map-workspace .topbar::before{display:none}
 #explorer.destination-explorer .layer-choice-button{top:var(--map-top);inset-inline-end:calc(var(--map-gutter) + var(--map-step))}
 #explorer.destination-explorer[data-map-expanded="true"] .top-actions{margin-inline-start:var(--map-step)}
 #explorer.destination-explorer .map-options:has(.layer-choice-button[aria-expanded="true"]) .map-choice-panel{top:calc(var(--map-top) + var(--map-step))}
 #explorer.destination-explorer .map-return{inset-inline:var(--map-gutter);width:auto;max-width:none;bottom:calc(var(--dock-height) + 12px)}
}
/* Menu: current destination, personal actions, then countries and settings. */
#explorer .menu-brand{display:inline-flex;color:var(--accent);padding:0 0 18px;text-decoration:none}
#explorer .menu-brand .brand-wordmark{font-size:32px}
#explorer .menu-destination{display:flex;align-items:center;gap:14px;text-align:start;background:#edf3fb;border-radius:18px;padding:14px;width:100%;margin-bottom:16px}
#explorer .menu-destination img{width:64px;height:72px;object-fit:cover;border-radius:12px}
#explorer .menu-destination>span{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
#explorer .menu-destination strong{font-size:22px}
#explorer .menu-destination small{font-size:12px;color:var(--muted)}
#explorer .menu-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 24px}
#explorer .menu-shortcuts>:is(button,a){display:flex;align-items:center;gap:9px;min-height:48px;padding:12px;border-radius:12px;background:#f0f2f6;color:var(--ink);font-size:13px;text-align:start;text-decoration:none}
#explorer .menu-shortcuts .icon{width:20px;height:20px;flex:0 0 20px;color:#6b819c}
#explorer .site-navigation h3{font-size:14px;color:var(--muted);font-weight:500;margin-bottom:10px}
#explorer .menu-personal{margin-top:24px;border-top:1px solid #e4e8ef;padding-top:12px}
#explorer .menu-flag{font-size:25px}
/* Country pages use the same heading and reading surface as other sections. */
#explorer.country-explorer .topbar{display:none}
#explorer.country-explorer .browse-sheet{top:0;max-width:480px;border-radius:0;transition:none;overflow:hidden}
#explorer.country-explorer .sheet-handle{display:none}
#explorer.country-explorer .country-panel-heading{display:flex;align-items:center;gap:12px;padding:calc(16px + var(--safe-top)) 20px 12px;background:var(--panel-surface);flex:0 0 auto;z-index:5}
#explorer.country-explorer .country-panel-heading h2{font-size:23px;line-height:1.2;flex:1;margin:0}
#explorer.country-explorer .country-panel-heading.is-scrolled{box-shadow:0 1px 0 #26384b14,0 5px 12px #26384b08}
#explorer.country-explorer #country-scroll{padding:0 20px 32px;scroll-padding-top:16px}
#explorer.country-explorer #country-content{padding:0}
#explorer.country-explorer .country-cover{margin:0 -20px;height:220px}
#explorer.country-explorer .country-cover img{width:100%;height:100%;object-fit:cover}
#explorer.country-explorer .country-intro{position:relative;margin:-24px -20px 26px;padding:22px 20px 0;border-radius:24px 24px 0 0;background:var(--panel-surface)}
#explorer.country-explorer .country-kicker{font-size:11px;color:var(--muted);padding:0;margin-bottom:8px}
#explorer.country-explorer .destination-heading h1{font-size:34px;line-height:1.1}
#explorer.country-explorer .destination-description{font-size:15px;line-height:1.55;color:#566476}
#explorer.country-explorer .country-overview-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:18px 0;border-block:1px solid #e6e9ef}
#explorer.country-explorer .country-overview-facts>span{display:flex;flex-direction:column;gap:7px;align-items:flex-start;font-size:13px;min-width:0;overflow-wrap:anywhere}
#explorer.country-explorer .country-overview-facts .icon{color:#8292a7;width:20px;height:20px}
#explorer.country-explorer .country-overview-facts small{font-size:10px;color:var(--muted)}
#explorer.country-explorer .country-destinations{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px}
#explorer.country-explorer .country-destination{position:relative;display:block;padding:0 0 14px;background:#fff;border-radius:16px;overflow:hidden;text-align:start;min-width:0;border:1px solid transparent}
#explorer.country-explorer .country-destination.selected{border-color:var(--accent)}
#explorer.country-explorer .country-destination>img,#explorer.country-explorer .country-destination-placeholder{width:100%;height:116px;object-fit:cover}
#explorer.country-explorer .country-destination-placeholder{display:flex;align-items:center;justify-content:center;background:#eaf1f9;color:#8ea5c1}
#explorer.country-explorer .country-destination>span:not(.country-destination-placeholder){display:flex;flex-direction:column;gap:6px;padding:13px 12px 0}
#explorer.country-explorer .country-destination strong{font-size:16px;line-height:1.2;overflow-wrap:anywhere}
#explorer.country-explorer .country-destination small{font-size:10px;color:var(--muted)}
#explorer.country-explorer .country-destination>.icon{display:none}
#explorer.country-explorer .map-options{top:16px;inset-inline-start:calc(var(--panel-width) + 20px)}
@media(max-width:900px){
 #explorer.country-explorer .browse-sheet{width:100%;max-width:none;top:0;bottom:var(--dock-height);padding-top:0}
 #explorer.country-explorer[data-sheet="peek"] .browse-sheet{top:calc(100% - var(--dock-height));height:0;visibility:hidden}
 #explorer.country-explorer .map-options{inset-inline-start:auto;inset-inline-end:16px;top:calc(16px + var(--safe-top))}
 #explorer.country-explorer:not([data-sheet="peek"]) .map-options{visibility:hidden;pointer-events:none}
}
#explorer .site-navigation .wide-row>strong{flex:1;text-align:start}

/* Bottom navigation belongs to the four root sections only. */
#explorer[data-navigation="detail"]{--dock-height:0px}
#explorer .bottom-dock[hidden]{display:none!important}
#explorer.destination-explorer[data-navigation="detail"] .workspace-scroll{padding-bottom:calc(24px + var(--safe-bottom))}
#explorer.destination-explorer[data-navigation="detail"] .detail-actions{padding-bottom:calc(14px + var(--safe-bottom))}
#explorer.destination-explorer .map-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
#explorer.destination-explorer .map-card-actions>button{min-width:0;padding:10px;font-size:14px}
#explorer.destination-explorer .map-card-actions .quick-trip-button{margin:0}
#explorer.destination-explorer .map-card-place strong{margin:0}
#explorer.country-explorer .country-page-actions{display:flex;gap:10px;margin:20px 0}
#explorer.country-explorer .country-page-actions>button{flex:1;min-width:0;font-size:14px}
#explorer.country-explorer .country-map-back{position:absolute;z-index:8;top:calc(16px + var(--safe-top));inset-inline-start:16px;min-height:44px;background:var(--panel-surface)}
#explorer.country-explorer .country-map-back[hidden]{display:none}
#explorer.country-explorer #country-scroll{padding-bottom:calc(24px + var(--safe-bottom))}
@media(max-width:900px){
 #explorer.destination-explorer[data-navigation="detail"] .map-return{bottom:calc(12px + var(--safe-bottom))}
}

/* Approved balanced list: photograph and facts, followed by one action row. */
#explorer .place-list .row-card{padding:12px;border-radius:22px}
#explorer .place-list .card-open{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;align-items:center}
#explorer .place-list .place-poster{width:104px;height:112px;aspect-ratio:auto;border-radius:14px;align-self:start}
#explorer .place-list .row-copy{padding:0;gap:0}
#explorer .place-list .row-title>strong{font-size:18px;line-height:1.3;letter-spacing:-.2px}
#explorer .place-list .row-category{display:flex;align-items:flex-start;gap:5px;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere}
#explorer .place-list .row-category .category-symbol{width:17px;height:17px;min-width:17px;font-size:15px;background:none;border-radius:0;flex:0 0 17px}
#explorer .place-list .row-card .card-facts{margin-top:7px;gap:5px}
#explorer .place-list .card-facts .place-rating{font-size:14px;line-height:1.4;flex-wrap:wrap}
#explorer .place-list .card-facts .rating-count{font-size:12px}
#explorer .place-list .card-food-facts,#explorer .place-list .card-hours{font-size:12px;line-height:1.4}
#explorer .place-list .card-hotel-price>strong{font-size:16px;line-height:1.3}
#explorer .place-list .row-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:7px;color:var(--muted);font-size:13px;line-height:1.4}
#explorer .place-list .card-place-actions{gap:8px;margin-top:12px}
#explorer .place-list .card-place-actions>button{--icon-control-size:44px;min-height:44px}
#explorer .place-list .card-place-actions .quick-trip-button{padding:10px 12px;font-size:14px;gap:6px}
#explorer .place-list .card-place-actions .save-button{position:static;inset:auto;--icon-control-bg:#edf0f4;--icon-control-hover:#e1e6ed;backdrop-filter:none;-webkit-backdrop-filter:none}
@media(max-width:360px){
 #explorer .place-list .card-open{grid-template-columns:88px minmax(0,1fr);gap:10px}
 #explorer .place-list .place-poster{width:88px;height:108px}
 #explorer .place-list .row-title>strong{font-size:17px}
 #explorer .place-list .card-place-actions .quick-trip-button{padding-inline:8px}
}

/* Descriptive page headings can wrap without squeezing the Back action. */
#explorer.destination-explorer .workspace-heading{align-items:flex-start}
#explorer.destination-explorer .workspace-heading h1{flex:1;min-width:0;margin:0;padding:5px 0;font-size:28px;line-height:1.2;letter-spacing:-.6px;font-weight:700;overflow-wrap:anywhere;outline-offset:5px}
#explorer.destination-explorer .workspace-heading>.icon-button{flex-shrink:0}
#explorer.destination-explorer .detail-content .detail-summary h1{margin:0;font-size:32px;font-weight:650;line-height:1.16;letter-spacing:-.7px;overflow-wrap:anywhere}
@media(max-width:900px){
 #explorer.destination-explorer .workspace-heading h1{font-size:26px;padding-top:6px}
 #explorer.destination-explorer .detail-content .detail-summary h1{font-size:29px}
}

/* Places first: compact conditions, then places, itinerary and useful tools. */
#explorer .guide-conditions{display:grid;grid-template-columns:minmax(0,1fr) minmax(88px,34%);align-items:center;background:#fff;border:1px solid #e8ebef;border-radius:18px;margin:0 0 26px;min-height:76px;overflow:hidden}
#explorer .guide-weather{display:flex;align-items:center;gap:10px;min-width:0;min-height:74px;padding:12px 14px;background:none;text-align:start;color:var(--ink)}
#explorer .guide-weather>span{flex:1;min-width:0}
#explorer .guide-weather>.icon{width:21px;height:21px;flex:0 0 21px;color:#dfa020}
#explorer .guide-weather>.icon:last-child{width:15px;height:15px;flex-basis:15px;color:var(--accent)}
#explorer .guide-weather strong{font-size:22px;line-height:1.15;font-weight:600}
#explorer .guide-conditions small{display:block;font-size:12px;line-height:1.3;color:#6a7789;margin-top:3px;overflow-wrap:anywhere}
#explorer .guide-clock{min-width:0;padding:0 14px;border-inline-start:1px solid #e8ebef;text-align:end}
#explorer .guide-clock strong{display:block;font-size:17px;line-height:1.2;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
#explorer.destination-explorer #guide-popular h2{font-size:21px;line-height:1.25;letter-spacing:-.4px}
#explorer.destination-explorer #guide-popular .section-line{gap:12px;margin-bottom:14px;align-items:center}
#explorer.destination-explorer #guide-popular .group-all{flex-shrink:0}
#explorer.destination-explorer #guide-popular .place-group{margin-bottom:24px}
#explorer.destination-explorer #guide-popular .place-rail{gap:12px}
#explorer.destination-explorer #guide-popular .group-card{flex:0 0 calc((100% - 12px)/2);width:calc((100% - 12px)/2)}
#explorer.destination-explorer #guide-popular .group-card-cover{aspect-ratio:1.55;border-radius:16px}
#explorer .guide-route-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;width:100%;padding:18px;margin:0 0 20px;text-align:start;background:#fff;color:var(--ink);border:1px solid #e8ebef;border-radius:20px}
#explorer .guide-route-copy{display:flex;flex-direction:column;gap:7px;min-width:0}
#explorer .guide-route-copy>small{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--accent);text-transform:uppercase}
#explorer .guide-route-copy>strong{font-size:20px;line-height:1.2;letter-spacing:-.4px;overflow-wrap:anywhere}
#explorer .guide-route-copy>span{font-size:13px;color:#6a7789}
#explorer .guide-route-card>img{width:82px;height:96px;object-fit:cover;border-radius:14px}
#explorer .guide-route-link{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e8ebef;padding-top:13px;color:var(--accent);font-size:14px;font-weight:600}
#explorer .guide-route-link>.icon{width:18px;height:18px;flex:none}
#explorer.destination-explorer .guide-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}
#explorer.destination-explorer .guide-tools>button{display:flex;align-items:flex-start;gap:9px;width:100%;min-width:0;min-height:92px;margin:0;padding:15px 12px;background:#fff;color:var(--ink);text-align:start;border:1px solid #e8ebef;border-radius:18px}
#explorer.destination-explorer .guide-tools>button>span:not(.country-flag){flex:1;min-width:0}
#explorer.destination-explorer .guide-tools strong{display:block;font-size:14px;line-height:1.3;overflow-wrap:anywhere}
#explorer.destination-explorer .guide-tools small{display:block;margin-top:5px;font-size:12px;line-height:1.4;color:#6a7789;overflow-wrap:anywhere}
#explorer.destination-explorer .guide-tools .country-flag{font-size:20px;line-height:1.2;flex:none}
#explorer.destination-explorer .guide-tools .icon{width:20px;height:20px;color:var(--accent);flex:none}
#explorer.destination-explorer .guide-tools .guide-country-card>.icon{display:none}
@media(min-width:901px){#explorer.destination-explorer .destination-panorama{height:220px}}
@media(max-width:360px){
 #explorer .guide-weather{gap:7px;padding-inline:10px}
 #explorer .guide-clock{padding-inline:10px}
 #explorer .guide-conditions small{font-size:11px}
 #explorer .guide-clock strong{font-size:15px}
 #explorer .guide-route-card{padding:15px;gap:12px}
 #explorer .guide-route-copy>strong{font-size:18px}
 #explorer .guide-route-card>img{width:64px;height:82px}
 #explorer.destination-explorer .guide-tools{gap:10px}
 #explorer.destination-explorer .guide-tools>button{flex-direction:column;padding:12px}
}
#explorer .guide-practical{display:grid;gap:1px;border-radius:18px;background:#fff;overflow:hidden;border:1px solid #e8ebef;margin-top:24px}
#explorer .guide-practical>:is(button,a){display:flex;align-items:center;gap:12px;padding:15px 16px;background:#fff;text-align:start;text-decoration:none;color:var(--ink);min-width:0}
#explorer .guide-practical>:is(button,a)+*{border-top:1px solid #eef0f4}
#explorer .guide-practical>*>span{flex:1;min-width:0}
#explorer .guide-practical small{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
#explorer .guide-practical strong{font-size:14px;overflow-wrap:anywhere}
#explorer .guide-practical .icon{width:20px;height:20px;flex:0 0 20px;color:#8294aa}
#explorer.destination-explorer #overview .hero-actions{margin-bottom:16px}
#explorer .place-list .row-card{border:1px solid #e9edf2;box-shadow:0 2px 8px #223c5503}
#explorer .place-list .card-open{align-items:start}

/* H1 sizing is chosen from Unicode text length; wrapping remains unrestricted. */
#explorer.destination-explorer .workspace-heading h1[data-title-size="medium"]{font-size:25px;letter-spacing:-.45px}
#explorer.destination-explorer .workspace-heading h1[data-title-size="long"]{font-size:23px;letter-spacing:-.3px}
#explorer.destination-explorer .detail-content .detail-summary h1[data-title-size="medium"]{font-size:29px}
#explorer.destination-explorer .detail-content .detail-summary h1[data-title-size="long"]{font-size:26px}
#explorer.destination-explorer .destination-heading h1[data-title-size="medium"]{font-size:30px}
#explorer.destination-explorer .destination-heading h1[data-title-size="long"]{font-size:26px}
#explorer .places-map-toggle{position:absolute;z-index:17;bottom:calc(var(--dock-height) + 16px);inset-inline-start:calc(var(--panel-width) / 2);transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:11px 19px;min-height:38px;max-width:calc(100% - 32px);border-radius:24px;background:#222;color:#fff;box-shadow:0 4px 16px #172d4b30;font-size:14px;font-weight:600;white-space:nowrap}
#explorer .places-map-toggle[hidden]{display:none}
#explorer .places-map-toggle .icon{width:16px;height:16px}
[dir="rtl"] #explorer .places-map-toggle{transform:translateX(50%)}
#explorer[data-screen="places"] #browse-scroll{padding-bottom:88px}
@media(max-width:900px){
 #explorer.destination-explorer{--guide-strip:calc(var(--header-height) + 24px)}
 /* A constant scroll viewport prevents scroll anchoring and camera jumps as chrome moves. */
 #explorer.destination-explorer[data-screen="guide"][data-sheet] .browse-sheet{top:0!important;bottom:auto;height:100%;max-height:none;transform:translate3d(0,var(--guide-shift,var(--guide-strip)),0);will-change:transform;z-index:22;border-radius:var(--guide-radius,24px) var(--guide-radius,24px) 0 0}
 #explorer.destination-explorer[data-screen="guide"] .bottom-dock{z-index:24}
 #explorer.destination-explorer[data-screen="guide"][data-sheet="low"] .browse-sheet{--guide-shift:calc(100% - var(--dock-height))}
 #explorer.destination-explorer[data-screen="guide"] .browse-scroll{padding-bottom:calc(var(--dock-height) + var(--guide-strip) + 24px)}
 #explorer.destination-explorer[data-navigation="primary"][data-section-header="true"] .browse-sheet{bottom:0}
 #explorer.destination-explorer[data-navigation="primary"][data-section-header="true"] .browse-scroll{padding-bottom:calc(var(--dock-height) + 88px)}
 #explorer.destination-explorer[data-navigation="primary"] .workspace-scroll{padding-bottom:calc(var(--dock-height) + 24px)}
 #explorer.destination-explorer .bottom-dock{transform:translate3d(0,0,0);will-change:transform}
 #explorer.destination-explorer.dock-hidden .bottom-dock{transform:translate3d(0,100%,0);pointer-events:none}
 #explorer.destination-explorer .places-map-toggle{inset-inline-start:50%}
 #explorer.destination-explorer.dock-hidden .places-map-toggle{bottom:calc(16px + var(--safe-bottom))}
 #explorer.destination-explorer .workspace-heading h1[data-title-size="medium"]{font-size:23px}
 #explorer.destination-explorer .workspace-heading h1[data-title-size="long"]{font-size:21px}
 #explorer.destination-explorer .detail-content .detail-summary h1[data-title-size="medium"]{font-size:26px}
 #explorer.destination-explorer .detail-content .detail-summary h1[data-title-size="long"]{font-size:24px}
}
@media(max-width:900px) and (prefers-reduced-motion:no-preference){
 #explorer.destination-explorer[data-screen="guide"] .browse-sheet{transition:none}
 #explorer.destination-explorer[data-screen="guide"].sheet-animating .browse-sheet{transition:transform .32s cubic-bezier(.2,.8,.2,1)}
}


@media(max-width:360px){#explorer .place-list .row-category{font-size:11px}}

@media(min-width:901px){
 #explorer.destination-explorer[data-general-map="true"] .browse-sheet{visibility:hidden;pointer-events:none}
 #explorer.destination-explorer[data-general-map="true"] .topbar::before{display:none}
 #explorer.destination-explorer[data-general-map="true"] .map-options{margin-inline-start:0}
 #explorer.destination-explorer[data-general-map="true"] .places-map-toggle{inset-inline-start:50%}
}

#explorer .place-list .row-category>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}

/* Lighter navigation; transform keeps the scroll area and map stationary. */
html,body{background:var(--panel-surface,#f7f8fa);color-scheme:light}
/* Destination selection replaces the breadcrumb; the country also has a content card. */
#explorer.destination-explorer .destination-title-button{display:flex;align-items:center;gap:12px;padding:0;min-height:44px;text-align:start;font:inherit;letter-spacing:inherit;max-width:100%}
#explorer.destination-explorer .destination-title-button>span:first-child{min-width:0;overflow-wrap:anywhere}
#explorer.destination-explorer .destination-chevron{width:38px;height:38px;flex:none;display:grid;place-items:center;background:#e9edf3;color:#727e8f;border-radius:12px}
#explorer.destination-explorer .destination-chevron .icon{width:20px;height:20px}
#explorer.destination-explorer .destination-title-button[aria-expanded="true"] .destination-chevron .icon{transform:rotate(180deg)}
.destination-options .picker-country{display:flex;align-items:center;gap:12px;padding:10px 12px;min-height:64px;border-radius:12px}
.destination-options .picker-country>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
.destination-options .picker-country strong{font-size:16px;font-weight:600}
.destination-options .picker-country small{font-size:12px;color:var(--muted)}
.destination-options .country-flag{font-size:24px;line-height:1;flex:none}
.destination-options .picker-label{padding:12px 0 4px;margin:6px 12px;border-top:1px solid #e8ebef;color:var(--muted);font-size:12px}
.destination-options .picker-destination{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:12px;min-height:46px;font-size:15px;text-align:start}
.destination-options .picker-destination[aria-current="page"]{background:#e8f2ff;color:var(--accent);font-weight:600}
.destination-options .icon{width:18px;height:18px;flex:none}
#explorer.destination-explorer .guide-country-card{width:100%;text-align:start;display:flex;align-items:center;gap:12px;margin:0 0 28px;padding:18px;background:#fff;border:1px solid #e8ebef;border-radius:20px;min-height:82px}
#explorer.destination-explorer .guide-country-card .country-flag{font-size:27px;flex:none}
#explorer.destination-explorer .guide-country-card>span:nth-child(2){flex:1;min-width:0}
#explorer.destination-explorer .guide-country-card strong{display:block;font-size:16px;font-weight:600;line-height:1.3}
#explorer.destination-explorer .guide-country-card small{display:block;color:var(--muted);font-size:13px;line-height:1.4;margin-top:5px}
#explorer.destination-explorer .guide-country-card>.icon{width:18px;height:18px;color:#8292a7;flex:none}
[dir="rtl"] .destination-options .picker-country>.icon,[dir="rtl"] #explorer.destination-explorer .guide-country-card>.icon{transform:scaleX(-1)}
@media(hover:hover){.destination-options a:hover{background:#f2f6fb}#explorer.destination-explorer .guide-country-card:hover{border-color:#cfddec}}
@media(prefers-reduced-motion:no-preference){#explorer.destination-explorer .destination-chevron .icon{transition:transform .18s ease}}
#explorer.destination-explorer .bottom-dock{transform:translate3d(0,0,0);will-change:transform}
#explorer.destination-explorer.dock-hidden .bottom-dock{transform:translate3d(0,calc(100% + 1px),0);pointer-events:none}
#explorer.destination-explorer.dock-hidden .places-map-toggle{bottom:calc(16px + var(--safe-bottom))}
#explorer .places-map-toggle{line-height:16px;box-shadow:none}
#explorer .places-map-toggle::before{content:"";position:absolute;inset:-3px;border-radius:inherit}
@media(max-width:900px){
 #explorer.destination-explorer[data-navigation="primary"]{--dock-height:calc(56px + var(--safe-bottom))}
 #explorer.destination-explorer .bottom-dock{padding:3px calc(8px + var(--safe-right)) calc(3px + var(--safe-bottom)) calc(8px + var(--safe-left));border-top:1px solid #e7eaee;gap:2px}
 #explorer.destination-explorer .bottom-dock>button{min-height:49px;padding:4px 0;gap:4px;font-size:10px;line-height:12px;font-weight:400;letter-spacing:0;color:#717984;border-radius:0}
 #explorer.destination-explorer .bottom-dock>button.active{font-weight:500;color:var(--accent)}
 #explorer.destination-explorer .bottom-dock .icon{width:20px;height:20px;stroke-width:1.55}
}
@media(max-width:360px){#explorer.destination-explorer .bottom-dock>button{font-size:9px}}
@media(prefers-reduced-motion:no-preference){
 #explorer.destination-explorer .bottom-dock{transition:transform .34s cubic-bezier(.4,0,.2,1)}
 #explorer.destination-explorer .places-map-toggle{transition:bottom .34s cubic-bezier(.4,0,.2,1)}
}

#utility-dialog[data-kind="destinations"] .dialog-content{padding:8px 16px 20px}
#utility-dialog[data-kind="destinations"] .picker-country{background:#fff;border:1px solid #e8ebef;border-radius:18px;margin-bottom:12px}
#utility-dialog[data-kind="destinations"] .picker-destination{min-height:50px}

/* Cupertino owns the outer transform. The existing sheet remains a flex scroll container. */
@media(max-width:900px){
 #explorer.destination-explorer[data-guide-pane] .wikiway-guide-pane .pane{top:0;inset-inline:0;width:100%;max-width:none;margin:0;padding:0;background:transparent;box-shadow:none;border-radius:0;z-index:22;-webkit-user-select:auto}
 #explorer.destination-explorer[data-guide-pane] .wikiway-guide-pane #browse-sheet{position:relative;inset:0!important;width:100%;height:100%;display:flex!important;transform:none!important;transition:none;will-change:auto;border:0}
 #explorer.destination-explorer[data-guide-pane] #browse-scroll{height:auto!important;padding-bottom:calc(var(--dock-height) + 24px)}
 #explorer.destination-explorer[data-guide-pane="loading"] .wikiway-guide-pane .pane{transform:translate3d(0,var(--guide-start),0)!important}
}


/* Source: popup-pane.css */
/* Only the selected place preview uses this surface; other windows keep their previous layout. */
#map-return .popup-surface{display:contents}
#map-return .popup-grip{display:none}
#map-return:not([data-popup-pane]) :is(.dialog-content,.popup-body){display:contents}
@media(max-width:900px){
 #explorer.destination-explorer #map-return[data-popup-pane]{position:fixed;inset:0;width:100%;max-width:none;height:100%;padding:0;margin:0;border-radius:0;background:transparent;box-shadow:none;pointer-events:none;z-index:24}
 #explorer #map-return[data-popup-pane] .pane{top:0;inset-inline:0;width:100%;max-width:none;margin:0;padding:0;border-radius:24px 24px 0 0;background:var(--canvas,#f7f8fa);box-shadow:0 -8px 32px #18324d26;overflow:hidden;pointer-events:auto;user-select:auto}
 #map-return[data-popup-pane] .popup-surface{display:flex!important;flex-direction:column;height:100%;min-height:0;padding-bottom:var(--safe-bottom);box-sizing:border-box}
 #explorer #map-return[data-popup-pane] .dialog-content{height:auto!important;min-height:0;flex:1 1 auto;padding:0 16px 16px;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y}
 /* Match the guide handle: a 36×4 px bar, 10 px below the rounded top edge. */
 #map-return[data-popup-pane] .popup-grip{display:flex;justify-content:center;align-items:flex-start;width:100%;height:28px;min-height:28px;flex:0 0 28px;padding:10px 0 0;touch-action:none}
 #map-return[data-popup-pane] .popup-grip>span{width:36px;height:4px;border-radius:5px;background:#a8b2be;pointer-events:none}
}


/* Source: approved-interface.css */
/* Approved 26 October 2026: a wider reading column with the established controls.
   Keep sheet geometry and gestures in guide-pane.js; this layer is presentation only. */
:root{--panel-surface:#f7f8fa;--action-radius:24px}
@media(min-width:901px){
 :root{--panel-width:clamp(520px,42vw,640px);--sheet-gutter:28px;--desktop-cover-height:clamp(300px,42dvh,360px)}
 #explorer.country-explorer .browse-sheet{max-width:none}
 #explorer.destination-explorer[data-screen="guide"] .browse-sheet{top:0}
 #explorer.destination-explorer[data-screen="guide"] .destination-identity{visibility:hidden;pointer-events:none}
 #explorer.destination-explorer[data-screen="guide"] .topbar::before,
 #explorer.destination-explorer[data-screen="guide"].guide-scrolled:not(.fullscreen-map) .topbar::before{display:none}
 #explorer.destination-explorer[data-screen="guide"] .browse-scroll{scroll-padding-top:20px}
 #explorer.destination-explorer .detail-hero,#explorer.destination-explorer .detail-hero:not(:has(img)){height:var(--desktop-cover-height)}
 #explorer.destination-explorer[data-screen="guide"] .guide-cover-toolbar:not(:empty){display:flex;position:relative;flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:calc(16px + var(--safe-top)) 20px 16px;background:var(--panel-surface);border-bottom:1px solid transparent;z-index:5;transition:border-color .18s ease}
 #explorer.destination-explorer[data-screen="guide"] .guide-cover-toolbar.is-scrolled:not(:empty){border-bottom-color:#d8dee7}
 #explorer .guide-cover-toolbar>div{display:flex;gap:10px}
 #explorer .guide-cover-toolbar .icon-button{--icon-control-bg:#edf1f6;--icon-control-hover:#e5ebf2}
 #explorer .guide-toolbar-brand{align-self:center;margin-inline-start:6px;font-size:24px;font-weight:750;line-height:1;letter-spacing:-1px;color:var(--accent);text-decoration:none;white-space:nowrap;direction:ltr;unicode-bidi:isolate}
 #explorer.destination-explorer .destination-heading>[data-action="share-destination"]{display:none}
 #explorer.destination-explorer #overview .guide-map-button{display:none}
 #explorer.destination-explorer #overview .hero-actions{grid-template-columns:minmax(0,1fr)}
 #explorer.destination-explorer .destination-welcome{position:static;margin:0;padding:0;border-radius:0;background:transparent}
 #explorer.destination-explorer .destination-heading{margin-bottom:14px}
 #explorer.destination-explorer .destination-mosaic{display:grid;position:relative;grid-template-columns:1.65fr 1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:5px;width:calc(100% + var(--sheet-gutter) * 2);height:clamp(220px,18vw,260px);margin:16px calc(-1 * var(--sheet-gutter)) 28px;border-radius:0;overflow:hidden;background:#dbe5ec}
 #explorer .destination-mosaic>.destination-cover-photo{min-width:0;min-height:0;overflow:hidden}
 #explorer .destination-mosaic>.destination-cover-photo:first-child{grid-row:span 2}
 #explorer .destination-mosaic[data-photo-layout="1"]{grid-template-columns:1fr}
 #explorer .destination-mosaic[data-photo-layout="2"]>.destination-cover-photo:nth-child(2){grid-row:span 2}
 #explorer.destination-explorer .destination-mosaic img{display:block;object-position:center 54%}
 #explorer.destination-explorer .guide-country-label{display:inline-block;padding:0;margin:0 0 7px;border:0;background:none;color:#7a8692;font-size:13px;line-height:1.4;text-align:start;cursor:pointer}
 #explorer.destination-explorer .destination-heading h1{font-size:40px;line-height:1.14}
 #explorer .place-list .row-card{padding:16px;border-radius:24px}
 #explorer .place-list .card-open{grid-template-columns:132px minmax(0,1fr);gap:18px}
 #explorer .place-list .place-poster{width:132px;height:138px;border-radius:18px}
 #explorer .place-list .row-title>strong{font-size:20px;line-height:1.25}
 #explorer .place-list .row-category{font-size:13px}
 #explorer .place-list .card-place-actions{margin-top:16px;gap:10px}
 #explorer .place-list .card-place-actions .quick-trip-button{border-radius:24px}
 #explorer .place-rail .group-card{flex-basis:calc((100% - 28px)/3);width:calc((100% - 28px)/3)}
 #explorer .bottom-dock>button{font-size:11px;font-weight:500;gap:6px}
 #explorer .bottom-dock .icon{width:22px;height:22px}
 #explorer .map-choice-panel{max-width:calc(100vw - var(--panel-width) - 40px)}
}
#explorer .bottom-dock>button:hover,#explorer .bottom-dock>button.active:hover{background:transparent}
#explorer.destination-explorer .destination-intro{line-height:1.65;color:#5e6979}
#explorer.destination-explorer .destination-chevron{width:38px;height:38px;border-radius:13px;background:#e9edf3}
#explorer.destination-explorer .destination-chevron .icon{width:17px;height:17px}
#explorer .section-line h2,#explorer .intro-copy h2{font-size:24px;line-height:1.25;letter-spacing:-.5px}
#explorer.destination-explorer #guide-popular .group-card-cover{aspect-ratio:1.45;border-radius:20px}
#explorer .place-rail .group-card-copy>strong{font-size:16px;line-height:1.35}
#explorer .place-list{gap:18px}
#explorer .place-list .row-card{box-shadow:none;border-color:#e9edf2}

/* Practical cards use the current API data and the existing actions. */
#explorer .guide-widgets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 28px}
#explorer .guide-widgets>button{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:0;min-height:132px;padding:20px;text-align:start;border:1px solid #e9edf2;border-radius:22px;background:#fff;color:var(--ink)}
#explorer .guide-widget-top{display:flex;align-items:center;gap:12px;min-width:0}
#explorer .guide-widget-top>.icon{width:26px;height:26px;flex:0 0 26px;color:var(--accent)}
#explorer .guide-weather-widget .guide-widget-top>.icon{color:#e8a026}
#explorer .guide-widget-top>strong{font-size:18px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}
#explorer .guide-weather-widget .guide-widget-top>strong{font-size:28px;letter-spacing:-.7px}
#explorer .guide-widget-caption{font-size:13px;line-height:1.45;color:#6e7989;overflow-wrap:anywhere}
#explorer .guide-widget-foot{font-size:11px;line-height:1.45;color:#788494;font-variant-numeric:tabular-nums}
#explorer .guide-route-card{display:block;padding:24px;background:#eaf3ff;border:1px solid #e1edfc;border-radius:24px;margin-bottom:20px}
#explorer .guide-route-copy>strong{font-size:25px;line-height:1.22;max-width:360px}
#explorer .guide-route-card>img{display:none}
#explorer .guide-route-link{display:inline-flex;justify-content:center;gap:8px;padding:11px 18px;margin-top:18px;border:0;border-radius:24px;background:#fff;font-size:14px}
#explorer .guide-route-link>.icon{display:none}
#explorer.destination-explorer .guide-country-card{border-color:#e9edf2;border-radius:22px;padding:20px;min-height:88px;margin-bottom:24px}
#explorer .booking-service,#explorer .template-card,#explorer .trip-card{border-color:#e9edf2;border-radius:24px;box-shadow:none}

/* Retain the existing search, menu and account flows, with quieter form surfaces. */
#explorer .search-row input,#explorer .site-search-field input{border-radius:18px;background:#eceff3}
:is(#explorer,#utility-dialog,#country-dialog) .form-field :is(input,select,textarea){border:1px solid #e6eaf0;border-radius:16px;background:#f1f3f6;min-height:48px;padding:12px 14px}
:is(#utility-dialog,#country-dialog)::backdrop{background:#14223850;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.explorer .utility-dialog.personal-dialog{background:#fff;border-radius:28px;box-shadow:0 24px 80px #15213926}
.personal-dialog .dialog-heading,.personal-dialog .dialog-actions{background:#fff}
.personal-dialog .dialog-content{padding:24px}
.personal-dialog .account-stats>button{border-radius:18px;background:#f1f4f8}
.personal-dialog .grouped-rows{border:1px solid #e9edf2;border-radius:20px;overflow:hidden}
/* Navigation enters from the left; personal dialogs keep their existing position. */
.explorer .utility-dialog.side-drawer{inset:0 auto 0 0;margin:0;width:var(--panel-width);max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;background:#fff;box-shadow:12px 0 50px #15213926;animation:none}
.utility-dialog.side-drawer .dialog-heading{padding:20px 24px;background:#fff}
.utility-dialog.side-drawer .dialog-heading h2{font-size:28px}
.utility-dialog.side-drawer .dialog-content{padding:4px 24px 24px}
.menu-wordmark{display:inline-block;direction:ltr;unicode-bidi:isolate;color:var(--accent);font-weight:700;letter-spacing:-1px;text-decoration:none}
#explorer .side-drawer .menu-destination{padding:14px;border-radius:18px;margin-top:8px}
#explorer .side-drawer .menu-shortcuts{gap:8px;margin-top:16px}
#explorer .side-drawer .menu-shortcuts>:is(button,a){min-height:48px;padding:12px;border-radius:14px;font-size:14px}
#explorer .side-drawer .site-navigation h3{margin:24px 0 8px;font-size:13px;color:var(--muted)}
#explorer .side-drawer .wide-row{min-height:54px;padding:13px 0}
#explorer .side-drawer .wide-row>strong{text-align:start}
#explorer .side-drawer .wide-row>.menu-flag{flex:0 0 24px;width:24px}
#explorer .side-drawer .menu-personal{margin-top:12px;padding-top:0;border-top:0}
#explorer .side-drawer .grouped-rows .wide-row:last-child,#explorer .side-drawer .menu-personal .wide-row:last-child{border-bottom:0}
[dir="rtl"] .side-drawer :is(.menu-destination,.wide-row)>.icon:last-child{transform:rotate(180deg)}
.mouse-rail.is-scrollable{cursor:grab}
.mouse-rail.dragging{cursor:grabbing}
.guide-cover-toolbar{display:none}
.guide-country-label{display:none}
.template-place{padding:3px 0;text-align:start;color:var(--accent);font:inherit}
.template-place:hover{text-decoration:underline}
/* A selected place sits beside its source on desktops. Direct visits
   keep the original single column; JS decides this from in-document history. */
@media(min-width:1200px){
 #explorer.destination-explorer[data-place-presentation="adjacent"]{--place-panel-width:var(--panel-width);--place-panel-gap:16px;--place-panel-edge:calc(var(--panel-width) + var(--place-panel-width) + var(--place-panel-gap))}
 #explorer.destination-explorer[data-place-presentation="adjacent"] .browse-sheet{visibility:visible;pointer-events:auto;top:0}
 #explorer.destination-explorer[data-place-presentation="adjacent"] :is(.detail-sheet,.secondary-panel){inset-inline-start:calc(var(--panel-width) + var(--place-panel-gap));width:var(--place-panel-width);top:16px;bottom:16px;border:1px solid #e3e6eb;border-radius:24px;box-shadow:0 8px 32px #15213918}
 #explorer.destination-explorer[data-place-presentation="adjacent"] .secondary-panel{position:absolute;z-index:12;background:var(--canvas);overflow:hidden}
 #explorer.destination-explorer[data-place-presentation="adjacent"] .secondary-panel .workspace-heading{flex-direction:row-reverse}
 #explorer.destination-explorer[data-place-presentation="adjacent"] .detail-toolbar .detail-back{margin-inline-start:auto}
 #explorer.destination-explorer[data-place-presentation="adjacent"] .detail-actions{padding-bottom:14px;border-top:1px solid #d8dee7}
 #explorer.destination-explorer[data-place-presentation="adjacent"] .map-options{margin-inline-start:calc(var(--place-panel-edge) - 104px)}
 #explorer.destination-explorer[data-place-presentation="adjacent"] .map-choice-panel{inset-inline-start:min(calc(var(--place-panel-edge) + var(--map-gutter)),calc(100% - 366px - var(--map-gutter)));max-width:calc(100vw - var(--map-gutter) * 2)}
 #explorer.destination-explorer[data-place-presentation="adjacent"] .map-options:has(.layer-choice-button[aria-expanded="true"]) .map-choice-panel{inset-inline-start:auto}
 #explorer.destination-explorer[data-place-presentation="adjacent"] .row-card.place-selected{border-color:#73adf2;background:#eef5ff}
 #explorer.destination-explorer[data-place-presentation="adjacent"] .group-card.place-selected .group-card-cover{box-shadow:inset 0 0 0 3px #007aff;outline:3px solid #007aff;outline-offset:-3px}
 #explorer.destination-explorer[data-place-presentation="adjacent"] .group-card.place-selected .group-card-copy{color:var(--accent)}
}
@media(min-width:901px){#explorer #places-map-toggle{display:none}}
@media(min-width:1200px) and (max-width:1559px){
 #explorer.destination-explorer[data-place-presentation="adjacent"] .type-choice-button{width:44px;padding:0;justify-content:center}
 #explorer.destination-explorer[data-place-presentation="adjacent"] .type-choice-button>:not(.category-symbol){display:none}
}
#explorer .guide-more{margin:0 0 24px}
#explorer .guide-reading{margin:0}
#explorer .guide-reading:empty{display:none}
#explorer .guide-reading .article-reader{margin:0}
#explorer .guide-reading .article-lead{margin:0 0 20px;font-size:15px;line-height:1.65;color:#5e6979}
@media(hover:hover){
 #explorer .guide-widgets>button:hover,#explorer.destination-explorer .guide-country-card:hover{border-color:#cfddec;background:#fbfdff}
}
@media(max-width:900px){
 #explorer .guide-widgets>button{padding:16px;min-height:136px;border-radius:20px}
 #explorer .guide-widget-top{flex-direction:column;align-items:flex-start;gap:10px}
 #explorer .guide-widget-top>strong{font-size:16px}
 #explorer .guide-weather-widget .guide-widget-top>strong{font-size:26px;line-height:1}
 #explorer .guide-widget-caption{font-size:12px}
 #explorer .guide-widget-foot{font-size:10px}
 #explorer .guide-route-card{padding:22px}
 #explorer .guide-route-copy>strong{font-size:23px}
 #explorer .section-line h2,#explorer .intro-copy h2{font-size:22px}
 .explorer .utility-dialog.side-drawer{inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;border-radius:0}
 .utility-dialog.side-drawer .dialog-heading{padding:calc(16px + var(--safe-top)) 20px 16px}
 .utility-dialog.side-drawer .dialog-content{padding:0 20px calc(24px + var(--safe-bottom))}
}
@media(prefers-reduced-motion:no-preference){
 .explorer .utility-dialog.side-drawer{animation:drawer-enter .26s cubic-bezier(.22,1,.36,1)}
 #explorer .guide-widgets>button,#explorer.destination-explorer .guide-country-card{transition:background .16s ease,border-color .16s ease}
}

/* Operational notices remain visible above the expanded description. */
.place-notice{margin:16px 0;padding:14px 16px;border-radius:16px;background:#fff4d7;color:#654b1c;font-size:15px;line-height:1.55}

.detail-content>.article-reader{margin:20px var(--sheet-gutter)}
.detail-content>.place-notice{margin-inline:var(--sheet-gutter)}

/* Place article card: title and teaser are independent localized CMS fields. */
.article-reader.place-reading-card{border:1px solid #e0e6ee;border-radius:20px;background:#fff;overflow:hidden}
.place-reading-card>summary{display:flex;align-items:center;gap:14px;min-height:76px;padding:20px;border:0;color:var(--ink);text-align:start}
.place-reading-card .reading-card-icon{display:grid;place-items:center;align-self:flex-start;flex:none;width:40px;height:40px;border-radius:12px;background:#edf4ff;color:var(--accent)}
.place-reading-card .reading-card-icon>.icon{width:20px;height:20px}
.reading-card-copy{display:block;min-width:0;flex:1;overflow-wrap:anywhere}
.reading-card-copy>strong{display:block;font-size:16px;font-weight:650;line-height:1.4;letter-spacing:-.2px}
.reading-card-copy>small{display:block;color:#748193;font-size:13px;font-weight:400;line-height:1.5;margin-top:6px}
.reading-card-toggle{display:block;position:relative;flex:none;width:18px;height:18px;color:#8290a1}
.reading-card-toggle:before,.reading-card-toggle:after{content:"";position:absolute;inset-inline:3px;top:8px;height:1.7px;border-radius:2px;background:currentColor}
.reading-card-toggle:after{transform:rotate(90deg);transition:transform .2s ease,opacity .2s ease}
.place-reading-card[open] .reading-card-toggle:after{transform:rotate(0);opacity:0}
.reading-card-body{padding:0 20px 20px}
.reading-card-body:before{content:"";display:block;height:1px;background:#e8edf2;margin-bottom:20px}
.place-reading-card .article-section{padding:0;scroll-margin-top:20px}
.place-reading-card .article-section+.article-section{margin-top:24px}
.place-reading-card .article-section h3{font-size:18px;line-height:1.4;margin:0 0 10px;letter-spacing:-.25px}
.place-reading-card .article-section p{font-size:15px;line-height:1.75;color:#586576}
.place-reading-card>summary:focus-visible{outline:3px solid #8ac2ff;outline-offset:-4px;border-radius:19px}
@media(max-width:420px){
 .place-reading-card>summary{padding:17px;gap:11px}
 .place-reading-card .reading-card-icon{display:none}
 .reading-card-body{padding:0 17px 20px}
}
@media(prefers-reduced-motion:no-preference){
 @supports(interpolate-size:allow-keywords){
  .place-reading-card{interpolate-size:allow-keywords}
  .place-reading-card::details-content{block-size:0;opacity:0;overflow:hidden;transition:block-size .25s ease,opacity .2s ease,content-visibility .25s;transition-behavior:allow-discrete}
  .place-reading-card[open]::details-content{block-size:auto;opacity:1}
 }
}
@media(prefers-reduced-motion:reduce){.reading-card-toggle:after{transition:none}}

/* Original third preview variant, with only its colored glow removed.
   The rotated tail sits behind the photo frame, as in the original preview. */
#explorer .map-pin .pin-face{border-color:#fff;box-shadow:0 3px 11px #18324d40;z-index:auto;transform:none}
#explorer .map-pin .pin-face::after{width:10px;height:10px;bottom:-8px;left:50%;margin-left:-5px;transform:rotate(45deg);background:#fff;border:0;border-radius:2px;box-shadow:none;z-index:-1}
#explorer .map-pin:is(:hover,.is-previewed):not(.selected) .pin-face{border-color:#fff;box-shadow:0 0 0 2px #80baff,0 3px 12px #18324d30;transform:none}
#explorer .map-pin.selected .pin-face{border-color:#fff;box-shadow:0 0 0 2px #007aff,0 3px 11px #18324d40;z-index:auto;transform:none}
#explorer .map-pin.selected .pin-face::after{background:#007aff}
#explorer .map-pin.selected .pin-title{color:#005fc9}
#explorer .map-pin:focus-visible .pin-face{box-shadow:0 0 0 2px #007aff,0 3px 11px #18324d40;outline:none}
#explorer .map-pin:focus-visible .pin-title{text-decoration:underline;text-underline-offset:3px}

/* Override control tokens, not just width: generic controls also set min-width. */
#explorer .map-photo-card .map-photo-close{--icon-control-size:32px;--icon-control-glyph:18px;--icon-control-radius:50%;--icon-control-bg:#fffffff2;--icon-control-hover:#fff;--icon-control-ink:#344454;overflow:visible}
#explorer .map-photo-card .map-photo-close::after{content:"";position:absolute;inset:-6px;border-radius:50%}
#explorer .map-photo-card .map-photo-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#explorer .map-photo-card .map-photo-actions>button{--action-height:44px;--action-font:13px;--action-radius:12px;--action-gap:5px;height:44px;min-width:0;padding:8px;line-height:1.25;white-space:nowrap}
#explorer .map-photo-card .map-photo-actions .icon{width:16px;height:16px;flex:0 0 16px}
#explorer .map-photo-card .map-photo-actions .quick-trip-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}

/* Day preview: the trip name and action each have their own full-width row. */
#explorer.destination-explorer .map-return:has(.trip-map-card){box-sizing:border-box;padding:16px;border:1px solid #2434420d;border-radius:20px;background:#fff}
#explorer .trip-map-card{display:grid;gap:14px;min-width:0;text-align:start}
#explorer.destination-explorer .trip-map-card .map-card-back{justify-self:start;min-height:32px;margin:0;font-size:13px}
#explorer .trip-map-heading{min-width:0}
#explorer .trip-map-heading small{margin:0 0 4px;font-size:13px;line-height:1.4}
#explorer .trip-map-heading strong{font-size:20px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
#explorer .trip-map-card .trip-map-edit{--action-height:44px;--action-font:14px;--action-radius:12px;width:100%;min-width:0;padding:10px 14px;line-height:1.35;white-space:normal}
@media(min-width:901px){#explorer.destination-explorer .map-return:has(.trip-map-card){max-width:340px}}
@media(max-width:900px){
 #explorer.destination-explorer #map-return[data-popup-pane]:has(.trip-map-card){padding:0;border:0;border-radius:0;background:transparent}
 #explorer .trip-map-card{gap:12px}
}


/* Source: place-gallery.css */
.photo-gallery{position:relative;width:100%;height:100%;background:#dbe5ec}
.photo-track{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y;outline-offset:-4px}
.photo-track::-webkit-scrollbar,.photo-thumbnails::-webkit-scrollbar{display:none}
.photo-track .photo-slide{position:relative;display:block;flex:0 0 100%;width:100%;height:100%;min-width:0;padding:0;border:0;border-radius:0;background:transparent;scroll-snap-align:start;cursor:zoom-in;overflow:hidden;user-select:none;-webkit-user-select:none}
.photo-track .photo-slide img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.photo-track.photo-dragging{scroll-snap-type:none;cursor:grabbing}
.photo-track.photo-dragging .photo-slide{cursor:grabbing}
.photo-error{position:absolute;inset:45% 12px auto;color:#55647a;text-align:center;font-size:14px}
.photo-gallery .photo-counter{position:absolute;inset-inline-end:20px;bottom:42px;padding:8px 11px;border:1px solid #ffffff55;border-radius:14px;background:#1c2c40a6;color:#fff;backdrop-filter:blur(10px);font-size:12px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums;cursor:pointer}
.photo-thumbnails{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:20px var(--sheet-gutter) 2px}
.photo-thumbnails button{flex:0 0 76px;width:76px;height:54px;border-radius:12px;padding:0;border:2px solid transparent;background:#dde5ed;opacity:.65;overflow:hidden;cursor:pointer}
.photo-thumbnails button[aria-pressed=true]{border-color:#007aff;opacity:1;box-shadow:0 0 0 2px var(--panel-surface,#f7f8fa),0 0 0 4px #007aff}
.photo-thumbnails img{display:block;width:100%;height:100%;object-fit:cover}
.photo-thumbnails:has(button[aria-pressed=true]){padding-block:22px 6px}
.photo-dots{position:absolute;bottom:42px;inset-inline:90px;display:none;justify-content:center;align-items:center;gap:6px;pointer-events:none}
.photo-dots i{width:5px;height:5px;border-radius:5px;background:#ffffff70;box-shadow:0 1px 3px #0003}
.photo-dots i.active{width:16px;background:#fff}
.map-photo-hero .photo-gallery{position:absolute;inset:0}
.photo-gallery-compact .photo-counter{inset-inline-end:12px;bottom:12px;font-size:11px;padding:6px 9px}
.photo-viewer{box-sizing:border-box;inset:0;width:min(1080px,calc(100% - 32px));max-width:none;height:min(860px,calc(100dvh - 32px));max-height:none;margin:auto;padding:18px 22px;border:1px solid #e1e6ed;border-radius:22px;background:#f7f8fa;color:#20262e;overflow:hidden}
.photo-viewer[open]{display:flex;flex-direction:column;gap:16px}
.photo-viewer::backdrop{background:#132033b8;backdrop-filter:blur(6px)}
.photo-viewer-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;flex:none}
.photo-viewer-heading strong{font-size:19px;line-height:1.25;overflow-wrap:anywhere}
.photo-viewer-heading .icon-button{flex:none;background:#e9edf3;color:#354350;width:44px;height:44px;border-radius:14px}
.photo-viewer .photo-gallery{flex:1;min-height:0;border-radius:16px;overflow:hidden;background:#e8edf1}
.photo-viewer .photo-track .photo-slide img{object-fit:contain}
.photo-viewer .photo-slide{cursor:default}
.photo-viewer .photo-counter{bottom:14px;pointer-events:none}
.photo-viewer .photo-dots{display:none}
.photo-viewer .photo-thumbnails{flex:none;padding:5px 4px;min-height:64px;justify-content:safe center}
.gallery-credit{flex:none;min-height:18px;text-align:center;font-size:12px;line-height:1.6;color:#6c7888;overflow-wrap:anywhere}
.gallery-credit a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){
 .detail-content>.photo-thumbnails{display:none}
 .photo-dots{display:flex}
 .photo-gallery .photo-counter{inset-inline-end:16px}
 .photo-viewer{width:100%;height:100dvh;border-radius:0;border:0;padding:calc(12px + env(safe-area-inset-top)) 16px calc(12px + env(safe-area-inset-bottom));gap:12px}
 .photo-viewer-heading strong{font-size:17px}
 .photo-viewer .photo-thumbnails{gap:10px}
 .photo-viewer .photo-thumbnails button{flex-basis:64px;width:64px;height:48px}
}
@media(prefers-reduced-motion:no-preference){.photo-thumbnails button{transition:opacity .15s,border-color .15s}}

/* Guide actions remain separate from the neighbouring place toolbar. */
.destination-cover-photo{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}
.destination-cover-photo img{width:100%;height:100%;object-fit:cover}
.destination-photo-count{position:absolute;inset:auto 20px 34px auto;display:flex;align-items:center;gap:7px;padding:10px 14px;border:0;border-radius:14px;background:rgba(250,251,253,.96);color:var(--text,#202329);font-size:13px;font-weight:600;cursor:pointer}
.destination-photo-count svg{width:18px;height:18px}
.destination-actions-menu{position:relative;pointer-events:auto;flex:none}
.destination-actions-menu summary{list-style:none;cursor:pointer}
.destination-actions-menu summary::-webkit-details-marker{display:none}
.destination-actions-list{position:absolute;inset:calc(100% + 8px) 0 auto auto;z-index:20;min-width:210px;padding:6px;background:#fff;border:1px solid #e5e9ee;border-radius:18px;box-shadow:0 12px 35px #263a5522}
.destination-actions-list button{display:flex;align-items:center;gap:12px;width:100%;padding:13px 12px;text-align:start;border:0;background:transparent;color:#364250;border-radius:12px;white-space:nowrap;cursor:pointer;font:inherit;font-size:15px}
.destination-actions-list button:hover,.destination-actions-list button:focus-visible{background:#edf4ff}
.destination-actions-list button.saved{color:#007aff}
.destination-actions-list svg{width:21px;height:21px;flex:none}
@media(min-width:901px){#explorer.destination-explorer .destination-heading>.destination-actions-menu{display:none}}
@media(max-width:900px){.destination-heading>.destination-actions-menu{margin-inline-start:auto}.destination-actions-list{z-index:25}}

/* Approved mosaic is a desktop guide entry; mobile keeps the map above the sheet. */
@media(min-width:901px){
 #explorer .destination-mosaic .destination-photo-count{inset:auto 10px 10px auto;padding:8px 12px;font-size:12px;max-width:calc(100% - 20px)}
 [dir="rtl"] #explorer .destination-mosaic .destination-photo-count{inset-inline-end:10px;inset-inline-start:auto}
}

/* Approved P2 + M1, with ticket and suitcase from family 4. */
#explorer.destination-explorer .bottom-dock .icon{width:24px;height:24px;stroke-width:1.75;flex:none}
.bottom-dock .dock-icon-solid,.bottom-dock .active .dock-icon-outline{display:none}
.bottom-dock .active .dock-icon-solid{display:inline}
#explorer.destination-explorer .bottom-dock>button{gap:5px;background:transparent}
@media(max-width:900px){
 #explorer.destination-explorer .bottom-dock>button{gap:3px}
}

.destination-mobile-photos{display:none}
@media(max-width:900px){
 #explorer .destination-mobile-photos{display:block;margin:20px calc(-1 * var(--sheet-gutter)) 22px}
 .destination-photo-rail{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:0 var(--sheet-gutter);scroll-padding-inline:var(--sheet-gutter);scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y}
 .destination-photo-rail::-webkit-scrollbar{display:none}
 .destination-photo-rail>button{display:block;flex:0 0 72%;max-width:320px;aspect-ratio:3/2;padding:0;border:0;border-radius:16px;overflow:hidden;background:#dbe5ec;scroll-snap-align:start;cursor:zoom-in}
 .destination-photo-rail img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
}


/* Source: weather.css */
.weather-content{padding-block:3px 8px;--weather-surface:var(--panel-surface,#f7f8fa)}
.weather-content .weather-switch{position:sticky;top:0;z-index:4;display:flex;gap:4px;border:0;padding:4px;margin:0;background:#e9edf1;border-radius:14px;min-width:0;box-shadow:0 0 0 8px var(--weather-surface)}
.weather-switch>legend,.weather-hour-switch>legend,.weather-day-values dt,.weather-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.weather-switch>label,.weather-hour-switch>label{position:relative;display:block;flex:1;min-width:0;cursor:pointer}
.weather-switch input,.weather-hour-switch input,.weather-month-choice{position:absolute;width:1px;height:1px;opacity:0}
.weather-switch label>span{display:block;padding:9px 8px;text-align:center;font-size:13px;font-weight:500;color:var(--muted);border-radius:10px;line-height:1.4}
.weather-switch label:has(input:checked)>span{background:#fff;color:var(--ink)}
.weather-switch input:focus-visible+span,.weather-hour-switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.weather-content:has(.weather-mode-seasonality:checked) .weather-forecast{display:none}
.weather-content:not(:has(.weather-mode-seasonality:checked)) .weather-seasonality{display:none}
.weather-content .weather-now{display:flex;align-items:center;justify-content:center;gap:21px;margin:0;padding:25px 0}
.weather-now .weather-current-temperature{display:block;font-size:66px;line-height:1.1;font-weight:400;letter-spacing:-3px}
.weather-current-copy{min-width:0}
.weather-content .weather-current-label{font-size:11px;margin:0 0 4px;color:var(--muted)}
.weather-content .weather-current-condition{display:flex;align-items:center;gap:6px;margin:0;font-size:15px;font-weight:500}
.weather-current-condition .icon{width:20px;height:20px;color:#709bb4}
.weather-content .weather-current-range{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin:7px 0 0;font-size:11px;color:var(--muted)}
.weather-content .weather-metric-switch{position:sticky;top:49px;z-index:3;display:flex;gap:4px;padding:3px;margin:0 0 14px;border:0;border-radius:10px;min-width:0;background:var(--weather-surface);box-shadow:0 0 0 6px var(--weather-surface)}
.weather-hour-switch label>span{display:block;text-align:center;padding:7px 4px;border-radius:8px;font-size:11px;color:var(--muted)}
.weather-hour-switch input:checked+span{color:var(--ink);background:#fff;font-weight:500}
.weather-content .weather-group{border:0;border-radius:18px;background:#fff;box-shadow:none;padding:16px;margin:0 0 15px;min-width:0}
.weather-block-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block-end:14px}
.weather-content .weather-block-heading h3{font-size:14px;line-height:1.4;font-weight:600;margin:0}
.weather-block-unit{font-size:11px;color:var(--muted);white-space:nowrap}
.weather-hour-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:0 0 2px}
.weather-hour-rail::-webkit-scrollbar{display:none}
.weather-hour{display:flex;flex-direction:column;align-items:center;gap:11px;flex:0 0 46px;scroll-snap-align:start;white-space:nowrap}
.weather-hour time{font-size:11px;color:var(--muted)}
.weather-hour>.icon{width:20px;height:20px;color:#729fb7}
.weather-hour>span{font-size:16px;font-weight:500;line-height:1.4}
.weather-rain-unit,.weather-wind-unit,.weather-hour-rail .weather-hour-rain,.weather-hour-rail .weather-hour-wind,.weather-day-rain,.weather-day-wind,.weather-rain-columns,.weather-wind-columns{display:none}
.weather-forecast:has(.weather-hour-mode[value="rain"]:checked) :is(.weather-temperature-unit,.weather-hour-temperature,.weather-temperatures,.weather-temperature-columns),.weather-forecast:has(.weather-hour-mode[value="wind"]:checked) :is(.weather-temperature-unit,.weather-hour-temperature,.weather-temperatures,.weather-temperature-columns){display:none}
.weather-forecast:has(.weather-hour-mode[value="rain"]:checked) :is(.weather-rain-unit,.weather-hour-rain),.weather-forecast:has(.weather-hour-mode[value="wind"]:checked) :is(.weather-wind-unit,.weather-hour-wind){display:inline}
.weather-forecast:has(.weather-hour-mode[value="rain"]:checked) :is(.weather-day-rain,.weather-rain-columns),.weather-forecast:has(.weather-hour-mode[value="wind"]:checked) :is(.weather-day-wind,.weather-wind-columns){display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.weather-content .weather-days{display:block;margin:0;padding:0}
.weather-days-heading,.weather-day-main{display:grid;grid-template-columns:minmax(94px,1.2fr) minmax(0,3fr);gap:10px;align-items:center}
.weather-days-heading{position:sticky;top:89px;z-index:2;padding:5px 0 9px;background:#fff;font-size:10px;color:var(--muted)}
.weather-days-heading>div{gap:8px;text-align:center;overflow-wrap:anywhere}
.weather-content .weather-day{margin:0;padding:10px 0;border:0;border-radius:0;background:none;box-shadow:none;min-width:0}
.weather-day-date{display:grid;grid-template-columns:minmax(0,1fr) 18px;column-gap:5px;align-items:center;min-width:0;text-transform:capitalize}
.weather-day-date strong{font-size:12px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}
.weather-day-date small{font-size:10px;color:var(--muted);line-height:1.6}
.weather-day-condition{grid-column:2;grid-row:1/3;color:#729fb7;display:flex;justify-content:center}
.weather-day-condition .icon{width:17px;height:17px}
.weather-day-values{min-width:0}
.weather-day-values dl{padding:0;margin:0;gap:8px;text-align:center;align-items:center}
.weather-content .weather-temperatures,.weather-temperature-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.weather-day-values dl>div{min-width:0}
.weather-day-values dd{margin:0;font-size:17px;line-height:1.3;font-weight:400}
.weather-temperatures>div:nth-child(2) dd{font-weight:600}
.weather-temperatures>div:not(:nth-child(2)) dd{color:#68727d}
.weather-current-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 15px;margin:0}
.weather-current-metrics dt{font-size:11px;color:var(--muted);line-height:1.5;margin-block-end:6px}
.weather-current-metrics dd{font-size:21px;line-height:1.3;font-weight:500;margin:0;overflow-wrap:anywhere}
.weather-current-metrics dd>small{display:block;font-size:10px;font-weight:400;color:var(--muted);line-height:1.6;margin:5px 0 0}
.weather-current-metrics .weather-moon{grid-column:1/-1}
.weather-current-metrics .weather-moon dd{font-size:17px}
.weather-unknown{color:var(--muted)}
.weather-content .weather-credit{display:inline-block;margin-block-start:15px;font-size:11px;line-height:1.5;color:var(--muted);text-decoration:none}
.weather-credit:hover{text-decoration:underline;text-underline-offset:3px}
.weather-content .weather-seasonality{margin:17px 0 0;padding:16px;border:0;border-radius:18px;background:#fff}
.weather-season-heading{padding-block:0 20px}
.weather-content .weather-season-heading h3{margin:0;font-size:16px;line-height:1.4;font-weight:600}
.weather-year-key{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:11px;color:var(--muted);margin-block-end:15px}
.weather-year-key>span{display:flex;align-items:center;gap:7px}
.weather-year-key>span::before{content:'';width:6px;height:6px;border-radius:50%;background:#c39150}
.weather-year-key>span+span::before{background:#8bbbd0}
.weather-content .weather-year-chart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:7px;align-items:end;min-width:0;border:0;padding:0;margin:0}
.weather-year-chart>legend{padding:0 0 13px;font-size:11px;color:var(--muted)}
.weather-month{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;cursor:pointer}
.weather-month-temperature{font-size:16px;font-weight:500;white-space:nowrap;color:#a3743e}
.weather-month-rain{position:relative;display:block;width:100%;height:140px;margin-block:9px 10px}
.weather-month-rain>i{position:absolute;inset-inline:24%;inset-block-end:0;background:#a3c9d9;border-radius:5px 5px 2px 2px;min-height:2px}
.weather-month-rain>b{position:absolute;inset-inline:0;text-align:center;font-size:11px;line-height:1.2;font-weight:400;color:var(--muted);white-space:nowrap}
.weather-month-label{font-size:10px;line-height:1.5;color:var(--muted);white-space:nowrap;text-transform:capitalize}
.weather-month-narrow{display:none}
.weather-month:has(input:checked) .weather-month-rain>i{background:#4a9cbe}
.weather-month:has(input:checked) .weather-month-label{color:var(--accent);font-weight:600}
.weather-month:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
.weather-month:hover .weather-month-label{color:var(--accent)}
.weather-month-details{margin-block-start:26px}
.weather-month-detail[hidden]{display:none}
.weather-content .weather-month-detail h4{margin:0 0 17px;font-size:21px;font-weight:500;text-transform:capitalize}
.weather-climate-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 13px;margin:0}
.weather-climate-metrics dt{font-size:11px;line-height:1.4;min-height:2.8em;color:var(--muted);overflow-wrap:anywhere}
.weather-climate-metrics dd{font-size:20px;line-height:1.2;font-weight:500;margin:4px 0 0}
.weather-season-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-block-start:27px}
.weather-season-highlights p{font-size:11px;line-height:1.4;color:var(--muted);margin:0 0 6px}
.weather-season-highlights strong{display:block;font-size:16px;font-weight:500;text-transform:capitalize}
.weather-season-highlights>div>span{display:block;margin-block-start:3px;font-size:12px;color:var(--muted)}
#utility-dialog[data-kind="weather"]{height:fit-content;min-height:0}
#utility-dialog[data-kind="weather"] .dialog-heading{border:0}
@media(max-width:420px){.weather-content .weather-year-chart{gap:3px}.weather-month-temperature{font-size:12px}.weather-month-rain>b{font-size:10px}.weather-month-label{font-size:10px}.weather-current-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-climate-metrics dd{font-size:18px}}
@media(max-width:360px){.weather-month-short{display:none}.weather-month-narrow{display:inline}.weather-day-values dd{font-size:16px}.weather-days-heading,.weather-day-main{column-gap:6px}.weather-content .weather-group,.weather-content .weather-seasonality{padding:13px}}

.workspace-panel[data-kind="weather"] .workspace-heading h1,#utility-dialog[data-kind="weather"] .dialog-heading h2{font-size:26px;line-height:1.2}
@media(max-width:420px){.weather-content .weather-year-chart{margin-inline:-16px;width:calc(100% + 32px)}}
@media(max-width:360px){.weather-content .weather-year-chart{margin-inline:-13px;width:calc(100% + 26px)}}

