:root{--green:#117653;--green-dark:#0c6447;--navy:#152443;--blue:#1f68c9;--purple:#6530e9;--paper:#fff;--soft:#f4f7fb;--line:#dce5f1;--muted:#60708d;--text:#16223c;--shadow:0 24px 70px #10264a20;color-scheme:only light;forced-color-adjust:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth;color-scheme:only light;forced-color-adjust:none;overflow-x:hidden}
body{margin:0;color:var(--text);background:#fff;font-family:Manrope,Arial,sans-serif;line-height:1.6;color-scheme:only light;forced-color-adjust:none;overflow-x:hidden;width:100%}
.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;background:#fffffff2;backdrop-filter:blur(14px);z-index:40;border-bottom:1px solid #e7edf5}
.nav-wrap{min-height:84px;display:flex;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:10px;color:#172449;text-decoration:none;font-size:24px;font-weight:800;white-space:nowrap}
.brand b{color:var(--blue)}
.brand-icon{display:grid;place-items:center;width:42px;height:42px;color:#fff;border-radius:13px;background:linear-gradient(135deg,var(--blue),var(--purple));font-size:21px;box-shadow:0 8px 20px #3d55dd38}
.main-nav{display:flex;align-items:center;gap:9px;margin-left:auto}
.main-nav a{color:#23304e;text-decoration:none;font-weight:700;padding:12px 15px;border-radius:11px;font-size:14px}
.main-nav a:hover,.main-nav .active{color:#fff;background:linear-gradient(135deg,var(--blue),var(--purple))}
.main-nav a.flight-link{color:#2563eb;font-weight:800}
.main-nav a.flight-link:hover{color:#fff;background:linear-gradient(135deg,#2563eb,#6366f1)}
.nav-cta{color:var(--green);border:2px solid #15956c;border-radius:999px;padding:10px 20px;text-decoration:none;font-weight:800}
.menu-button{display:none}
.hero{position:relative;background:linear-gradient(118deg,#1b2b52 0%,#3d4e7e 52%,#5576b8 100%);padding:70px 0 78px;color:#fff;overflow:hidden}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:6px;background:linear-gradient(90deg,var(--blue),var(--purple))}
.hero-glow{position:absolute;border-radius:50%;filter:blur(2px);opacity:.18}
.hero-glow-one{width:420px;height:420px;background:#57a7ff;right:-120px;top:-190px}
.hero-glow-two{width:270px;height:270px;background:#7d4cff;left:-110px;bottom:-170px}
.hero-content{position:relative;display:grid;grid-template-columns:.92fr 1.08fr;gap:65px;align-items:center;z-index:1}
.eyebrow,.kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.13em;font-weight:800;color:#1d64ca}
.eyebrow i{font-style:normal;color:#0b7e58;background:#dff6eb;width:25px;height:25px;border-radius:50%;display:grid;place-items:center}
.hero h1{font-size:48px;line-height:1.13;letter-spacing:-1.8px;margin:18px 0 20px}
.hero h1 em{font-style:normal;color:#8db7ff}
.hero-copy>p{font-size:18px;color:#e2e9f8;margin:0;max-width:600px}
.hero-points{display:flex;flex-wrap:wrap;gap:15px;margin-top:27px;color:#dce7fa;font-weight:700;font-size:13px}
.hero-points span:first-child{color:#c7f5df}
.search-shell{background:#ffffff;color:var(--text);border-radius:24px;padding:28px 30px;box-shadow:0 24px 60px -12px rgba(10,24,61,0.22);border:1px solid rgba(255,255,255,0.85)}
.search-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.search-mark{width:42px;height:42px;border-radius:12px;background:#eef4ff;color:var(--blue);display:grid;place-items:center;font-size:22px;font-weight:900}
.search-heading small{display:block;color:var(--blue);font-weight:800;letter-spacing:.14em}
.search-heading strong{font-size:20px;letter-spacing:-0.4px;color:#0b2450}
.search-form{display:grid;grid-template-columns:repeat(6,1fr);gap:11px}
.search-form label{display:flex;flex-direction:column;justify-content:center;gap:2px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:8px 13px;color:#475569;font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;transition:all 0.2s cubic-bezier(0.16, 1, 0.3, 1);cursor:text;min-height:58px;box-sizing:border-box}
.search-form label:hover{background:#ffffff;border-color:#cbd5e1;box-shadow:0 4px 12px rgba(15,23,42,0.05)}
.search-form label:focus-within{background:#ffffff;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,0.14)}
.search-form label span{font-weight:500;text-transform:none;letter-spacing:0;color:#64748b;font-size:9px;display:inline}
.search-form .wide{grid-column:span 6}
.city-cell{grid-column:span 6}.checkin-cell{grid-column:span 3}.checkout-cell{grid-column:span 3}.adults-cell{grid-column:span 2}.children-cell{grid-column:span 2}.ages-cell{grid-column:span 2}.search-cell{grid-column:span 6;align-self:stretch}
.search-form input{border:none!important;background:transparent!important;border-radius:0!important;padding:2px 0 0 0!important;color:#0f172a!important;font:700 14.5px/1.2 Manrope,sans-serif!important;outline:none!important;box-shadow:none!important;width:100%}
.search-form input::placeholder{color:#94a3b8!important;font-weight:500!important;font-size:13.5px!important}
.city-field{position:relative}
.city-input-wrap{display:flex;align-items:center;gap:10px;background:#ffffff;border:1.5px solid #dce5f0;border-radius:12px;padding:8px 14px;transition:all 0.2s ease;position:relative}
.city-input-wrap:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,0.14)}
.city-input-wrap svg{width:18px;height:18px;color:#64748b;flex-shrink:0}
.city-input-wrap input{border:none!important;outline:none!important;background:transparent!important;font:600 15px/1.2 Manrope,sans-serif!important;color:#0f172a!important;flex:1;padding:0!important}
.clear-city{width:22px;height:22px;border-radius:50%;border:none;background:#e2e8f0;color:#64748b;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;line-height:1;flex-shrink:0}
.clear-city:hover{background:#cbd5e1;color:#0f172a}
.city-suggestions{position:absolute;z-index:95;left:0;right:0;top:calc(100% + 8px);background:#ffffff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 20px 45px -10px rgba(15,23,42,0.18);overflow:hidden;max-height:380px;overflow-y:auto;text-transform:none;letter-spacing:0;padding:10px;box-sizing:border-box}
.city-suggestion{display:flex;align-items:center;gap:14px;width:100%;padding:10px 12px;border:0;border-radius:14px;background:transparent;text-align:left;cursor:pointer;color:#0f172a;transition:all 0.18s cubic-bezier(0.16,1,0.3,1);margin-bottom:3px;box-sizing:border-box}
.city-suggestion:last-of-type{margin-bottom:0}
.city-suggestion:hover,.city-suggestion.active{background:#edf5ff}
.city-pin{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#f0f6ff!important;color:#2563eb!important;flex-shrink:0;border:1px solid #dbeafe!important}
.city-pin svg{width:22px!important;height:22px!important;display:block}
.city-copy{flex:1;min-width:0}
.city-copy strong{display:block;font-size:14px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.city-copy small{display:block;color:#64748b;font-size:12px;font-weight:500;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.city-type{font-size:11.5px;font-weight:600;color:#2563eb!important;background:#eff6ff!important;border:1px solid #dbeafe!important;border-radius:99px;padding:4px 12px;white-space:nowrap;flex-shrink:0}
.city-all-results{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 12px 4px 12px;border:0;border-top:1px solid #f1f5f9;background:transparent;cursor:pointer;margin-top:6px;box-sizing:border-box}
.city-all-results span{font-size:13px;font-weight:600;color:#2563eb!important}
.city-all-results svg{width:16px;height:16px;color:#64748b}
.search-button{display:flex;justify-content:center;align-items:center;gap:8px;border:0;color:#ffffff;background:linear-gradient(135deg,#1d6ed8 0%,#6366f1 100%);border-radius:12px;padding:14px 20px;min-height:54px;width:100%;font:800 16.5px/1 Manrope,sans-serif;cursor:pointer;box-shadow:0 8px 20px -2px rgba(99,102,241,0.35);transition:all 0.2s ease;box-sizing:border-box}
.search-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px -2px rgba(99,102,241,0.45);background:linear-gradient(135deg,#1860c4 0%,#4f46e5 100%)}
.search-button:disabled{opacity:.65;cursor:wait}
.form-trust{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:20px;color:#5e6d89;font-size:11px;font-weight:700}
.form-trust span::first-letter{color:var(--green)}
.form-disclosure{text-align:center;margin:12px 0 0;color:#65738c;font-size:11px}
.results-section{padding:70px 0;background:#f5f8fc}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:25px}
.section-head h2,.section-title h2,.included-copy h2,.seo-section h2,.faq h2{font-size:35px;line-height:1.2;letter-spacing:-1px;margin:7px 0}
.section-head p{color:#596a87;margin:0;text-align:right}
.hotel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hotel-card{background:#fff;border:1px solid #dce5f0;border-radius:16px;overflow:hidden;box-shadow:0 8px 25px #18315b0c;display:grid;transition:.2s}
.hotel-card-body{padding:17px 19px 19px;display:grid;gap:12px}
.hotel-photo{height:178px;margin:0;position:relative;overflow:hidden;background:linear-gradient(135deg,#dce9f8,#bdcae4)}
.hotel-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}
.hotel-card:hover .hotel-photo img{transform:scale(1.035)}
.hotel-photo figcaption{position:absolute;left:9px;bottom:9px;background:#102443d9;border-radius:7px;padding:4px 7px;max-width:calc(100% - 18px);font-size:9px;line-height:1.2}
.hotel-photo figcaption a{color:#fff;text-decoration:none}
.hotel-photo-fallback{display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#1f68c9,#6530e9);font-weight:900;font-size:22px}
.hotel-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px #18315b17;border-color:#a8bcec}
.hotel-card h3{font-size:18px;line-height:1.35;margin:0}
.hotel-meta{color:#64738d;font-size:12px;min-height:42px}
.hotel-price-row{display:flex;align-items:end;justify-content:space-between;gap:12px}
.hotel-price strong{display:block;color:var(--blue);font-size:23px}
.hotel-price small{color:#73809a}
.hotel-price small{display:block;line-height:1.35}.hotel-price strong{margin:2px 0}
.hotel-card button{border:0;background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;padding:10px 15px;border-radius:10px;font-weight:800;cursor:pointer}
.attribution{color:#76849b;font-size:11px;margin-top:16px}
.loading-card{height:170px;border-radius:16px;background:linear-gradient(90deg,#eef2f7 25%,#f8fafc 45%,#eef2f7 65%);background-size:300% 100%;animation:loading 1.25s infinite}
@keyframes loading{to{background-position:-150% 0}}
.trust-strip{background:#152753;color:#fff}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:27px 0}
.trust-grid div{display:flex;justify-content:center;align-items:center;gap:11px;border-right:1px solid #ffffff24}
.trust-grid div:last-child{border:0}
.trust-grid strong{font-size:25px;color:#9fc0ff}
.trust-grid span{font-size:12px;color:#cdd7eb}
.section{padding:92px 0}
.section-title{text-align:center;max-width:730px;margin:0 auto 42px}
.section-title p{color:var(--muted);margin:6px 0}
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.step-grid article{position:relative;border:1px solid var(--line);border-radius:20px;padding:30px;background:#fff;box-shadow:0 12px 35px #1b31520a}
.step-grid article>b{position:absolute;right:22px;top:15px;color:#e8edf5;font-size:45px}
.step-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#e8f2ff,#eee8ff);color:#4e46dd;display:grid;place-items:center;font-size:22px}
.step-grid h3,.benefit-grid h3{margin:18px 0 7px;font-size:18px}
.step-grid p,.benefit-grid p{color:var(--muted);margin:0;font-size:14px}
.included{background:#f4f7fb}
.included-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.document-preview{background:#fff;border-radius:8px;padding:27px;box-shadow:var(--shadow);border:1px solid #dce5f0;color:#18305b;transform:rotate(-1deg)}
.preview-top{display:flex;justify-content:space-between;align-items:center;font-size:12px}
.preview-top span{font-weight:900}
.preview-top b{font-size:18px;color:#1a55c6}
.preview-line{height:2px;background:#2871ef;margin:18px 0}
.preview-columns{display:grid;grid-template-columns:1.1fr .9fr;gap:19px}
.preview-columns>div:first-child{display:grid;gap:10px}
.preview-columns i,.preview-card i{height:7px;background:#e4eaf3;border-radius:9px;display:block}
.preview-columns i:nth-child(2){width:82%}
.preview-columns i:nth-child(3){width:90%}
.preview-columns i:nth-child(4){width:70%}
.preview-card{background:#f4f7fb;border-radius:7px;padding:13px;display:grid;gap:10px;font-size:9px}
.preview-bar{margin:20px 0 12px;padding:9px 13px;color:#fff;background:linear-gradient(90deg,#102c58,#174879);font-weight:800;font-size:10px}
.preview-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.preview-bottom div{height:65px;border:1px solid #dce5f0;border-radius:5px}
.document-preview>small{display:block;text-align:center;margin-top:15px;color:#718099;font-size:8px}
.included-copy>p,.seo-section p{color:var(--muted)}
.included-copy ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:26px 0}
.included-copy li{font-size:13px;font-weight:700}
.included-copy li b{color:var(--green);margin-right:7px}
.text-link{color:var(--blue);font-weight:800;text-decoration:none}
.seo-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:75px}
.seo-section aside{background:linear-gradient(145deg,#18294f,#41649c);border-radius:22px;padding:28px;color:#fff}
.seo-section aside h3{margin:0 0 17px}
.use-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.use-list span{background:#ffffff10;border:1px solid #ffffff20;border-radius:10px;padding:11px;font-size:12px}
.benefits{background:#f6f8fc}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.benefit-grid article{background:#fff;border:1px solid var(--line);border-radius:17px;padding:24px}
.benefit-grid article>span{font-size:26px;color:#4e46dd}
.faq-wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:75px}
.faq-intro{position:sticky;top:120px;align-self:start}
.faq-intro p{color:var(--muted)}
.faq-list details{border-bottom:1px solid var(--line);padding:17px 0}
.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-weight:800}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:22px;color:var(--blue)}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list p{color:var(--muted);margin:10px 35px 0 0}
.final-cta{background:linear-gradient(115deg,#0f704f,#12815c);color:#fff;padding:55px 0}
.final-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.kicker.light{color:#bff1dc}
.final-cta h2{font-size:33px;margin:5px 0}
.final-cta p{margin:0;color:#d8f1e8}
.final-cta a{background:#fff;color:var(--green);text-decoration:none;padding:15px 24px;border-radius:999px;font-weight:900;white-space:nowrap}
footer{background:#101b35;color:#d8dfec;padding:62px 0 35px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr 1.3fr;gap:45px}
.footer-brand{color:#fff}
.footer-grid>div:first-child p{max-width:350px;color:#9eabc1}
.footer-grid h3{font-size:14px;color:#fff;margin:8px 0 15px}
.footer-grid a:not(.brand){display:block;color:#aeb9ce;text-decoration:none;margin:8px 0;font-size:13px}
.footer-grid>div:last-child p{color:#9eabc1;font-size:12px}
.footer-grid small{color:#7f8ca4}
@media(max-width:900px){.main-nav,.nav-cta{display:none}
.menu-button{display:block;margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 13px;font-weight:800}
.main-nav.open{display:flex;position:absolute;left:20px;right:20px;top:76px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);padding:13px;flex-direction:column;align-items:stretch}
.hero-content,.included-grid,.seo-grid,.faq-wrap{grid-template-columns:1fr}
.hero-copy{text-align:center}
.hero-copy>p{margin:auto}
.hero-points{justify-content:center}
.hotel-grid{grid-template-columns:repeat(2,1fr)}
.benefit-grid{grid-template-columns:repeat(2,1fr)}
.faq-intro{position:static}
.footer-grid{grid-template-columns:1.5fr 1fr 1fr}
.footer-grid>div:last-child{grid-column:1/-1}
}
@media(max-width:620px){.wrap{width:min(100% - 28px,1180px)}
.announcement-inner span:not(.announcement-icon),.announcement a{display:none}
.nav-wrap{min-height:70px}
.brand{font-size:20px}
.brand-icon{width:37px;height:37px}
.hero{padding:48px 0}
.hero-content{gap:35px}
.hero h1{font-size:36px}
.hero-copy>p{font-size:16px}
.search-shell{padding:22px 18px;border-radius:19px}
.search-form{grid-template-columns:1fr}
.city-cell,.checkin-cell,.checkout-cell,.adults-cell,.children-cell,.ages-cell,.search-cell{grid-column:1}
.search-form .wide{grid-column:auto}
.form-trust{gap:8px}
.section{padding:68px 0}
.hotel-grid,.step-grid,.benefit-grid{grid-template-columns:1fr}
.section-head{display:block}
.section-head p{text-align:left;margin-top:8px}
.section-head h2,.section-title h2,.included-copy h2,.seo-section h2,.faq h2{font-size:29px}
.trust-grid{grid-template-columns:1fr 1fr;gap:0}
.trust-grid div{padding:12px;border-bottom:1px solid #ffffff20}
.included-grid{gap:45px}
.included-copy ul{grid-template-columns:1fr}
.use-list{grid-template-columns:1fr}
.final-cta-inner{display:block;text-align:center}
.final-cta a{display:inline-block;margin-top:24px}
.footer-grid{grid-template-columns:1fr 1fr}
.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}
}

.city-suggestions{left:0;right:auto;top:calc(100% + 6px);width:min(540px,calc(100vw - 48px));margin-top:0}
.city-suggestion{grid-template-columns:42px minmax(0,1fr) auto;min-height:70px;padding:11px 13px}
.city-copy{min-width:0}.city-copy strong,.city-copy small{white-space:normal;overflow-wrap:anywhere;line-height:1.3}
@media(max-width:680px){.city-suggestions{width:100%}.search-button{min-height:56px}}

/* Destination autocomplete */
.city-field{padding:10px 13px 11px!important;overflow:visible}
.city-input-wrap{display:grid;grid-template-columns:22px minmax(0,1fr) 24px;align-items:center;gap:10px;width:100%;margin-top:3px;padding:7px 9px;border:2px solid transparent;border-radius:10px;background:#fff}
.city-field:focus-within .city-input-wrap{border-color:#4c79ff;box-shadow:0 0 0 3px #3568ff14}
.city-input-wrap>svg{width:18px;height:18px;fill:none;stroke:#64748b;stroke-width:1.8;stroke-linecap:round}
.city-input-wrap input{padding:0!important;font-size:14px!important}
.clear-city{width:22px;height:22px;display:grid;place-items:center;border:1px solid #cbd5e1;border-radius:50%;padding:0;background:#fff;color:#94a3b8;font:700 14px/1 Arial;cursor:pointer}
.clear-city:hover{color:#1d4ed8;border-color:#8ca8ed;background:#f4f7ff}
.city-suggestions{left:-10px!important;right:-10px!important;width:auto!important;top:calc(100% + 7px)!important;max-height:430px;padding:7px;border-radius:13px;border-color:#dbe3ef;box-shadow:0 20px 50px #14244630}
.city-suggestion{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;gap:12px;min-height:62px;padding:9px 10px!important;border-radius:9px;margin:0!important;transform:none!important}
.city-suggestion+.city-suggestion{border-top:1px solid #eef2f7}
.city-suggestion:hover,.city-suggestion.active{background:#f5f8ff!important}
.city-pin{width:38px;height:38px;border-radius:9px;background:#f0f5ff;box-shadow:inset 0 0 0 1px #e1eaff}
.city-pin svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.city-copy strong{font-size:13px;white-space:normal;overflow:visible;text-overflow:clip}.city-copy small{font-size:11px;white-space:normal;overflow:visible;text-overflow:clip}
.city-type{border:0;padding:3px 8px;font-size:9px;background:#edf3ff}
.city-all-results{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-top:1px solid #e7edf6;background:#f8faff;color:#2860d3;padding:12px 14px;text-align:left;font:700 11px Manrope;cursor:pointer}.city-all-results b{font-size:18px;color:#64748b}
@media(max-width:680px){.city-suggestions{left:-7px!important;right:-7px!important}.city-type{display:block}}
.footer-legal{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.footer-legal a{font-size:11px;color:#c9d5ea}


.search-form label.modern-date {
  position: relative; padding: 10px 14px; background: #fff; border: 1px solid #dce5f0; border-radius: 12px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; min-height: 58px; cursor: pointer; transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.search-form label.modern-date:hover { background: #ffffff; border-color: #cbd5e1; box-shadow: 0 4px 12px rgba(15,23,42,0.05); }
.search-form label.modern-date:focus-within { background: #ffffff; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,0.14); }
.modern-date-label { font-size: 10px; font-weight: 800; color: #475569; text-transform: uppercase; margin-bottom: 2px; letter-spacing: 0.05em; }
.modern-date-input-wrap { display: flex; align-items: center; width: 100%; justify-content: space-between; }
.modern-date-input-wrap input[type="date"] {
  border: none; background: transparent; padding: 0; font-size: 14.5px; font-weight: 700; color: #0f172a; outline: none; cursor: pointer; font-family: inherit; margin: 0; flex: 1;
}
.modern-date-input-wrap svg { width: 16px; height: 16px; color: #0f172a; pointer-events: none; opacity: 0.8; }
.modern-date-input-wrap input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute; right: 10px; top: 0; bottom: 0; width: 30px; height: 100%; cursor: pointer; opacity: 0;
}
.modern-counter {
  display: flex; flex-direction: column; padding: 8px 13px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; justify-content: center; align-items: flex-start; min-height: 58px; transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.modern-counter:hover { background: #ffffff; border-color: #cbd5e1; box-shadow: 0 4px 12px rgba(15,23,42,0.05); }
.modern-counter:focus-within { background: #ffffff; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,0.14); }
.modern-counter-label { font-size: 10px; font-weight: 800; color: #475569; text-transform: uppercase; margin-bottom: 2px; letter-spacing: 0.05em; }
.modern-counter-wrap { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.modern-counter-btn {
  display: grid; place-items: center; width: 22px; height: 22px; background: transparent; border: none; cursor: pointer; color: #2563eb; font-size: 18px; padding: 0; line-height: 1; outline: none; user-select: none;
}
.modern-counter-btn.minus { color: #94a3b8; }
.modern-counter-btn:hover { color: #1d6ed8; }
.modern-counter-wrap input[type="number"] {
  border: none; background: transparent; padding: 0; font-size: 14.5px; font-weight: 700; color: #0f172a; outline: none; text-align: center; width: 28px; -moz-appearance: textfield; font-family: inherit; margin: 0; cursor: default; user-select: none; pointer-events: none;
}
.modern-counter-wrap input[type="number"]::-webkit-outer-spin-button,
.modern-counter-wrap input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none; margin: 0;
}

/* Booking.com Style Combined Dates & Occupancy */
.dates-cell { grid-column: span 3; }
.occupancy-cell { grid-column: span 3; }
.modern-combined-dates { display: flex; align-items: center; background: #fff; border: 1px solid #dce5f0; border-radius: 12px; min-height: 58px; transition: all 0.2s; cursor: pointer; }
.modern-combined-dates:hover { border-color: #cbd5e1; box-shadow: 0 4px 12px rgba(15,23,42,0.05); }
.modern-combined-dates.active, .modern-combined-dates:focus-within { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,0.14); }
.date-part { flex: 1; padding: 8px 10px; display: flex; flex-direction: column; cursor: pointer; min-width: 0; }
.date-divider { display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; color: #94a3b8; padding: 0; margin-top: 6px; flex-shrink: 0; }
.date-label { font-size: 9.5px; font-weight: 800; color: #475569; text-transform: uppercase; margin-bottom: 3px; letter-spacing: 0.03em; white-space: nowrap; }
.date-value { font-size: 14.5px; font-weight: 700; color: #0f172a; white-space: nowrap; }

.modern-occupancy { position: relative; display: flex; flex-direction: column; padding: 8px 14px; background: #fff; border: 1px solid #dce5f0; border-radius: 12px; justify-content: center; min-height: 58px; cursor: pointer; user-select: none; }
.modern-occupancy.active { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,0.14); }
.occ-label { font-size: 10px; font-weight: 800; color: #475569; text-transform: uppercase; margin-bottom: 2px; letter-spacing: 0.05em; }
.occ-value-wrap { display: flex; align-items: center; justify-content: space-between; font-size: 14.5px; font-weight: 700; color: #0f172a; }
.occ-chevron { width: 16px; height: 16px; color: #64748b; transition: transform 0.2s; }
.modern-occupancy.active .occ-chevron { transform: rotate(180deg); }

/* Occupancy Popover */
.occ-popover { position: absolute; top: calc(100% + 8px); left: 0; width: 320px; background: #fff; border: 1px solid rgba(226,232,240,0.9); border-radius: 16px; box-shadow: 0 24px 50px -10px rgba(15,23,42,0.22); padding: 20px; z-index: 100; cursor: default; max-height: 420px; overflow-y: auto; }
.occ-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid #f1f5f9; }
.occ-row:last-of-type { border-bottom: none; }
.occ-row-label { font-size: 14px; font-weight: 700; color: #0f172a; display: flex; flex-direction: column; }
.occ-row-label small { font-size: 11px; font-weight: 500; color: #64748b; margin-top: 2px; }
.occ-counter-wrap { display: flex; align-items: center; gap: 14px; }
.occ-btn { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid #cbd5e1; background: #fff; color: #2563eb; font-size: 20px; font-weight: 800; cursor: pointer; transition: all 0.2s; user-select: none; }
.occ-btn:hover { border-color: #2563eb; color: #2563eb; background: #eff6ff; }
.occ-num { width: 24px; text-align: center; font-size: 15px; font-weight: 700; color: #0f172a; }
.occ-done { width: 100%; margin-top: 16px; padding: 12px; background: #2563eb; color: #fff; border: none; border-radius: 8px; font-weight: 700; font-size: 15px; cursor: pointer; }
.occ-done:hover { background: #1d4ed8; }

/* Child Ages Dropdowns */
.child-ages-list { margin-top: 8px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid #f1f5f9; }
.child-age-select { width: 100%; padding: 8px 12px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; font-size: 13px; font-family: inherit; color: #0f172a; outline: none; }
.child-age-select:focus { border-color: #2563eb; }

@media(max-width: 768px) {
  .dates-cell { grid-column: span 6; }
  .occupancy-cell { grid-column: span 6; }
  .occ-popover { width: 100%; left: 0; right: 0; }
}

/* Flatpickr calendar customization */
.flatpickr-calendar { border-radius: 16px !important; box-shadow: 0 24px 50px -10px rgba(15,23,42,0.22) !important; border: 1px solid #e2e8f0 !important; font-family: Manrope, Arial, sans-serif !important; padding: 12px !important; }
.flatpickr-months { padding: 8px 4px !important; }
.flatpickr-months .flatpickr-month { height: 36px !important; }
.flatpickr-current-month { font-size: 14px !important; font-weight: 700 !important; color: #2563eb !important; }
.flatpickr-weekdays { background: transparent !important; }
.flatpickr-weekday { color: #64748b !important; font-size: 12px !important; font-weight: 700 !important; }
.flatpickr-day { border-radius: 8px !important; font-weight: 600 !important; font-size: 13px !important; color: #0f172a !important; }
.flatpickr-day:hover { background: #eff6ff !important; border-color: #2563eb !important; }
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange { background: #2563eb !important; border-color: #2563eb !important; color: #fff !important; }
.flatpickr-day.inRange { background: #dbeafe !important; border-color: #dbeafe !important; box-shadow: -5px 0 0 #dbeafe, 5px 0 0 #dbeafe !important; color: #1e40af !important; }
.flatpickr-day.today { border-color: #2563eb !important; color: #2563eb !important; font-weight: 800 !important; }
.flatpickr-day.today.selected { color: #fff !important; }
.flatpickr-day.flatpickr-disabled { color: #cbd5e1 !important; }
.flatpickr-prev-month, .flatpickr-next-month { padding: 8px !important; }
.flatpickr-prev-month svg, .flatpickr-next-month svg { fill: #64748b !important; }
.flatpickr-prev-month:hover svg, .flatpickr-next-month:hover svg { fill: #2563eb !important; }

/* Honest coverage notice when a remote destination has few properties */
.coverage-note{
  grid-column:1/-1;display:flex;flex-direction:column;gap:4px;
  background:#fffbeb;border:1px solid #fcd34d;border-radius:12px;
  padding:14px 18px;color:#78350f;margin-bottom:4px;
}
.coverage-note strong{font-size:14px}
.coverage-note span{font-size:13px;color:#92400e;line-height:1.5}
.coverage-note strong strong{color:#78350f}

/* ============================================================
   Search card refinement (2026-08-04)
   The three inputs used to be styled differently - the city was a
   grey label wrapping a white box (a box inside a box) while the
   dates and guests were single white boxes. Everything below makes
   the three cells one visual family and tightens the card.
   ============================================================ */

/* One card, calmer shadow, slightly tighter */
.search-shell{padding:26px 26px 22px;border-radius:22px;border:1px solid rgba(226,235,248,.9);
  box-shadow:0 18px 44px -14px rgba(10,24,61,.28),0 2px 6px rgba(10,24,61,.05)}

/* Heading: title first, muted subtitle under it - no more repeating
   the page's own H1 inside the card */
.search-heading{gap:13px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid #eef2f8}
.search-mark{width:40px;height:40px;border-radius:11px;
  background:linear-gradient(135deg,#eaf1ff,#e7e9ff);color:#1d6ed8;font-size:20px}
.search-heading strong{display:block;font-size:18.5px;font-weight:800;color:#0b2450;letter-spacing:-.3px;line-height:1.25}
.search-heading small{display:block;margin-top:2px;color:#7185a3;font-size:12px;font-weight:600;
  letter-spacing:0;text-transform:none}

/* The city cell: drop the outer grey chrome so only one box remains */
.search-form label.city-field{background:transparent;border:0;padding:0;min-height:0;box-shadow:none}
.search-form label.city-field:hover,.search-form label.city-field:focus-within{background:transparent;border:0;box-shadow:none}
.city-field .city-input-wrap{flex-direction:row;min-height:58px;padding:8px 14px;border:1px solid #dce5f0;
  border-radius:12px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}
.city-field .city-input-wrap:hover{border-color:#cbd5e1;box-shadow:0 4px 12px rgba(15,23,42,.05)}
.city-field .city-input-wrap:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.14)}

/* Field labels: identical size and weight in all three cells */
.search-form label.city-field{font-size:0}
.city-field .city-input-wrap input{font:700 14.5px/1.2 Manrope,sans-serif!important}
.date-label,.occ-label{font-size:10px;letter-spacing:.05em;color:#5b6b85;margin-bottom:3px}
.date-value,.occ-value-wrap{font-size:14.5px}

/* Equal breathing room between the three cells and the button */
.search-form{gap:12px}
.search-cell{margin-top:2px}

/* Button: same family as the brand gradient, with a clearer press state */
.search-button{min-height:52px;border-radius:12px;font-size:16px;letter-spacing:.2px;
  box-shadow:0 10px 22px -8px rgba(37,99,235,.55)}
.search-button:active{transform:translateY(1px);box-shadow:0 6px 14px -8px rgba(37,99,235,.5)}

/* Footer of the card: the three proofs read as one quiet line, and the
   disclosure sits apart so it is legible without competing */
.form-trust{margin-top:16px;gap:14px;font-size:11px;font-weight:700;color:#64748b}
.form-disclosure{margin-top:10px;padding-top:12px;border-top:1px solid #f1f5f9;
  color:#8394ad;font-size:10.5px;line-height:1.5}

@media(max-width:980px){
  .search-shell{padding:22px 18px 18px}
  .search-heading strong{font-size:17px}
}

/* City cell: the label now sits inside the white box exactly like the
   "Check-in" and "Guests & Rooms" labels, so the three cells match. */
.city-field-body{display:flex;flex-direction:column;flex:1;min-width:0}
.city-inline-label{font-size:10px;font-weight:800;color:#5b6b85;text-transform:uppercase;
  letter-spacing:.05em;line-height:1;margin-bottom:3px}
.city-field .city-input-wrap{min-height:60px;align-items:center;gap:11px}
.city-field .city-input-wrap>svg{align-self:center}
.modern-combined-dates,.modern-occupancy{min-height:60px}

/* Line 214 sets the city cell's padding with !important, which pushed the
   box 13px in from the dates and guests boxes below it. Same weapon wins. */
.search-form label.city-field{padding:0!important}
/* And ".search-form label span" outranked the new inline label, leaving it
   9px/500 while the neighbouring labels were 10px/800. */
.search-form .city-field .city-inline-label{font-size:10px;font-weight:800;color:#5b6b85;
  text-transform:uppercase;letter-spacing:.05em;display:block}

/* The suggestion list used to hang 10px outside the input on each side to
   compensate for the old cell padding. With the padding gone it must line
   up with the box it belongs to. */
.city-field .city-suggestions{left:0!important;right:0!important;width:auto!important}
@media(max-width:680px){.city-field .city-suggestions{left:0!important;right:0!important}}

/* Mobile: the cells kept their desktop "span 6", which on a one-column grid
   created five zero-width phantom columns and left the city field and the
   button ~60px narrower than the dates and guests boxes. */
@media(max-width:620px){
  .search-form{grid-template-columns:minmax(0,1fr)}
  .search-form>*{grid-column:1/-1!important}
}
