/* Manrope by Mikhail Sharanda and Mirko Velimirovic. SIL OFL 1.1. Self-hosted. */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--ink:#17343c;--navy:#17343c;--muted:#737b79;--canvas:#f4f4ef;--white:#fff;--lime:#e1edaa;--yellow:#edcf76;--light:#eceee7;--soft:#e6eee9;--radius:25px;--shadow:0 10px 35px #1b303508;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,select{color:inherit}button{border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #769892;outline-offset:4px}input,select,textarea{min-width:0}button:disabled{opacity:.55;cursor:wait}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.site-header,main,.site-footer{max-width:1320px;margin:auto;padding-left:36px;padding-right:36px}.site-header{height:103px;display:flex;align-items:center;gap:68px}.brand{font-weight:750;font-size:43px;letter-spacing:-4px;line-height:1;position:relative;display:inline-block;padding-right:7px}.brand-sun{position:absolute;height:8px;width:8px;border-radius:50%;background:var(--yellow);right:8px;top:-3px}.brand-period{color:var(--ink);letter-spacing:-3px}.desktop-nav{display:flex;gap:32px;align-items:center}.nav-link{padding:11px 0;background:transparent;white-space:nowrap;font-size:14px;color:#77807b;position:relative}.nav-link.active{font-weight:600;color:var(--ink)}.nav-link.active:after{content:"";height:5px;width:5px;position:absolute;bottom:0;left:50%;background:var(--ink);border-radius:50%}.header-actions{margin-left:auto;display:flex;align-items:center;gap:23px}.language{font-size:11px;font-weight:650;letter-spacing:1px}.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;border-radius:14px;padding:14px 21px;font-size:14px;font-weight:600;line-height:1.4;transition:background .18s,transform .18s,box-shadow .18s;text-decoration:none}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)}.login-button{background:#e9ece4;border-radius:30px;gap:10px;padding:12px 20px}.login-button .icon{width:17px;height:17px}.button-dark{background:var(--navy);color:white}.button-dark:hover{background:#284b52}.button-lime{background:var(--lime);color:var(--ink)}.button-lime:hover{background:#eef7c8}.button-white{background:white;color:var(--ink)}.button-light{background:var(--light);color:var(--ink)}.button-yellow{background:var(--yellow);color:var(--ink)}.full-width{width:100%}.intro{display:flex;align-items:center;justify-content:space-between;padding:35px 0 30px;gap:20px}.eyebrow{font-size:10px;letter-spacing:1.65px;font-weight:650;display:block;line-height:1.6}.intro .eyebrow{display:flex;gap:9px;align-items:center;font-size:10px}.small-sun{height:8px;width:8px;background:var(--yellow);border-radius:50%;display:inline-block}.intro h1{font-size:clamp(30px,3.3vw,44px);font-weight:550;letter-spacing:-1.7px;line-height:1.17;margin:12px 0 12px}.intro p{margin:0;color:var(--muted);font-size:14px}.intro-note{display:flex;gap:17px;align-items:center;padding:0 14px 0 0;transform:rotate(-3deg)}.intro-note p{font-size:12px;line-height:1.6;color:#7b8278}.intro-note strong{font-weight:500;color:var(--ink)}.drawn-star{font-size:53px;line-height:1;font-family:Georgia,serif;color:#a6b570}.search-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:stretch}.search-panel{background:white;border-radius:var(--radius);padding:27px 29px 17px;box-shadow:var(--shadow)}.panel-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:15px}.panel-topline h2{font-size:19px;font-weight:600;margin:0;letter-spacing:-.4px}.quiet-label{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--muted)}.quiet-label .icon{width:15px;height:15px}.search-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.search-field{position:relative;display:flex;align-items:center;gap:11px;background:#f3f4ef;padding:12px 13px;border-radius:12px;min-width:0;min-height:71px}.search-field>.icon{width:18px;height:18px;color:#7d8b81}.search-field>span{min-width:0;display:block;flex:1}.field-label{display:block;font-size:10px;color:#7d837f;margin-bottom:3px}.search-field select,.search-field input,.search-field #travelers-toggle{padding:0;border:0;background:transparent;width:100%;font-size:12px;font-weight:550;color:var(--ink);text-align:left;min-height:24px;outline-offset:2px}.search-field select{padding-right:2px;text-overflow:ellipsis}.search-field input[type=date]{font-size:12px}.search-field input::placeholder{color:var(--ink);opacity:.85;font-size:11px}.search-field input::-webkit-calendar-picker-indicator{opacity:.5;width:13px;margin-left:0;padding:0}.search-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:19px}.checkbox-label{font-size:11px;display:flex;align-items:center;gap:8px;color:#6d7973;cursor:pointer}.checkbox-label input{accent-color:var(--navy);height:14px;width:14px;margin:0}.search-submit{font-size:12px;padding:14px 17px;gap:20px}.search-submit .icon{width:18px;height:18px}.search-footnote{font-size:9px;color:#879087;margin:17px 0 0;text-align:center}.agent-intro{padding:26px 27px 22px;background:var(--navy);color:white;border-radius:var(--radius);overflow:hidden;position:relative}.agent-intro:after{content:"";position:absolute;width:160px;height:160px;border:1px solid #a3bbaa15;border-radius:50%;right:-112px;top:67px;box-shadow:0 0 0 28px #a3bbaa09,0 0 0 56px #a3bbaa05;pointer-events:none}.agent-intro-top{display:flex;gap:11px;align-items:center;margin-bottom:19px}.agent-label{font-size:8px;letter-spacing:1.05px;color:#d0ddc9;line-height:1.5}.agent-dot{height:5px;width:5px;border-radius:50%;background:var(--lime);margin-left:auto}.agent-symbol{display:grid;grid-template-columns:repeat(2,8px);grid-template-rows:repeat(2,8px);gap:2px;transform:rotate(-13deg)}.agent-symbol span{background:var(--lime)}.agent-symbol span:first-child{border-radius:6px 6px 1px 6px}.agent-symbol span:nth-child(2){border-radius:6px 6px 6px 1px}.agent-symbol span:nth-child(3){border-radius:6px 1px 6px 6px}.agent-symbol span:last-child{border-radius:1px 6px 6px 6px}.agent-intro h2{font-size:27px;line-height:1.17;letter-spacing:-.8px;font-weight:450;margin:0 0 13px}.agent-intro p{font-size:12px;line-height:1.65;color:#c8d4cf;margin:0 0 20px}.agent-intro .button{width:100%;font-size:12px;justify-content:space-between;padding:12px 17px;border-radius:11px}.agent-caption{display:block;font-size:8px;letter-spacing:.05px;margin-top:10px;color:#a8bab0;text-align:center}.travelers-popover{position:absolute;z-index:4;top:calc(100% + 7px);right:0;min-width:285px;padding:20px;background:white;box-shadow:0 12px 70px #18343c26;border-radius:17px}.stepper-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}.stepper-row strong{display:block;font-size:13px}.stepper-row small{font-size:10px;color:var(--muted)}.stepper{display:flex;align-items:center;gap:12px}.stepper button{width:28px;height:28px;background:var(--canvas);border-radius:50%;font-size:18px}.stepper output{font-size:13px;min-width:14px;text-align:center}.child-age-field{display:flex;align-items:center;gap:15px;margin:8px 0 15px;font-size:12px}.child-age-field select{background:var(--canvas);padding:6px;border-radius:5px;width:auto}.moods-section{padding-top:44px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:21px}.section-heading h2{font-size:27px;font-weight:500;letter-spacing:-.8px;line-height:1.3;margin:5px 0 0}.section-heading .eyebrow{color:#8c9489;font-size:9px;letter-spacing:1.5px}.muted{color:var(--muted)}.section-aside{font-size:11px;margin-bottom:4px}.mood-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:17px}.mood-card{position:relative;overflow:hidden;border-radius:22px;height:249px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;text-align:left;padding:22px;color:white;background:#789d9a;isolation:isolate}.mood-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .55s}.mood-card:hover img{transform:scale(1.045)}.mood-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#102b3038 0%,#0a273207 30%,#0b29368f 100%)}.mood-top{font-size:8px;letter-spacing:1.4px;font-weight:600}.mood-content{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.mood-content strong{font-size:24px;line-height:1.18;letter-spacing:-.45px;font-weight:500;display:block}.mood-content small{display:block;margin-top:9px;font-size:10px;color:#ffffffe0}.round-arrow{border-radius:50%;background:#ffffffed;color:var(--ink);width:33px;height:33px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.round-arrow .icon{width:17px;height:17px}.mood-family img{object-position:50% 60%}.mood-discover img{object-position:50% 55%}.mood-family{background:#c3c4a0}.mood-discover{background:#a2b3ba}.results-section{padding-top:47px}.results-tools{display:flex;gap:10px}.sort-label{font-size:9px;color:var(--muted);display:block}.sort-label select{display:block;font-size:11px;font-weight:550;color:var(--ink);background:transparent;border:0;padding:4px 2px 0 0;max-width:165px}.filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:23px 0 17px}.filter-chip{background:#e9ece4;border-radius:30px;display:inline-flex;align-items:center;gap:7px;padding:10px 15px;font-size:11px;transition:background .2s}.filter-chip .icon{width:14px;height:14px}.filter-chip:hover{background:#dfe4d7}.filter-chip.selected{background:var(--navy);color:white}.compare-toggle{margin-left:auto;background:transparent;padding-right:0}.compare-toggle span{display:flex;align-items:center;justify-content:center;width:19px;height:19px;font-size:10px;background:#e2e6dd;border-radius:50%}.data-notice{background:#eaece4;display:flex;gap:9px;align-items:flex-start;padding:12px 15px;border-radius:12px;margin-bottom:18px;color:#6a756c}.data-notice .icon{height:15px;width:15px;margin-top:2px}.data-notice p{font-size:10px;margin:0;line-height:1.6}.data-notice strong{font-weight:600;color:#42564a}.data-notice[data-kind=error]{background:#f2e8dd;color:#775b40}.data-notice[data-kind=live]{background:#e4edde}.offers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.offer-card{border-radius:23px;background:white;overflow:hidden;box-shadow:var(--shadow);transition:transform .25s;display:flex;flex-direction:column}.offer-card:hover{transform:translateY(-3px)}.offer-photo{position:relative;height:188px;background:#adc0b1;overflow:hidden}.offer-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.offer-card:hover .offer-photo>img{transform:scale(1.025)}.offer-badge{position:absolute;top:15px;left:15px;background:#fffef2ec;border-radius:30px;font-size:9px;padding:6px 11px;font-weight:550;max-width:calc(100% - 75px)}.save-button{position:absolute;right:13px;top:13px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#ffffffed;color:var(--ink)}.save-button .icon{width:17px;height:17px;stroke-width:1.6}.save-button.saved{background:var(--lime)}.save-button.saved .icon{fill:var(--ink)}.offer-image-caption{position:absolute;bottom:9px;right:12px;font-size:8px;background:#132c396b;color:white;padding:3px 6px;border-radius:6px}.offer-body{padding:19px 21px 15px;flex:1}.offer-location{font-size:9px;letter-spacing:.9px;color:#899081;text-transform:uppercase;margin-bottom:7px;display:flex;gap:7px;align-items:center}.offer-location .icon{width:11px;height:11px}.offer-body h3{font-weight:550;font-size:19px;letter-spacing:-.4px;line-height:1.3;margin:0 0 9px}.offer-summary{display:flex;gap:12px;font-size:10px;color:#758177;margin:0 0 12px}.offer-summary span{display:flex;gap:4px;align-items:center}.offer-summary .icon{height:12px;width:12px}.offer-match{font-size:11px;line-height:1.65;margin:0;color:#67776c;min-height:37px}.offer-features{display:flex;gap:5px;flex-wrap:wrap;margin-top:14px}.offer-features span{font-size:8px;background:#f2f3ec;padding:5px 8px;border-radius:7px;color:#6b776b}.offer-ticket{position:relative;padding:16px 21px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(to right,#d8e0d3 35%,transparent 0%) top/9px 1px repeat-x;margin-top:1px}.offer-ticket:before,.offer-ticket:after{content:"";position:absolute;top:-7px;height:14px;width:14px;background:var(--canvas);border-radius:50%}.offer-ticket:before{left:-7px}.offer-ticket:after{right:-7px}.price-label{font-size:8px;color:#899080;margin-bottom:1px}.offer-price{font-size:22px;letter-spacing:-.7px;line-height:1.3;font-weight:600}.price-unit{font-size:10px;font-weight:500;letter-spacing:0}.price-detail{font-size:8px;color:#7a877a;margin-top:2px}.offer-ticket .button{padding:11px 13px;font-size:10px;gap:10px;border-radius:10px}.offer-ticket .icon{width:14px;height:14px}.offer-compare{background:#f8f9f4;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px;font-size:9px;color:#798274}.offer-compare .icon{width:12px;height:12px}.offer-compare.selected{background:#e5edce;color:var(--ink)}.nothing-perfect{margin-top:22px;display:flex;align-items:center;gap:18px;padding:22px 26px;background:#e8eddf;border-radius:20px}.little-orbit{height:39px;width:39px;display:flex;align-items:center;justify-content:center;font-size:27px;border-radius:50%;background:#dce5c9;flex-shrink:0}.nothing-perfect h3{font-size:14px;font-weight:550;margin:0 0 3px}.nothing-perfect p{font-size:11px;color:#7b8475;margin:0}.nothing-perfect .button{margin-left:auto;font-size:11px;padding:12px 16px;white-space:nowrap}.nothing-perfect .button .icon{height:16px;width:16px}.how-section{padding:74px 0 55px;display:grid;grid-template-columns:1fr 1.13fr;gap:75px}.how-intro{padding:0 0 0 6px}.how-intro .eyebrow{font-size:9px;color:#8b9385}.how-intro h2,.faq-section h2{font-size:33px;font-weight:500;line-height:1.22;letter-spacing:-1px;margin:12px 0 15px}.how-intro p,.faq-section>div>p{font-size:12px;color:#7c867a;line-height:1.7;margin:0 0 22px}.text-link{display:inline-flex;align-items:center;gap:17px;font-size:11px;font-weight:600}.text-link .icon{height:16px;width:16px}.steps{padding:0 5px}.steps article{display:flex;align-items:flex-start;gap:18px;margin-bottom:25px}.steps article:last-child{margin-bottom:0}.step-number{width:34px;height:34px;border-radius:11px;background:#e9ece0;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.steps h3{font-size:14px;font-weight:550;margin:4px 0 6px}.steps p{font-size:11px;color:#7e877c;line-height:1.7;margin:0;max-width:370px}.club-strip{padding:33px 38px;display:flex;align-items:center;gap:27px;background:#e9deb9;border-radius:24px}.club-stamp{width:77px;height:77px;border-radius:21px;background:#f5ebcf;position:relative;display:flex;align-items:center;justify-content:center;font-size:57px;font-weight:700;line-height:1;transform:rotate(-8deg);flex-shrink:0}.club-stamp span{position:absolute;right:7px;top:3px;color:var(--ink);font-size:24px}.club-strip .eyebrow{font-size:8px;color:#928668}.club-strip h2{font-size:23px;letter-spacing:-.6px;font-weight:500;margin:4px 0 5px}.club-strip p{font-size:11px;color:#82785d;margin:0}.club-strip .button{font-size:11px;margin-left:auto;white-space:nowrap;padding:14px 19px}.club-strip .button .icon{width:16px;height:16px}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding:66px 5px 70px}.faq-section .eyebrow{font-size:9px;color:#8b9385}.faq-section h2{font-size:29px;margin-top:10px}.faq-list details{border-bottom:1px solid #dfe3d7;padding:17px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:15px;font-size:12px;font-weight:550;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:17px;font-weight:400;line-height:1.1}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{font-size:11px;line-height:1.75;color:#788575;margin:13px 28px 3px 0}.site-footer{padding-top:0;padding-bottom:33px}.footer-top{display:flex;align-items:center;gap:30px;padding:31px 0;border-top:1px solid #dfe3d7}.footer-top .brand{font-size:35px}.footer-top .brand-sun{width:7px;height:7px;right:8px;top:-2px}.footer-top p{font-size:10px;line-height:1.65;color:#858b7c;margin:0}.footer-contact{margin-left:auto;display:flex;align-items:center;gap:15px;font-size:12px}.footer-contact .icon{height:17px;width:17px}.footer-bottom{display:flex;gap:24px;font-size:9px;color:#899080;align-items:center}.footer-bottom button{background:transparent;color:inherit;font-size:9px;padding:0}.footer-note{margin-left:auto}.floating-agent{position:fixed;bottom:23px;right:27px;padding:12px 17px 12px 12px;border-radius:40px;display:flex;align-items:center;gap:10px;background:var(--navy);color:white;box-shadow:0 7px 25px #132e4330;z-index:7;transition:transform .2s}.floating-agent:hover{transform:translateY(-3px)}.floating-agent>span:nth-child(2){font-size:11px}.floating-agent .icon{height:16px;width:16px}.mini-symbol{font-size:22px;color:var(--lime);height:25px;line-height:25px}.toast{position:fixed;z-index:30;bottom:28px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;box-shadow:0 10px 40px #17343c33;border-radius:14px;padding:14px 21px;font-size:12px;max-width:min(90vw,450px);text-align:center}.compare-bar{position:fixed;z-index:8;bottom:22px;left:50%;transform:translateX(-50%);padding:10px 13px 10px 20px;border-radius:18px;background:white;box-shadow:0 10px 60px #17343c2e;display:flex;align-items:center;gap:22px;font-size:12px;white-space:nowrap}.compare-bar .button{padding:10px 13px;font-size:11px;gap:10px}.compare-bar .icon-button{width:27px;height:27px}.icon-button{display:flex;align-items:center;justify-content:center;height:35px;width:35px;flex-shrink:0;border-radius:50%;background:var(--canvas);color:var(--ink)}.icon-button .icon{height:17px;width:17px}.content-dialog{background:var(--canvas);border:0;border-radius:26px;width:min(760px,calc(100vw - 32px));max-height:90vh;padding:0;color:var(--ink);box-shadow:0 30px 100px #102c3930}.content-dialog::backdrop,.agent-dialog::backdrop{background:#0b273965;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:17px;top:17px;z-index:2;background:#fffffff0}.dialog-inner{padding:35px}.dialog-inner h2{font-size:28px;font-weight:500;letter-spacing:-.7px;line-height:1.2;margin:9px 35px 12px 0}.dialog-inner .lead-text{font-size:13px;line-height:1.7;color:#748070;margin:0 0 23px}.dialog-inner .eyebrow{font-size:9px;color:#879380}.dialog-inner h3{font-size:16px;font-weight:550}.dialog-inner p{font-size:13px}.dialog-inner ul{font-size:12px;line-height:1.8;padding-left:18px;color:#718170}.detail-hero{width:100%;height:255px;object-fit:cover;background:#a3b2a8;display:block}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.detail-tile{padding:16px 18px;border-radius:14px;background:white}.detail-tile span{font-size:10px;color:#819079;display:block;margin-bottom:4px}.detail-tile strong{font-size:14px;font-weight:500}.detail-note{padding:17px;background:#e8edde;border-radius:14px;margin:20px 0;font-size:12px;color:#65775f}.detail-note strong{color:var(--ink)}.detail-actions{display:flex;gap:10px;margin-top:23px;flex-wrap:wrap}.detail-actions .button{font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:block}.form-field>span{display:block;font-size:11px;color:#768671;margin-bottom:6px}.form-field input,.form-field textarea,.form-field select{width:100%;border:0;padding:13px 14px;border-radius:11px;background:white;color:var(--ink);font-size:13px;box-shadow:0 1px 2px #17343c04}.form-field textarea{min-height:110px;resize:vertical}.form-field.wide{grid-column:1/-1}.form-consent{display:flex;gap:9px;font-size:11px;line-height:1.6;color:#72806e;margin:20px 0}.form-consent input{accent-color:var(--navy);flex-shrink:0;margin-top:3px;width:15px;height:15px}.form-consent button{background:transparent;text-decoration:underline;font-size:inherit;padding:0;color:var(--ink)}.form-feedback{margin:15px 0;font-size:12px;padding:12px 14px;background:#e8eddf;border-radius:10px;line-height:1.65}.form-feedback.error{background:#efe2d7;color:#785742}.form-fineprint{font-size:10px!important;color:#87917f;margin:13px 0 0}.request-success{text-align:center;padding:24px 7px}.success-icon{margin:auto auto 21px;width:62px;height:62px;display:flex;align-items:center;justify-content:center;background:var(--lime);border-radius:50%}.success-icon .icon{width:29px;height:29px}.request-success h2{margin-right:0}.success-id{background:white;border-radius:12px;display:inline-block;padding:10px 18px;font-size:11px;margin:13px 0 25px}.cabinet-head{display:flex;gap:10px;align-items:center;margin:22px 0}.cabinet-head button{font-size:11px;padding:9px 13px;border-radius:30px;background:#e7ecde}.cabinet-head button.active{background:var(--navy);color:white}.cabinet-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cabinet-grid .offer-photo{height:145px}.cabinet-grid .offer-body{padding:14px 16px}.cabinet-grid .offer-body h3{font-size:16px}.cabinet-grid .offer-ticket{padding:14px 16px}.cabinet-grid .offer-price{font-size:18px}.cabinet-grid .offer-ticket .button{font-size:9px;padding:9px 11px}.empty-state{padding:35px 25px;background:white;border-radius:18px;text-align:center;grid-column:1/-1}.empty-state .icon{height:35px;width:35px;color:#a9b3a1;margin-bottom:6px}.empty-state h3{font-size:17px;font-weight:500;margin:8px 0}.empty-state p{font-size:12px;line-height:1.7;color:#84907b;max-width:350px;margin:0 auto 17px}.empty-state .button{font-size:12px}.auth-box{max-width:420px;margin:auto;padding-top:10px;padding-bottom:10px}.auth-box .auth-icon{width:54px;height:54px;background:var(--lime);display:flex;align-items:center;justify-content:center;border-radius:16px;margin-bottom:24px}.auth-box .auth-icon .icon{height:25px;width:25px}.auth-box .button{margin-top:18px;width:100%}.auth-box .form-field input{background:white}.auth-box .otp-input{letter-spacing:9px;text-align:center;font-size:24px;padding-left:22px}.compare-grid{display:grid;grid-template-columns:repeat(var(--columns,3),1fr);gap:12px}.compare-card{background:white;border-radius:16px;overflow:hidden}.compare-card>img{width:100%;height:110px;object-fit:cover}.compare-card-body{padding:14px}.compare-card h3{font-size:13px;line-height:1.5;margin:0 0 14px}.compare-fact{padding:10px 0;border-top:1px solid #edf0e6;min-height:61px}.compare-fact small{display:block;color:#8a947d;font-size:9px;margin-bottom:2px}.compare-fact strong{font-size:12px;font-weight:500}.compare-card .button{font-size:10px;margin-top:14px;padding:10px 11px;width:100%}.request-list{display:grid;gap:12px}.request-item{background:white;border-radius:14px;padding:17px}.request-item-top{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:8px}.request-item small{font-size:10px;color:#85907e}.request-status{display:inline-block;border-radius:20px;font-size:9px;padding:4px 9px;background:#e5edcd}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}.plan-card{padding:22px;background:white;border-radius:17px}.plan-card.accent{background:var(--navy);color:white}.plan-card .eyebrow{color:inherit;opacity:.6}.plan-card h3{font-size:22px;margin:10px 0}.plan-card ul{padding-left:17px;font-size:11px;color:inherit;opacity:.8}.plan-card .plan-status{font-size:10px;padding:7px 9px;background:#edf0e3;border-radius:8px;display:inline-block;color:var(--ink)}.plan-card.accent .plan-status{background:var(--lime)}.legal-copy{line-height:1.8}.legal-copy p{font-size:12px;color:#6e7f68}.legal-copy h3{margin-top:24px;font-size:14px}.agent-dialog{position:fixed;inset:0 20px 0 auto;margin:auto 0;height:min(720px,calc(100dvh - 40px));width:min(410px,calc(100vw - 32px));max-height:none;border:0;border-radius:23px;padding:0;background:var(--canvas);color:var(--ink);box-shadow:0 25px 100px #17343c30;overflow:hidden}.agent-dialog[open]{display:flex;flex-direction:column}.agent-header{display:flex;gap:12px;align-items:center;background:var(--navy);color:white;padding:22px}.agent-avatar{position:relative;width:37px;height:37px;border-radius:12px;background:var(--lime);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:31px;font-weight:700}.agent-avatar span{font-size:13px;position:absolute;right:3px;top:0}.agent-header h2{font-size:16px;font-weight:550;margin:0 0 1px}.agent-header p{font-size:9px;color:#bccebf;margin:0}.agent-header .icon-button{margin-left:auto;background:#ffffff16;color:white;height:29px;width:29px}.chat-messages{overflow-y:auto;flex:1;padding:22px 19px;display:flex;flex-direction:column;align-items:flex-start;gap:13px;scroll-behavior:smooth}.chat-message{padding:15px 17px;border-radius:16px;max-width:96%;font-size:12px;line-height:1.8;white-space:pre-line}.chat-message p{margin:0 0 9px}.chat-message p:last-child{margin-bottom:0}.chat-message.assistant{background:white;border-bottom-left-radius:3px}.chat-message.user{background:#e1e8d2;align-self:flex-end;border-bottom-right-radius:3px}.chat-message.error{background:#efe6d9;font-size:11px}.chat-message.notice{background:#e5ebe0;font-size:11px}.chat-suggestions{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 5px}.chat-suggestions button{background:#e7ece0;border-radius:20px;padding:8px 11px;font-size:10px}.chat-compose{display:flex;gap:9px;background:white;border-radius:15px;padding:11px;margin:8px 15px 0;align-items:flex-end;box-shadow:0 4px 12px #17343c05}.chat-compose textarea{width:100%;resize:none;padding:3px;border:0;background:transparent;font-size:12px;line-height:1.7;max-height:140px}.chat-compose .chat-send{padding:11px;border-radius:11px}.chat-send .icon{height:17px;width:17px}.chat-context{font-size:9px;color:#7b886f;padding:7px 22px 0}.chat-disclaimer{font-size:8px;line-height:1.6;text-align:center;margin:10px 25px 15px;color:#89937e}.typing-dots{display:flex;gap:4px;padding:8px 0}.typing-dots span{width:5px;height:5px;background:#93a384;border-radius:50%;animation:pulse 1s infinite}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.skeleton-card{height:410px;border-radius:23px;background:#e9ece4;animation:pulse 1.3s infinite}.skip-link{position:absolute;left:10px;top:-100px;z-index:100;background:var(--navy);color:white;border-radius:10px;padding:10px}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.noscript-note{position:fixed;bottom:0;left:0;right:0;background:#e9deb9;padding:15px;font-size:13px;text-align:center;z-index:40}.mobile-only{display:none}[hidden]{display:none!important}
@media(min-width:1600px){.site-header,main,.site-footer{max-width:1380px}.search-layout{grid-template-columns:minmax(0,1fr) 340px}.search-field select,.search-field input,.search-field #travelers-toggle{font-size:13px}.search-panel{padding-top:30px;padding-bottom:23px}.agent-intro{padding:28px 30px}.agent-intro p{margin-bottom:22px}.mood-card{height:270px}}
@media(max-width:1100px){.site-header,main,.site-footer{padding-left:27px;padding-right:27px}.site-header{gap:42px}.desktop-nav{gap:21px}.search-layout{grid-template-columns:minmax(0,1fr) 290px}.search-panel{padding:24px 22px 17px}.search-field{padding:11px 10px;gap:7px}.search-field>.icon{width:15px;height:15px}.search-field select,.search-field input,.search-field #travelers-toggle{font-size:11px}.search-field input::placeholder{font-size:10px}.search-submit{font-size:11px;padding:13px 14px;gap:12px}.agent-intro{padding:24px}.intro-note{display:none}.offer-body{padding:17px}.offer-ticket{padding:15px 17px 17px}.offer-price{font-size:20px}.offer-ticket .button{padding:10px 11px;font-size:9px;gap:6px}.mood-content strong{font-size:22px}.how-section,.faq-section{gap:40px}.club-strip{padding:28px;gap:22px}.club-strip h2{font-size:21px}.club-strip p{max-width:380px}.club-stamp{width:62px;height:62px;font-size:47px}.club-stamp span{font-size:20px}.nothing-perfect{gap:13px;padding:20px}.nothing-perfect p{font-size:10px}.nothing-perfect .button{font-size:10px}.footer-bottom{gap:17px}}
@media(max-width:900px){.site-header{height:89px;gap:30px}.brand{font-size:39px}.nav-link{font-size:12px}.header-actions{gap:15px}.language{display:none}.login-button{font-size:11px;padding:11px 14px}.intro{padding-top:27px}.intro h1{font-size:36px}.intro p{font-size:13px}.search-layout{grid-template-columns:minmax(0,1fr) 250px;gap:14px}.search-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.search-panel{padding:22px 19px 16px}.panel-topline{margin-bottom:16px}.panel-topline h2{font-size:18px}.quiet-label{font-size:9px;gap:3px}.quiet-label .icon{width:13px}.search-field{min-height:65px}.search-bottom{flex-direction:column;align-items:stretch;margin-top:14px;gap:13px}.search-submit{font-size:12px;padding:13px}.search-footnote{font-size:8px;margin-top:11px}.agent-intro{padding:24px 21px;display:flex;flex-direction:column}.agent-intro h2{font-size:27px;margin-top:15px}.agent-intro-top{gap:9px}.agent-label{font-size:7px}.agent-intro p{font-size:12px;margin-top:4px}.agent-intro .button{margin-top:auto}.agent-caption{font-size:7px}.mood-card{height:220px;padding:19px}.mood-content strong{font-size:20px}.mood-content small{font-size:8px}.round-arrow{width:28px;height:28px}.mood-top{font-size:7px}.mood-grid{gap:13px}.section-heading h2{font-size:24px}.offers-grid{gap:13px}.offer-photo{height:155px}.offer-body{padding:15px}.offer-body h3{font-size:17px}.offer-match{font-size:10px}.offer-features{gap:4px}.offer-features span{font-size:7px;padding:5px 6px}.offer-ticket{padding:13px 15px 16px;flex-wrap:wrap}.offer-ticket .button{width:100%;font-size:10px;margin-top:2px}.offer-summary{gap:8px;font-size:9px}.offer-badge{font-size:8px;top:12px;left:12px;padding:6px 8px}.save-button{width:29px;height:29px;top:11px;right:11px}.offer-image-caption{font-size:7px}.filter-chip{font-size:10px;padding:9px 12px}.filter-chip .icon{height:12px;width:12px}.nothing-perfect{flex-wrap:wrap}.nothing-perfect .button{margin-left:57px}.nothing-perfect p{font-size:11px}.how-section{padding:57px 0 42px;gap:29px;grid-template-columns:1fr 1.15fr}.how-intro h2{font-size:29px}.steps article{gap:12px}.steps h3{font-size:12px}.steps p{font-size:10px}.club-strip{padding:26px;gap:20px;flex-wrap:wrap}.club-strip h2{font-size:21px}.club-strip p{max-width:none;font-size:10px}.club-strip .button{margin-left:82px;font-size:10px;padding:12px 16px}.faq-section{gap:30px;padding:52px 0 55px}.faq-section h2{font-size:26px}.faq-list summary{font-size:11px}.footer-bottom{font-size:8px;gap:15px;flex-wrap:wrap}.footer-bottom button{font-size:8px}.footer-note{margin-left:0}}
@media(max-width:680px){.site-header,main,.site-footer{padding-left:19px;padding-right:19px}.site-header{height:80px;gap:0;justify-content:space-between}.brand{font-size:40px}.desktop-nav{display:none}.header-actions{margin-left:0}.login-button{font-size:11px;padding:10px 13px}.intro{padding:24px 0 25px}.intro .eyebrow{font-size:8px;letter-spacing:1.25px}.intro h1{font-size:35px;line-height:1.15;letter-spacing:-1.3px;margin-top:13px;margin-bottom:13px}.mobile-only{display:block}.intro p{font-size:12px;max-width:290px;line-height:1.7}.search-layout{display:flex;flex-direction:column;gap:13px}.search-panel{padding:22px 18px 15px;border-radius:22px}.panel-topline{margin-bottom:19px}.panel-topline h2{font-size:19px}.quiet-label{font-size:9px}.search-fields{gap:8px}.search-field{min-height:69px;padding:11px;gap:8px}.search-field select,.search-field input,.search-field #travelers-toggle{font-size:12px;min-height:25px}.search-field input::placeholder{font-size:10px}.field-label{font-size:9px}.search-field>.icon{width:15px;height:15px}.search-bottom{gap:16px;margin-top:17px}.checkbox-label{font-size:10px}.search-submit{font-size:12px;padding:15px;justify-content:space-between}.search-submit .icon{width:18px;height:18px}.search-footnote{font-size:8px;line-height:1.7;max-width:265px;margin:13px auto 0}.agent-intro{display:grid;grid-template-columns:1fr auto;column-gap:10px;padding:21px 22px;border-radius:20px;align-items:center}.agent-intro-top{grid-column:1/-1;margin-bottom:13px}.agent-label{font-size:8px}.agent-dot{margin-left:0}.agent-symbol{grid-template-columns:repeat(2,7px);grid-template-rows:repeat(2,7px)}.agent-intro h2{font-size:22px;line-height:1.25;margin:0;letter-spacing:-.5px}.agent-intro h2 br{display:none}.agent-intro h2{grid-column:1/-1}.agent-intro p{font-size:10px;line-height:1.6;margin:10px 0 0;color:#c4d2c8}.agent-intro p br{display:none}.agent-intro p{max-width:150px}.agent-intro .button{grid-column:2;grid-row:3;font-size:10px;gap:10px;padding:12px 13px;width:auto;margin-top:10px}.agent-intro .button .icon{height:16px;width:16px}.agent-caption{grid-column:1/-1;text-align:left;font-size:7px;margin-top:11px}.moods-section{padding-top:35px}.section-heading{gap:15px;margin-bottom:17px}.section-heading .eyebrow{font-size:8px;letter-spacing:1.15px}.section-heading h2{font-size:25px;line-height:1.2;margin-top:7px;letter-spacing:-.65px}.section-aside{display:none}.mood-grid{display:flex;overflow-x:auto;margin:0 -19px;padding:0 19px 8px;gap:12px;scroll-snap-type:x mandatory;scrollbar-width:none}.mood-grid::-webkit-scrollbar{display:none}.mood-card{flex:0 0 82%;height:245px;border-radius:20px;scroll-snap-align:center;padding:22px}.mood-content strong{font-size:26px}.mood-content small{font-size:10px}.mood-top{font-size:8px}.round-arrow{height:33px;width:33px}.results-section{padding-top:28px}.results-section .section-heading{align-items:flex-start;flex-direction:column;gap:16px}.results-section .section-heading h2{max-width:280px}.results-tools{align-self:flex-end;margin-top:-4px}.sort-label{display:flex;gap:8px;align-items:center;font-size:9px}.sort-label select{font-size:10px;padding:0}.filter-row{gap:7px;margin-top:18px;margin-bottom:15px}.filter-chip{padding:9px 12px;font-size:10px}.compare-toggle{margin-left:0}.data-notice{padding:12px;gap:8px;border-radius:11px}.data-notice p{font-size:9px;line-height:1.7}.data-notice .icon{width:14px;height:14px}.offers-grid{grid-template-columns:1fr;gap:18px}.offer-card{border-radius:21px}.offer-photo{height:215px}.offer-badge{font-size:9px;top:16px;left:16px;padding:6px 10px}.save-button{height:33px;width:33px;right:15px;top:15px}.offer-image-caption{font-size:8px}.offer-body{padding:20px 21px 17px}.offer-location{font-size:9px;margin-bottom:7px}.offer-body h3{font-size:21px;margin-bottom:10px}.offer-summary{font-size:10px;gap:12px}.offer-match{font-size:12px;min-height:0}.offer-features{margin-top:14px;gap:6px}.offer-features span{font-size:9px;padding:5px 8px}.offer-ticket{padding:18px 21px 19px;flex-wrap:nowrap}.offer-price{font-size:24px}.price-label,.price-detail{font-size:9px}.offer-ticket .button{width:auto;font-size:11px;padding:13px 17px;gap:13px;margin:0}.offer-compare{font-size:10px;padding:10px}.nothing-perfect{padding:24px 21px;gap:14px;margin-top:18px}.little-orbit{height:33px;width:33px;font-size:24px;align-self:flex-start}.nothing-perfect>div:nth-child(2){flex:1}.nothing-perfect h3{font-size:15px;line-height:1.45}.nothing-perfect p{font-size:11px;margin-top:6px;line-height:1.7}.nothing-perfect .button{width:100%;margin:3px 0 0;font-size:12px;padding:14px;justify-content:space-between}.how-section{grid-template-columns:1fr;gap:30px;padding:49px 1px 39px}.how-intro{padding:0}.how-intro .eyebrow{font-size:8px}.how-intro h2{font-size:31px}.how-intro p{font-size:12px;margin-bottom:18px}.text-link{font-size:12px}.steps{padding:0}.steps article{gap:16px;margin-bottom:22px}.steps h3{font-size:14px;margin-top:4px}.steps p{font-size:11px;line-height:1.8}.step-number{width:34px;height:34px;font-size:11px}.club-strip{padding:25px;display:grid;grid-template-columns:43px 1fr;gap:17px;border-radius:21px;align-items:flex-start}.club-stamp{width:43px;height:43px;font-size:33px;border-radius:11px;margin-top:2px}.club-stamp span{font-size:14px;top:1px;right:3px}.club-strip h2{font-size:21px;line-height:1.25;margin:5px 0 9px}.club-strip .eyebrow{font-size:7px}.club-strip p{font-size:10px;line-height:1.7}.club-strip .button{grid-column:1/-1;margin:1px 0 0;justify-content:space-between;padding:13px 16px;font-size:11px;width:100%}.faq-section{grid-template-columns:1fr;gap:15px;padding:42px 1px 43px}.faq-section h2{font-size:29px}.faq-section>div>p{font-size:11px;margin-bottom:11px}.faq-list summary{font-size:12px;line-height:1.65;align-items:center}.faq-list details{padding:17px 0}.faq-list details:first-child{padding-top:9px}.faq-list details p{font-size:11px;line-height:1.8}.footer-top{padding:26px 0;gap:19px;flex-wrap:wrap}.footer-top .brand{font-size:36px}.footer-top p{font-size:10px}.footer-contact{font-size:11px;margin-left:0;width:100%;justify-content:space-between}.footer-bottom{font-size:9px;gap:13px 21px;line-height:1.6}.footer-bottom button{font-size:9px}.footer-note{width:100%;font-size:8px}.site-footer{padding-bottom:88px}.floating-agent{bottom:18px;right:18px;padding:10px 14px 10px 11px;gap:8px}.floating-agent>span:nth-child(2){font-size:10px}.floating-agent .icon{width:14px;height:14px}.mini-symbol{font-size:20px;height:24px;line-height:24px}.toast{bottom:80px;font-size:11px;min-width:260px}.compare-bar{bottom:15px;left:15px;right:15px;transform:none;justify-content:space-between;gap:7px;font-size:10px;padding:10px 10px 10px 15px;border-radius:16px}.compare-bar .button{font-size:10px;padding:9px 10px;gap:7px}.compare-bar .button .icon{height:14px;width:14px}.compare-bar .icon-button{height:25px;width:25px}.compare-bar .icon-button .icon{height:14px;width:14px}body.has-comparison .floating-agent{bottom:89px}.content-dialog{width:calc(100vw - 22px);border-radius:21px;max-height:94dvh}.dialog-inner{padding:29px 22px}.dialog-inner h2{font-size:26px;margin-top:9px;margin-right:25px}.dialog-inner .lead-text{font-size:12px;margin-bottom:22px}.detail-hero{height:210px}.detail-grid{gap:9px;margin:19px 0}.detail-tile{padding:14px}.detail-tile strong{font-size:12px}.detail-tile span{font-size:9px}.detail-note{font-size:11px;padding:15px}.detail-actions{flex-direction:column}.detail-actions .button{font-size:12px;width:100%}.form-grid{grid-template-columns:1fr;gap:15px}.form-field input,.form-field textarea,.form-field select{font-size:16px}.form-consent{font-size:10px}.auth-box{padding-top:3px}.auth-box .form-field input{font-size:16px}.auth-box .otp-input{font-size:24px}.cabinet-grid{grid-template-columns:1fr}.cabinet-grid .offer-photo{height:180px}.cabinet-grid .offer-body{padding:17px}.cabinet-grid .offer-body h3{font-size:19px}.cabinet-grid .offer-ticket{padding:17px}.cabinet-grid .offer-ticket .button{font-size:11px;padding:12px 14px}.cabinet-grid .offer-price{font-size:22px}.compare-grid{gap:8px;overflow-x:auto;grid-template-columns:repeat(var(--columns,3),minmax(145px,1fr));padding-bottom:7px}.compare-card>img{height:95px}.compare-card-body{padding:11px}.compare-card h3{font-size:12px}.compare-fact strong{font-size:11px}.compare-fact small{font-size:8px}.compare-card .button{font-size:9px;padding:10px 8px}.plan-grid{grid-template-columns:1fr;gap:12px}.plan-card{padding:21px}.agent-dialog{inset:0;margin:auto;width:calc(100vw - 20px);height:calc(100dvh - 24px);border-radius:21px}.agent-header{padding:20px}.chat-compose textarea{font-size:16px;line-height:1.6}.chat-compose{margin:7px 13px 0}.chat-message{font-size:12px}.chat-disclaimer{font-size:8px}.travelers-popover{left:0;right:auto;min-width:280px}.search-field input[type=date]{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.chat-messages{scroll-behavior:auto}}
/* Details from the live travel source stay distinct from illustrative ideas. */
.offer-summary{flex-wrap:wrap;row-gap:6px}.offer-location{flex-wrap:wrap}.hotel-category{margin-left:auto;color:#9a8151;font-size:10px;letter-spacing:.5px}.offer-rating{display:flex;align-items:center;gap:5px;font-size:9px;color:#587054;line-height:1.6;margin:0 0 10px}.offer-rating .icon{height:12px;width:12px;stroke-width:1.5}.offer-dates{display:flex;align-items:flex-start;gap:5px;font-size:10px;color:#667665;line-height:1.6;margin:-2px 0 11px}.offer-dates .icon{height:13px;width:13px;margin-top:1px}.offer-match.has-reason{color:#456040;font-size:11px;background:#f0f4e8;border-radius:10px;padding:11px 12px;margin-top:12px;min-height:0}.offer-checked{font-size:8px;line-height:1.6;color:#8c9586;margin:14px 0 0}.photo-unavailable{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#637e6c;background:#e1e8dc;font-size:10px}.photo-unavailable .icon{width:29px;height:29px;color:#82967d}.detail-rating{display:flex;gap:10px;align-items:flex-start;margin:17px 0;background:white;border-radius:13px;padding:14px 16px}.detail-rating>.icon{height:20px;width:20px;color:#8da56b;margin-top:2px}.detail-rating strong{display:block;font-size:12px;font-weight:550;line-height:1.6}.detail-rating span{display:block;font-size:10px;line-height:1.7;color:#7c8a72;margin-top:3px}.detail-recommendation{margin:19px 0;padding:17px 19px;border-radius:14px;background:#e8eedc}.detail-recommendation .eyebrow{font-size:8px;color:#788668}.detail-recommendation p{font-size:12px;line-height:1.8;margin:6px 0 0;color:#4f6747}.detail-facilities{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 17px}.detail-facilities>span{display:flex;align-items:center;gap:5px;background:white;padding:8px 11px;border-radius:9px;font-size:11px;line-height:1.5}.detail-facilities .icon{height:13px;width:13px;color:#829e69}.dialog-inner .detail-source-note{font-size:10px;line-height:1.8;color:#819073}.detail-tile strong{overflow-wrap:anywhere}.footer-bottom{flex-wrap:wrap}.price-detail{max-width:200px;line-height:1.6}
@media(max-width:680px){.offer-rating{font-size:10px}.offer-dates{font-size:11px}.offer-match.has-reason{font-size:12px;padding:13px 14px}.offer-checked{font-size:9px}.offer-location .hotel-category{font-size:11px}.detail-rating{padding:13px;gap:8px}.detail-rating strong{font-size:11px}.detail-rating span{font-size:9px}.detail-recommendation{padding:15px}.detail-recommendation p{font-size:11px}.detail-facilities>span{font-size:10px;padding:7px 9px}.dialog-inner .detail-source-note{font-size:9px}.price-detail{max-width:170px}}

/* Language and currency are independent, persistent preferences. */
.locale-menu{position:relative;z-index:30}.locale-menu summary{display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer;font-size:11px;font-weight:650;white-space:nowrap;padding:12px 9px;border-radius:20px}.locale-menu summary::-webkit-details-marker{display:none}.locale-menu[open] summary{background:#e9ece4}.locale-panel{position:absolute;right:0;top:calc(100% + 12px);width:310px;padding:25px;background:white;border-radius:22px;box-shadow:0 15px 65px #17343c20}.locale-panel h2{font-size:19px;letter-spacing:-.4px;margin:0 0 19px}.locale-panel label{display:block;font-size:11px;font-weight:600;margin:14px 0 7px}.locale-panel select{width:100%;padding:12px;border:0;border-radius:11px;background:#f1f2ed;font-size:14px}.locale-panel p{font-size:11px;line-height:1.7;color:#5d706e;margin:17px 0}.offer-equivalent{font-size:11px;line-height:1.5;color:#62736d;margin:5px 0;max-width:210px}.offer-equivalent small{font-size:9px;display:block}.header-actions{gap:13px}html:not([lang=uk]) .site-header{gap:28px}html:not([lang=uk]) .desktop-nav{gap:20px}html:not([lang=uk]) .search-submit{min-width:0}html:not([lang=uk]) .offer-ticket .button{gap:9px}html:not([lang=uk]) .intro h1{font-size:clamp(29px,3.3vw,43px)}@media(max-width:700px){.locale-menu summary{font-size:10px;padding:10px 5px;gap:5px}.header-actions{gap:5px}.locale-panel{position:fixed;right:12px;left:12px;top:72px;width:auto;max-height:calc(100dvh - 90px);overflow-y:auto;padding:22px}.locale-panel select{font-size:16px}.login-button{padding:10px}.login-button #account-label{max-width:86px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offer-equivalent{font-size:11px;max-width:190px}.offer-equivalent small{font-size:9px}html:not([lang=uk]) .intro h1{font-size:31px}html:not([lang=uk]) .site-header{gap:0}}

/* Veyu / Route & Sun — calm, readable travel surfaces. */
:root {
  --ink:#183c40; --navy:#183c40; --muted:#637471; --canvas:#f5f4ee;
  --white:#fffefa; --lime:#dfe9b9; --yellow:#e6bd5b; --light:#e9ece3;
  --soft:#eaf0e7; --radius:28px; --shadow:0 8px 32px #253e3407;
  --font:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --focus:0 0 0 3px #f5f4ee,0 0 0 5px #466c66;
}
body { font-family:var(--font); font-weight:450; text-rendering:optimizeLegibility; }
button,input,select,textarea { font-family:var(--font); }
button,a,input,select,textarea,summary { outline:none; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:none; box-shadow:var(--focus); }
a:focus-visible { border-radius:8px; }
button { touch-action:manipulation; }
input,select,textarea { border:0; border-radius:14px; }
select { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3.5 5 3.5 3.5L10.5 5' fill='none' stroke='%234e6966' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-position:right 13px center; background-repeat:no-repeat; padding-right:34px!important; }
.icon { stroke-width:1.65; }
.site-header { gap:56px; height:106px; }
.brand { display:inline-flex; padding:0; flex-shrink:0; letter-spacing:normal; width:116px; height:52px; }
.brand img { display:block; width:100%; height:100%; object-fit:contain; }
.footer-top .brand { width:100px; height:45px; }
.desktop-nav { gap:29px; }
.nav-link { font-size:13px; font-weight:550; color:#637571; }
.nav-link.active:after { width:18px; height:3px; border-radius:6px; transform:translateX(-50%); background:var(--yellow); }
.header-actions { gap:16px; }
.login-button { background:#e9ece3; font-size:12px; min-height:44px; }
.button { border-radius:16px; min-height:44px; font-weight:650; letter-spacing:-.15px; }
.button-dark { box-shadow:0 4px 10px #183c4008; }
.button-lime:hover { background:#e6efc9; }
.intro { padding:29px 0 33px; }
.intro h1 { font-size:clamp(35px,3.6vw,48px); font-weight:550; letter-spacing:-1.9px; line-height:1.15; }
.intro p { font-size:14px; color:var(--muted); line-height:1.8; }
.intro .eyebrow { letter-spacing:1.8px; font-size:10px; }
.intro-note { transform:none; gap:14px; }
.intro-note p { font-size:12px; }
.drawn-star { display:flex; width:46px; height:46px; align-items:center; justify-content:center; border-radius:18px; background:#e9ecdc; color:#7e9167; }
.drawn-star .icon { width:29px; height:29px; }
.search-layout { grid-template-columns:minmax(0,1fr) 316px; gap:18px; }
.search-panel { padding:27px 27px 19px; background:var(--white); border-radius:28px; }
.panel-topline h2 { font-size:19px; font-weight:650; }
.quiet-label { font-size:11px; color:#637471; }
.search-fields { gap:10px; }
.search-field { min-height:80px; border-radius:17px; padding:13px; background:#f1f2ea; transition:background .18s,box-shadow .18s; }
.search-field:hover { background:#ecefe5; }
.search-field:has(:focus-visible) { background:#e4ecd4; box-shadow:none; }
.search-field>span { overflow:hidden; }
.search-field input,.search-field select,.search-field #travelers-toggle { border-radius:8px; font-size:12px; font-weight:650; min-height:28px; background-color:transparent; }
.search-field select { background-position:right 1px center; padding-right:20px!important; }
.search-field input:focus-visible,.search-field select:focus-visible,.search-field #travelers-toggle:focus-visible { box-shadow:none; outline:none; }
.search-field input::placeholder { font-weight:450; font-size:11px; opacity:1; color:#6b7b73; }
.search-field>.icon { color:#7d8e74; }
.field-label { color:#65776b; font-size:10px; font-weight:500; margin-bottom:3px; }
.search-bottom { margin-top:20px; }
.checkbox-label { font-size:11px; color:#5d6d65; }
.checkbox-label input { width:17px; height:17px; border-radius:5px; }
.search-submit { padding:15px 19px; border-radius:16px; }
.search-footnote { color:#748276; font-size:10px; line-height:1.7; }
.agent-intro { padding:25px; border-radius:28px; background:#183c40; }
.agent-intro:after { border:0; width:100px; height:100px; top:35px; right:-77px; box-shadow:0 0 0 25px #c1dcb509,0 0 0 52px #c1dcb506; }
.agent-symbol { display:flex; align-items:center; justify-content:center; width:31px; height:31px; transform:none; color:var(--lime); }
.agent-symbol .icon { width:25px; height:25px; }
.agent-label { font-size:9px; letter-spacing:1.15px; }
.agent-intro-top { margin-bottom:17px; gap:8px; }
.agent-intro h2 { font-weight:500; font-size:28px; line-height:1.25; letter-spacing:-1px; }
.agent-intro p { font-size:12px; color:#d2dfd7; }
.agent-intro .button { border-radius:15px; padding:13px 16px; font-size:12px; }
.agent-caption { font-size:9px; color:#c1cfc4; line-height:1.6; }
.travelers-popover { border-radius:22px; padding:22px; max-width:calc(100vw - 44px); background:var(--white); }
.stepper button { width:36px; height:36px; }
.stepper-row strong { font-size:13px; }
.stepper-row small { font-size:11px; }
.child-age-field select { min-height:40px; border:0; border-radius:12px; }
.moods-section { padding-top:44px; }
.section-heading h2 { font-weight:550; font-size:27px; letter-spacing:-.85px; }
.section-heading .eyebrow { color:#6f806e; font-size:10px; }
.section-aside { font-size:12px; }
.mood-card { border-radius:25px; height:240px; padding:24px; }
.mood-content strong { font-size:24px; font-weight:550; }
.mood-content small { font-size:11px; }
.mood-top { font-size:9px; letter-spacing:1.5px; }
.round-arrow { width:37px; height:37px; }
.filter-chip { min-height:40px; font-size:11px; font-weight:550; padding:10px 14px; }
.filter-chip.selected { background:var(--ink); }
.sort-label { padding:9px 12px; border-radius:14px; background:#e9ece3; font-size:10px; }
.sort-label select { font-size:11px; max-width:210px; min-height:24px; background-color:transparent; background-position:right center; padding-right:21px!important; }
.data-notice { padding:13px 16px; border-radius:16px; background:#e9eee3; color:#546b5b; }
.data-notice p { font-size:11px; }
.data-notice[data-kind=live] { background:#e6ede0; }
.offer-card { border-radius:26px; background:var(--white); box-shadow:0 6px 22px #213d3006; }
.offer-card:hover { transform:translateY(-2px); box-shadow:0 12px 35px #213d300c; }
.offer-photo { height:200px; background:#e0e6dc; }
.offer-badge { font-size:10px; padding:7px 11px; background:#fffdf2f2; }
.save-button { width:38px; height:38px; }
.offer-body { padding:22px 22px 16px; }
.offer-location { font-size:10px; color:#6b806e; letter-spacing:.7px; }
.offer-body h3 { font-size:21px; font-weight:600; line-height:1.3; margin-bottom:11px; }
.offer-summary { font-size:11px; color:#627868; gap:10px; flex-wrap:wrap; }
.offer-match { font-size:12px; line-height:1.7; color:#5f7365; min-height:0; }
.offer-rating { font-size:11px; color:#54704e; }
.offer-features span { font-size:10px; padding:6px 9px; border-radius:9px; color:#5f7262; background:#edf0e7; }
.offer-ticket { padding:19px 22px 21px; gap:12px; align-items:flex-end; background:linear-gradient(to right,#d9dfd1 45%,transparent 0%) top/8px 1px repeat-x; }
.offer-ticket:before,.offer-ticket:after { width:17px; height:17px; top:-8px; }
.offer-ticket:before { left:-9px; }.offer-ticket:after { right:-9px; }
.price-label { font-size:10px; color:#61745e; margin-bottom:3px; }
.offer-price { font-size:24px; font-weight:650; letter-spacing:-.9px; font-variant-numeric:tabular-nums; }
.price-detail,.price-equivalent { font-size:10px; line-height:1.65; color:#6b7b68; }
.price-equivalent { margin-top:4px; }
.offer-ticket .button { border-radius:13px; padding:12px 15px; min-height:42px; font-size:11px; white-space:nowrap; }
.offer-compare { min-height:38px; font-size:10px; background:#f1f3eb; color:#5b705d; }
.nothing-perfect { border-radius:23px; background:#e8eddf; }
.little-orbit { width:44px; height:44px; border-radius:16px; }.little-orbit .icon { width:25px; height:25px; }
.nothing-perfect h3 { font-weight:650; font-size:14px; }
.nothing-perfect p { font-size:12px; color:#64735e; }
.nothing-perfect .button { border-radius:15px; }
.steps h3 { font-size:15px; font-weight:650; }.steps p { font-size:12px; color:#647561; }
.how-intro p,.faq-section>div>p { font-size:13px; color:#647561; }
.how-intro h2,.faq-section h2 { font-weight:550; }
.club-strip { border-radius:27px; background:#e9dfbd; }
.club-stamp { width:69px; height:79px; border-radius:19px; transform:rotate(-6deg); background:#f6edcf; }.club-stamp .icon { width:43px; height:43px; stroke-width:1.2; }
.club-strip h2 { font-weight:600; }.club-strip p { font-size:12px; color:#746949; }
.faq-list details { border:0; padding:0; margin-bottom:9px; border-radius:17px; background:#ebeee5; overflow:hidden; }
.faq-list details:first-child { padding:0; }
.faq-list summary { font-size:12px; padding:17px 18px; align-items:center; font-weight:600; }
.faq-list details p { margin:0; padding:0 18px 19px; font-size:12px; color:#60735f; }
.faq-list details[open] { background:#e5ecde; }
.footer-top { border:0; background:linear-gradient(#dce2d5,#dce2d5) top/100% 1px no-repeat; }
.footer-bottom { font-size:10px; }.footer-bottom button { font-size:10px; }
.floating-agent { border-radius:22px; padding:13px 17px; background:var(--ink); box-shadow:0 8px 30px #183c4020; }
.floating-agent>span:not(.mini-symbol) { font-size:12px; font-weight:600; }
.mini-symbol { display:inline-flex; align-items:center; justify-content:center; width:25px; height:25px; }.mini-symbol .icon { width:22px; height:22px; }
.compare-bar { border-radius:22px; padding:13px 16px; box-shadow:0 12px 40px #183c4026; }
.compare-bar .icon-button { width:36px; height:36px; }
.icon-button { width:40px; height:40px; }
/* Dialog size follows its task. A login is never an empty hotel-sized canvas. */
.content-dialog { width:min(820px,calc(100vw - 36px)); max-width:none; max-height:calc(100dvh - 48px); border-radius:30px; background:var(--canvas); box-shadow:0 24px 100px #17362e26; scrollbar-width:thin; overflow-x:hidden; }
.content-dialog::backdrop,.agent-dialog::backdrop,.hotel-lightbox::backdrop { background:#142f3a61; backdrop-filter:blur(7px); }
.content-dialog:has(.auth-box) { width:min(450px,calc(100vw - 32px)); }
.content-dialog:has(.auth-box) #dialog-content { width:100%; }
.dialog-close { right:15px; top:15px; width:39px; height:39px; background:#fffefae8; box-shadow:0 3px 12px #183c4007; }
.dialog-inner { padding:37px; }
.dialog-inner h2 { font-size:30px; font-weight:600; line-height:1.25; letter-spacing:-1px; }
.dialog-inner .lead-text { font-size:14px; color:#61746c; line-height:1.8; }
.dialog-inner .eyebrow { color:#718365; font-size:10px; letter-spacing:1.5px; }
.dialog-inner h3 { font-size:17px; font-weight:650; }
.dialog-inner p,.dialog-inner ul { font-size:13px; color:#536d60; }
.auth-box { max-width:none; margin:0; padding:38px 34px 31px; }
.auth-box .auth-icon { width:54px; height:54px; margin:0 0 23px; border-radius:18px; background:#e2eacb; }
.auth-box h2 { font-size:30px; margin:11px 12px 15px 0; line-height:1.22; }
.auth-box .lead-text { font-size:13px; line-height:1.85; margin-bottom:25px; }
.auth-box .button { width:100%; min-height:48px; margin-top:16px; }
.auth-box .form-fineprint { text-align:center; font-size:11px!important; line-height:1.8; margin-top:18px; }
.form-grid { gap:17px; }
.form-field>span { font-size:12px; color:#5d7566; margin-bottom:7px; font-weight:550; }
.form-field input,.form-field textarea,.form-field select { background:#fffefa; border-radius:15px; padding:14px 16px; min-height:48px; font-size:14px; box-shadow:none; transition:box-shadow .18s,background .18s; }
.form-field input:focus-visible,.form-field textarea:focus-visible,.form-field select:focus-visible { background:#fffdf4; box-shadow:0 0 0 2px #a4b68a; }
.form-field textarea { min-height:108px; }
.form-consent { font-size:12px; line-height:1.75; color:#637361; }
.form-consent input { width:18px; height:18px; margin-top:4px; }
.form-feedback { font-size:12px; border-radius:15px; padding:14px 16px; }
.form-fineprint { font-size:11px!important; line-height:1.7; }
.auth-box .otp-input { letter-spacing:.34em; font-size:27px; padding-left:1em; min-height:65px; font-weight:600; font-variant-numeric:tabular-nums; }
.detail-hero { height:310px; }
.detail-grid { gap:12px; margin:23px 0; }
.detail-tile { border-radius:18px; padding:17px 19px; background:#fffefa; }
.detail-tile span { font-size:11px; color:#6a7b64; }.detail-tile strong { font-size:15px; font-weight:600; line-height:1.5; }
.detail-rating { border-radius:17px; padding:16px 18px; background:#fffefa; }
.detail-rating strong { font-size:13px; font-weight:600; }.detail-rating span { font-size:11px; color:#62745e; }
.detail-recommendation { border-radius:18px; background:#e7eddb; padding:20px; }.detail-recommendation p { font-size:13px; line-height:1.8; }
.detail-facilities>span { border-radius:12px; font-size:11px; background:#fffefa; }
.dialog-inner .detail-source-note { font-size:11px; color:#6b7b64; }
.detail-note { border-radius:18px; font-size:12px; line-height:1.8; background:#e7eddf; }
.detail-actions { gap:10px; }.detail-actions .button { font-size:12px; min-height:46px; }
.cabinet-head { gap:9px; flex-wrap:wrap; }.cabinet-head button { font-size:12px; min-height:41px; }
.request-item { border-radius:17px; background:#fffefa; }
/* Conversation is one rounded surface. Focus lives on the composer, not a square textarea. */
.agent-dialog { width:min(448px,calc(100vw - 36px)); height:min(780px,calc(100dvh - 40px)); border-radius:28px; inset:0 24px 0 auto; background:#f1f3eb; }
.agent-header { padding:22px 23px; background:var(--ink); gap:13px; }
.agent-avatar { width:42px; height:45px; border-radius:14px; background:#e0e9b8; }.agent-avatar .icon { width:27px; height:27px; }
.agent-header h2 { font-size:17px; font-weight:600; }.agent-header p { font-size:10px; color:#d0ddd2; margin-top:3px; }
.agent-header .icon-button { width:36px; height:36px; background:#ffffff12; }
.chat-messages { gap:14px; padding:23px 20px; scroll-padding:15px; }
.chat-message { font-size:13px; line-height:1.85; padding:16px 18px; border-radius:19px; max-width:97%; overflow-wrap:anywhere; }
.chat-message.assistant { background:#fffefa; border-bottom-left-radius:8px; }.chat-message.user { background:#dfe8cc; border-bottom-right-radius:8px; }
.chat-message strong { font-weight:700; }
.chat-message.error,.chat-message.notice { font-size:12px; }
.chat-suggestions { gap:7px; }.chat-suggestions button { font-size:11px; padding:10px 13px; border-radius:14px; min-height:40px; line-height:1.5; background:#e1e8d7; text-align:left; }
.chat-suggestions button[data-action=agent-results] { background:var(--ink); color:#fffefa; padding:12px 17px; font-weight:650; }
.chat-compose { border-radius:22px; padding:10px 11px 10px 15px; margin:10px 17px 0; background:#fffefa; box-shadow:0 3px 18px #183c4006; transition:box-shadow .2s; }
.chat-compose:has(textarea:focus-visible) { box-shadow:0 0 0 2px #a4b68a; }
.chat-compose textarea { border:0; border-radius:12px; box-shadow:none; outline:none; font-size:13px; line-height:1.75; padding:5px 1px; min-height:54px; color:var(--ink); }
.chat-compose textarea:focus-visible { outline:none; box-shadow:none; }
.chat-compose textarea::placeholder { color:#798976; }
.chat-compose .chat-send { width:42px; height:42px; min-height:42px; padding:11px; border-radius:14px; }
.chat-context { padding:8px 23px 0; font-size:10px; line-height:1.8; color:#5a715d; }
.chat-disclaimer { font-size:9px; color:#6d7e66; margin:11px 26px 18px; line-height:1.7; }
.agent-hotel-context { display:flex; align-items:center; gap:10px; padding:11px 14px; margin:12px 17px 0; border-radius:16px; background:#e6ecd9; font-size:11px; line-height:1.65; }
.agent-hotel-context>div { flex:1; min-width:0; }.agent-hotel-context strong { display:block; }.agent-hotel-context button { margin-left:auto; flex-shrink:0; width:30px; height:30px; border-radius:50%; background:#fffefa; }
.locale-menu summary { min-height:43px; font-size:11px; }
.locale-panel { border-radius:23px; background:#fffefa; padding:26px; box-shadow:0 16px 60px #183c4018; }
.locale-panel select { border-radius:14px; min-height:46px; font-size:13px; background-color:#edf0e5; }
.locale-panel select:focus-visible { box-shadow:0 0 0 2px #9dac87; }
.locale-panel label { font-size:11px; }.locale-panel p { color:#63755f; }
/* Progressive shortlist and date quotes. Bars are current received offers, never a time-series claim. */
.shortlist-footer { display:flex; align-items:center; justify-content:center; gap:20px; flex-wrap:wrap; padding:26px 10px 3px; }
.shortlist-progress { font-size:12px; color:#677b61; line-height:1.7; }
.shortlist-footer .button { background:#e6ecdc; color:var(--ink); min-height:46px; padding:13px 22px; }
.price-insight { margin:22px 0; padding:24px; border-radius:24px; background:#fffefa; box-shadow:var(--shadow); }
.price-insight-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.price-insight-head h3 { font-size:17px; font-weight:650; margin:0 0 7px; letter-spacing:-.3px; }.price-insight-head p,.price-insight-head small { margin:0; font-size:11px; line-height:1.75; color:#61755f; }
.price-date-chart { display:flex; align-items:flex-end; gap:8px; height:172px; padding:19px 0 0; overflow-x:auto; scroll-snap-type:x proximity; overscroll-behavior-x:contain; scrollbar-width:thin; }
.price-date-point { flex:1 0 63px; min-width:63px; max-width:130px; height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:7px; background:transparent; padding:5px 4px; border-radius:13px; scroll-snap-align:start; transition:background .18s; }
.price-date-point:hover,.price-date-point[aria-pressed=true] { background:#f0f3e7; }
.price-date-amount { font-size:10px; font-weight:650; white-space:nowrap; color:#46674e; font-variant-numeric:tabular-nums; }
.price-date-bar { display:block; height:var(--bar-height,45%); min-height:12px; max-height:100px; width:clamp(17px,3vw,36px); border-radius:9px 9px 5px 5px; background:#d7e2bd; transition:background .18s,height .35s; }
.price-date-point:hover .price-date-bar,.price-date-point[aria-pressed=true] .price-date-bar { background:#466e5a; }
.price-date-point.best .price-date-bar,.price-date-point[data-best=true] .price-date-bar { background:var(--yellow); }
.price-date-label { font-size:10px; color:#687b62; white-space:nowrap; }
.price-insight-caption { font-size:10px; line-height:1.8; color:#6f7c67; margin:15px 0 0; }
/* Real hotel photography, with no decorative invented availability. */
.hotel-gallery { position:relative; padding:0; overflow:hidden; border-radius:26px; background:#e2e8de; }
.content-dialog .hotel-gallery { border-radius:30px 30px 0 0; }
.gallery-main { width:100%; height:320px; display:block; padding:0; border:0; background:#e2e8de; overflow:hidden; position:relative; }
.gallery-main img,.gallery-main>img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
button.gallery-main:hover img { transform:scale(1.025); }
.gallery-thumbnails { display:flex; gap:6px; padding:8px; overflow:auto; background:#eef0e8; scrollbar-width:thin; }
.gallery-thumbnails button,.gallery-thumbnails>a { display:block; flex:0 0 75px; width:75px; height:54px; border-radius:11px; padding:0; background:#d6ded1; overflow:hidden; opacity:.68; transition:opacity .2s,box-shadow .2s; }
.gallery-thumbnails button[aria-pressed=true],.gallery-thumbnails button:hover { opacity:1; box-shadow:0 0 0 2px var(--ink); }
.gallery-thumbnails img { width:100%; height:100%; object-fit:cover; display:block; }
.gallery-count { position:absolute; right:18px; bottom:84px; display:inline-flex; align-items:center; gap:7px; padding:7px 11px; border-radius:20px; font-size:11px; color:white; background:#173c40c9; backdrop-filter:blur(8px); }
.hotel-gallery:not(:has(.gallery-thumbnails)) .gallery-count { bottom:17px; }
.hotel-question-list { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:15px 0 22px; }
.hotel-question-list button { padding:12px 14px; border-radius:15px; min-height:44px; background:#e5ecd9; color:var(--ink); font-size:12px; line-height:1.6; text-align:left; }
.hotel-question-list button:hover { background:#dbe6c7; }
.hotel-page-link { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:650; margin:8px 0 16px; text-decoration:underline; text-underline-offset:4px; text-decoration-color:#b3c19e; }
.hotel-lightbox { width:min(1180px,calc(100vw - 32px)); max-width:none; height:min(820px,calc(100dvh - 32px)); max-height:none; padding:0; border:0; border-radius:26px; background:#112c2e; color:white; overflow:hidden; }
.hotel-lightbox .lightbox-image { width:100%; height:100%; max-height:100%; object-fit:contain; display:block; }
.hotel-lightbox .lightbox-close,.hotel-lightbox [data-lightbox-close],.hotel-lightbox .dialog-close { position:absolute; top:16px; right:16px; z-index:2; background:#ffffffec; color:var(--ink); border-radius:50%; width:42px; height:42px; display:grid; place-items:center; }
.hotel-lightbox .lightbox-prev,.hotel-lightbox .lightbox-next,.hotel-lightbox [data-gallery-prev],.hotel-lightbox [data-gallery-next] { position:absolute; top:calc(50% - 22px); z-index:2; width:44px; height:44px; border-radius:50%; background:#fffefae8; color:var(--ink); display:grid; place-items:center; }
.hotel-lightbox .lightbox-prev,.hotel-lightbox [data-gallery-prev] { left:17px; }.hotel-lightbox .lightbox-next,.hotel-lightbox [data-gallery-next] { right:17px; }
.hotel-lightbox .lightbox-counter { position:absolute; bottom:18px; left:50%; transform:translateX(-50%); padding:8px 15px; border-radius:30px; background:#0a2428b3; font-size:12px; }
/* Public supplier hotel page shares the same visual system. */
.hotel-page-header { display:flex; justify-content:space-between; align-items:center; gap:24px; max-width:1120px; padding:27px 28px; margin:auto; }
.hotel-page-header img { width:116px; height:52px; display:block; }
.hotel-page-header a:not(:first-child) { font-size:13px; padding:12px 17px; border-radius:15px; background:#e8edde; }
.hotel-page-main { max-width:1120px; margin:auto; padding:10px 28px 64px; }
.hotel-page-summary { padding:15px 0 27px; }.hotel-page-summary h1 { font-size:clamp(30px,4.5vw,49px); letter-spacing:-1.6px; font-weight:600; line-height:1.18; margin:7px 0 15px; }
.hotel-page-summary p { color:#607361; font-size:14px; line-height:1.8; }
.hotel-page .gallery-main { height:460px; }.hotel-page .gallery-thumbnails { padding:11px; gap:9px; }.hotel-page .gallery-thumbnails>img { width:92px; height:66px; border-radius:12px; object-fit:cover; }
.hotel-page .detail-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.hotel-page-booking { padding:27px; margin:27px 0; border-radius:24px; background:#e5ecd7; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.hotel-page-booking h2 { margin:0 0 8px; font-size:22px; letter-spacing:-.6px; }.hotel-page-booking p { margin:0; font-size:13px; color:#5e7055; }.hotel-page-booking a { flex-shrink:0; }
@media(min-width:1600px) { .site-header,main,.site-footer { max-width:1320px; } }
@media(max-width:1100px) {
  .site-header { gap:34px; }.desktop-nav { gap:21px; }.nav-link { font-size:12px; }
  .search-layout { grid-template-columns:minmax(0,1fr) 282px; }.search-panel { padding:24px 21px 18px; }.search-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .agent-intro { padding:25px 24px; display:flex; flex-direction:column; }.agent-intro .button { margin-top:auto; }.agent-intro h2 { font-size:27px; }
  .offer-ticket { flex-wrap:wrap; }.offer-ticket .button { width:100%; justify-content:space-between; }
}
@media(max-width:900px) {
  .site-header { gap:25px; height:94px; }.brand { width:104px; height:47px; }.header-actions { gap:9px; }.desktop-nav { gap:15px; }.nav-link { font-size:11px; }
  .login-button { padding:11px 15px; font-size:11px; }.intro h1 { font-size:39px; }.intro-note { display:none; }
  .search-layout { grid-template-columns:minmax(0,1fr) 260px; }.search-panel { padding:23px 20px 17px; }.panel-topline h2 { font-size:18px; }
  .agent-intro { padding:25px 21px; }.agent-intro h2 { font-size:26px; }.agent-intro p { font-size:11px; }
  .offers-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.offer-ticket { flex-wrap:nowrap; }.offer-ticket .button { width:auto; }
  .mood-card { height:240px; padding:20px; }.mood-content strong { font-size:21px; }.mood-content small { font-size:10px; }
  .hotel-page .gallery-main { height:380px; }.hotel-page .detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:680px) {
  .site-header,main,.site-footer { padding-left:20px; padding-right:20px; }.site-header { height:87px; gap:12px; }.brand { width:100px; height:45px; }.desktop-nav { display:none; }.header-actions { gap:10px; }.login-button { min-height:42px; padding:10px 12px; font-size:10px; gap:7px; }.login-button .icon { width:16px; }
  .locale-menu summary { font-size:10px; padding:10px 6px; gap:5px; min-height:42px; }
  .intro { padding:21px 0 27px; }.intro .eyebrow { font-size:9px; letter-spacing:1.45px; }.intro h1 { font-size:37px; letter-spacing:-1.6px; line-height:1.15; margin:12px 0 15px; }.intro p { font-size:13px; line-height:1.8; max-width:330px; }
  .search-layout { display:flex; flex-direction:column; gap:13px; }.search-panel { padding:24px 17px 17px; border-radius:25px; }.panel-topline { margin-bottom:20px; }.panel-topline h2 { font-size:18px; }.quiet-label { font-size:10px; gap:5px; }.quiet-label .icon { width:14px; }
  .search-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.search-field { min-height:80px; padding:12px 10px; gap:8px; border-radius:15px; }.search-field>.icon { width:15px; height:15px; }.search-field input,.search-field select,.search-field #travelers-toggle { font-size:12px; min-height:28px; }.search-field input[type=date] { font-size:12px; }.search-field input::placeholder { font-size:10px; }.field-label { font-size:10px; }
  .search-bottom { flex-wrap:wrap; gap:17px; margin-top:18px; }.checkbox-label { font-size:11px; }.search-submit { width:100%; min-height:48px; padding:14px 18px; justify-content:space-between; font-size:13px; }.search-footnote { font-size:10px; max-width:none; line-height:1.7; margin-top:14px; }
  .agent-intro { display:grid; grid-template-columns:1fr auto; padding:23px; border-radius:25px; column-gap:15px; }.agent-intro-top { margin-bottom:13px; }.agent-label { font-size:9px; }.agent-intro h2 { grid-column:1/-1; font-size:25px; font-weight:500; line-height:1.3; }.agent-intro p { font-size:11px; max-width:162px; margin:12px 0 0; }.agent-intro .button { min-height:43px; grid-column:2; grid-row:3; padding:11px 13px; font-size:10px; margin-top:11px; }.agent-caption { font-size:9px; }
  .moods-section { padding-top:35px; }.section-heading h2 { font-size:26px; line-height:1.27; }.section-heading .eyebrow { font-size:9px; }.section-aside { font-size:11px; }.mood-grid { gap:12px; }.mood-card { border-radius:23px; height:240px; }.mood-content strong { font-size:25px; }.mood-content small { font-size:11px; }
  .results-section { padding-top:38px; }.results-tools { align-self:flex-start; }.sort-label { font-size:9px; padding:8px 10px; }.sort-label select { font-size:10px; max-width:150px; }.filter-row { gap:7px; margin:20px 0 15px; }.filter-chip { font-size:10px; padding:9px 11px; min-height:39px; }.data-notice { border-radius:15px; }.data-notice p { font-size:11px; line-height:1.8; }
  .offers-grid { grid-template-columns:1fr; gap:18px; }.offer-photo { height:225px; }.offer-body { padding:22px 22px 17px; }.offer-body h3 { font-size:23px; }.offer-location { font-size:10px; }.offer-summary { font-size:11px; }.offer-rating { font-size:11px; }.offer-match { font-size:12px; }.offer-features span { font-size:10px; }.offer-ticket { padding:20px 22px 23px; flex-wrap:nowrap; }.offer-price { font-size:26px; }.offer-ticket .button { width:auto; min-height:45px; padding:12px 15px; font-size:11px; }.price-label,.price-detail { font-size:10px; }.offer-compare { font-size:11px; min-height:40px; }
  .nothing-perfect { padding:23px; gap:15px; }.nothing-perfect h3 { font-size:14px; }.nothing-perfect p { font-size:12px; }.nothing-perfect .button { width:100%; margin:0; justify-content:space-between; font-size:12px; }.little-orbit { display:none; }
  .shortlist-footer { padding-top:24px; gap:11px; flex-direction:column; }.shortlist-footer .button { width:100%; }.shortlist-progress { font-size:11px; }
  .price-insight { padding:20px 17px; border-radius:23px; }.price-insight-head { display:block; }.price-insight-head h3 { font-size:16px; }.price-insight-head p,.price-insight-head small { font-size:10px; }.price-date-chart { height:160px; gap:5px; }.price-date-point { min-width:58px; flex-basis:58px; }.price-date-amount { font-size:9px; }.price-date-label { font-size:10px; }.price-insight-caption { font-size:10px; }
  .how-section { padding:48px 0 41px; }.how-intro h2 { font-size:31px; }.steps h3 { font-size:14px; }.steps p { font-size:12px; }.club-strip { border-radius:24px; padding:26px 23px; }.club-strip h2 { font-size:23px; }.club-strip p { font-size:12px; }.club-strip .button { margin-left:0; width:100%; justify-content:space-between; font-size:12px; }.club-stamp { width:58px; height:65px; }.club-stamp .icon { width:34px; }.faq-section h2 { font-size:30px; }.faq-list summary { font-size:12px; padding:17px; }.faq-list details p { font-size:12px; }.footer-bottom { font-size:10px; row-gap:14px; }.footer-bottom button { font-size:10px; }
  .floating-agent { right:15px; bottom:max(17px,env(safe-area-inset-bottom)); border-radius:19px; padding:12px 15px; }.floating-agent>span:not(.mini-symbol) { font-size:11px; }.floating-agent .mini-symbol { width:22px; }.compare-bar { width:calc(100vw - 28px); bottom:83px; padding:11px 13px; border-radius:19px; font-size:10px; }.compare-bar .button { font-size:10px; padding:10px 13px; }
  .content-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 26px); border-radius:25px; }.content-dialog:has(.auth-box) { width:min(450px,calc(100vw - 28px)); }.dialog-inner { padding:30px 23px; }.dialog-inner h2 { font-size:27px; margin-right:22px; }.dialog-inner .lead-text { font-size:13px; }.dialog-close { width:36px; height:36px; top:12px; right:12px; }
  .auth-box { padding:33px 25px 29px; }.auth-box .auth-icon { width:49px; height:49px; border-radius:16px; margin-bottom:24px; }.auth-box h2 { font-size:28px; margin-right:0; }.auth-box .lead-text { font-size:13px; margin-bottom:24px; }.auth-box .form-fineprint { font-size:10px!important; }.auth-box .otp-input { font-size:26px; }
  .form-grid { grid-template-columns:1fr; gap:16px; }.form-field input,.form-field textarea,.form-field select,.auth-box .form-field input { font-size:16px; min-height:49px; border-radius:15px; }.form-field>span { font-size:12px; }.form-consent { font-size:11px; }.form-fineprint { font-size:10px!important; }
  .detail-grid { gap:9px; }.detail-tile { padding:15px; border-radius:16px; }.detail-tile span { font-size:10px; }.detail-tile strong { font-size:13px; }.detail-rating { padding:15px; }.detail-rating strong { font-size:12px; }.detail-rating span { font-size:10px; }.detail-recommendation { padding:17px; }.detail-recommendation p { font-size:12px; }.detail-facilities>span { font-size:11px; }.detail-note { font-size:12px; padding:17px; }.dialog-inner .detail-source-note { font-size:10px; }.detail-actions .button { min-height:47px; font-size:12px; }
  .gallery-main { height:245px; }.content-dialog .hotel-gallery { border-radius:25px 25px 0 0; }.gallery-thumbnails { gap:5px; padding:7px; }.gallery-thumbnails button { width:65px; flex-basis:65px; height:47px; border-radius:9px; }.gallery-count { bottom:72px; right:13px; font-size:10px; }.hotel-question-list { grid-template-columns:1fr; }.hotel-question-list button { font-size:12px; }
  .hotel-lightbox { width:calc(100vw - 18px); height:calc(100dvh - 28px); border-radius:21px; }.hotel-lightbox .lightbox-prev,.hotel-lightbox [data-gallery-prev] { left:10px; }.hotel-lightbox .lightbox-next,.hotel-lightbox [data-gallery-next] { right:10px; }.hotel-lightbox .lightbox-prev,.hotel-lightbox .lightbox-next { width:37px; height:37px; }
  .agent-dialog { width:calc(100vw - 20px); height:calc(100dvh - 24px); max-height:calc(100dvh - 24px); inset:0; margin:auto; border-radius:25px; }.agent-header { padding:21px 19px; }.agent-header h2 { font-size:17px; }.agent-header p { font-size:10px; }.agent-avatar { width:39px; height:42px; }.chat-messages { padding:21px 16px; }.chat-message { font-size:13px; line-height:1.85; padding:15px 16px; }.chat-suggestions button { font-size:11px; }.chat-compose { margin:8px 13px 0; padding:10px 10px 10px 13px; border-radius:21px; }.chat-compose textarea { font-size:16px; line-height:1.6; padding:3px 0; }.chat-context { font-size:10px; padding:7px 19px 0; }.chat-disclaimer { font-size:9px; margin:10px 22px 15px; }.agent-hotel-context { margin:10px 13px 0; }
  .locale-panel { top:77px; right:12px; left:12px; max-height:calc(100dvh - 95px); border-radius:22px; padding:24px; }.locale-panel select { font-size:16px; }
  .hotel-page-header { padding:20px; }.hotel-page-header img { width:100px; height:45px; }.hotel-page-header a:not(:first-child) { font-size:11px; padding:11px 13px; }.hotel-page-main { padding:5px 20px 45px; }.hotel-page-summary { padding:10px 0 22px; }.hotel-page-summary h1 { font-size:33px; letter-spacing:-1px; }.hotel-page-summary p { font-size:13px; }.hotel-page .gallery-main { height:270px; }.hotel-page .detail-grid { grid-template-columns:1fr 1fr; }.hotel-page-booking { display:block; padding:23px; }.hotel-page-booking h2 { font-size:21px; }.hotel-page-booking a { width:100%; margin-top:18px; }
}
@media(max-width:374px) { .site-header,main,.site-footer { padding-left:15px; padding-right:15px; }.site-header { gap:8px; }.brand { width:86px; height:39px; }.header-actions { gap:6px; }.login-button { font-size:9px; padding:10px; }.intro h1 { font-size:33px; }.quiet-label { font-size:9px; }.search-field { padding:11px 9px; gap:6px; }.search-field>.icon { width:13px; }.search-field input,.search-field select,.search-field #travelers-toggle { font-size:11px; }.agent-intro { padding:22px 18px; }.agent-intro .button { padding:10px; font-size:9px; }.offer-ticket { padding-left:18px; padding-right:18px; }.offer-price { font-size:23px; }.offer-ticket .button { padding:11px; font-size:10px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
@media(forced-colors:active) { button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:2px solid Highlight; outline-offset:3px; }.search-field:has(:focus-visible),.chat-compose:has(textarea:focus-visible) { outline:2px solid Highlight; }.price-date-bar { background:CanvasText; } }
/* Matched to the live gallery / shortlist DOM. Each date column has the same zero baseline. */
.shortlist-footer { justify-content:space-between; padding:24px 4px 4px; }
.shortlist-footer>div { max-width:620px; }
.shortlist-footer p { margin:0; font-size:11px; line-height:1.8; color:#718166; }
.shortlist-footer p.shortlist-progress { margin:0 0 3px; font-size:12px; font-weight:650; color:#405f46; }
.price-date-chart { height:178px; padding-top:14px; align-items:end; }
.price-date-point { display:grid; grid-template-rows:20px 100px 20px; justify-items:center; align-items:end; height:auto; gap:7px; padding:6px 4px; }
.price-date-bar { grid-row:2; height:var(--bar-height,0%); min-height:0; max-height:none; align-self:end; }
.price-date-amount { grid-row:1; }.price-date-label { grid-row:3; }
.price-date-point.is-lowest .price-date-bar { background:var(--yellow); }
.price-insight-caption .icon { height:12px; width:12px; vertical-align:middle; }
.price-insight-empty { padding:13px 16px; background:#edf0e5; border-radius:14px; }
.gallery-main .gallery-count { bottom:15px; right:15px; }
.hotel-gallery>.detail-source-note { font-size:10px; line-height:1.7; padding:0 13px; margin:10px 0; color:#65785f; }
.hotel-gallery>.detail-source-note:only-child { padding:45px 25px; text-align:center; font-size:12px; }
.photo-unavailable { display:grid; place-items:center; width:100%; height:100%; min-height:120px; color:#687c67; font-size:13px; }
.lightbox-controls { position:absolute; bottom:17px; left:50%; transform:translateX(-50%); z-index:3; display:flex; align-items:center; gap:11px; border-radius:24px; padding:7px; background:#10292dc9; backdrop-filter:blur(8px); }
.lightbox-controls .icon-button { background:#fffefae8; font-size:22px; width:40px; height:40px; }
.lightbox-controls .gallery-count { position:static; bottom:auto; right:auto; background:transparent; backdrop-filter:none; white-space:nowrap; padding:4px 8px; }
.hotel-questions { padding-top:5px; }.hotel-questions h3 { margin:13px 0; }.hotel-question-list .button { justify-content:flex-start; gap:9px; padding:13px 15px; font-size:11px; }
.hotel-question-list .icon { width:17px; height:17px; }
.search-hotel-context { margin:0 0 17px; padding:12px 14px; font-size:12px; }
@media(max-width:680px) {
  .shortlist-footer { align-items:stretch; text-align:center; }.shortlist-footer>div { max-width:none; }
  .price-date-chart { height:164px; }.price-date-point { grid-template-rows:18px 88px 18px; }
  .gallery-main .gallery-count { bottom:13px; right:13px; }
  .lightbox-controls { bottom:14px; gap:6px; }.lightbox-controls .gallery-count { font-size:11px; }
  .hotel-question-list .button { font-size:12px; }.search-hotel-context { font-size:11px; margin-bottom:15px; }
}
/* Server-rendered hotel documents remain useful before their gallery module loads. */
.hotel-page .gallery-main>a { display:block; width:100%; height:100%; }
.hotel-page .detail-grid { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:start; }
.hotel-page .detail-tile h2 { margin:0 0 16px; font-size:19px; font-weight:650; letter-spacing:-.4px; line-height:1.35; }
.hotel-page .detail-tile p,.hotel-page .detail-tile li { font-size:13px; line-height:1.9; color:#546b5e; overflow-wrap:anywhere; }
.hotel-page .detail-tile p { white-space:pre-line; }
.hotel-page .detail-tile ul { margin:0; padding-left:18px; }
.hotel-page .detail-tile li { padding:4px 0; }.hotel-page .detail-tile li>span { display:inline; font-size:inherit; color:inherit; }
.hotel-page-booking { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:30px; row-gap:0; }
.hotel-page-booking h2 { grid-column:1; grid-row:1; }.hotel-page-booking p { grid-column:1; grid-row:2; }
.hotel-page-booking .button { grid-column:2; grid-row:1 / span 2; background:#183c40; color:#fffefa; font-size:12px; max-width:290px; text-align:center; }
.hotel-page .links { display:flex; gap:9px; flex-wrap:wrap; margin-top:29px; }
.hotel-page .links a { font-size:12px; padding:8px 12px; border-radius:13px; background:#e9edde; }
.hotel-page .links a[aria-current=page] { background:#183c40; color:#fffefa; }
@media(max-width:680px) {
  .hotel-page .detail-grid { grid-template-columns:1fr; }.hotel-page .detail-tile { padding:21px; }.hotel-page .detail-tile h2 { font-size:18px; }
  .hotel-page-booking { display:block; }.hotel-page-booking .button { max-width:none; }
  .hotel-page .links { gap:7px; }.hotel-page .links a { font-size:11px; padding:9px 12px; }
}
.intro>div:first-child { max-width:850px; }
.intro h1 { max-width:790px; }
.intro p { max-width:710px; }
.price-date-chart { height:180px; }
@media(max-width:1100px) { .intro>div:first-child { max-width:690px; }.intro h1 { max-width:690px; }.intro-note { flex-shrink:0; max-width:175px; } }
@media(max-width:680px) { .intro p { max-width:350px; font-size:13px; }.price-date-chart { height:164px; } }
/* Match the mood rail's bleed to each breakpoint's actual main gutter. */
@media(max-width:680px) { .mood-grid { margin-inline:-20px; padding-inline:20px; } }
@media(max-width:374px) { .mood-grid { margin-inline:-15px; padding-inline:15px; } }
/* Compact date evidence: contextual explanation beside the chart, not a second hero. */
.price-insight {
  display:grid;
  grid-template-columns:minmax(220px,270px) minmax(0,1fr);
  align-items:start;
  gap:5px 25px;
  padding:19px 22px;
  margin:18px 0;
  border-radius:22px;
}
.price-insight-head { grid-column:1; grid-row:1 / span 2; display:block; padding-top:5px; min-width:0; }
.price-insight-head .eyebrow { font-size:9px; letter-spacing:1.1px; line-height:1.65; }
.price-insight-head h3 { font-size:17px; line-height:1.35; margin:5px 0 8px; letter-spacing:-.35px; }
.price-insight-head p,.price-insight-head small { font-size:11px; line-height:1.7; margin:0; max-width:265px; }
.price-date-chart { grid-column:2; grid-row:1; height:136px; padding:6px 0 0; gap:6px; min-width:0; width:100%; }
.price-date-point { flex:1 0 66px; min-width:66px; max-width:none; grid-template-rows:17px 80px 17px; gap:5px; padding:3px 4px; }
.price-date-amount { font-size:10px; line-height:17px; }
.price-date-label { font-size:10px; line-height:17px; }
.price-date-bar { width:clamp(22px,3vw,38px); height:var(--bar-height,0%); min-height:0; max-height:none; border-radius:8px 8px 4px 4px; }
.price-insight>.price-insight-caption { margin:0; font-size:10px; line-height:1.6; color:#687961; min-width:0; }
.price-insight>.price-insight-caption:nth-of-type(1) { grid-column:2; grid-row:2; }
.price-insight>.price-insight-caption:nth-of-type(2) { grid-column:1 / -1; grid-row:3; padding-top:4px; }
.price-insight>.price-insight-caption:nth-of-type(3) { grid-column:1 / -1; grid-row:4; }
/* Dialogs use the compact single-column variant even on a wide desktop. */
.content-dialog .price-insight { display:flex; flex-direction:column; gap:5px; padding:17px 19px; }
.content-dialog .price-insight-head { padding:0; display:flex; gap:16px; justify-content:space-between; width:100%; align-items:flex-start; }
.content-dialog .price-insight-head h3 { margin:3px 0 3px; font-size:16px; }
.content-dialog .price-insight-head p { max-width:220px; font-size:10px; }
.content-dialog .price-date-chart { height:112px; padding-top:3px; }
.content-dialog .price-date-point { grid-template-rows:16px 62px 16px; gap:5px; padding:3px 4px; }
.content-dialog .price-insight>.price-insight-caption { font-size:10px; line-height:1.6; }
@media(max-width:680px) {
  .price-insight,.content-dialog .price-insight { display:flex; flex-direction:column; gap:4px; padding:16px 17px; margin:17px 0; border-radius:21px; }
  .price-insight-head,.content-dialog .price-insight-head { display:block; width:100%; padding:0; }
  .price-insight-head .eyebrow { font-size:9px; line-height:1.5; }
  .price-insight-head h3,.content-dialog .price-insight-head h3 { font-size:16px; margin:3px 0 4px; line-height:1.3; }
  .price-insight-head p,.price-insight-head small,.content-dialog .price-insight-head p { max-width:none; font-size:10px; line-height:1.55; }
  .price-date-chart,.content-dialog .price-date-chart { height:100px; padding:2px 0 0; gap:4px; width:100%; }
  .price-date-point,.content-dialog .price-date-point { flex:1 0 62px; min-width:62px; max-width:none; grid-template-rows:15px 54px 15px; gap:4px; padding:3px 3px; }
  .price-date-amount,.price-date-label { font-size:9px; line-height:15px; }
  .price-date-bar { width:25px; border-radius:7px 7px 3px 3px; }
  .price-insight>.price-insight-caption,.content-dialog .price-insight>.price-insight-caption { font-size:9px; line-height:1.6; margin:0; padding-top:0; }
}
@media(max-width:680px) {
  .price-date-chart,.content-dialog .price-date-chart { height:92px; }
  .price-date-point,.content-dialog .price-date-point { grid-template-rows:15px 46px 15px; }
  .content-dialog .price-insight { margin-inline:-10px; width:calc(100% + 20px); padding-inline:14px; }
}

.lightbox-controls [data-lightbox-step="-1"] .icon { transform:rotate(180deg); }

/* A substantial ticket seam: the notches belong to the card silhouette,
   while the quiet stub keeps the total and next step easy to scan. */
.offer-card {
  --ticket-notch:36px;
  --ticket-surface:var(--canvas);
  border-radius:28px;
  box-shadow:0 5px 22px #183c4007;
  transition:transform 220ms ease,box-shadow 220ms ease;
}
.offer-ticket {
  margin-top:5px;
  padding-top:24px;
  padding-bottom:23px;
  flex-wrap:wrap;
  row-gap:16px;
  background:
    repeating-linear-gradient(90deg,#b6c2b4 0 3px,transparent 3px 9px) center top/calc(100% - 58px) 1px no-repeat,
    linear-gradient(180deg,#f7f8f1 0%,#f0f3e8 100%);
}
.offer-ticket::before,.offer-ticket::after {
  width:calc(var(--ticket-notch) / 2);
  height:var(--ticket-notch);
  top:calc(var(--ticket-notch) / -2);
  background:var(--ticket-surface);
  pointer-events:none;
  z-index:1;
}
.offer-ticket::before { left:0; border-radius:0 calc(var(--ticket-notch) / 2) calc(var(--ticket-notch) / 2) 0; }
.offer-ticket::after { right:0; border-radius:calc(var(--ticket-notch) / 2) 0 0 calc(var(--ticket-notch) / 2); }
.offer-ticket>div { flex:1 1 max-content; min-width:0; max-width:100%; }
.offer-ticket .price-label { color:#5d705d; line-height:1.5; margin-bottom:4px; }
.offer-ticket .offer-price { color:#183c40; overflow-wrap:anywhere; }
.offer-ticket .price-detail { color:#647763; }
.offer-ticket .button { flex:1 1 110px; width:auto; max-width:100%; white-space:normal; justify-content:space-between; border-radius:15px; box-shadow:0 3px 9px #183c4008; }
.offer-ticket .button .icon { transition:transform 180ms ease; }
@media(hover:hover) and (pointer:fine) {
  .offer-card:hover { transform:translateY(-3px); box-shadow:0 12px 28px #183c4010; }
  .offer-ticket .button:hover .icon { transform:translateX(2px); }
}
@media(max-width:680px) {
  .offer-card { --ticket-notch:38px; border-radius:27px; }
  .offer-ticket { padding-top:25px; padding-bottom:24px; }
}
@media(max-width:374px) {
  .offer-card { --ticket-notch:34px; border-radius:24px; }
  .offer-ticket { padding-left:20px; padding-right:20px; }
  .offer-ticket .button { padding-inline:11px; }
}

/* Conversation shortlist: the same current offers as the page, without leaving the chat. */
.chat-journey{display:grid;gap:13px;max-width:100%;min-width:0;flex-shrink:0;margin:4px 0 8px}.chat-trip-summary{padding:14px 16px;background:#edf0e3;border-radius:17px}.chat-trip-summary>span{display:block;font-size:10px;font-weight:700;color:#596a58}.chat-trip-summary p{font-size:12px;line-height:1.7;margin:6px 0 0;overflow-wrap:anywhere}.chat-search-state,.chat-save-benefit{font-size:12px;line-height:1.75;margin:0;color:#51665c}.chat-plan-note{font-size:10px;line-height:1.7;margin:0;color:#687768}.chat-offers{display:grid;gap:9px}.chat-offer{display:grid;grid-template-columns:83px minmax(0,1fr);gap:12px;padding:12px;background:#fffefa;border-radius:18px;align-items:start;box-shadow:0 3px 15px #17343c05}.chat-offer:not(:has(>img)){grid-template-columns:1fr}.chat-offer>img{width:83px;height:94px;object-fit:cover;border-radius:11px}.chat-offer h3{font-size:13px;line-height:1.45;margin:0;overflow-wrap:anywhere}.chat-offer p{font-size:10px;line-height:1.6;color:#657468;margin:5px 0 7px;overflow-wrap:anywhere}.chat-offer strong{font-size:16px;line-height:1.5;overflow-wrap:anywhere}.chat-offer small{display:block;font-size:9px;color:#657468}.chat-offer .text-link{display:flex;align-items:center;gap:6px;font-size:11px;margin-top:9px;padding:3px 0;text-align:left}.chat-offer .text-link .icon{width:13px;height:13px}.chat-journey .chat-suggestions{margin:0;flex-wrap:wrap}.chat-journey .chat-suggestions button{max-width:100%;overflow-wrap:anywhere}
@media(max-width:374px){.chat-offer{grid-template-columns:66px minmax(0,1fr);gap:10px;padding:11px}.chat-offer>img{width:66px;height:86px}.chat-offer strong{font-size:15px}.chat-trip-summary{padding:12px 13px}}
.chat-offer .offer-equivalent{font-size:11px;margin:5px 0 0}.chat-offer .offer-equivalent small{font-size:8px}
.chat-offer .text-link{appearance:none;border:0;background:#edf0e3;color:var(--ink);border-radius:999px;min-height:34px;padding:7px 12px;width:fit-content;font:inherit;font-size:11px;font-weight:650;line-height:1.4;text-decoration:none;cursor:pointer}.chat-offer .text-link:hover{background:#e1e8d5}.chat-offer .text-link:focus-visible{outline:2px solid #6b8565;outline-offset:3px}

/* Two clear starting points share the same real search inputs. */
.search-layout{align-items:stretch;grid-template-columns:minmax(0,1fr) 316px;gap:20px}
.search-panel{padding:27px 27px 22px;border-radius:28px;box-shadow:0 8px 32px #253e3404}
.search-panel .panel-topline{margin-bottom:20px;align-items:center}.search-panel .panel-topline h2{font-size:21px;letter-spacing:-.55px;line-height:1.4}.search-panel .quiet-label{font-size:11px;line-height:1.5}.search-panel .quiet-label .icon{width:16px;height:16px}
.search-mode-switch{display:inline-flex;align-items:stretch;gap:4px;max-width:100%;padding:5px;margin:0 0 22px;border-radius:18px;background:#edf0e6}.search-mode-switch button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 16px;border-radius:13px;background:transparent;color:#61756b;font-size:12px;font-weight:650;line-height:1.4;transition:background .2s,color .2s,box-shadow .2s}.search-mode-switch button[aria-pressed=true]{background:#fffefa;color:var(--ink);box-shadow:0 3px 9px #1b393309}.search-mode-switch .icon{width:17px;height:17px;stroke-width:1.75}
.search-panel .search-fields{gap:11px}.search-panel .search-field{display:block;position:relative;min-height:94px;padding:15px 15px 12px;border-radius:18px;background:#f1f3eb}.search-panel .search-field>span{display:block;width:100%;min-width:0;overflow:visible}.search-panel .search-field>.icon{position:absolute;top:16px;right:15px;width:18px;height:18px;stroke-width:1.6;color:#7b8e76;pointer-events:none}.search-panel .field-label{display:block;max-width:calc(100% - 25px);margin-bottom:7px;font-size:11px;font-weight:500;line-height:1.45;color:#647767}.search-panel .search-field input,.search-panel .search-field select,.search-panel .search-field #travelers-toggle{display:block;width:100%;min-height:28px;padding:0;font-size:14px;font-weight:650;line-height:1.5;text-align:left;color:var(--ink)}.search-panel .search-field select{padding-right:21px!important;background-position:right 0 center}.search-panel .search-field input::placeholder{font-size:12px;font-weight:450;color:#778779}.search-panel .search-field:hover{background:#edf0e5}.search-panel .search-fields .search-field:has(:focus-visible){background:#e4ecd4;box-shadow:none}
.search-panel .search-bottom{gap:15px;margin-top:20px;align-items:center}.search-panel .checkbox-label{font-size:12px;line-height:1.5}.search-panel .search-submit{min-height:49px;gap:18px;padding:14px 19px;font-size:13px;border-radius:16px}.search-panel .search-submit .icon{width:18px;height:18px}.search-panel .search-footnote{margin:17px 0 0;font-size:10.5px;line-height:1.75;color:#788576}
.search-panel[data-search-mode=budget] .search-fields{grid-template-columns:repeat(6,minmax(0,1fr))}.search-panel[data-search-mode=budget] .destination-field{display:none}.search-panel[data-search-mode=budget] .budget-field{order:1;grid-column:span 3;background:#eef1df}.search-panel[data-search-mode=budget] .travelers-field{order:2;grid-column:span 3}.search-panel[data-search-mode=budget] .departure-field{order:3;grid-column:span 2}.search-panel[data-search-mode=budget] .date-field{order:4;grid-column:span 2}.search-panel[data-search-mode=budget] .nights-field{order:5;grid-column:span 2}.search-panel[data-search-mode=budget] .budget-field input{font-size:19px;letter-spacing:-.3px}
.budget-discovery{margin-top:21px}.budget-discovery[hidden]{display:none}.budget-discovery-intro{margin:0 0 14px;font-size:12px;line-height:1.7;color:#607263}.budget-countries-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.budget-countries-heading h3{margin:0;font-size:12px;line-height:1.5;font-weight:650}.budget-countries-count{font-size:10px;color:#72816e;flex-shrink:0}.budget-country-options{display:flex;flex-wrap:wrap;gap:7px}.budget-country-options button{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:37px;padding:9px 13px;border-radius:12px;background:#f0f2eb;color:#586f60;font-size:11px;font-weight:550;line-height:1.35;transition:background .18s,color .18s}.budget-country-options button[aria-pressed=true]{background:#dfe8c4;color:#284632;font-weight:650}.budget-country-options button .icon{display:none;width:13px;height:13px;stroke-width:2}.budget-country-options button[aria-pressed=true] .icon{display:block}.budget-country-options button:hover{background:#e4e9d6}.budget-strict-note{display:flex;align-items:flex-start;gap:7px;margin:16px 0 0;font-size:11px;line-height:1.65;color:#5b7160}.budget-strict-note .icon{width:14px;height:14px;margin-top:2px}
/* An original route motif, kept decorative and independent of network status. */
.agent-intro{display:flex;flex-direction:column;align-self:stretch;min-width:0;padding:27px 25px 23px;border-radius:28px;background:#183c40;color:#fffefa}.agent-intro:after{display:none}.agent-intro-content{min-width:0;margin-block:auto;padding-block:3px 21px}.agent-intro-action{flex-shrink:0;min-width:0}.agent-intro-top{display:flex;align-items:center;gap:12px;margin:0 0 23px}.agent-symbol{display:flex;align-items:center;justify-content:center;width:39px;height:39px;flex-shrink:0;border-radius:13px;background:#dfe9b911;color:#e3ebbe}.agent-symbol .icon{width:25px;height:25px;stroke-width:1.7}.agent-label{font-size:9px;font-weight:600;letter-spacing:1.2px;line-height:1.7;color:#c8d8c8}.agent-intro h2{font-size:27px;line-height:1.3;font-weight:500;letter-spacing:-.85px;margin:0}.agent-intro h2 span{display:block}.agent-route{margin:17px 0 14px;color:#b7cbae;opacity:1}.agent-route svg{display:block;width:100%;height:39px}.agent-route .route-line{opacity:.55}.agent-route .route-stop{fill:#b7cbae;opacity:.55}.agent-route .route-traveler{fill:none;stroke:#e6bd5b;stroke-width:6.4;stroke-dasharray:.01 200;stroke-dashoffset:0;animation:veyu-route-travel 8s linear infinite}.agent-intro .agent-example{max-width:none;font-size:13px;line-height:1.8;color:#d2ded1;margin:0}.agent-intro .button{display:flex;width:100%;min-height:49px;padding:14px 16px;gap:12px;justify-content:space-between;border-radius:16px;margin:0;font-size:13px;line-height:1.45}.agent-intro .button .icon{width:19px;height:19px;flex-shrink:0}.agent-caption{display:block;text-align:left;font-size:10px;line-height:1.75;color:#b8cdbd;margin-top:12px}
@keyframes veyu-route-travel{0%{stroke-dashoffset:0;opacity:0}10%{stroke-dashoffset:0;opacity:1}82%{stroke-dashoffset:-100;opacity:1}94%,100%{stroke-dashoffset:-100;opacity:0}}
@media(max-width:1100px){.search-layout{grid-template-columns:minmax(0,1fr) 282px;gap:16px}.search-panel{padding:24px 21px 21px}.search-panel .search-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.search-panel[data-search-mode=budget] .search-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.search-panel[data-search-mode=budget] .budget-field,.search-panel[data-search-mode=budget] .travelers-field,.search-panel[data-search-mode=budget] .date-field,.search-panel[data-search-mode=budget] .nights-field{grid-column:span 1}.search-panel[data-search-mode=budget] .departure-field{grid-column:span 2}.agent-intro{padding:25px 22px}.agent-intro h2{font-size:25px}.agent-intro .agent-example{font-size:12px}.search-panel .search-bottom{flex-wrap:wrap}.search-panel .search-submit{margin-left:auto}}
@media(max-width:900px){.search-layout{grid-template-columns:minmax(0,1fr) 255px;gap:14px}.search-panel{padding:23px 18px 20px}.search-panel .panel-topline{align-items:flex-start;gap:10px}.search-panel .panel-topline h2{font-size:19px}.search-panel .quiet-label{font-size:10px;max-width:105px}.search-mode-switch{display:flex}.search-mode-switch button{flex:1;min-width:0;padding:9px 10px;font-size:11px;gap:6px}.search-panel .search-field{padding:14px 12px 11px}.search-panel .search-field>.icon{right:12px;width:16px;height:16px}.search-panel .search-field input,.search-panel .search-field select,.search-panel .search-field #travelers-toggle{font-size:13px}.agent-intro{padding:25px 20px}.agent-intro h2{font-size:24px}.agent-label{font-size:8px;letter-spacing:.8px}.agent-intro .button{font-size:12px}}
@media(max-width:680px){.search-layout{display:flex;flex-direction:column;gap:14px}.search-panel,.agent-intro{width:100%}.search-panel{padding:22px 17px 19px;border-radius:26px}.search-panel .panel-topline{margin-bottom:17px;align-items:center}.search-panel .panel-topline h2{font-size:20px}.search-panel .quiet-label{max-width:105px;font-size:10px}.search-mode-switch{padding:4px;margin-bottom:18px;border-radius:17px}.search-mode-switch button{min-height:43px;padding:10px 11px;font-size:12px;border-radius:13px}.search-mode-switch .icon{width:16px;height:16px}.search-panel .search-fields{gap:9px}.search-panel .search-field{min-height:93px;padding:14px 13px 11px;border-radius:17px}.search-panel .search-field>.icon{right:13px;top:15px;width:16px;height:16px}.search-panel .field-label{font-size:10.5px;line-height:1.45;max-width:calc(100% - 23px);margin-bottom:8px}.search-panel .search-field input,.search-panel .search-field select,.search-panel .search-field #travelers-toggle{font-size:14px;line-height:1.5}.search-panel .search-field input::placeholder{font-size:11px}.search-panel[data-search-mode=budget] .budget-field input{font-size:19px}.search-panel .search-bottom{gap:16px;margin-top:19px}.search-panel .search-submit{min-height:49px;width:100%;margin:0;font-size:13px;justify-content:space-between}.search-panel .checkbox-label{font-size:12px}.search-panel .search-footnote{font-size:10px;line-height:1.75;text-align:left;margin-top:16px}.budget-discovery{margin-top:19px}.budget-discovery-intro{font-size:12px;line-height:1.7}.budget-country-options{gap:7px}.budget-country-options button{padding:9px 12px;min-height:38px;font-size:11px}.budget-strict-note{font-size:10.5px}.agent-intro{display:grid;grid-template-columns:minmax(0,1fr);align-self:auto;padding:25px 23px 22px;border-radius:26px;gap:0}.agent-intro-top{margin-bottom:18px}.agent-intro-content{margin:0;padding:0}.agent-intro-action{min-width:0}.agent-label{font-size:9px;letter-spacing:1.1px}.agent-intro h2{grid-column:auto;font-size:27px;line-height:1.28;max-width:100%;margin:0}.agent-intro h2 span{display:inline}.agent-intro h2 span+span:before{content:' '}.agent-route{margin:13px 0 12px;max-width:230px}.agent-intro .agent-example{grid-column:auto;max-width:none;font-size:13px;margin:0 0 20px;line-height:1.8}.agent-intro .button{grid-column:auto;grid-row:auto;width:100%;min-height:49px;margin:0;padding:14px 16px;font-size:13px}.agent-caption{font-size:10px;margin-top:11px}}
@media(max-width:374px){.search-panel{padding:21px 14px 18px}.search-mode-switch button{font-size:11px;padding:10px 9px;gap:6px}.search-panel .search-field{padding:13px 11px 10px}.search-panel .search-field>.icon{right:11px;top:14px;width:15px;height:15px}.search-panel .search-field input,.search-panel .search-field select,.search-panel .search-field #travelers-toggle{font-size:13px}.search-panel .field-label{font-size:10px}.agent-intro{padding:24px 21px 21px}.agent-intro h2{font-size:25px}.budget-country-options button{padding:9px 11px;font-size:10.5px}}
@media(prefers-reduced-motion:reduce){.agent-route .route-traveler{animation:none;display:none}.search-mode-switch button,.budget-country-options button{transition:none}}
/* Keep the party chooser within the right-hand budget tile on phones. */
@media(max-width:680px){
  .search-panel[data-search-mode=budget] .travelers-popover{left:auto;right:0}
  .floating-agent{width:52px;height:52px;min-width:52px;min-height:52px;padding:12px;gap:0;border-radius:50%;justify-content:center}
  .floating-agent>span:not(.mini-symbol),.floating-agent>.icon{display:none}
  .floating-agent .mini-symbol{width:28px;height:28px}
  .floating-agent .mini-symbol .icon{width:27px;height:27px}
}


/* A readable comparison action finishes the ticket with a distinct soft surface. */
.offer-compare {
  width:100%; min-height:60px; margin:0; padding:12px 20px;
  gap:11px; flex-shrink:0; background:#e3ead9; color:#24483f;
  font-size:13px; font-weight:600; line-height:1.45; text-align:left;
  transition:background 180ms ease,color 180ms ease;
}
.offer-compare-icon {
  width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center;
  border-radius:11px; background:#fffefa; color:#24483f;
}
.offer-compare .icon { width:21px; height:21px; stroke-width:1.65; }
.offer-compare.selected { background:#24483f; color:#fffefa; }
.offer-compare.selected .offer-compare-icon { background:#e1edaa; color:#24483f; }
.offer-compare:focus-visible { outline:3px solid #24483f; outline-offset:-5px; }
@media(hover:hover) and (pointer:fine) {
  .offer-compare:hover { background:#d6e1c9; }
  .offer-compare.selected:hover { background:#31584c; }
}
@media(prefers-reduced-motion:reduce) { .offer-compare { transition:none; } }

/* Search becomes a working page; the homepage stays a short introduction. */
.search-page .moods-section,.search-page .how-section,.search-page .club-strip,.search-page .faq-section,.search-page .intro-note{display:none}
.search-page .intro{padding-top:22px;padding-bottom:24px}
.search-page .intro h1{font-size:clamp(29px,3vw,39px)}
.search-page #search-controls-toggle{margin-top:17px;font-size:12px;padding:11px 15px}
.search-page .search-layout{grid-template-columns:minmax(0,1fr)}
.search-page .agent-intro{display:none}
.search-page .search-panel{padding:25px 28px}
.search-page .search-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.search-page .results-section{padding-top:30px}
.search-page.search-controls-collapsed .search-layout{display:none}
.search-page .results-section>.nothing-perfect{margin-top:23px}
.offer-shell{display:flex;transition:filter 200ms ease}
.offer-shell>.offer-card{width:100%;height:100%;box-shadow:none}
.offer-card.ticket-cutout:hover{box-shadow:none}
@media(hover:hover) and (pointer:fine){.offer-shell:hover{filter:var(--ticket-shadow-hover)}}
.search-progress{grid-column:1/-1;display:flex;align-items:center;gap:17px;padding:20px 24px;border-radius:22px;background:#e9eee1}
.search-progress>.icon{width:25px;height:25px;color:#597660}
.search-progress strong{font-size:14px;font-weight:650}
.search-progress p{font-size:12px;color:#617567;margin:5px 0 0}
.search-recovery-intro{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:19px 20px;background:#fff;padding:28px;border-radius:26px}
.recovery-symbol{display:flex;align-items:center;justify-content:center;width:49px;height:49px;border-radius:17px;background:#e8eedb;color:#526d51}
.recovery-symbol>.icon{height:26px;width:26px}
.search-recovery-intro h3{font-size:20px;line-height:1.35;margin:2px 0 9px;letter-spacing:-.4px;font-weight:600}
.search-recovery-intro p{font-size:13px;line-height:1.75;color:#607463;max-width:740px;margin:0}
.recovery-primary{display:flex;gap:19px;align-items:center;flex-wrap:wrap;grid-column:2}
.recovery-primary .button{font-size:12px;min-height:48px;gap:16px}
.recovery-primary .recovery-assistant{appearance:none;background:#edf1e5;color:#183c40;box-shadow:none}
.recovery-primary .recovery-assistant:hover{background:#e1e9d6}
.recovery-primary .recovery-assistant .icon{width:18px;height:18px}
@media(max-width:480px){.recovery-primary{width:100%}.recovery-primary>.button{width:100%;justify-content:space-between}}
.search-recovery{padding:24px 0 8px}
.search-recovery>h3{font-size:17px;margin:0 0 15px;font-weight:600}
.recovery-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.recovery-option{display:flex;align-items:center;gap:12px;background:#e9eee1;padding:18px 16px;border-radius:20px;text-align:left;min-width:0;transition:background 180ms ease,transform 180ms ease}
.recovery-option>span:nth-child(2){min-width:0;flex:1}
.recovery-option strong{font-size:13px;line-height:1.55;display:block;font-weight:650}
.recovery-option small{font-size:11px;line-height:1.6;display:block;color:#60725f;margin-top:4px}
.recovery-option-icon{width:33px;height:33px;display:flex;align-items:center;justify-content:center;background:#fffefa;border-radius:11px;flex-shrink:0}
.recovery-option-icon>.icon{height:18px;width:18px}
.recovery-option>.icon{width:17px;height:17px}
.recovery-option:hover{background:#dce6cf;transform:translateY(-2px)}
.recovery-card{min-width:0;display:flex;flex-direction:column;padding:18px;background:#edf1e6;border-radius:22px;gap:12px}
.recovery-card.has-offers{background:#fffefa;box-shadow:0 6px 24px #173e4110}
.recovery-card-heading{display:flex;align-items:flex-start;gap:11px}
.recovery-card-heading>div{min-width:0;flex:1}
.recovery-card-heading h4{font-size:14px;line-height:1.5;font-weight:650;margin:2px 0 5px}
.recovery-card-heading p{font-size:11px;line-height:1.65;color:#627564;margin:0}
.recovery-availability{display:flex;align-items:center;gap:7px;font-size:11px;line-height:1.55;color:#657764;margin:0}
.recovery-availability .icon{width:15px;height:15px;flex-shrink:0}
.recovery-availability.is-available{color:#254c3e}
.recovery-hotel-list{display:grid;gap:12px}
.recovery-hotel{display:flex;gap:11px;padding-top:12px;border-top:1px solid #e7eadf;min-width:0}
.recovery-hotel>img{width:68px;height:85px;object-fit:cover;border-radius:12px;flex-shrink:0}
.recovery-hotel>div{min-width:0;flex:1}
.recovery-hotel strong{display:block;font-size:12px;line-height:1.5;font-weight:650;overflow-wrap:anywhere}
.recovery-hotel span{display:block;font-size:10px;line-height:1.6;color:#627564;margin-top:2px}
.recovery-hotel b{display:block;font-size:15px;font-weight:650;line-height:1.5;margin-top:6px}
.recovery-hotel .text-link{display:inline-flex;font-size:10px;line-height:1.5;margin-top:7px;gap:6px}
.recovery-hotel .text-link>.icon{width:12px;height:12px}
.recovery-checked{font-size:9px;line-height:1.6;color:#6d7d6b;margin:0}
.recovery-select{margin-top:auto;width:100%;min-height:44px;padding:12px 15px;justify-content:space-between;font-size:11px;line-height:1.5;gap:10px}
.recovery-select:disabled{opacity:.65;cursor:default;box-shadow:none;transform:none}
.chat-recovery-options{grid-template-columns:1fr;margin:14px 0}
.chat-recovery-options .recovery-card{padding:14px;gap:10px}
.chat-recovery-options .recovery-card-heading h4{font-size:12px}
.chat-recovery-progress{font-size:12px;line-height:1.7;color:#57705c;padding:14px;background:#eef2e7;border-radius:16px;margin:12px 0}
.recovery-caption{font-size:11px;line-height:1.65;color:#627564;margin:12px 3px 0}
.departure-notice{font-size:12px;line-height:1.8;color:#3b5a4f;padding:18px;background:#e8eedf;border-radius:17px;display:flex;align-items:flex-start;gap:12px;margin:0 0 21px}
.departure-notice .icon{margin-top:3px;width:18px;height:18px}
.speech-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;white-space:normal;margin-top:12px;padding-top:10px;border-top:1px solid #edf0e9}
.speech-button{display:inline-flex;padding:7px 11px;border-radius:13px;background:#eaf0e1;font-size:11px;line-height:1.4;font-weight:600;min-height:32px}
.speech-button[aria-pressed=true]{background:#183c40;color:#fffefa}
.speech-controls small{font-size:9px;line-height:1.5;color:#6c7f69}
.chat-offer .chat-hotel-link{font-size:10px;margin-top:9px;display:flex;gap:7px;line-height:1.5}
.chat-offer .chat-hotel-link>.icon{height:13px;width:13px}
@media(max-width:900px){.recovery-options{grid-template-columns:1fr 1fr}.search-page .search-panel{padding:23px}}
@media(max-width:680px){.search-page .search-panel{padding:21px 17px}.search-page .search-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.search-page .intro{padding-top:10px}.search-page .intro h1{font-size:30px;line-height:1.24}.search-page .intro p{font-size:12px;line-height:1.75}.search-recovery-intro{padding:23px 20px;gap:14px;grid-template-columns:1fr}.search-recovery-intro h3{font-size:19px}.recovery-primary{grid-column:1;gap:17px}.recovery-options{grid-template-columns:1fr}.recovery-option{padding:17px}.search-progress{padding:18px}.search-page .results-section{padding-top:24px}.offer-shell{max-width:100%}}
@media(prefers-reduced-motion:reduce){.offer-shell,.recovery-option{transition:none}.recovery-option:hover{transform:none}}
.hotel-fact-section{background:#fff;border-radius:17px;padding:15px 17px;margin:12px 0}
.hotel-fact-section>summary{font-size:13px;font-weight:650;cursor:pointer}
.hotel-fact-section>div{padding-top:9px}
.hotel-fact-section p{font-size:12px;line-height:1.75;margin:10px 0;overflow-wrap:anywhere}
.hotel-fact-section p>strong,.hotel-fact-section p>span{display:block}
.hotel-fact-section h4{font-size:12px;margin-bottom:6px}
.hotel-fact-section details{padding:10px 0;font-size:12px}
.hotel-fact-section details>summary{cursor:pointer;line-height:1.6}
.budget-extra{display:block;max-width:290px;margin:17px 0 0;padding:11px 13px;border-radius:15px;background:#f2f4eb}
.budget-extra>span{display:block;font-size:10px;color:#6a7c63;margin-bottom:5px}
.budget-extra select{width:100%;border:0;background:transparent;font-size:12px}
.share-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:23px 0}
.share-options .button{justify-content:space-between;min-width:0;font-size:12px;padding:14px 16px}
.share-url{display:block;padding:15px;background:#eaf0e2;border-radius:16px}
.share-url>span{display:block;font-size:11px;color:#5f735f;margin-bottom:7px}
.share-url input{width:100%;padding:0;border:0;background:transparent;font-size:12px;color:#183c40;text-overflow:ellipsis}
@media(max-width:420px){.share-options{grid-template-columns:1fr}}

/* Quiet, editable recommendation preferences. */
.search-quality{margin:16px 0 0;padding:13px 16px;background:var(--surface-soft,#f3f4ed);border-radius:18px;min-width:0}.search-quality summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-size:12px;list-style:none}.search-quality summary::-webkit-details-marker{display:none}.search-quality-summary{font-size:11px;color:var(--muted,#61766b);text-align:right}.search-quality-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:17px}.search-quality-fields label{display:grid;gap:7px;min-width:0;font-size:11px}.search-quality-fields select{background:white;border:0;border-radius:13px;width:100%;padding:12px;color:inherit}.search-quality p{font-size:11px;line-height:1.6;color:var(--muted,#61766b);margin:12px 0 2px}.recommendation-budget{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#e9eedc;border-radius:22px;padding:20px 24px;margin:0 0 20px}.recommendation-budget strong{font-size:15px}.recommendation-budget p{font-size:12px;line-height:1.6;max-width:680px;margin:7px 0 0}.recommendation-budget .button{flex-shrink:0;font-size:12px}.search-quality:focus-within{outline:0}.search-quality summary:focus-visible{border-radius:8px;box-shadow:0 0 0 3px #dce7b4;outline:0}@media(max-width:560px){.search-quality-fields{grid-template-columns:1fr}.search-quality summary{align-items:flex-start}.search-quality-summary{max-width:50%}.recommendation-budget{align-items:stretch;flex-direction:column;padding:18px}.recommendation-budget .button{align-self:flex-start}}

/* Hotel facts flow vertically; long amenity lists never reserve an empty column. */
.hotel-page-overview { display:grid; gap:18px; margin:20px 0; min-width:0; }
.hotel-page-overview>.detail-tile { min-width:0; }
.hotel-page .hotel-address { margin-top:22px; padding-top:18px; border-top:1px solid #e7ebdf; }
.hotel-page .hotel-address h3 { margin:0 0 6px; font-size:14px; font-weight:600; }
.hotel-page .hotel-address p { margin:0; }
.hotel-page .hotel-amenities h2 { display:flex; align-items:center; gap:12px; }
.hotel-page .hotel-amenities-count { display:inline-flex; align-items:center; justify-content:center; min-width:30px; height:28px; padding:0 9px; border-radius:10px; background:#edf1e5; color:#536b59; font-size:12px; font-weight:500; }
.hotel-page .hotel-amenities-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 28px; padding:0; margin:0; list-style:none; }
.hotel-page .hotel-amenities-list li { position:relative; padding:6px 0 6px 16px; line-height:1.6; min-width:0; }
.hotel-page .hotel-amenities-list li::before { content:""; width:4px; height:4px; border-radius:50%; background:#8c9d7d; position:absolute; left:1px; top:15px; }
.hotel-amenities-more { margin-top:18px; border-top:1px solid #e7ebdf; padding-top:16px; }
.hotel-amenities-more>summary { width:fit-content; max-width:100%; cursor:pointer; color:#183c40; font-size:13px; font-weight:600; padding:9px 13px; border-radius:12px; background:#edf1e5; }
.hotel-amenities-more>summary:hover { background:#e2e9d6; }
.hotel-amenities-more>summary:focus-visible { outline:2px solid #718462; outline-offset:4px; }
.hotel-page .hotel-amenities-more[open]>.hotel-amenities-list { margin-top:18px; }
@media(max-width:900px) { .hotel-page .hotel-amenities-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 20px; } }
@media(max-width:540px) { .hotel-page-overview { gap:12px; margin:16px 0; }.hotel-page .hotel-amenities-list { grid-template-columns:1fr; gap:3px; }.hotel-page .hotel-amenities-list li { padding-top:5px; padding-bottom:5px; }.hotel-page .hotel-amenities-list li::before { top:14px; } }

/* A shared hotel opens as a destination, while its exact live quote is checked. */
.public-tour-route .intro{display:none}
.tour-link-hotel{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:0;background:var(--white);border-radius:30px;overflow:hidden;margin:24px 0;box-shadow:var(--shadow)}
.tour-link-photo{position:relative;min-height:330px;background:var(--light)}
.tour-link-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.tour-link-photo-empty{height:100%;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:13px}
.tour-link-photo-empty .icon{width:32px;height:32px}
.tour-link-stars{position:absolute;left:20px;top:20px;padding:7px 12px;border-radius:20px;background:var(--white);font-size:12px;font-weight:650}
.tour-link-content{padding:32px 34px;min-width:0;align-self:center}
.tour-link-content h1{font-size:clamp(26px,3vw,38px);line-height:1.2;letter-spacing:-1.2px;margin:12px 0 13px;overflow-wrap:anywhere}
.tour-link-location{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:12px;margin:0 0 15px}
.tour-link-location .icon{width:15px;height:15px}.tour-link-location>span{margin-left:8px;color:var(--ink);background:var(--soft);border-radius:8px;padding:3px 7px}
.tour-link-terms{font-size:13px;line-height:1.8;margin:0 0 17px;max-width:48em}
.tour-link-status{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 21px}
.tour-link-status .icon{width:17px;height:17px;margin-top:2px}
.tour-link-pulse{flex:none;margin-top:7px;width:7px;height:7px;border-radius:50%;background:#99aa69;animation:tour-link-breathe 2s ease-in-out infinite}
.tour-link-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.tour-link-actions .button{font-size:12px;padding:14px 17px;gap:9px}.tour-link-actions .icon{width:17px;height:17px}
.tour-link-secondary{display:flex;flex-wrap:wrap;gap:13px 24px;margin-top:20px}.tour-link-secondary .text-link,.tour-link-actions .text-link{background:none;font-size:11px;padding:0;line-height:1.8}.tour-link-secondary .icon{width:14px;height:14px}
.public-tour-route .results-section{padding-top:12px}.public-tour-route .search-layout{margin-top:20px}
@keyframes tour-link-breathe{0%,100%{opacity:.45}50%{opacity:1}}
@media(max-width:760px){.tour-link-hotel{grid-template-columns:1fr;margin-top:10px;border-radius:24px}.tour-link-photo{min-height:240px;aspect-ratio:16/9}.tour-link-content{padding:24px 22px}.tour-link-content h1{font-size:29px}.tour-link-photo-empty{min-height:240px}.tour-link-secondary{gap:13px 20px}}
@media(max-width:440px){.tour-link-photo{min-height:195px}.tour-link-photo-empty{min-height:195px}.tour-link-content{padding:22px 18px}.tour-link-content h1{font-size:26px}.tour-link-actions{align-items:stretch}.tour-link-actions .button{flex:1;justify-content:center;font-size:11px;white-space:normal;padding:13px 12px}.tour-link-secondary{flex-direction:column;gap:10px}.tour-link-secondary .text-link{align-self:flex-start;font-size:12px}}
@media(prefers-reduced-motion:reduce){.tour-link-pulse{animation:none}}
.public-tour-route .results-tools,.public-tour-route .filter-row,.public-tour-route .results-section>.nothing-perfect{display:none}
.public-tour-route .offers-grid{grid-template-columns:minmax(0,1fr)}
.tour-link-quote{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.44fr);gap:30px;padding:27px 30px;background:var(--white);border-radius:24px}
.tour-link-quote-details h3{font-size:22px;line-height:1.35;margin:9px 0 12px;letter-spacing:-.5px;overflow-wrap:anywhere}
.tour-link-quote-details p{display:flex;align-items:center;gap:6px;font-size:13px;line-height:1.75;margin:8px 0;color:var(--muted)}.tour-link-quote-details p .icon{width:16px;height:16px}
.tour-link-quote-details small,.tour-link-quote-price small{display:block;color:var(--muted);font-size:10px;line-height:1.8}
.tour-link-quote-details .text-link{display:flex;background:none;margin-top:16px;padding:0;font-size:12px;gap:7px}.tour-link-quote-details .text-link .icon{width:16px;height:16px}
.tour-link-quote-price{align-self:center;padding:18px 22px;background:var(--soft);border-radius:19px}.tour-link-quote-price>span{display:block;font-size:11px;color:var(--muted)}.tour-link-quote-price>strong{display:block;font-size:27px;letter-spacing:-1px;line-height:1.4;margin:5px 0}.tour-link-quote-price>.button{margin:15px 0 10px;font-size:12px;width:100%;justify-content:space-between}.tour-link-no-quotes{margin:0;padding:20px 24px;border-radius:18px;background:var(--soft);font-size:13px;color:var(--muted)}
@media(max-width:680px){.tour-link-quote{grid-template-columns:1fr;padding:23px 20px;gap:20px}.tour-link-quote-details h3{font-size:20px}.tour-link-quote-price{padding:18px}.tour-link-quote-price>strong{font-size:28px}.tour-link-no-quotes{padding:18px}}
/* Alternative inventory stays prominent; failed checks remain a compact audit trail. */
.recovery-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-bottom:16px}
.recovery-section-heading h3,.recovery-next h3{font-size:17px;font-weight:600;line-height:1.5;margin:0}
.recovery-section-heading p,.recovery-next p{font-size:12px;line-height:1.75;color:#627564;margin:5px 0 0;max-width:660px}
.recovery-differences{display:grid;gap:6px;margin:10px 0 4px;font-size:11px;line-height:1.5}
.recovery-differences>div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px;align-items:baseline}
.recovery-differences dt{color:#627564}
.recovery-differences dd{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin:0;min-width:0;overflow-wrap:anywhere}
.recovery-differences dd>span:first-child{color:#6d7d6b}
.recovery-differences dd>span[aria-hidden]{color:#91a184}
.recovery-differences strong{font-weight:650}
.recovery-history{background:#ffffff90;border-radius:17px;margin-top:18px;padding:0 18px}
.recovery-history>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;padding:16px 0;font-size:12px;font-weight:600}
.recovery-history>summary::-webkit-details-marker{display:none}
.recovery-history>summary>span{display:inline-grid;place-items:center;min-width:23px;height:23px;border-radius:8px;background:#edf1e6;font-size:10px;color:#607463}
.recovery-history>summary>.icon{margin-left:auto;width:16px;height:16px;transition:transform .18s ease}
.recovery-history[open]>summary>.icon{transform:rotate(180deg)}
.recovery-history ul{padding:0 0 8px;margin:0;list-style:none}
.recovery-history li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #e6eadf;font-size:11px;line-height:1.6}
.recovery-history li>div{min-width:0}
.recovery-history li strong{display:block;font-size:11px;line-height:1.55;font-weight:600;overflow-wrap:anywhere}
.recovery-history li>div>span{display:block;color:#6d7d6b;font-size:10px;margin-top:3px}
.recovery-history li :is(.text-link,.text-button){display:inline-flex;align-items:center;flex-shrink:0;gap:7px;font-size:11px;min-height:40px}
.recovery-history li :is(.text-link,.text-button)>.icon{width:15px;height:15px}
.recovery-next{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;background:#e9eee1;border-radius:21px}
.recovery-refine-actions{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}
.recovery-refine-actions .button,.recovery-next>.button{font-size:12px;min-height:44px;padding:12px 16px;background:#fffefa;white-space:nowrap}
.recovery-refine-actions .icon{width:17px;height:17px}
.recovery-history>summary:focus-visible,.recovery-refine-actions .button:focus-visible{outline:2px solid #547351;outline-offset:3px}
@media(max-width:800px){.recovery-next{align-items:flex-start;flex-direction:column;padding:20px}.recovery-refine-actions{width:100%}.recovery-refine-actions .button{flex:1;justify-content:center}.recovery-history li{align-items:flex-start}.recovery-history li :is(.text-link,.text-button){flex-shrink:1;text-align:right}.recovery-differences>div{grid-template-columns:70px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.recovery-history>summary>.icon{transition:none}}
.recovery-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:stretch}
.recovery-card.has-offers{background:#fffefa;padding:22px;gap:16px}
.recovery-card.has-offers .recovery-hotel>img{width:104px;height:126px;border-radius:14px}
.recovery-card.has-offers .recovery-hotel strong{font-size:14px;line-height:1.5}
.recovery-card.has-offers .recovery-hotel b{font-size:19px;letter-spacing:-.4px}
.recovery-card.has-offers .recovery-hotel span{font-size:11px}
.chat-recovery-options{grid-template-columns:1fr}
.chat-recovery-options .recovery-card.has-offers{padding:14px}
.chat-recovery-options .recovery-card.has-offers .recovery-hotel>img{width:70px;height:96px}
@media(max-width:480px){.recovery-card.has-offers{padding:18px}.recovery-card.has-offers .recovery-hotel>img{width:85px;height:116px}.recovery-card.has-offers .recovery-hotel strong{font-size:13px}}
.recovery-exact-context{grid-column:1/-1;background:#e9eee1;border-radius:20px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.recovery-exact-context>p{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.75;max-width:720px;margin:0}
.recovery-exact-context>p>.icon{width:18px;height:18px;margin-top:3px;flex:none;color:#627564}
.recovery-exact-context>div{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;flex-shrink:0}
.recovery-exact-context .text-link{appearance:none;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:10px 14px;border-radius:13px;background:#fffefa;color:var(--ink);font-size:12px;line-height:1.5;transition:background .18s}
.recovery-exact-context .text-link:hover{background:#dce6cf}
.recovery-exact-context .text-link>.icon{width:17px;height:17px}
@media(max-width:1100px){.recovery-exact-context{align-items:flex-start;flex-direction:column;gap:10px}.recovery-next{flex-wrap:wrap}.recovery-refine-actions{flex-shrink:1}}

/* One result gets the same ticket as the collection, with a quiet tear-off stub. */
.offer-stub{display:flex;flex-direction:column;margin-top:5px;min-width:0}
.offer-stub>.offer-ticket{margin-top:0;flex:1 0 auto}
.offer-body h3,.offer-dates,.offer-match,.offer-features{overflow-wrap:anywhere}
.offer-photo img,.recovery-ticket-photo img{transition:transform 550ms cubic-bezier(.2,.65,.25,1);will-change:auto}
.offer-shell-horizontal,.recovery-ticket-shell{grid-column:1/-1}
.offer-horizontal,.recovery-ticket{--ticket-axis:x;display:grid;grid-template-columns:minmax(210px,.9fr) minmax(0,1.35fr) minmax(246px,.82fr);align-items:stretch}
.offer-horizontal .offer-photo{height:100%;min-height:300px}
.offer-horizontal .offer-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.offer-horizontal .offer-body{padding:28px 27px 25px;align-self:center}
.offer-horizontal .offer-body h3{font-size:clamp(22px,2.2vw,29px);line-height:1.25;margin:9px 0 14px}
.offer-horizontal .offer-match{margin:16px 0 0}
.offer-horizontal .offer-stub{margin:0;background:linear-gradient(180deg,#f5f7ed,#edf2e3)}
.offer-horizontal .offer-ticket{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:23px;padding:33px 27px 24px;flex:1;background:repeating-linear-gradient(180deg,#b6c2b4 0 3px,transparent 3px 9px) left center/1px calc(100% - 58px) no-repeat}
.offer-horizontal .offer-ticket>div{flex:0 0 auto}
.offer-horizontal .offer-price{font-size:clamp(24px,2.4vw,32px);line-height:1.2;margin:7px 0}
.offer-horizontal .offer-ticket .button{flex:0 0 auto;width:100%;min-height:46px}
.offer-horizontal .offer-compare{min-height:57px;font-size:11px;padding:12px 23px}
.offer-horizontal .offer-compare-icon{height:29px;width:29px}
.recovery-card.recovery-ticket{padding:0;gap:0;border-radius:28px;overflow:hidden;box-shadow:none!important;background:#fffefa}
.recovery-ticket-photo{position:relative;min-height:280px;background:#e2e8da;overflow:hidden}
.recovery-ticket-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.recovery-ticket-photo .photo-unavailable{height:100%;min-height:230px}
.recovery-ticket-body{padding:27px;min-width:0;display:flex;flex-direction:column;gap:15px}
.recovery-ticket-body .recovery-card-heading{gap:10px}
.recovery-ticket-body .recovery-card-heading h4{font-size:13px;margin-top:1px}
.recovery-ticket-body .recovery-card-heading p{font-size:10px}
.recovery-ticket-body .recovery-option-icon{background:#edf1e3}
.recovery-ticket-body .recovery-availability{font-size:10px}
.recovery-ticket-hotel h3{font-size:clamp(19px,2vw,26px);line-height:1.3;font-weight:600;letter-spacing:-.5px;margin:0 0 13px;overflow-wrap:anywhere}
.recovery-ticket-hotel p{font-size:11px;line-height:1.65;color:#627564;display:flex;align-items:flex-start;gap:7px;margin:7px 0;overflow-wrap:anywhere}
.recovery-ticket-hotel p .icon{flex:0 0 14px;width:14px;height:14px;margin-top:2px}
.recovery-ticket-hotel .text-link{display:inline-flex;gap:7px;margin-top:7px;font-size:11px}
.recovery-ticket-hotel .text-link .icon{width:13px;height:13px}
.recovery-ticket-stub{padding:35px 27px 28px;display:flex;flex-direction:column;justify-content:center;gap:15px;background:repeating-linear-gradient(180deg,#b6c2b4 0 3px,transparent 3px 9px) left center/1px calc(100% - 58px) no-repeat,linear-gradient(180deg,#f5f7ed,#edf2e3)}
.recovery-ticket-price>span{display:block}
.recovery-ticket-price>strong{display:block;font-size:clamp(24px,2.4vw,32px);line-height:1.25;font-weight:650;letter-spacing:-.8px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:7px 0}
.recovery-ticket-stub .recovery-select{margin:8px 0 0;white-space:normal;min-height:46px}
.recovery-ticket-stub .recovery-checked{font-size:9px;line-height:1.7}
/* Shared grid tracks align the tear line and the bottom across cards in one row,
   while titles, long room names and all price digits retain their full content. */
@supports(grid-template-rows:subgrid){
 .offers-grid>.offer-shell:not(.offer-shell-horizontal){display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}
 .offers-grid>.offer-shell:not(.offer-shell-horizontal)>.offer-card{display:grid;grid-row:span 3;grid-template-rows:subgrid;gap:0}
 .offers-grid>.offer-shell:not(.offer-shell-horizontal) .offer-body{height:auto}
}
@media(hover:hover) and (pointer:fine){
 .offer-card:hover .offer-photo img,.recovery-ticket:hover .recovery-ticket-photo img{transform:scale(1.035)}
 .recovery-ticket-shell{transition:filter 220ms ease}
 .recovery-ticket-shell:hover{filter:var(--ticket-shadow-hover)}
}
@media(min-width:761px) and (max-width:1000px){
 .offer-horizontal,.recovery-ticket{grid-template-columns:minmax(160px,.75fr) minmax(0,1.2fr) minmax(215px,.85fr)}
 .offer-horizontal .offer-body,.recovery-ticket-body{padding:24px 20px}
 .offer-horizontal .offer-ticket,.recovery-ticket-stub{padding:29px 20px 24px}
 .offer-horizontal .offer-compare{padding:12px 15px;gap:8px;font-size:10px}
}
@media(max-width:760px){
 .offer-horizontal,.recovery-ticket{--ticket-axis:y;display:flex;flex-direction:column}
 .offer-horizontal .offer-photo{height:250px;min-height:0}
 .offer-horizontal .offer-body{padding:24px 23px 20px;align-self:stretch}
 .offer-horizontal .offer-body h3{font-size:25px}
 .offer-horizontal .offer-stub{margin-top:5px}
 .offer-horizontal .offer-ticket{padding:25px 23px;gap:16px;background:repeating-linear-gradient(90deg,#b6c2b4 0 3px,transparent 3px 9px) center top/calc(100% - 58px) 1px no-repeat}
 .offer-horizontal .offer-ticket .button{min-height:46px}
 .offer-horizontal .offer-compare{font-size:12px}
 .recovery-ticket-photo{height:225px;min-height:0}
 .recovery-ticket-body{padding:23px;gap:13px}
 .recovery-ticket-hotel h3{font-size:24px}
 .recovery-ticket-stub{padding:25px 23px;background:repeating-linear-gradient(90deg,#b6c2b4 0 3px,transparent 3px 9px) center top/calc(100% - 58px) 1px no-repeat,linear-gradient(180deg,#f5f7ed,#edf2e3)}
 .recovery-ticket-price>strong{font-size:29px}
}
@media(prefers-reduced-motion:reduce){
 .offer-photo img,.recovery-ticket-photo img,.recovery-ticket-shell{transition:none}
 .offer-card:hover .offer-photo img,.recovery-ticket:hover .recovery-ticket-photo img{transform:none}
}

.tour-link-ticket-shell{grid-column:1/-1}
.tour-link-quote.ticket-horizontal{gap:0;padding:0;overflow:hidden;grid-template-columns:minmax(0,1fr) minmax(260px,.44fr)}
.tour-link-quote.ticket-horizontal .tour-link-quote-details{padding:29px 30px;min-width:0}
.tour-link-quote.ticket-horizontal .tour-link-quote-price{align-self:stretch;border-radius:0;padding:34px 29px;min-width:0;background:repeating-linear-gradient(180deg,#b6c2b4 0 3px,transparent 3px 9px) left center/1px calc(100% - 58px) no-repeat,linear-gradient(180deg,#f5f7ed,#edf2e3);display:flex;flex-direction:column;justify-content:center}
.tour-link-quote.ticket-horizontal .tour-link-quote-price>strong{overflow-wrap:anywhere}
.tour-link-quote.ticket-horizontal .tour-link-quote-details p{flex-wrap:wrap}
@media(max-width:760px){
 .tour-link-quote.ticket-horizontal{grid-template-columns:1fr}
 .tour-link-quote.ticket-horizontal .tour-link-quote-details{padding:25px 23px}
 .tour-link-quote.ticket-horizontal .tour-link-quote-price{padding:25px 23px;background:repeating-linear-gradient(90deg,#b6c2b4 0 3px,transparent 3px 9px) center top/calc(100% - 58px) 1px no-repeat,linear-gradient(180deg,#f5f7ed,#edf2e3)}
}

.lead-referral{margin:18px 0;padding:14px 16px;background:var(--surface-soft,#f1f3eb);border-radius:16px}.lead-referral>summary{cursor:pointer;min-height:24px;font-size:13px;color:var(--ink,#193e41)}.lead-referral .form-field{margin-top:12px}.lead-referral .form-consent{margin-top:12px}.lead-referral [hidden]{display:none}

/* Search context is a secondary, expandable companion to the latest answer. */
.chat-journey-details{width:100%;border:1px solid #dce4d5;border-radius:16px;background:#edf1e6;overflow:hidden}
.chat-journey-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;cursor:pointer;list-style:none;font-size:11px;font-weight:600;line-height:1.6}
.chat-journey-details>summary::-webkit-details-marker{display:none}
.chat-journey-details>summary::after{content:'⌄';font-size:17px;line-height:1;flex-shrink:0;transition:transform .2s}
.chat-journey-details[open]>summary::after{transform:rotate(180deg)}
.chat-journey-details>summary:focus-visible{outline:2px solid #829e65;outline-offset:-3px}
.chat-journey-content{display:grid;gap:12px;padding:0 12px 13px}
.chat-journey-content .chat-trip-summary{padding:0 3px;background:transparent}
.chat-journey-content .chat-trip-summary>span{display:none}
.chat-journey-content .chat-search-state{font-size:11px}
.chat-message.assistant{flex-shrink:0;overflow-wrap:anywhere}
.chat-message.assistant .speech-controls,.chat-message.assistant .consultant-feedback{margin-top:10px}
@media(prefers-reduced-motion:reduce){.chat-journey-details>summary::after{transition:none}}

/* Budget alternatives disclose actual price differences before an explicit choice. */
.recovery-budget-note{display:grid;gap:6px;padding:13px 14px;border:1px solid #dfd4bb;border-radius:14px;background:#f8f3e8;color:var(--ink);font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.recovery-budget-note>strong{font-size:13px;font-weight:600}
.recovery-budget-note>span{color:var(--muted);font-size:11px}
.recovery-budget-note>p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}
.recovery-ticket-stub .recovery-budget-note{margin:10px 0;width:100%;box-sizing:border-box}
.recovery-select{white-space:normal;text-align:left;gap:12px}
.recovery-select svg{flex-shrink:0}
