:root{--float-top:151px;--rail:400px;--detail:520px}
.header .brand{letter-spacing:-.6px}.booking-intro{padding:18px 18px 14px;border-bottom:1px solid #e4eeef;background:linear-gradient(115deg,#fff 62%,#e8f8f5)}.booking-kicker{font-size:10px;letter-spacing:1.7px;font-weight:800;color:#ae5a46}.booking-intro h2{font:800 22px/1.2 Manrope,sans-serif;letter-spacing:-.7px;margin:7px 0 5px}.booking-intro p{font-size:12px;color:#55717b;line-height:1.45;margin:0}.filters-panel{flex:none;border-bottom:1px solid #dce9e9;background:#f9fcfc}.filters-panel>summary{list-style:none;cursor:pointer;padding:10px 17px;color:#1e6570;font-size:12px;font-weight:750}.filters-panel>summary::-webkit-details-marker{display:none}.filters-panel>summary:after{content:'⌄';float:right;font-size:17px;line-height:11px}.filters-panel[open]>summary:after{content:'⌃'}.filters-panel .filter-row{border-bottom:0;max-height:43dvh;overflow-y:auto;padding-top:5px}.filters-panel .filter-grid{max-height:none;overflow:visible}.filters-panel[hidden]{display:none}
.results-line{min-height:39px}.stay-card .place-photo{height:140px}.stay-card h2{font-size:17px}.card-content{padding:12px 14px 13px}.stay-tags{margin-top:8px}.stay-tags>span:first-child{font-weight:700}.party-promise{margin:9px 0 0;color:#405f69;font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-evidence{margin-top:8px;color:#6a818a;font-size:11px}.card-evidence summary{cursor:pointer}.card-evidence p{margin:5px 0}.compact-actions{gap:8px;flex-wrap:wrap}.card-book{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:0;border-radius:9px;padding:9px 11px;background:#103c52;color:#fff;font-size:12px;font-weight:750;cursor:pointer}.card-book:hover{background:#087681}.compact-actions .locate-button{font-size:12px}.compact-actions .compare-toggle{margin-left:auto}.card-save{border:1px solid #d6e5e7;border-radius:8px;background:white;padding:8px 9px;color:#286b72;font-size:12px;font-weight:700;cursor:pointer}.card-save:hover{background:#e9f5f4}.basic-label{font-size:11px}.stay-card[data-kind=hotel] .score-button,.stay-card[data-kind=hostel] .score-button{font-size:18px;min-width:53px}.stay-card .score-button small{font-size:10px}
.planner-fab{position:fixed;z-index:31;right:20px;bottom:74px;display:flex;align-items:center;gap:9px;border:2px solid #fff;border-radius:24px;background:#ff765e;color:#173b47;box-shadow:0 8px 25px #14425140;padding:11px 15px;font-size:13px;font-weight:800;cursor:pointer}.planner-fab:hover{background:#ff9a84}.planner-fab #planner-count{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#173b47;color:#fff;font-size:11px}.compare-bar{bottom:125px}
.planner-dialog{width:min(750px,calc(100vw - 28px));max-width:none;max-height:min(92dvh,1000px);padding:0;border-radius:20px;overflow:hidden}.planner-dialog::backdrop{background:#123b4f77;backdrop-filter:blur(2px)}#planner-content{max-height:92dvh;overflow:auto}.planner-header{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid #e2eded;padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:15px}.planner-header h2{margin:0;font:800 23px Manrope,sans-serif}.planner-close{border:0;background:#eff5f5;border-radius:50%;width:31px;height:31px;font-size:20px;cursor:pointer}.planner-body{padding:20px}.planner-lede{color:#5a7580;font-size:14px;line-height:1.5;margin:0 0 18px}.planner-trip{background:#edf8f6;padding:14px;border-radius:12px;display:flex;justify-content:space-between;gap:12px;align-items:center}.planner-trip strong{display:block;font-size:15px}.planner-trip small{display:block;margin-top:3px;color:#617e87}.planner-trip button,.planner-toolbar button,.planner-actions button{border:1px solid #cde0e1;background:#fff;border-radius:9px;padding:9px 11px;color:#23656c;font-weight:700;cursor:pointer}.planner-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.planner-toolbar .primary{background:#103c52;border:0;color:white}.planner-days{display:grid;gap:13px}.planner-day{border:1px solid #dfebec;border-radius:14px;padding:14px}.planner-day h3{font:800 16px Manrope,sans-serif;margin:0 0 10px}.planner-item{border-top:1px solid #eaf0f0;padding:10px 0}.planner-item:first-of-type{border-top:0}.planner-item strong{font-size:14px}.planner-item p{font-size:12px;color:#66808a;margin:4px 0;line-height:1.4}.planner-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.planner-actions button{font-size:11px;padding:5px 7px}.planner-actions select{max-width:130px}.planner-actions input[type=time]{max-width:123px}.planner-note-label{display:grid;gap:5px;margin-top:8px;color:#58737d;font-size:12px}.planner-note-label input{width:100%;border:1px solid #d8e5e6;border-radius:7px;padding:7px}.planner-unscheduled{margin-top:18px}.planner-unscheduled h3{font-size:16px}.planner-empty{border:1px dashed #bcd6d9;border-radius:13px;padding:18px;color:#607c85;font-size:14px}.planner-warning{border-left:3px solid #ec846b;background:#fff1ea;border-radius:7px;padding:10px 12px;color:#78594c;font-size:12px;line-height:1.45;margin:12px 0}.planner-source{font-size:11px;color:#66808a}.planner-source a{text-decoration:underline}.planner-note{width:100%;min-height:70px;border:1px solid #d5e4e6;border-radius:10px;padding:10px;font:13px 'DM Sans',sans-serif}.planner-preferences{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}.planner-preferences label{display:grid;gap:5px;font-size:12px;color:#55707a}.planner-preferences select{font-size:12px}.planner-library{margin-top:17px}.planner-library h3{font-size:16px}.planner-library-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.planner-library article{border:1px solid #e1ebec;border-radius:10px;padding:10px}.planner-library strong{font-size:13px}.planner-library p{font-size:11px;color:#627d86;line-height:1.4;margin:5px 0}.planner-library button{border:0;background:#e7f6f3;color:#116f6c;border-radius:7px;padding:6px 8px;font-size:11px;font-weight:700;cursor:pointer}#planner-custom-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap}#planner-custom-form label{display:grid;gap:4px;color:#58737d;font-size:12px}#planner-custom-form input,#planner-custom-form select{font-size:12px}#planner-custom-form button{border:0;border-radius:9px;background:#e7f6f3;color:#116f6c;padding:10px 12px;font-weight:700;cursor:pointer}
@media(max-width:900px){:root{--rail:340px;--detail:450px}.booking-intro h2{font-size:19px}}
.planner-toolbar .planner-download{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cde0e1;background:#fff;border-radius:9px;padding:9px 11px;color:#23656c;font-weight:700;font-size:14px;text-decoration:none}.planner-toolbar .planner-download:hover{background:#e7f6f3}.planner-toolbar .planner-download.is-disabled{color:#91a7ac;background:#f5f8f8}
#trip-form .trip-clear{border:0;background:transparent;color:#54717b;font-size:12px;text-decoration:underline;cursor:pointer;padding:0}
.booking-providers{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0 10px}.booking-providers a{display:flex;align-items:center;justify-content:center;min-height:42px;padding:10px 12px;border:1px solid #bbd7d9;border-radius:10px;background:#f4fbfa;color:#155862;text-align:center;text-decoration:none;font-size:13px;font-weight:750}.booking-providers a.primary{grid-column:1/-1;background:#103c52;color:#fff;border-color:#103c52}.booking-providers a:hover{border-color:#087681;background:#e4f4f1}.booking-providers a.primary:hover{background:#087681}.affiliate-disclosure{padding:9px 11px;border-radius:9px;background:#fff5e9;color:#664c32!important}
@media(max-width:700px){:root{--float-top:216px;--rail:calc(100vw - 24px);--detail:calc(100vw - 24px)}.destination-bar{height:96px;flex-wrap:wrap}.destination-mini{order:0}.trip-control{order:1;flex:1;max-width:none;min-width:0}.trip-control>summary>strong{max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search{order:2!important;flex:0 0 100%;width:100%}#trip-form{position:fixed;top:105px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 120px)}.collections{top:157px}.booking-intro{padding:12px 14px}.booking-intro h2{font-size:18px;margin:3px 0}.booking-intro p{font-size:11px}.filters-panel>summary{padding:8px 13px}.filters-panel .filter-row{max-height:50dvh}.results-line{min-height:38px}.stay-card .place-photo{height:130px}.planner-fab{right:12px;bottom:23px;padding:8px 10px;font-size:12px}.selection-open .planner-fab{top:216px;bottom:auto}.planner-fab #planner-count{width:19px;height:19px}.map-toggle,.map-focus .map-toggle{left:12px;transform:none}.place-tabs{scrollbar-width:none}.place-tabs::-webkit-scrollbar{display:none}.place-tabs button{font-size:12px;padding:10px 4px}.compare-bar{bottom:75px}.planner-dialog{width:100vw;max-height:93dvh;height:93dvh;margin:auto 0 0;border-radius:18px 18px 0 0}.planner-body{padding:15px}.planner-header{padding:14px 15px}.planner-header h2{font-size:20px}.planner-library-list{grid-template-columns:1fr}.planner-trip{align-items:flex-start;flex-direction:column}.map-selection{top:max(235px,36dvh)}.map-selection[data-tab=party],.map-selection[data-tab=reviews],.map-selection[data-tab=prices]{top:max(235px,36dvh)}}
