/* Launchers are page tools; the dialog is outside every search surface. */
.pe-launchbar{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:24px 0 14px;font-family:inherit;color:var(--urvy-ink,#19251f)}
.pe-launch-label{font-size:12px;color:#69635c}.pe-launch-actions{display:flex;gap:8px}.pe-launch{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 15px;border:1px solid var(--urvy-line,#d9cfc0);border-radius:8px;background:transparent;color:inherit;font-family:inherit;font-size:13px;font-weight:650;cursor:pointer}.pe-launch svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.pe-launch:hover{background:#eee7db;border-color:#a69e91}.pe-launch:focus-visible{outline:3px solid var(--urvy-hot,#f04632);outline-offset:3px}
.price-explorer{--pe-ink:var(--urvy-ink,#19251f);--pe-hot:var(--urvy-hot,#f04632);--pe-line:var(--urvy-line,#d9cfc0);--pe-paper:var(--urvy-paper,#fffaf2);--pe-muted:#69635c;color:var(--pe-ink);font-family:inherit;font-size:14px}
.price-explorer *{box-sizing:border-box}.price-explorer [hidden]{display:none!important}.price-explorer button,.price-explorer a,.price-explorer select{font-family:inherit}.price-explorer button{cursor:pointer}.price-explorer button:disabled{cursor:default;opacity:.4}.price-explorer button:focus-visible,.price-explorer a:focus-visible,.price-explorer select:focus-visible{outline:3px solid var(--pe-hot);outline-offset:3px}.price-explorer a{color:inherit;text-decoration:none}
.pe-dialog{position:fixed;inset:0;width:min(960px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;margin:auto;border:1px solid var(--pe-line);border-radius:18px;background:var(--pe-paper);box-shadow:0 24px 80px #19251f30;overflow:hidden}.pe-dialog:not([open]){display:none!important}.pe-dialog[open]{display:flex;flex-direction:column}.pe-dialog::backdrop{background:#19251f70}.pe-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 26px 18px;border-bottom:1px solid var(--pe-line);flex-shrink:0}.pe-dialog-head h2{font-size:24px;line-height:1.2;letter-spacing:-.6px;margin:0;font-weight:800}.pe-dialog-head p{font-size:12px;line-height:1.5;color:var(--pe-muted);margin:6px 0 0}.pe-close{border:0;border-radius:50%;background:#ede7dc;color:var(--pe-ink);font-size:27px;width:40px;height:40px;line-height:1;flex-shrink:0}.pe-close:hover{background:#e2d9c9}
.pe-body{padding:20px 26px 22px;overflow:auto;overscroll-behavior:contain;min-height:0}.pe-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.pe-tabs{display:inline-flex;gap:4px;padding:3px;background:#eee7db;border-radius:9px}.pe-tabs button{border:0;background:none;padding:0 20px;min-height:42px;font-size:13px;font-weight:700;color:var(--pe-muted);border-radius:6px}.pe-tabs button[aria-selected=true]{background:var(--pe-ink);color:#fff}.pe-cache-label{font-size:11px;color:var(--pe-muted)}.pe-period{display:flex;align-items:center;justify-content:center;gap:8px;margin:20px 0 14px}.pe-period button{border:1px solid var(--pe-line);border-radius:7px;background:transparent;width:40px;height:40px;color:inherit;font-size:20px}.pe-period select{font-size:17px;font-weight:700;max-width:230px;min-height:40px;padding:6px 28px 6px 12px;border:0;background:transparent;color:var(--pe-ink);cursor:pointer}.pe-period label{min-width:0}.pe-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.pe-basis,.pe-status,.pe-footnote{font-size:12px;line-height:1.5;color:var(--pe-muted);margin:10px 0}.pe-status:empty{display:none}.pe-footnote{font-size:11px;border-top:1px solid var(--pe-line);padding-top:12px;margin:18px 0 0}.pe-content{min-height:280px}.pe-content [data-pe-panel=dates]{max-width:720px;margin:0 auto}.pe-retry{min-height:42px;border:1px solid var(--pe-line);border-radius:7px;padding:8px 16px;background:#fffaf2;color:var(--pe-ink);font-weight:650}.pe-loading-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.pe-loading-calendar span{display:block;height:64px;border-radius:6px;background:#eee7db}.pe-loading-map{height:320px;border-radius:8px;background:#e9eff0}.pe-content[aria-busy=true]{opacity:.8}
.pe-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pe-calendar-title{font-size:18px;line-height:1.25;font-weight:800;text-transform:capitalize;letter-spacing:-.3px}.pe-calendar-subtitle{font-size:11px;color:var(--pe-muted);margin-top:5px}.pe-calendar-nav{display:flex;gap:6px;flex-shrink:0}.pe-calendar-nav button{width:44px;height:44px;background:transparent;border:1px solid var(--pe-line);border-radius:7px;font-size:21px;color:var(--pe-ink)}.pe-weekdays,.pe-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.pe-weekdays{padding-bottom:7px;text-align:center;font-size:10px;font-weight:650;color:var(--pe-muted)}.pe-day{display:flex;flex-direction:column;justify-content:space-between;gap:5px;min-width:0;min-height:75px;padding:10px 8px;border:1px solid var(--pe-line);border-radius:6px;background:#fffdf8;text-align:center;font-variant-numeric:tabular-nums}.pe-day:hover{border-color:var(--pe-ink);background:#f2ebdf}.pe-day-number{font-size:12px;color:var(--pe-muted)}.pe-day-price{font-size:clamp(11px,1.7vw,16px);font-weight:850;white-space:nowrap;letter-spacing:-.4px}.pe-day-check{font-size:10px;color:var(--pe-muted)}.pe-day.is-lowest{background:#eef2df;border-color:#8f9d6d}.pe-day.is-selected{outline:2px solid var(--pe-hot);outline-offset:1px}.pe-day.is-past{opacity:.4;background:transparent;border-color:transparent}.pe-calendar-legend{font-size:11px;line-height:1.5;color:var(--pe-muted);margin:12px 0 0;display:flex;align-items:center;gap:8px}.pe-calendar-legend::before{content:'';width:10px;height:10px;border:1px solid #8f9d6d;background:#eef2df;flex-shrink:0;border-radius:3px}
.pe-map-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:14px}.pe-map-canvas{position:relative;min-width:0;border:1px solid var(--pe-line);border-radius:7px;overflow:hidden;background:#e9eff0;align-self:start}.pe-map-svg{display:block;width:100%;height:auto;min-height:280px;aspect-ratio:2/1}.pe-map-tools{display:flex;gap:5px;padding:9px;background:var(--pe-paper);border-top:1px solid var(--pe-line)}.pe-map-tools button{height:44px;min-width:44px;border:1px solid var(--pe-line);background:#fff;border-radius:5px;font-weight:750;color:var(--pe-ink)}.pe-map-tools button:last-of-type{padding:0 12px}.pe-map-zoom{align-self:center;font-size:11px;color:var(--pe-muted);margin-left:auto}.pe-map-pin circle{fill:var(--pe-hot);stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.pe-map-pin text{font-family:inherit;font-weight:800;fill:var(--pe-ink)}.pe-map-pin rect{fill:var(--pe-paper);stroke:var(--pe-line);stroke-width:1;vector-effect:non-scaling-stroke}.pe-map-pin:hover rect,.pe-map-pin:focus rect{stroke:var(--pe-hot);stroke-width:2}.pe-map-cluster{cursor:pointer}.pe-map-cluster circle{fill:var(--pe-ink)}.pe-map-cluster text{fill:#fff;text-anchor:middle;dominant-baseline:central}.pe-map-pin .pe-map-hit{fill:transparent;stroke:transparent}.pe-map-list{list-style:none;padding:0;margin:0;max-height:390px;overflow-y:auto;min-width:0}.pe-map-list li+li{border-top:1px solid var(--pe-line)}.pe-map-list a,.pe-map-list .pe-map-row{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:10px 7px;min-width:0}.pe-map-list a:hover{background:#f3edde}.pe-map-list-name{min-width:0;overflow-wrap:anywhere;font-size:13px;font-weight:750}.pe-map-list-meta{display:block;font-weight:400;color:var(--pe-muted);font-size:10px;line-height:1.45;margin-top:5px}.pe-map-list-price{text-align:right;font-size:15px;font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap}.pe-map-list-price small{display:block;font-size:10px;font-weight:400;margin-top:4px;color:var(--pe-muted)}.pe-map-note{font-size:11px;color:var(--pe-muted);line-height:1.5;margin:10px 0}.pe-map-no-geo{padding:24px 16px;font-size:13px;color:var(--pe-muted);line-height:1.6}
@media(max-width:1000px){.pe-map-layout{grid-template-columns:minmax(0,1fr)}.pe-map-list{max-height:280px}}
@media(max-width:700px){.price-explorer{margin:16px 0 20px;border-radius:7px 18px 7px 7px}.pe-summary{padding:16px 13px;gap:10px}.pe-summary-copy>strong{font-size:20px}.pe-summary-copy>span{font-size:11px}.pe-summary-action>span{display:none!important}.pe-summary-action>b{width:30px;height:30px}.pe-body{padding:13px 10px}.pe-tabs{display:flex;width:100%}.pe-tabs button{flex:1;padding:0 10px}.pe-cache-label{font-size:9px}.pe-toolbar{gap:8px}.pe-basis,.pe-status{font-size:11px}.pe-calendar-title{font-size:16px}.pe-calendar-subtitle{font-size:10px}.pe-calendar-head{gap:8px}.pe-calendar-nav{gap:4px}.pe-weekdays,.pe-calendar-grid{gap:3px}.pe-day{min-height:64px;padding:8px 1px;gap:4px;border-radius:4px}.pe-day-number{font-size:11px}.pe-day-price{font-size:clamp(9px,2.65vw,13px);letter-spacing:-.55px}.pe-day-check{font-size:8px;letter-spacing:-.15px}.pe-content{min-height:390px}.pe-map-svg{min-height:245px}.pe-footnote{font-size:10px}.pe-map-list-price{font-size:14px}}
@media(prefers-reduced-motion:no-preference){.pe-summary-action>b{transition:transform .16s}.pe-content{transition:opacity .12s}}
.pe-reference{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 0}.pe-reference button{min-height:44px;border:1px solid var(--pe-line);border-radius:6px;padding:8px 12px;color:var(--pe-muted);background:transparent;font-size:11px;font-weight:650}.pe-reference button[aria-pressed=true]{border-color:var(--pe-ink);color:var(--pe-ink);background:#eee6d8}
.pe-flexible{display:flex;align-items:center;gap:8px;min-height:44px;width:max-content;max-width:100%;font-size:11px;color:var(--pe-muted);cursor:pointer}.pe-flexible input{width:17px;height:17px;accent-color:var(--pe-hot)}
.pe-day-destination{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.25;color:var(--pe-muted)}.pe-calendar-grid--destinations .pe-day{min-height:88px}@media(max-width:700px){.pe-day-destination{font-size:8px}.pe-calendar-grid--destinations .pe-day{min-height:78px}}

@media(max-width:700px){.pe-launchbar{justify-content:flex-start;gap:10px;margin:20px 0 12px}.pe-launch-label{display:none}.pe-launch-actions{width:100%}.pe-launch{flex:1;font-size:12px;padding:9px 10px}.pe-dialog{width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0;border:0;border-radius:0}.pe-dialog-head{padding:18px 16px 14px}.pe-dialog-head h2{font-size:21px}.pe-body{padding:16px 12px 20px}.pe-toolbar{gap:8px;flex-wrap:wrap}.pe-tabs{width:auto}.pe-tabs button{padding:0 16px}.pe-period{margin:16px 0 12px}.pe-period select{font-size:16px}.pe-content{min-height:240px}.pe-loading-calendar{gap:3px}.pe-loading-calendar span{height:57px}.pe-close{width:40px;height:40px}}
@media(prefers-reduced-motion:no-preference){.pe-dialog[open]{animation:pe-appear .14s ease-out}.pe-launch{transition:background .12s,border-color .12s}@keyframes pe-appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}
.pe-nearby{margin:0 0 18px;padding:14px;border:1px solid var(--pe-line);border-radius:9px;background:#f3eee4}.pe-nearby-title{margin:0 0 10px;font-size:12px;line-height:1.5;color:var(--pe-muted)}.pe-nearby-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}.pe-nearby-link{display:flex;flex-direction:column;gap:5px;min-height:76px;padding:11px;border:1px solid var(--pe-line);border-radius:6px;background:var(--pe-paper);font-size:11px}.pe-nearby-link:hover{border-color:var(--pe-ink)}.pe-nearby-link strong{font-size:15px}.pe-nearby-destination{color:var(--pe-muted)}

/* Keep the map itself and its controls visible while exploring prices. */
.pe-dialog[data-pe-view=map]{width:min(1200px,calc(100% - 40px))}
.pe-dialog[data-pe-view=map] .pe-body{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;align-content:start}
.pe-dialog[data-pe-view=map] .pe-body>*{grid-column:1/-1}
.pe-dialog[data-pe-view=map] .pe-toolbar{grid-column:1}.pe-dialog[data-pe-view=map] .pe-period{grid-column:2;margin:0}
.pe-dialog[data-pe-view=map] .pe-cache-label{display:none}
.pe-calendar-title{text-transform:none;margin:0 0 6px}
.pe-map-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:20px}
.pe-map-svg{height:clamp(300px,45dvh,460px);min-height:0;aspect-ratio:auto}
.pe-map-tools{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:1px;padding:3px;border:1px solid var(--pe-line);border-radius:9px;background:var(--pe-paper);box-shadow:0 3px 12px #19251f18}
.pe-map-tools button,.pe-map-tools button:last-of-type{display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;border:0;border-radius:5px;background:transparent;font-size:23px}
.pe-map-tools button:hover{background:#eee7db}.pe-map-tools button:last-of-type{border-top:1px solid var(--pe-line);border-radius:0 0 5px 5px}
.pe-map-sidebar{min-width:0}.pe-map-count{margin:0;padding:0 0 10px;font-size:12px;font-weight:650;color:var(--pe-muted)}
.pe-map-list{max-height:clamp(274px,42dvh,434px);overscroll-behavior:contain}
.pe-map-list li{display:flex;align-items:center;gap:2px;border-radius:5px}.pe-map-list .pe-map-row{flex:1;padding:12px 6px;gap:8px}
.pe-map-list li.is-selected{background:#eee7db;box-shadow:inset 3px 0 var(--pe-hot)}
.pe-day.has-price-signal{border-color:#5d8a64;box-shadow:inset 0 -3px #5d8a64}.pe-map-list-price .pe-price-signal{color:#397447;font-weight:750}
.pe-map-locate{display:grid;place-items:center;flex:0 0 44px;width:44px;min-height:44px;border:0;border-radius:6px;background:transparent;color:var(--pe-muted)}
.pe-map-locate:hover{background:#eee7db;color:var(--pe-ink)}
.pe-map-pin{cursor:pointer}.pe-map-pin.is-selected rect{fill:#fff3e7;stroke:var(--pe-hot);stroke-width:2}.pe-map-pin:focus-visible{outline:none}.pe-map-pin:focus-visible circle{stroke:var(--pe-ink);stroke-width:3}
.pe-map-caption text{fill:var(--pe-ink);text-anchor:start;dominant-baseline:auto;letter-spacing:normal}.pe-map-caption .pe-map-label-name{font-weight:700}.pe-map-caption .pe-map-label-price{font-weight:800}
.pe-map-detail{display:flex;align-items:center;gap:14px;padding:14px 48px 14px 16px;position:relative;border-top:1px solid var(--pe-line);background:var(--pe-paper)}
.pe-map-detail-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere;font-size:13px}.pe-map-detail-copy>strong{font-size:15px}.pe-map-detail-copy>small{font-size:10px;color:var(--pe-muted);line-height:1.5}
.pe-map-detail-link{display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:48px;padding:10px 13px;background:var(--pe-ink);border-radius:7px;color:#fff!important;white-space:nowrap;font-size:11px}.pe-map-detail-link>strong{font-size:16px;font-variant-numeric:tabular-nums}.pe-map-detail-link:hover{background:#304337}
.pe-map-detail-close{position:absolute;top:4px;right:4px;width:40px;height:44px;border:0;border-radius:5px;background:transparent;color:var(--pe-muted);font-size:24px}.pe-map-detail-close:hover{background:#eee7db}
@media(max-width:850px){.pe-map-layout{grid-template-columns:minmax(0,1fr);gap:16px}.pe-map-list{max-height:300px}.pe-map-svg{height:340px}}
@media(max-width:700px){.pe-dialog[data-pe-view=map]{width:100%}.pe-dialog[data-pe-view=map] .pe-body{display:block}.pe-dialog[data-pe-view=map] .pe-period{margin:14px 0 12px}.pe-map-svg{height:300px}.pe-map-tools{top:8px;right:8px}.pe-map-detail{flex-wrap:wrap;gap:12px;padding:13px 48px 13px 13px}.pe-map-detail-copy{flex-basis:100%}.pe-map-detail-link{width:100%}.pe-map-note{margin:8px 0 12px}.pe-map-list-meta{font-size:11px}}

/* Local Natural Earth detail is drawn only after regional zoom. */
.pe-map-geography .pe-map-land{fill:#f7f3e9;stroke:none}
.pe-map-geography .pe-map-coast{fill:none;stroke:#8fa5a2;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.pe-map-geography .pe-map-country{fill:none;stroke:#aaa397;stroke-width:.85;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.pe-map-geography .pe-map-region{fill:none;stroke:#c8c1b6;stroke-width:.65;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}
.pe-map-geography .pe-map-place{fill:#665f57;font-family:inherit;font-weight:650;paint-order:stroke;stroke:#fffaf2;stroke-linejoin:round;pointer-events:none}
