:root{--ink:#10243e;--muted:#6d7889;--blue:#205783;--blue-dark:#123e63;--blue-soft:#edf5ff;--teal:#08a98f;--green-soft:#ebfaf4;--orange:#e85a08;--orange-soft:#fff6eb;--surface:#fff;--canvas:#fff;--border:#d6dee7;--danger:#b42318;--warning:#8a5a00;--shadow:0 12px 35px rgba(31,65,98,.09);--radius:12px}
.currency-code{color:#40566c;font-weight:800;white-space:nowrap}
*{box-sizing:border-box}html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}body{margin:0;color:var(--ink);background:var(--canvas);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.45;max-width:100%;overflow-x:hidden}img{max-width:100%}a{color:var(--blue);text-decoration:none}a:hover{color:var(--teal)}button,input,select{font:inherit}.container{width:min(1148px,calc(100% - 28px));margin-inline:auto}.narrow{width:min(850px,calc(100% - 28px))}.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}.skip-link{position:fixed;top:-60px;z-index:999;background:white;padding:10px}.skip-link:focus{top:12px}
.site-header{background:white;padding-top:22px}.header-inner{min-height:68px;display:flex;align-items:center;gap:12px}.brand{display:block;width:200px;flex:0 0 auto}.brand img{display:block;width:100%;height:auto}.status-badge{padding:5px 11px;border-radius:999px;font-size:.75rem;font-weight:800;white-space:nowrap}.status-badge.live{color:#087451;background:#eaf9f1}.status-badge.demo{color:#885400;background:#fff4d9}.price-promise{color:#4e6178;font-size:.82rem;margin-inline-end:auto}.site-header nav{display:flex;gap:20px;font-size:.83rem;font-weight:750}.language-picker{margin:0;min-width:210px}.language-picker select{min-height:44px;background:#fff}.cookie-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px;padding:13px 16px;border:1px solid var(--border);border-radius:10px;color:#77808d;font-size:.77rem}.cookie-banner>div{display:flex;gap:10px}.cookie-banner.is-hidden{display:none}.btn-small{min-height:37px;padding:7px 14px;font-size:.78rem}
.intro{position:relative;min-height:300px;padding:68px 0 112px;color:white;background:linear-gradient(90deg,rgba(9,45,73,.94) 0%,rgba(8,73,91,.82) 55%,rgba(8,83,94,.62) 100%),url("../img/addirgo-bg.jpg") center 52%/cover no-repeat}.intro::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 68%,rgba(5,40,63,.18));pointer-events:none}.intro-content{position:relative;z-index:1}.intro h1{max-width:900px;margin:0;color:white;font-size:clamp(2.15rem,4.3vw,3.45rem);line-height:1.08;letter-spacing:-.045em;text-shadow:0 2px 14px rgba(3,27,45,.22)}.intro p{max-width:760px;margin:18px 0 0;color:#e7f3f7;font-size:1.05rem;text-shadow:0 1px 8px rgba(3,27,45,.28)}.search-shell{position:relative;z-index:2;margin-top:-72px;margin-bottom:32px}.search-form{border:1px solid var(--border);border-radius:14px;padding:16px;background:white;box-shadow:0 15px 38px rgba(20,56,87,.13)}.form-section-title{display:flex;align-items:flex-start;gap:10px;margin:0 0 13px}.form-section-title>span{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#edf3f8}.form-section-title h2{margin:0;text-transform:uppercase;letter-spacing:.07em;font-size:.76rem;color:#5d7088}.form-section-title p{margin:7px 0 0;color:#7b8492;font-size:.82rem}.form-section-title.compact h2{text-transform:none;font-size:1rem;color:var(--blue);letter-spacing:0}.form-section-title.compact p{margin:2px 0 0}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:30px}.mode-choice{min-width:0}.mode-card{position:relative;display:grid;place-items:center;min-height:92px;padding:15px;border:2px solid #dce5ed;border-radius:15px 15px 10px 10px;text-align:center;cursor:pointer}.mode-card input{position:absolute;opacity:0}.mode-card strong{font-size:1rem}.mode-card small{margin-top:6px;color:#607087}.mode-choice.combo .mode-card{background:#eef5ff}.mode-choice.flights .mode-card{background:var(--green-soft);color:#079665}.mode-choice.hotels .mode-card{background:var(--orange-soft);color:var(--orange)}.mode-choice:has(input:checked) .mode-card{border-color:var(--blue);box-shadow:0 0 0 2px rgba(32,87,131,.08)}.mode-button{width:100%;min-height:45px;border:1px solid #ccd5df;border-radius:10px;background:white;cursor:pointer}.mode-choice:has(input:checked) .mode-button{color:#fff;background:var(--blue);border-color:var(--blue)}
.form-grid{display:grid;gap:16px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.route-grid{margin-bottom:26px}.route-panel{min-width:0;margin:0;padding:0 18px 4px;border:0}.route-panel:first-child{border-inline-end:1px solid #edf0f3;padding-inline-start:0}.route-panel:last-child{padding-inline-end:0}.route-panel legend{padding:0;margin-bottom:10px;text-transform:uppercase;letter-spacing:.08em;color:#667992;font-size:.72rem;font-weight:850}label{display:block;margin-bottom:7px;font-size:.84rem;font-weight:600}label:not(:first-of-type){margin-top:14px}input:not([type=radio]):not([type=checkbox]),select{width:100%;min-width:0;min-height:45px;padding:10px 12px;border:1px solid #ccd7e2;border-radius:9px;background:#f8fafd;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(8,169,143,.12)}select[multiple]{min-height:48px}.helper,.route-panel small{display:block;margin:7px 0 0;color:#8993a1;font-size:.76rem}.errorlist{margin:5px 0;padding:0;list-style:none;color:var(--danger);font-size:.77rem}
.multi-control{position:relative}.multi-control select:not(.is-enhanced-native){min-height:120px}.multi-control select.is-enhanced-native{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}.multi-face{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:45px;padding:6px 10px;border:1px solid #d4dde7;border-radius:9px;background:#f4f7fb;color:#526176;text-align:start;cursor:pointer}.multi-face.has-value{color:var(--ink)}.multi-trigger{flex:0 0 auto;display:inline-grid;place-items:center;min-width:28px;min-height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:#526176;cursor:pointer}.multi-trigger.has-value{color:var(--ink)}.multi-trigger::after{content:"▾";font-weight:900}.multi-summary{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0;flex:1}.multi-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 4px 3px 8px;border-radius:5px;background:var(--blue);color:white;white-space:nowrap;font-size:.8rem}.multi-chip-label{overflow:hidden;text-overflow:ellipsis}.multi-chip-remove{display:inline-grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:4px;background:rgba(255,255,255,.18);color:white;font:inherit;font-size:1rem;line-height:1;cursor:pointer}.multi-chip-remove:hover,.multi-chip-remove:focus-visible{background:rgba(255,255,255,.32);outline:none}.multi-chip-remove:focus-visible{box-shadow:0 0 0 2px rgba(255,255,255,.7)}.multi-menu{position:absolute;z-index:35;top:calc(100% + 5px);inset-inline:0;max-height:320px;overflow:auto;padding:6px;border:1px solid #cbd6e1;border-radius:9px;background:white;box-shadow:var(--shadow)}.multi-menu[hidden]{display:none}.multi-menu label{display:flex;align-items:center;gap:9px;margin:0;padding:8px;border-radius:6px;cursor:pointer;font-weight:500}.multi-menu label:hover{background:var(--blue-soft)}.multi-menu input{width:17px;height:17px;accent-color:var(--blue)}
.form-group-card{margin:0 0 18px;padding:16px;border:1px solid var(--border);border-radius:10px;background:white}.dates-panel{background:linear-gradient(120deg,#fff,#f6fbff);border-color:#b9d4e5}.date-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.segmented{display:inline-flex;padding:4px;border-radius:12px;background:#e9eff6}.segmented label{position:relative;margin:0;cursor:pointer}.segmented input{position:absolute;opacity:0}.segmented span{display:block;padding:8px 17px;border-radius:9px;font-size:.84rem}.segmented input:checked+span{background:white;color:var(--blue);box-shadow:0 2px 8px rgba(20,55,90,.12);font-weight:750}.date-explainer{color:var(--muted);font-size:.77rem}.date-explainer strong{color:var(--ink)}.date-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:15px}.exact-dates{grid-template-columns:repeat(2,minmax(0,1fr)) .7fr}.duration-card{display:grid;place-content:center;text-align:center;border-radius:10px;background:var(--blue-soft);color:var(--blue)}.duration-card strong{font-size:1.5rem}.travellers-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quality-row{display:flex;align-items:center;gap:18px;margin-top:16px}.quality-row>label{margin:0;white-space:nowrap}.quality-options{display:flex;flex-wrap:wrap;gap:12px}.quality-options label{position:relative;margin:0}.quality-options input{position:absolute;opacity:0}.quality-options span{display:block;padding:9px 15px;border:1px solid #d5dde5;border-radius:999px;cursor:pointer}.quality-options input:checked+span{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}#child-ages{display:grid;gap:6px;margin-top:7px}.advanced{padding:0;overflow:visible}.advanced summary,.filter-more summary{cursor:pointer;padding:14px 16px;color:var(--blue);font-weight:750}.advanced[open]>summary{border-bottom:1px solid var(--border)}.advanced-grid{padding:16px;align-items:end}.check{display:flex;align-items:center;gap:8px;min-height:45px;margin:0!important;padding:9px 11px;border:1px solid var(--border);border-radius:9px}.check input{width:17px;height:17px}.demo-check{color:#08745f;background:#effbf8}.workload{display:grid;padding:8px;color:var(--blue);background:var(--blue-soft);border-radius:9px}.workload small{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:43px;padding:9px 17px;border:1px solid transparent;border-radius:9px;font-weight:750;cursor:pointer}.btn-primary{color:white;background:var(--blue)}.btn-primary:hover{color:white;background:var(--blue-dark)}.btn-secondary{color:var(--blue);background:white;border-color:var(--border)}.btn-search{display:flex;width:min(545px,100%);margin:0 auto}.how{padding:0 0 45px}.how h2{font-size:1.5rem}.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.how article{position:relative;min-height:150px;padding:20px 17px;border:1px solid var(--border);border-radius:12px;background:white;box-shadow:0 4px 14px rgba(25,57,91,.04)}.how article>b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;color:white;background:var(--blue)}.how h3{margin:13px 0 5px;color:var(--blue);font-size:.94rem}.how p{margin:0;color:var(--muted);font-size:.8rem}.trust-strip{padding:12px;text-align:center;color:#08745f;background:#edfaf5;border-radius:9px}
.page-heading{padding:36px 0;color:white;background:linear-gradient(120deg,var(--blue-dark),#176f86)}.page-heading h1{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.1}.page-heading p{margin:8px 0 0;color:#d9eaf4}.eyebrow{color:#73ead0!important;letter-spacing:.14em;font-weight:800;font-size:.72rem}.heading-row,.detail-actions{display:flex;justify-content:space-between;align-items:center;gap:18px}.heading-actions{display:flex;flex-wrap:wrap;gap:9px}.results-page{padding-block:22px 55px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.kpi-grid article{display:grid;padding:16px;border:1px solid var(--border);border-radius:11px;background:#fff}.kpi-grid span{color:var(--muted);font-size:.76rem}.kpi-grid strong{color:var(--blue);font-size:1.4rem}.panel{border:1px solid var(--border);border-radius:var(--radius);background:white}.alert{padding:12px 15px;margin:10px 0;border:1px solid var(--border);border-radius:9px}.alert-warning{color:var(--warning);background:#fff8e8}.alert-error{color:var(--danger);background:#fff1ef}.warnings{padding:12px;margin-bottom:12px}.warnings summary{cursor:pointer;font-weight:700}.filters-bar{padding:16px;margin-bottom:14px}.filters-bar header{display:flex;justify-content:space-between}.filters-bar h2{margin:0 0 12px;font-size:1rem}.filter-main{grid-template-columns:1.2fr 1.4fr 1.4fr .7fr}.filter-more{margin-top:10px;border-top:1px solid var(--border)}.filter-more .advanced-grid{padding-inline:0}.filter-more .wide{grid-column:span 2}.range-pair{display:grid;grid-template-columns:1fr 1fr;gap:5px}.filter-submit{min-width:180px}.search-summary{padding:12px 16px;margin-bottom:15px}.search-summary summary{cursor:pointer;font-weight:700}.search-summary dl,.booking-card dl,.specs{display:grid;grid-template-columns:auto 1fr;gap:6px 14px}.search-summary dl{grid-template-columns:auto auto auto auto}.search-summary dd{text-align:start}.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.result-card{position:relative;display:grid;grid-template-columns:150px 1fr;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:white;box-shadow:0 7px 22px rgba(24,58,92,.06)}.result-card.best{border:2px solid var(--teal)}.best-ribbon{position:absolute;z-index:2;top:10px;inset-inline-start:10px;padding:5px 9px;border-radius:999px;color:white;background:var(--teal);font-size:.7rem;font-weight:800}.result-photo{min-height:170px;background:#dce9f2}.result-photo img{width:100%;height:100%;object-fit:cover}.result-photo.placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#cce7e1,#dbe9f5)}.result-photo.placeholder span{font-size:1.8rem;font-weight:900;color:var(--blue)}.result-main{padding:15px;min-width:0}.result-route{display:flex;gap:8px;font-weight:800}.result-route b{color:var(--teal)}.country{margin:2px 0;color:var(--muted);font-size:.74rem}.hotel-stays{display:grid;gap:0}.hotel-stays .hotel-line{margin-top:6px}.hotel-stays .hotel-line:first-child{margin-top:10px}.hotel-line{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.hotel-line>div:first-child{display:grid;min-width:0;margin-inline-end:auto}.hotel-line small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hotel-score{padding:4px 6px;border-radius:6px;color:white;background:#087c6a}.hotel-score small{color:white}.stars{color:#d78008;font-weight:750}.result-meta{display:grid;gap:3px;margin-top:10px;color:var(--muted);font-size:.75rem}.calc{margin-top:9px;font-size:.75rem}.calc summary{cursor:pointer;color:var(--blue)}.result-price{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:13px 15px;border-top:1px solid var(--border);background:#fbfdff}.result-price>small,.result-price>span{color:var(--muted);font-size:.72rem}.result-price strong{color:var(--blue-dark);font-size:1.35rem}.result-price strong span{font-size:.8rem}.result-price .btn{margin-inline-start:auto}.table-panel{padding:18px;margin-bottom:40px}.table-scroll{overflow:auto}.result-table table{min-width:1050px}.result-table td small{display:block;color:var(--muted)}.best-row{background:#effbf8}.pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin:20px}.pagination a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border);border-radius:9px}.empty-state{grid-column:1/-1;padding:60px;text-align:center;border:1px dashed #aabccd;border-radius:12px}
.detail-grid{display:grid;grid-template-columns:1fr 330px;gap:22px;padding-block:25px 60px;align-items:start}.detail-main{display:grid;gap:16px}.detail-action-buttons{display:flex;flex-wrap:wrap;gap:8px}.hotel-gallery{overflow:hidden}.gallery-stage{position:relative;min-height:360px;background:#dce9f2}.detail-cover{display:block;width:100%;height:420px;object-fit:cover}.gallery-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px 3px}.gallery-header span{color:var(--muted);font-size:.78rem}.gallery-thumbs{display:flex;gap:8px;padding:10px 14px 14px;overflow-x:auto;scrollbar-width:thin}.gallery-thumb{flex:0 0 92px;height:66px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:8px;background:#e8eef4;cursor:pointer}.gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover}.gallery-thumb.is-active{border-color:var(--teal);box-shadow:0 0 0 2px rgba(8,169,143,.14)}.gallery-arrow,.gallery-expand{position:absolute;z-index:2;border:0;color:white;background:rgba(8,34,57,.72);cursor:pointer}.gallery-arrow{top:50%;width:42px;height:52px;border-radius:9px;font-size:2rem;transform:translateY(-50%)}.gallery-prev{inset-inline-start:14px}.gallery-next{inset-inline-end:14px}.gallery-counter{position:absolute;z-index:2;inset-inline-start:14px;bottom:13px;padding:5px 9px;border-radius:999px;color:white;background:rgba(8,34,57,.75);font-size:.75rem}.gallery-expand{inset-inline-end:14px;bottom:13px;width:37px;height:37px;border-radius:8px;font-size:1.15rem}.gallery-lightbox{position:fixed;z-index:1000;inset:0;display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;padding:30px;background:rgba(3,18,31,.94)}.gallery-lightbox[hidden]{display:none}.gallery-lightbox img{display:block;max-width:100%;max-height:90vh;margin:auto;object-fit:contain}.lightbox-close,.lightbox-arrow{border:0;color:white;background:rgba(255,255,255,.13);cursor:pointer}.lightbox-close{position:absolute;z-index:2;top:20px;inset-inline-end:25px;width:45px;height:45px;border-radius:50%;font-size:2rem}.lightbox-arrow{width:52px;height:65px;border-radius:10px;font-size:2.3rem}.gallery-open{overflow:hidden}.detail-section,.booking-card{padding:20px}.detail-section h2,.booking-card h2{margin:0 0 14px}.timeline{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;padding:14px;background:var(--blue-soft);border-radius:10px}.timeline div{display:grid}.timeline div:last-child{text-align:end}.timeline i{height:2px;background:var(--teal)}.timeline.timeline-hops{grid-template-columns:1fr;gap:10px}.timeline.timeline-hops>div,.timeline.timeline-hops>div:last-child{text-align:start}.specs{padding-top:14px;border-top:1px solid var(--border)}dt{color:var(--muted)}dd{margin:0;font-weight:650;text-align:end}.calculation-detail{margin-top:14px;padding:10px 12px;border-radius:9px;background:var(--blue-soft);font-size:.8rem}.calculation-detail summary{color:var(--blue);font-weight:750;cursor:pointer}.score{padding:5px 8px;color:white;background:var(--teal);border-radius:7px}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.partner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.partner-grid a{display:grid;padding:12px;border:1px solid var(--border);border-radius:9px}.partner-grid small{color:var(--muted)}.booking-card{position:sticky;top:20px;box-shadow:var(--shadow)}.booking-total{font-size:2rem;font-weight:850;color:var(--blue)}.btn-block{width:100%;margin-top:9px}.partner-notice{color:var(--muted);font-size:.74rem}.map-link{font-weight:700}.map-panel{overflow:hidden}.map-panel .section-heading{padding:16px 18px}.map-panel h2{margin:0}.map-panel iframe{display:block;width:100%;height:350px;border:0;border-top:1px solid var(--border)}.back-link{color:#c8f3e8}
.stats-page{padding-block:24px 60px}.stats-toolbar{display:flex;justify-content:space-between;align-items:end}.stats-toolbar form label{display:flex;align-items:center;gap:9px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.stat{display:grid;padding:18px;border-radius:11px;color:white;background:linear-gradient(140deg,var(--blue),#087c6a)}.stat strong{font-size:1.8rem}.stat span{font-size:.78rem}.analytics-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:14px}.chart-panel{padding:18px}.chart-panel h2{font-size:1rem}.bar-chart{display:flex;align-items:end;gap:6px;height:180px}.bar-chart div{display:grid;align-items:end;grid-template-rows:1fr auto;height:100%;flex:1}.bar-chart i{display:block;min-height:4px;height:min(100%,calc(var(--value)*12px));background:var(--teal);border-radius:5px 5px 0 0}.bar-chart small{font-size:.62rem}.chart-panel ol{padding-inline-start:22px}.chart-panel li{display:flex;justify-content:space-between;padding:5px}.unlock-form,.legal-content{padding:24px;margin:25px auto 60px}.unlock-form{display:grid;grid-template-columns:1fr auto;gap:8px}.legal-content p{white-space:normal;line-height:1.6}.legal-content .legal-intro{font-size:1.02rem;color:#40566c;margin-top:0}.legal-section{margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}.legal-section h2{margin:0 0 8px;font-size:1.05rem;color:var(--blue)}.legal-nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;padding-top:16px;border-top:1px solid var(--border);font-size:.85rem}.legal-nav a{color:var(--blue);font-weight:700}.site-footer{margin-top:30px;padding:34px 0;color:#dbe8f1;background:#0b2944}.footer-grid{display:flex;justify-content:space-between;gap:20px}.footer-grid img{width:140px;filter:brightness(0) invert(1)}.footer-grid p{color:#91a8ba}.footer-links{display:flex;flex-wrap:wrap;gap:15px}.footer-links a{color:#dbe8f1}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid var(--border);text-align:start}th{color:var(--muted);font-size:.72rem;text-transform:uppercase}.error-page{min-height:60vh;display:grid;place-content:center;text-align:center}
@media(max-width:900px){.site-header nav,.price-promise{display:none}.brand{margin-inline-end:auto}.form-grid.four{grid-template-columns:repeat(2,1fr)}.filter-main{grid-template-columns:repeat(2,1fr)}.cards-grid{grid-template-columns:1fr}.how-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.booking-card{position:static}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.container{width:min(calc(100% - 18px),1148px)}.site-header{padding-top:8px}.header-inner{flex-wrap:wrap}.brand{width:155px}.status-badge{font-size:.65rem}.language-picker{width:100%;min-width:0}.cookie-banner{align-items:flex-start;flex-direction:column}.intro{min-height:245px;padding:42px 0 92px;background-position:58% center}.intro h1{font-size:clamp(1.9rem,9vw,2.55rem)}.intro p{font-size:.94rem}.search-shell{margin-top:-58px}.mode-grid,.form-grid.two,.form-grid.four,.travellers-grid,.date-fields,.exact-dates,.filter-main,.how-grid,.analytics-grid{grid-template-columns:1fr}.route-panel:first-child{border:0;border-bottom:1px solid #edf0f3;padding:0 0 18px}.route-panel:last-child{padding:18px 0 0}.date-top,.quality-row,.heading-row,.detail-actions,.stats-toolbar,.footer-grid{align-items:flex-start;flex-direction:column}.detail-action-buttons{width:100%}.detail-action-buttons .btn{flex:1}.detail-cover{height:280px}.gallery-stage{min-height:280px}.gallery-thumb{flex-basis:76px;height:56px}.gallery-lightbox{grid-template-columns:45px minmax(0,1fr) 45px;padding:12px}.lightbox-arrow{width:40px;height:54px}.date-explainer{font-size:.7rem}.search-summary dl{grid-template-columns:auto 1fr}.result-card{grid-template-columns:110px 1fr}.result-price{flex-wrap:wrap}.result-price .btn{width:100%;margin:0}.stats-grid{grid-template-columns:1fr 1fr}.filter-more .wide{grid-column:auto}.partner-grid{grid-template-columns:1fr}}
@media print{.site-header,.cookie-banner,.site-footer,.detail-actions,.partner-grid,.btn,.gallery-thumbs,.gallery-header,.gallery-arrow,.gallery-expand{display:none!important}.detail-grid{grid-template-columns:1fr}.booking-card{position:static;box-shadow:none}.detail-cover{height:300px}.map-panel iframe{height:260px}}
.price-total{display:grid;min-width:max-content}.price-total>small{color:var(--muted);font-size:.72rem}.price-components{display:grid;gap:2px;color:var(--muted);font-size:.74rem;line-height:1.35}.price-components b{color:var(--ink)}.price-coverage-notice{margin:10px 0;padding:9px 11px;border-left:3px solid var(--teal);border-radius:7px;background:#f3faf8;color:var(--muted);font-size:.75rem;line-height:1.45}
.result-photo{position:relative;overflow:hidden}.result-photo.placeholder{display:block}.result-photo img{display:block;width:100%;height:100%;object-fit:cover}.result-photo span{position:absolute;inset-inline-start:10px;bottom:10px;padding:4px 8px;border-radius:6px;color:white;background:rgba(12,57,93,.82);font-size:.82rem;font-weight:900}.quick-booking{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;padding-top:9px;border-top:1px dashed var(--border);font-size:.75rem;font-weight:750}.table-actions{display:grid;gap:5px;min-width:130px}

/* airlines field (compact dropdown; show-all removed in 2.1.4) */
.airlines-field{grid-column:1/-1}
.airlines-field .airline-count{color:#667992;font-weight:600}

.hotel-map-wrap{position:relative;width:100%;height:440px;border-top:1px solid var(--border);background:#0f172a}.hotel-map-embed{display:block;width:100%;height:440px;border:0}.hotel-map-embed[hidden],.hotel-leaflet-map[hidden]{display:none!important}.hotel-leaflet-map{display:block;width:100%;height:440px;z-index:0}.map-heading-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.map-view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:#fff}.map-view-btn,.map-recenter-btn{min-height:36px;border:0;background:transparent;padding:6px 12px;font-size:.78rem;font-weight:700;cursor:pointer;color:var(--muted)}.map-view-btn.is-active{background:var(--teal);color:#fff}.map-recenter-btn{border:1px solid var(--border);border-radius:999px;color:var(--blue);background:#fff}.map-recenter-btn:hover,.map-recenter-btn:focus-visible{border-color:var(--teal);color:#075f52;outline:2px solid rgba(8,169,143,.18);outline-offset:2px}
.map-panel .leaflet-container{font:inherit}
.hotel-location-marker{background:transparent!important;border:0!important}
.hotel-location-marker__halo{position:absolute;left:6px;top:7px;width:64px;height:64px;border:7px solid rgba(255,212,0,.9);border-radius:50%;animation:hotel-marker-pulse 1.8s ease-out infinite}
.hotel-location-marker__pin{position:absolute;left:6px;top:1px;display:grid;place-items:center;width:62px;height:62px;border:5px solid #fff;border-radius:50% 50% 50% 0;background:#ffd400;color:#082239;box-shadow:0 0 0 4px #082239,0 10px 24px rgba(0,0,0,.55);transform:rotate(-45deg)}
.hotel-location-marker__pin span{display:grid;place-items:center;transform:rotate(45deg)}
.hotel-location-marker__pin svg{width:32px;height:32px;fill:currentColor}
.hotel-location-marker:not(.is-active) .hotel-location-marker__halo{animation:none;opacity:.35}
.leaflet-tooltip.hotel-location-tooltip{padding:8px 14px;border:3px solid #ffd400;border-radius:999px;background:#fff;color:#082239;box-shadow:0 4px 15px rgba(0,0,0,.32);font-size:.84rem;font-weight:850;white-space:nowrap}
.leaflet-tooltip-top.hotel-location-tooltip::before{border-top-color:#ffd400}
.restaurant-map-marker{background:transparent!important;border:0!important}
.restaurant-map-marker__pin{display:grid;place-items:center;width:34px;height:34px;border:3px solid #fff;border-radius:50%;color:#fff;box-shadow:0 0 0 2px rgba(8,34,57,.76),0 5px 12px rgba(0,0,0,.38);font-size:17px;font-weight:900}
.restaurant-map-marker--halal .restaurant-map-marker__pin{background:#087c6a}
.restaurant-map-marker--nonhalal .restaurant-map-marker__pin{background:#b54b3d}
.restaurant-map-marker--unknown .restaurant-map-marker__pin{background:#416a80}
.map-context-panel{display:grid;gap:8px;padding:12px 16px 15px;border-top:1px solid var(--border);background:#f8fbfd}
.map-legend{display:flex;flex-wrap:wrap;gap:8px 15px;align-items:center;color:#41566a;font-size:.73rem;font-weight:700}
.map-legend span{display:inline-flex;align-items:center;gap:6px}.map-legend-hotel{display:inline-grid;place-items:center;width:27px;height:27px;border:2px solid #082239;border-radius:50%;background:#ffd400;font-style:normal;font-size:15px}.map-legend-status{display:inline-grid;place-items:center;width:24px;height:24px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #567;color:#fff;font-style:normal;font-size:13px;font-weight:900}.map-legend-halal{background:#087c6a}.map-legend-nonhalal{background:#b54b3d}.map-legend-unknown{background:#416a80}
.map-filter-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px;padding:9px 11px;border:1px solid #c5ded8;border-radius:10px;background:#fff}.map-filter-bar>strong{display:inline-flex;align-items:center;gap:6px;color:#123f39;font-size:.78rem}.map-filter-actions{display:flex;flex-wrap:wrap;gap:7px}.map-filter-btn{min-height:38px;padding:7px 11px;border:1px solid #b8ccd8;border-radius:999px;background:#fff;color:#244c64;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.map-filter-btn:hover,.map-filter-btn:focus-visible,.map-filter-btn.is-active{border-color:#087c6a;background:#e7f8f3;color:#075f52;box-shadow:inset 0 0 0 1px #087c6a}.map-filter-btn:focus-visible{outline:3px solid rgba(8,169,143,.22);outline-offset:2px}
.map-filter-btn[data-map-filter="halal"]{border-color:#8bc8bc;color:#075f52}.map-filter-btn[data-map-filter="halal"]:hover,.map-filter-btn[data-map-filter="halal"]:focus-visible,.map-filter-btn[data-map-filter="halal"].is-active{border-color:#087c6a;background:#087c6a;color:#fff;box-shadow:inset 0 0 0 1px #087c6a}.map-filter-btn[data-map-filter="nonhalal"]{border-color:#d7aaa4;color:#8d3025}.map-filter-btn[data-map-filter="nonhalal"]:hover,.map-filter-btn[data-map-filter="nonhalal"]:focus-visible,.map-filter-btn[data-map-filter="nonhalal"].is-active{border-color:#b54b3d;background:#b54b3d;color:#fff;box-shadow:inset 0 0 0 1px #b54b3d}.map-filter-btn[data-map-filter="unknown"]{border-color:#a7bdc8;color:#31596f}.map-filter-btn[data-map-filter="unknown"]:hover,.map-filter-btn[data-map-filter="unknown"]:focus-visible,.map-filter-btn[data-map-filter="unknown"].is-active{border-color:#416a80;background:#416a80;color:#fff;box-shadow:inset 0 0 0 1px #416a80}
.map-hotel-selector{display:flex;gap:7px;overflow-x:auto;padding:2px 0}.map-hotel-selector button{flex:0 0 auto;min-height:38px;padding:7px 11px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--blue);font:inherit;font-size:.72rem;font-weight:750;cursor:pointer}.map-hotel-selector button.is-active{border-color:var(--teal);background:#eaf8f5;color:#075f52;box-shadow:inset 0 0 0 1px var(--teal)}
.map-restaurant-status{color:#23485d;font-weight:700}.map-restaurant-note{color:var(--muted);line-height:1.4}
.map-restaurant-results{display:grid;gap:12px;padding:14px;border:1px solid #d5e2e8;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(15,56,82,.05)}
.map-restaurant-results[aria-busy="true"]{cursor:progress}
.map-restaurant-results__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.map-restaurant-results__header>div{display:grid;gap:3px;min-width:0}
.map-restaurant-results__header h3{margin:0;color:#082239;font-size:.94rem;line-height:1.3}
.map-restaurant-results__header p{margin:0;color:var(--muted);font-size:.74rem;line-height:1.45}
.map-restaurant-count{display:inline-flex;flex:0 0 auto;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;background:#e7f8f3;color:#075f52;font-size:.7rem;font-weight:850;text-align:center}
.map-restaurant-count:empty{display:none}
.map-restaurant-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:460px;overflow-y:auto;overscroll-behavior:contain;padding:2px;scrollbar-gutter:stable}
.map-restaurant-card{display:grid;grid-template-rows:auto 1fr auto;gap:10px;min-width:0;padding:13px;border:1px solid #dce6eb;border-radius:11px;background:#fff;box-shadow:0 4px 12px rgba(15,56,82,.06)}
.map-restaurant-card__heading{display:flex;align-items:flex-start;gap:9px;min-width:0}
.map-restaurant-card__heading>div{display:grid;gap:2px;min-width:0}
.map-restaurant-card__heading h4{margin:0;overflow-wrap:anywhere;color:#10243e;font-size:.87rem;line-height:1.3}
.map-restaurant-card__heading small{color:#53697a;font-size:.7rem;font-weight:700}
.map-restaurant-card__badge{display:inline-grid;flex:0 0 31px;place-items:center;width:31px;height:31px;border:2px solid #fff;border-radius:50%;color:#fff;box-shadow:0 0 0 1px #6b8090;font-size:.8rem;font-weight:900}
.map-restaurant-card__badge--halal{background:#087c6a}.map-restaurant-card__badge--nonhalal{background:#b54b3d}.map-restaurant-card__badge--unknown{background:#416a80}
.map-restaurant-card__facts{display:grid;align-content:start;gap:4px;color:#526176;font-size:.71rem;line-height:1.4}
.map-restaurant-card__facts span{overflow-wrap:anywhere}
.map-restaurant-card__actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}
.map-restaurant-card__view,.map-restaurant-card__external,.map-restaurant-retry{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 11px;border:1px solid #9ab5c5;border-radius:8px;font:inherit;font-size:.7rem;font-weight:800;line-height:1.2;text-align:center;cursor:pointer}
.map-restaurant-card__view{border-color:#087c6a;background:#e7f8f3;color:#075f52}
.map-restaurant-card__external{background:#fff;color:#205783}
.map-restaurant-card__view:hover,.map-restaurant-card__view:focus-visible{background:#087c6a;color:#fff}
.map-restaurant-card__external:hover,.map-restaurant-card__external:focus-visible{border-color:#205783;background:#edf5ff;color:#123e63}
.map-restaurant-card__view:focus-visible,.map-restaurant-card__external:focus-visible,.map-restaurant-retry:focus-visible{outline:3px solid rgba(8,169,143,.22);outline-offset:2px}
.map-restaurant-empty{grid-column:1/-1;margin:0;padding:25px 16px;border:1px dashed #b8cad4;border-radius:10px;background:#f7fafc;color:#40596d;text-align:center;font-size:.78rem}
.map-restaurant-retry{justify-self:start;border-color:#205783;background:#205783;color:#fff}
.map-restaurant-retry:hover{background:#123e63}
.map-restaurant-skeleton{position:relative;display:grid;align-content:start;gap:10px;min-height:132px;padding:15px;border:1px solid #e1e9ee;border-radius:11px;background:#f7fafc;overflow:hidden}
.map-restaurant-skeleton span{display:block;width:88%;height:11px;border-radius:999px;background:linear-gradient(90deg,#e3ebef 20%,#f8fbfc 48%,#e3ebef 76%);background-size:220% 100%;animation:map-restaurant-shimmer 1.25s linear infinite}
.map-restaurant-skeleton span:first-child{width:64%;height:15px}.map-restaurant-skeleton span:last-child{width:92%}
.restaurant-map-popup{display:grid;gap:4px;min-width:180px}.restaurant-map-popup strong{color:#082239}.restaurant-map-popup small{color:#526176}.restaurant-map-popup a{margin-top:3px;color:#075f8d;font-weight:750}
@keyframes hotel-marker-pulse{0%{opacity:.95;transform:scale(.65)}75%,100%{opacity:0;transform:scale(1.45)}}
@keyframes map-restaurant-shimmer{0%{background-position:200% 0}100%{background-position:-20% 0}}
@media(prefers-reduced-motion:reduce){.hotel-location-marker__halo{animation:none;opacity:.45}.map-restaurant-skeleton span{animation:none}}
@media(max-width:650px){.hotel-map-wrap,.hotel-map-embed,.hotel-leaflet-map{height:360px}.map-context-panel{padding:10px 12px}.map-heading-actions{gap:7px}.map-recenter-btn{width:100%}.map-filter-bar{align-items:stretch}.map-filter-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.hotel-location-marker__halo{width:56px;height:56px}.hotel-location-marker__pin{width:54px;height:54px}.hotel-location-marker__pin svg{width:28px;height:28px}}
@media(max-width:650px){.map-restaurant-results{padding:12px}.map-restaurant-results__header{align-items:stretch;flex-direction:column;gap:8px}.map-restaurant-count{align-self:flex-start}.map-restaurant-list{display:flex;max-height:none;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-gutter:auto;padding:2px 2px 7px}.map-restaurant-card,.map-restaurant-skeleton{flex:0 0 min(88%,330px);scroll-snap-align:start}.map-restaurant-card__actions{display:grid;grid-template-columns:1fr}.map-restaurant-empty{flex:0 0 100%;width:100%}.map-restaurant-retry{width:100%}}


.search-progress{position:fixed;z-index:300;top:0;inset-inline:0;pointer-events:none;padding:10px 12px 0;background:linear-gradient(180deg,rgba(7,31,53,.55),rgba(7,31,53,0));}
.search-progress[hidden],[hidden]{display:none!important}
.search-progress-panel{max-width:560px;margin:0 auto;padding:12px 14px 14px;border:1px solid rgba(255,255,255,.35);border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 10px 28px rgba(7,31,53,.28)}
.search-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.search-progress-title{margin:0;font-size:.92rem;color:#0b2944}
.search-progress-pct{font-size:.9rem;font-weight:850;color:#0b8f7a;font-variant-numeric:tabular-nums}
.search-progress-track{height:12px;border-radius:999px;background:#e2ebf2;overflow:hidden;border:1px solid #c9d7e4}
.search-progress-bar{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#087c6a,#1bb89a,#70ead2);box-shadow:0 0 10px rgba(27,184,154,.45);transition:width .12s linear;will-change:width}
.search-progress-bar.is-indeterminate{width:35%;background:linear-gradient(90deg,#087c6a,#70ead2,#087c6a);background-size:200% 100%;animation:search-progress-slide 1.1s ease-in-out infinite;transition:none}
.search-progress-label{margin:8px 0 0;text-align:center;font-size:.82rem;font-weight:700;color:#3d5268}
.search-form.is-searching{opacity:.72;transition:opacity .2s;cursor:progress}
.search-form.is-searching .btn-search,.search-form.is-searching button[type=submit]{pointer-events:none;cursor:progress}
.search-form.is-searching .btn-search:disabled{opacity:.9}
@keyframes search-progress-slide{0%{transform:translateX(-120%)}100%{transform:translateX(320%)}}

.result-table.streamlit-table table{font-size:.86rem}
.result-table.streamlit-table th,.result-table.streamlit-table td{white-space:nowrap;padding:.55rem .65rem}
.result-table .fiche-col a{font-weight:800;color:#0b6bcb;text-decoration:none}
.result-table .fiche-col a:hover{text-decoration:underline}
.table-hint{margin:.75rem 0 0;color:#4a6075;font-size:.86rem}

.view-switch{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:12px 0 4px;padding:10px 12px;border:1px solid #d7e3ee;border-radius:12px;background:#f4f9fc}
.view-switch-label{font-size:.8rem;font-weight:800;color:#4a6075;text-transform:uppercase;letter-spacing:.06em}
.view-switch ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.view-switch li{margin:0}
.view-switch label{display:inline-flex;align-items:center;gap:8px;margin:0;padding:9px 14px;border:1px solid #c5d5e4;border-radius:999px;background:#fff;cursor:pointer;font-weight:750;font-size:.9rem;color:#0b2944}
.view-switch input[type=radio]{accent-color:#0b8f7a;width:16px;height:16px}
.view-switch label:has(input:checked){border-color:#0b8f7a;background:#e7f8f3;color:#087c6a;box-shadow:0 0 0 2px rgba(11,143,122,.18)}
.filter-main{grid-template-columns:1.1fr 1.4fr 1.4fr}

[data-hotel-section].is-mode-disabled,[data-flight-section].is-mode-disabled{opacity:.42;pointer-events:none;filter:grayscale(.2)}
.multi-control.is-disabled{opacity:.42;pointer-events:none}
.mode-choice.is-active{box-shadow:0 0 0 2px rgba(11,143,122,.35);border-radius:14px}

.exact-dates{align-items:end}
.exact-flex{min-width:140px}
.exact-flex small{display:block;margin-top:6px;color:#6a7d90;font-size:.72rem;line-height:1.3;max-width:180px}

.result-table.streamlit-table{display:block;width:100%}
.result-table.streamlit-table .table-scroll{min-height:240px;max-height:70vh;overflow:auto;border:1px solid #d7e3ee;border-radius:10px}
.result-table.streamlit-table table{width:100%;border-collapse:collapse;background:#fff}
.result-table.streamlit-table th{position:sticky;top:0;z-index:1;background:#0b2944;color:#fff}
.view-switch{margin-top:12px}

.view-switch-links{display:flex;flex-wrap:wrap;gap:8px}
.view-link{display:inline-flex;align-items:center;padding:9px 14px;border:1px solid #c5d5e4;border-radius:999px;background:#fff;font-weight:750;font-size:.9rem;color:#0b2944;text-decoration:none}
.view-link.is-active{border-color:#0b8f7a;background:#e7f8f3;color:#087c6a;box-shadow:0 0 0 2px rgba(11,143,122,.18)}
.view-link:hover{border-color:#0b8f7a}

.view-switch-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;margin-bottom:14px}
.view-switch-hint{margin-inline-start:auto;font-size:.82rem;font-weight:700;color:#0b8f7a}
.table-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:4px 2px 12px}
.table-toolbar h2{margin:0;font-size:1.05rem}
.table-toolbar span{color:#5a6f84;font-size:.82rem}

/* --- Classement multicritère (score / front de Pareto) et bandeaux --- */
.score-chip,.pareto-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.4}
.score-chip{background:#eef2ff;color:#3730a3}
.pareto-chip{background:#ecfdf5;color:#065f46}
.result-card.pareto{box-shadow:0 0 0 2px #a7f3d0 inset}
.reuse-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}
.alert-info{background:#eff6ff;color:#1e3a8a;border:1px solid #bfdbfe;border-radius:.6rem;padding:.75rem 1rem}
.kpi-grid{grid-template-columns:repeat(5,1fr)}
.result-meta{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}

/* --- Calendrier des meilleurs prix totaux observés par date --- */
.price-calendar{margin:14px 0;padding:18px;overflow:hidden}
.price-calendar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:14px}
.price-calendar-intro{max-width:42rem}
.price-calendar-intro h2{margin:0;color:#0b2944;font-size:1.1rem}
.price-calendar-intro p{margin:.35rem 0 0;color:#4a6075;font-size:.86rem;line-height:1.45}
.price-calendar-summary{display:grid;grid-template-columns:repeat(3,minmax(118px,1fr));gap:8px;margin:0}
.price-calendar-summary div{padding:9px 11px;border:1px solid #d8e4ed;border-radius:10px;background:#f7fafc}
.price-calendar-summary dt{color:#5a6f84;font-size:.68rem;font-weight:750;letter-spacing:.025em;text-transform:uppercase}
.price-calendar-summary dd{margin:.2rem 0 0;color:#0b2944;font-size:.86rem;font-weight:850;font-variant-numeric:tabular-nums}
.price-calendar-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(138px,1fr);gap:9px;padding:2px 2px 9px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.price-calendar-day{position:relative;display:flex;min-height:120px;flex-direction:column;align-items:flex-start;gap:5px;padding:11px;border:1px solid #cddae5;border-radius:12px;background:#fff;color:#183a57;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.price-calendar-day:hover{border-color:#0b8f7a;box-shadow:0 6px 18px rgba(7,69,62,.1);transform:translateY(-1px)}
.price-calendar-day time,.price-calendar-day>span:first-child{font-size:.79rem;font-weight:800}
.price-calendar-day strong{color:#0b2944;font-size:.94rem;font-variant-numeric:tabular-nums}
.price-calendar-day small{color:#5a6f84;font-size:.69rem}
.price-calendar-day.price-level-low{background:#f3fbf8;border-color:#b9dfd5}
.price-calendar-day.price-level-high{background:#fbfcfd}
.price-calendar-day.is-cheapest{border-color:#07967d;background:linear-gradient(180deg,#edfbf7,#fff);box-shadow:inset 0 0 0 1px #07967d}
.price-calendar-day.is-selected{outline:3px solid rgba(11,107,203,.22);border-color:#0b6bcb}
.price-calendar-badge,.price-calendar-delta{margin-top:auto;padding:3px 6px;border-radius:999px;font-size:.64rem;font-weight:800;line-height:1.25}
.price-calendar-badge{color:#05614f;background:#d9f5ed}
.price-calendar-delta{color:#1e5b44;background:#eaf7f1}
.price-calendar-all{align-items:center;justify-content:center;text-align:center;background:#f4f8fb}
.price-calendar-all strong{font-size:1.2rem;color:#0b6bcb}
.price-calendar-notice{margin:2px 0 0;color:#5a6f84;font-size:.72rem;line-height:1.4}
@media(max-width:900px){.price-calendar-head{flex-direction:column}.price-calendar-summary{width:100%}}
@media(max-width:650px){.price-calendar{padding:14px}.price-calendar-summary{grid-template-columns:1fr}.price-calendar-scroll{grid-auto-columns:minmax(132px,72vw)}}


.btn-small{padding:7px 12px;font-size:.82rem;border-radius:10px}
.btn-ghost{background:transparent;border:1px solid #c9d7e4;color:#0b2944}
@media (max-width:640px){.featured-head{flex-direction:column;align-items:flex-start}}

/* --- Featured showcase (accueil) --- */
.featured-showcase{position:relative;z-index:1;margin:8px auto 36px;padding:8px 0 4px}
.featured-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px}
.featured-kicker{margin:0 0 4px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#08745f}
.featured-head h2{margin:0;font-size:1.4rem;color:#0b2944}
.featured-sub{margin:6px 0 0;max-width:52rem;color:#3d5268;font-size:.92rem;line-height:1.4}
.featured-live{flex:0 0 auto;font-size:.78rem;font-weight:700;color:#08745f;background:rgba(11,143,122,.1);padding:6px 10px;border-radius:999px}
.featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.featured-card{position:relative;display:flex;flex-direction:column;gap:0;padding:0;border:1px solid #d5e2ee;border-radius:16px;background:#fff;box-shadow:0 10px 24px rgba(7,31,53,.08);min-height:280px;overflow:hidden}
.featured-card.is-live{border-color:#9ad9cb;background:linear-gradient(180deg,#ffffff 0%,#f3fbf8 100%)}
.featured-card.is-idea{background:linear-gradient(180deg,#ffffff 0%,#f7fafc 100%)}
.featured-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.featured-badge{font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#08745f;background:#e6f7f2;padding:4px 9px;border-radius:999px}
.featured-iata{font-size:.72rem;font-weight:800;color:#5a7188;background:#eef3f7;padding:3px 7px;border-radius:8px}
.featured-dest{margin:0;font-size:1.12rem;line-height:1.25;color:#0b2944;word-break:break-word}
.featured-meta{margin:0;font-size:.84rem;color:#4a6074;line-height:1.4}
.featured-arrow,.featured-dot{opacity:.7}
.featured-hotel{margin:0;font-size:.8rem;color:#3d5268;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.featured-footer{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:8px;border-top:1px solid #e6eef5}
.featured-price{display:flex;flex-direction:column;gap:2px}
.featured-price strong{font-size:1.28rem;font-weight:850;color:#087c6a;font-variant-numeric:tabular-nums}
.featured-price small{font-size:.72rem;color:#526a80}
.featured-actions{display:flex;flex-wrap:wrap;gap:8px}
.featured-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border-radius:10px;font-size:.82rem;font-weight:750;text-decoration:none;border:1px solid transparent;cursor:pointer}
.featured-btn-primary{color:#fff;background:#0b6bcb}
.featured-btn-primary:hover{color:#fff;background:#0956a3}
.featured-btn-ghost{color:#0b2944;background:#fff;border-color:#c9d7e4}
.featured-btn-ghost:hover{background:#f4f8fb}
.featured-share-pack{flex:1 1 100%;width:100%}
.featured-empty{grid-column:1/-1;padding:22px;border:1px dashed #c9d7e4;border-radius:14px;text-align:center;color:#4a6074;background:#fafcfd}
@media (max-width:1000px){
  .featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .featured-head{flex-direction:column;align-items:flex-start}
  .featured-grid{grid-template-columns:1fr}
}

.featured-card{padding:0;gap:0;overflow:hidden}
.featured-photo{position:relative;height:132px;background:linear-gradient(135deg,#cce7e1,#dbe9f5)}
.featured-photo img{display:block;width:100%;height:100%;object-fit:cover}
.featured-body{display:flex;flex-direction:column;gap:8px;padding:12px 14px 14px;flex:1;min-height:0}
.featured-card .featured-footer{margin-top:auto}
.featured-dates{margin:0;font-size:.84rem;font-weight:750;color:#0b2944}
.featured-trust-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 9px;margin:0;color:#62778b;font-size:.68rem;line-height:1.35}
.featured-trust-row time{font-variant-numeric:tabular-nums}
.featured-direct{font-weight:800;color:#08745f}
.featured-card[hidden],.featured-horizon[hidden],.featured-explorer[hidden],.featured-explorer-empty[hidden],.featured-explorer-direct[hidden],.featured-explorer-cities[hidden]{display:none!important}

/* Sélection distincte de séjours vol + hôtel, sans la confondre avec un horizon. */
.featured-organized{margin:0 0 28px;padding:18px;border:1px solid #b9dacc;border-radius:18px;background:linear-gradient(135deg,#effaf6 0%,#f7fbff 58%,#fff 100%)}
.featured-organized[hidden]{display:none}
.featured-organized-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);align-items:end;gap:18px;margin-bottom:15px}
.featured-organized-head h3{margin:0;color:#0b2944;font-size:1.24rem}
.featured-organized-text{margin:5px 0 0;color:#3d5268;font-size:.88rem;line-height:1.45}
.featured-organized-disclosure{margin:0;padding:9px 11px;border-inline-start:3px solid #0b8f7a;border-radius:8px;background:rgba(255,255,255,.78);color:#405a70;font-size:.76rem;line-height:1.45}
.featured-card.is-organized{border-color:#82cdbb;box-shadow:0 12px 28px rgba(7,91,75,.1)}
.featured-organized-badge{color:#075f50;background:#d9f5ed}
.featured-organized-actions .featured-btn{flex:1 1 calc(50% - 4px)}
.featured-organized-actions .featured-share-pack{flex-basis:100%}
.featured-btn-partner{border-color:#a8c9bf;color:#075f50;background:#f7fffc}
.featured-btn-partner:hover{color:#064f43;background:#e7f8f2}
@media(max-width:720px){
  .featured-organized{padding:14px}
  .featured-organized-head{grid-template-columns:1fr;align-items:start;gap:10px}
  .featured-organized-actions .featured-btn{flex-basis:100%;min-height:44px}
}

/* Exploration instantanée des 24 offres déjà présentes dans le cache. */
.featured-explorer{margin:0 0 24px;padding:16px 18px;border:1px solid #cbdcec;border-radius:16px;background:linear-gradient(135deg,#f6faff,#fff)}
.featured-explorer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.featured-explorer-head h3{margin:0;color:#0b2944;font-size:1.12rem}
.featured-explorer-head p{margin:4px 0 0;color:#4a6074;font-size:.82rem;line-height:1.4}
.featured-explorer-reset{flex:0 0 auto;min-height:40px}
.featured-explorer-controls{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(2,minmax(140px,.85fr)) repeat(2,minmax(160px,1fr)) minmax(175px,.9fr);gap:12px;align-items:end}
.featured-explorer-controls>label{display:grid;gap:6px;margin:0;color:#233f58;font-size:.76rem;font-weight:750}
.featured-explorer-controls select{width:100%;min-height:44px;padding:8px 34px 8px 10px;border:1px solid #bdcfdf;border-radius:10px;background:#fff;color:#0b2944}
.featured-explorer-budget>span:first-child{display:flex;justify-content:space-between;gap:8px}
.featured-explorer-budget output{justify-self:end;color:#08745f;font-size:.92rem;font-weight:850;font-variant-numeric:tabular-nums}
.featured-explorer-budget input[type=range]{width:100%;min-height:28px;accent-color:#0b8f7a;cursor:pointer}
.featured-explorer-direct{align-content:center;min-height:44px;padding:8px 10px;border:1px solid #bdcfdf;border-radius:10px;background:#fff}
.featured-explorer-direct>span{display:flex;align-items:center;gap:7px}
.featured-explorer-direct input{width:18px;height:18px;accent-color:#0b8f7a}
.featured-explorer-direct small{color:#687e92;font-size:.65rem;font-weight:500}
.featured-explorer-cities-help{margin:8px 0 0;color:#4a6074;font-size:.72rem;line-height:1.35;font-weight:500}
.featured-explorer-direct input:disabled{opacity:.85;cursor:not-allowed}
.featured-explorer-direct:has(input:disabled){background:#f3f7fb}
.featured-explorer-status{margin:11px 0 0;color:#36536c;font-size:.76rem;font-weight:750}
.featured-explorer-empty{margin:10px 0 0;padding:12px;border:1px dashed #d5a853;border-radius:10px;background:#fff9ea;color:#76531a;font-size:.8rem}
@media(max-width:1000px){
  .featured-explorer-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .featured-explorer{padding:14px}
  .featured-explorer-head{flex-direction:column}
  .featured-explorer-reset{width:100%;min-height:44px}
  .featured-explorer-controls{grid-template-columns:1fr}
}

/* Free city / IATA under arrival hubs */
.dest-free-city{margin-top:.65rem;display:grid;gap:.35rem}
.dest-free-city .dest-free-city-input,
.dest-free-city input[type=text]{width:100%}
.dest-radius-row{display:grid;gap:.25rem;margin-top:.35rem}
.dest-radius-row input{max-width:7rem}

/* Multi-select typeahead search */
.multi-menu .multi-search{
  position:sticky;top:0;z-index:2;width:100%;box-sizing:border-box;
  margin:0 0 .35rem;padding:.45rem .6rem;border:1px solid #d5deea;border-radius:8px;
  font:inherit;background:#fff;
}
.multi-menu label.multi-option.is-type-match{background:rgba(37,99,235,.08)}
.multi-menu label.multi-option[hidden]{display:none!important}

.dest-radii-grid{display:grid;gap:.65rem;margin-top:.45rem}
@media (min-width:720px){.dest-radii-grid{grid-template-columns:1fr 1fr;gap:.75rem}}
.dest-radius-row input{max-width:7rem}

.accommodation-type-row{margin-top:.75rem}
.accommodation-type-row .quality-options{display:flex;flex-wrap:wrap;gap:.5rem .85rem}

.city-ac-wrap{position:relative}
.city-ac-list{
  position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;
  margin:0;padding:.25rem 0;list-style:none;max-height:240px;overflow:auto;
  background:#fff;border:1px solid #d5deea;border-radius:10px;
  box-shadow:0 8px 24px rgba(15,23,42,.12);
}
.city-ac-list li{padding:.45rem .7rem;cursor:pointer;font-size:.92rem}
.city-ac-list li:hover,.city-ac-list li:focus{background:rgba(37,99,235,.08)}

.route-panel,.dest-free-city,.city-ac-wrap{overflow:visible}
.city-ac-list{z-index:80}

.multi-menu label.multi-option.is-active{background:rgba(37,99,235,.14);outline:1px solid rgba(37,99,235,.25)}

.city-ac-list li.is-active{background:rgba(37,99,235,.14)}

.form-errors{margin:0 0 12px;padding:12px 14px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b}
.form-errors strong{display:block;font-size:.95rem}.form-errors p{margin:.25rem 0 .35rem}.form-errors ul{margin:.25rem 0 0;padding-inline-start:1.25rem}.form-errors a{color:#8f1d17;text-decoration:underline}.form-error-field{font-weight:800}.form-errors:focus{outline:3px solid rgba(180,35,24,.22);outline-offset:2px}

/* Route targeting: country is context; the detailed methods are exclusive. */
.route-method-heading{display:grid;gap:.2rem;margin-bottom:.65rem}.route-method-heading>strong{font-size:.88rem;color:#173e61}.route-method-heading small,.route-exclusive-note{color:#5d7185;font-size:.76rem;line-height:1.4}
.route-method-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-bottom:.85rem}
[data-route-method="destination"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.route-method-options label{position:relative;margin:0!important;min-width:0}.route-method-options input{position:absolute;opacity:0}.route-method-options span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem .6rem;border:1px solid #cbd7e3;border-radius:10px;background:#fff;color:#40566c;text-align:center;font-size:.76rem;line-height:1.2;cursor:pointer}
.route-method-options input:checked+span{border-color:#087c6a;background:#e8f8f4;color:#076653;box-shadow:inset 0 0 0 1px #087c6a;font-weight:800}
.route-method-options label.is-unavailable{opacity:.45}.route-method-options label.is-unavailable span{cursor:not-allowed}
.route-branch{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e4ebf1}.route-country-scope{border-top:0;padding-top:0}.route-exclusive-note{margin:.75rem 0 0;padding:.55rem .65rem;border-radius:8px;background:#f3f7fa}.route-panel small,.helper{color:#5d7185}
.route-panel:has([name="origin_method"][value="country"]:checked) [data-origin-airports],.route-panel:has([name="origin_method"][value="country"]:checked) [data-origin-free-city],.route-panel:has([name="origin_method"][value="airports"]:checked) [data-origin-free-city],.route-panel:has([name="origin_method"][value="city"]:checked) [data-origin-airports]{display:none}
.route-panel:has([name="destination_method"][value="all"]:checked) [data-destination-country],.route-panel:has([name="destination_method"][value="all"]:checked) [data-destination-hubs],.route-panel:has([name="destination_method"][value="all"]:checked) [data-dest-free-city],.route-panel:has([name="destination_method"][value="country"]:checked) [data-destination-hubs],.route-panel:has([name="destination_method"][value="country"]:checked) [data-dest-free-city],.route-panel:has([name="destination_method"][value="airports"]:checked) [data-dest-free-city],.route-panel:has([name="destination_method"][value="city"]:checked) [data-destination-hubs]{display:none}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid rgba(8,169,143,.28);outline-offset:2px}.route-method-options input:focus-visible+span,.quality-options input:focus-visible+span,.segmented input:focus-visible+span{outline:3px solid rgba(8,169,143,.3);outline-offset:2px}
input:disabled,select:disabled,button:disabled{cursor:not-allowed}
@media(max-width:650px){.route-method-options,[data-route-method="destination"]{grid-template-columns:1fr 1fr}.route-method-options span{min-height:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.featured-periods-head{margin:4px 0 16px;padding-bottom:10px;border-bottom:2px solid #b9dacc}
.featured-periods-title{margin:0;color:#0b2944;font-size:1.24rem;font-weight:850}
.featured-horizon{margin:0 0 28px}
.featured-horizon-head{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e6eef5}
.featured-horizon-title{display:inline-flex;align-items:center;gap:8px;margin:0;padding:6px 12px 6px 10px;border-radius:999px;font-size:1.12rem;font-weight:800;line-height:1.2}
.featured-horizon-title::before{content:"";flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 currentColor;animation:horizon-blink 1.35s ease-in-out infinite}
.featured-horizon[data-horizon="near"] .featured-horizon-head{border-bottom-color:#f0c9a0}
.featured-horizon[data-horizon="near"] .featured-horizon-title{color:#9a3412;background:#fff1e6;box-shadow:inset 0 0 0 1px #f0c9a0}
.featured-horizon[data-horizon="mid"] .featured-horizon-head{border-bottom-color:#9ed9cb}
.featured-horizon[data-horizon="mid"] .featured-horizon-title{color:#0b6b5c;background:#e7f8f3;box-shadow:inset 0 0 0 1px #9ed9cb}
.featured-horizon[data-horizon="far"] .featured-horizon-head{border-bottom-color:#b7ccee}
.featured-horizon[data-horizon="far"] .featured-horizon-title{color:#1e4b8f;background:#e8f1fb;box-shadow:inset 0 0 0 1px #b7ccee}
.featured-horizon-sub{margin:8px 0 0;font-size:.88rem;color:#4a6074}
@keyframes horizon-blink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.2;transform:scale(.72)}}
@media(prefers-reduced-motion:reduce){.featured-horizon-title::before{animation:none;opacity:1;transform:none}}
#featured-horizons{display:flex;flex-direction:column;gap:8px}

/* --- Comparaison partageable de voyages --- */
.compare-toggle{width:100%;margin-top:2px}.compare-toggle[aria-pressed="true"],.table-compare-toggle[aria-pressed="true"]{border-color:#087c6a;background:#e7f8f3;color:#076653}.compare-toggle:disabled,.table-compare-toggle:disabled{opacity:.48}
.table-compare-toggle{display:block;margin-top:6px;padding:4px 7px;border:1px solid #c9d7e4;border-radius:7px;background:#fff;color:#27445f;font:inherit;font-size:.7rem;white-space:nowrap;cursor:pointer}
.compare-tray{position:fixed;z-index:240;inset-inline:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(680px,calc(100% - 28px));padding:12px 14px;border:1px solid rgba(255,255,255,.55);border-radius:16px;background:rgba(11,41,68,.96);color:#fff;box-shadow:0 16px 42px rgba(7,31,53,.32);backdrop-filter:blur(10px)}
[dir="rtl"] .compare-tray{transform:translateX(50%)}.compare-tray-copy{display:flex;align-items:baseline;gap:8px}.compare-tray-copy strong{font-size:1.05rem;font-variant-numeric:tabular-nums}.compare-tray-copy span{font-size:.84rem}.compare-tray-actions{display:flex;align-items:center;gap:8px}.compare-tray [aria-disabled="true"]{opacity:.48;pointer-events:none}.compare-tray .btn-secondary{background:#fff;color:#0b2944}
body:has(.compare-tray:not([hidden])) main{padding-bottom:92px}
.comparison-page{padding-top:22px;padding-bottom:48px}.comparison-disclaimer{margin:0 0 12px;padding:10px 12px;border-left:4px solid #0b8f7a;border-radius:8px;background:#eef9f6;color:#315167;font-size:.86rem}.comparison-scroll{padding:0;overflow:auto;overscroll-behavior-inline:contain}.comparison-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;background:#fff}.comparison-table th,.comparison-table td{min-width:170px;padding:13px 14px;border-inline-end:1px solid #e1e8ef;border-bottom:1px solid #e1e8ef;text-align:start;vertical-align:middle}.comparison-table thead th{position:sticky;top:0;z-index:2;background:#f3f8fb;color:#0b2944}.comparison-table thead th:first-child,.comparison-table tbody th{position:sticky;inset-inline-start:0;z-index:3;min-width:145px;background:#f7fafc;color:#35516a;font-size:.8rem}.comparison-table thead th:first-child{z-index:4}.comparison-table thead img{display:block;width:100%;height:100px;margin-bottom:9px;border-radius:10px;object-fit:cover}.comparison-table thead span,.comparison-table thead small{display:block}.comparison-table thead span{font-weight:850}.comparison-table thead small{margin-top:3px;color:#536b80;font-weight:500}.comparison-table td{color:#223f59;font-size:.88rem}.comparison-table .comparison-total td{font-size:1.08rem;font-weight:850;color:#0b2944}.comparison-table td.is-comparison-best{background:#eaf9f4;color:#05614f;font-weight:800}.comparison-table td.is-comparison-best small{display:block;margin-top:3px;color:#087c6a;font-size:.68rem}.comparison-actions td{padding-top:16px;padding-bottom:16px}
@media(max-width:650px){.compare-tray{bottom:10px;align-items:stretch;gap:9px;padding:10px 11px}.compare-tray-copy{flex-direction:column;justify-content:center;gap:0}.compare-tray-actions{margin-inline-start:auto}.compare-tray-actions .btn{padding:7px 9px;font-size:.74rem}.comparison-heading .heading-row{align-items:flex-start}.comparison-table{min-width:680px}.comparison-table th,.comparison-table td{min-width:150px;padding:11px}.comparison-table thead th:first-child,.comparison-table tbody th{min-width:118px}}

.featured-explorer-budget-help{display:block;margin-top:6px;color:#4a6074;font-size:.78rem;line-height:1.35;font-weight:500}

/* ===================================================================== */
/* Formulaire de recherche v2 : étapes numérotées, obligatoire/facultatif */
/* ===================================================================== */
.search-form-v2{padding:18px 20px 0;border-radius:16px;box-shadow:0 18px 44px rgba(20,56,87,.14)}
.search-form-v2 .step{position:relative;margin:0 0 14px;padding:14px 16px 16px;border:1px solid #e3e9f0;border-radius:12px;background:#fff}
.search-form-v2 fieldset.step{min-width:0}
.search-form-v2 .step-head{display:flex;align-items:flex-start;gap:12px;margin:0 0 12px}
.search-form-v2 .step-num{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font-size:.82rem;font-weight:800;margin-top:1px}
.search-form-v2 .step-title{min-width:0;flex:1 1 0%}
.search-form-v2 .step-title h2{margin:0;font-size:1.02rem;line-height:1.25;color:var(--blue-dark);text-transform:none;letter-spacing:0}
.search-form-v2 .step-title p{margin:3px 0 0;color:#6b7a8c;font-size:.8rem;line-height:1.4}
.search-form-v2 .step-aside{flex:0 0 auto;margin-inline-start:auto}
.search-form-v2 .required-legend{flex:0 0 auto;margin:0;margin-inline-start:auto;padding:6px 10px;border-radius:999px;background:#f5f8fb;color:#4f6275;font-size:.72rem;white-space:nowrap}
.search-form-v2 .legend-sep{margin:0 4px;color:#9aa8b8}
.search-form-v2 .req{color:var(--danger);font-weight:900;margin-inline-start:2px}
.search-form-v2 .opt{display:inline-block;margin-inline-start:6px;padding:1px 7px;border-radius:999px;background:#eef2f6;color:#5e7085;font-size:.66rem;font-weight:700;letter-spacing:.02em;vertical-align:middle;text-transform:none}
.search-form-v2 label,.search-form-v2 .field-label{display:block;margin:0 0 5px;font-size:.8rem;font-weight:650;color:#26405a}
.search-form-v2 label:not(:first-of-type){margin-top:0}
.search-form-v2 input:not([type=radio]):not([type=checkbox]),.search-form-v2 select{min-height:42px;padding:8px 11px;border-radius:9px;background:#fbfcfe;border-color:#cfd9e4;font-size:.92rem}
.search-form-v2 .multi-face{min-height:42px;padding:5px 9px;background:#fbfcfe}
.search-form-v2 .field-help,.search-form-v2 small.field-help{display:block;margin:5px 0 0;color:#7a8797;font-size:.72rem;line-height:1.4}
.search-form-v2 .errorlist{margin:4px 0 0;font-size:.76rem}
/* Étape 1 : sélecteur de produit */
.search-form-v2 .step-product{padding-bottom:14px}
.search-form-v2 .mode-switch{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.search-form-v2 .mode-choice.combo,.search-form-v2 .mode-choice.flight-apartments{grid-column:span 3}
.search-form-v2 .mode-choice.flights,.search-form-v2 .mode-choice.hotels,.search-form-v2 .mode-choice.apartments{grid-column:span 2}
.search-form-v2 .mode-choice{position:relative;display:flex;align-items:center;gap:12px;min-height:70px;margin:0;padding:12px 14px;padding-inline-end:44px;border:2px solid #dbe4ec;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}
.search-form-v2 .mode-choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.search-form-v2 .mode-icon{flex:0 0 auto;display:grid;place-items:center;min-width:44px;height:44px;padding:0 8px;border-radius:10px;background:#f1f5f9;font-size:1rem;font-weight:800;color:#3e5670}
.search-form-v2 .mode-text{display:grid;gap:2px;min-width:0}
.search-form-v2 .mode-text strong{font-size:.95rem;color:var(--ink)}
.search-form-v2 .mode-text small{color:#6b7a8c;font-size:.74rem;line-height:1.3}
.search-form-v2 .mode-check{position:absolute;top:10px;inset-inline-end:10px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:2px solid #cfd9e4;background:#fff;color:transparent;font-size:.8rem;font-weight:900}
.search-form-v2 .mode-choice:hover{border-color:#b9c9d8}
.search-form-v2 .mode-choice:has(input:checked),.search-form-v2 .mode-choice.is-active{border-color:var(--blue);background:#f3f8ff;box-shadow:0 0 0 3px rgba(32,87,131,.10)}
.search-form-v2 .mode-choice:has(input:checked) .mode-check,.search-form-v2 .mode-choice.is-active .mode-check{background:var(--blue);border-color:var(--blue);color:#fff}
.search-form-v2 .mode-choice.flights:has(input:checked),.search-form-v2 .mode-choice.flights.is-active{border-color:#0a9a7b;background:#eefbf7;box-shadow:0 0 0 3px rgba(10,154,123,.10)}
.search-form-v2 .mode-choice.flights:has(input:checked) .mode-check,.search-form-v2 .mode-choice.flights.is-active .mode-check{background:#0a9a7b;border-color:#0a9a7b}
.search-form-v2 .mode-choice.flights .mode-icon{background:var(--green-soft);color:#079665}
.search-form-v2 .mode-choice.hotels:has(input:checked),.search-form-v2 .mode-choice.hotels.is-active{border-color:var(--orange);background:#fff8f1;box-shadow:0 0 0 3px rgba(232,90,8,.10)}
.search-form-v2 .mode-choice.hotels:has(input:checked) .mode-check,.search-form-v2 .mode-choice.hotels.is-active .mode-check{background:var(--orange);border-color:var(--orange)}
.search-form-v2 .mode-choice.hotels .mode-icon{background:var(--orange-soft);color:var(--orange)}
.search-form-v2 .mode-choice.apartments:has(input:checked),.search-form-v2 .mode-choice.apartments.is-active{border-color:#7656a8;background:#f8f4ff;box-shadow:0 0 0 3px rgba(118,86,168,.11)}
.search-form-v2 .mode-choice.apartments:has(input:checked) .mode-check,.search-form-v2 .mode-choice.apartments.is-active .mode-check{background:#7656a8;border-color:#7656a8}
.search-form-v2 .mode-choice.apartments .mode-icon{background:#f0e9fb;color:#68469e}
.search-form-v2 .mode-choice.flight-apartments:has(input:checked),.search-form-v2 .mode-choice.flight-apartments.is-active{border-color:#5368b1;background:#f4f6ff;box-shadow:0 0 0 3px rgba(83,104,177,.11)}
.search-form-v2 .mode-choice.flight-apartments:has(input:checked) .mode-check,.search-form-v2 .mode-choice.flight-apartments.is-active .mode-check{background:#5368b1;border-color:#5368b1}
.search-form-v2 .mode-choice.flight-apartments .mode-icon{background:#e9edff;color:#43579c}
.search-form-v2 .mode-choice.combo .mode-icon{background:var(--blue-soft);color:var(--blue)}
.search-form-v2 .mode-choice:has(input:focus-visible){outline:3px solid rgba(8,169,143,.3);outline-offset:2px}
/* Étape 2 : trajet */
.search-form-v2 .route-grid-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.search-form-v2 .route-panel{margin:0;padding:12px 12px 14px;border:1px solid #e6ecf2;border-radius:10px;background:#f9fbfd;border-inline-end:1px solid #e6ecf2}
.search-form-v2 .route-panel:first-child,.search-form-v2 .route-panel:last-child{padding:12px 12px 14px;border:1px solid #e6ecf2}
.search-form-v2 .route-panel legend{display:flex;align-items:center;gap:6px;padding:0 4px;margin:0 0 6px;text-transform:none;letter-spacing:0;font-size:.9rem;font-weight:800;color:var(--blue-dark)}
.search-form-v2 .panel-icon{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#e3edf7;color:var(--blue);font-size:.72rem}
.search-form-v2 .method-row{position:relative;display:flex;align-items:center;gap:6px;margin:4px 0 6px}
.search-form-v2 .field-label-row .field-label{margin:0}
.search-form-v2 .method-label{font-size:.78rem;font-weight:650;color:#3d5268}
.search-form-v2 .field-hint{position:static;display:inline-block;margin:0}
.search-form-v2 .field-hint summary{list-style:none;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1px solid #b8c6d4;background:#fff;color:#4f6275;font-size:.7rem;font-weight:800;cursor:help;padding:0}
.search-form-v2 .field-hint summary::-webkit-details-marker{display:none}
.search-form-v2 .field-hint[open] summary{background:var(--blue);border-color:var(--blue);color:#fff}
.search-form-v2 .field-hint p{position:absolute;z-index:30;top:calc(100% + 4px);inset-inline:0;width:auto;margin:0;padding:9px 11px;border:1px solid #d5deea;border-radius:9px;background:#fff;color:#3d5268;font-size:.74rem;font-weight:400;line-height:1.45;box-shadow:0 10px 26px rgba(15,23,42,.12)}
.search-form-v2 .method-pills{position:relative;display:flex;flex-wrap:wrap;gap:5px;margin:0 0 4px}
.search-form-v2 .method-pills .field-hint{display:flex;align-items:center;flex:0 0 auto}
.search-form-v2 .method-pills .pill-with-hint{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;min-width:max-content;max-width:100%}
.search-form-v2 .method-pills .pill-with-hint>label{flex:0 0 auto}
.search-form-v2 .method-pills .pill-with-hint>.field-hint p{inset-inline-start:auto;inset-inline-end:0;width:min(18.5rem,100%);white-space:normal;text-align:start}
.search-form-v2 .method-pills label{position:relative;flex:1 1 auto;margin:0}
.search-form-v2 .method-pills input{position:absolute;opacity:0;width:1px;height:1px}
.search-form-v2 .method-pills span{display:flex;align-items:center;justify-content:center;min-height:36px;padding:6px 8px;border:1px solid #cbd7e3;border-radius:999px;background:#fff;color:#40566c;font-size:.73rem;font-weight:600;line-height:1.15;text-align:center;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s}
.search-form-v2 .method-pills input:checked+span{border-color:#087c6a;background:#e6f7f2;color:#065f4d;box-shadow:inset 0 0 0 1px #087c6a;font-weight:800}
.search-form-v2 .method-pills label.is-unavailable{opacity:.45}.search-form-v2 .method-pills label.is-unavailable span{cursor:not-allowed}
.search-form-v2 .method-pills input:focus-visible+span{outline:3px solid rgba(8,169,143,.3);outline-offset:2px}
.search-form-v2 .route-branch{margin-top:10px;padding-top:0;border-top:0}
.search-form-v2 .destination-all-help{margin:6px 0 0;padding:8px 10px;border-radius:8px;background:#eef6f3;color:#2f6b5a}
.search-form-v2 .destination-all-help[hidden]{display:none}
.search-form-v2 .dest-free-city{margin-top:10px;display:block}
.search-form-v2 .radii-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.search-form-v2 .radius-row{margin-top:8px;padding:8px 10px;border:1px dashed #d5deea;border-radius:9px;background:#fff}
.search-form-v2 .radius-input{display:flex;align-items:center;gap:8px}
.search-form-v2 .radius-input input{max-width:7.5rem}
.search-form-v2 .radius-input .unit{color:#6b7a8c;font-size:.78rem;font-weight:600}
/* Sections dépendantes du produit : masquées proprement (plus de zone grisée) */
.search-form-v2 [data-hotel-section].is-mode-disabled,.search-form-v2 [data-flight-section].is-mode-disabled{display:none;opacity:1;pointer-events:auto;filter:none}
/* Étape 3 : dates */
.search-form-v2 .step-dates .segmented{padding:3px;background:#e9eff6}
.search-form-v2 .step-dates .segmented span{padding:7px 14px;font-size:.8rem}
.search-form-v2 .date-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.search-form-v2 .exact-dates{grid-template-columns:repeat(2,minmax(0,1fr)) .6fr 1fr}
.search-form-v2 .duration-card{display:grid;place-content:center;text-align:center;min-height:42px;border-radius:9px;background:var(--blue-soft);color:var(--blue);align-self:end}
.search-form-v2 .duration-card strong{font-size:1.25rem;line-height:1.1}
.search-form-v2 .duration-card small{font-size:.7rem}
.search-form-v2 .date-explainer{display:none}
.search-form-v2 .date-explainer strong{color:var(--ink)}
/* Étape 4 : voyageurs */
.search-form-v2 .travellers-grid-v2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.search-form-v2 #child-ages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:6px}
.search-form-v2 #child-ages select{min-height:38px;font-size:.82rem}
.search-form-v2 .chips-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin-top:12px}
.search-form-v2 .chips-block .field-label{margin-bottom:6px}
.search-form-v2 .quality-options{display:flex;flex-wrap:wrap;gap:8px}
.search-form-v2 .quality-options span{padding:7px 13px;font-size:.78rem;background:#fff}
.search-form-v2 .apartments-filter-note{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid #d8cbed;border-radius:10px;background:#faf7ff;color:#4e3677;font-size:.78rem;line-height:1.45}
.search-form-v2 .apartments-filter-note[hidden]{display:none}
.search-form-v2 .apartments-filter-note strong{white-space:nowrap}
.search-form-v2 .rooms-apartments-warning{display:block;margin:6px 0 0;padding:7px 9px;border-inline-start:3px solid #d58a16;border-radius:6px;background:#fff8e8;color:#76500a;font-size:.72rem;line-height:1.4}
.search-form-v2 .rooms-apartments-warning[hidden]{display:none}
.search-form-v2 .flight-apartments-disclosure{padding-inline-start:12px;border-inline-start:1px solid #c9bae0;color:#394b83}
.search-form-v2 .flight-apartments-disclosure[hidden]{display:none}
/* Étape 5 : options avancées */
.search-form-v2 .advanced-v2{padding:0;overflow:visible}
.search-form-v2 .advanced-v2>summary{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;list-style:none;cursor:pointer;color:var(--ink);font-weight:600}
.search-form-v2 .advanced-v2>summary .chevron{align-self:center}
.search-form-v2 .advanced-v2>summary::-webkit-details-marker{display:none}
.search-form-v2 .advanced-v2>summary .step-num{background:#e3edf7;color:var(--blue)}
.search-form-v2 .advanced-v2>summary .step-title{display:grid;gap:2px;flex:1 1 0%;min-width:0}
.search-form-v2 .advanced-v2>summary strong{font-size:1.02rem;color:var(--blue-dark)}
.search-form-v2 .advanced-v2>summary small{color:#6b7a8c;font-size:.78rem;font-weight:400}
.search-form-v2 .advanced-v2>summary .chevron{margin-inline-start:auto;font-size:1.3rem;color:#6b7a8c;transition:transform .2s}
.search-form-v2 .advanced-v2[open]>summary{border-bottom:1px solid #e3e9f0}
.search-form-v2 .advanced-v2[open]>summary .chevron{transform:rotate(180deg)}
.search-form-v2 .advanced-body{padding:12px 16px 16px}
.search-form-v2 .adv-note{margin:0 0 10px}
.search-form-v2 .adv-group{margin-top:10px;padding:12px;border:1px solid #e6ecf2;border-radius:10px;background:#f9fbfd}
.search-form-v2 .adv-group h3{margin:0 0 10px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#5d7088}
.search-form-v2 .adv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}
.search-form-v2 .adv-grid .check{grid-column:span 2;align-self:end}
.search-form-v2 .adv-grid .check-with-hint{grid-column:span 2;position:relative;display:flex;align-items:center;gap:8px}
.search-form-v2 .adv-grid .check-with-hint .check{grid-column:auto;flex:1;margin:0}
.search-form-v2 .adv-grid .workload{grid-column:span 2;align-self:end}
.search-form-v2 .adv-grid .span-2,.search-form-v2 .airlines-field{grid-column:span 2}
.search-form-v2 .airlines-field .airline-count{color:#667992;font-weight:600;font-size:.75rem}
.search-form-v2 .check{min-height:42px;padding:8px 11px;background:#fff;font-weight:600;font-size:.8rem}
.search-form-v2 .demo-check{background:#effbf8}
.search-form-v2 .workload{padding:8px 10px;font-size:.78rem}
.search-form-v2 .workload strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
/* Barre d'action collante */
.search-form-v2 .search-actions{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 -20px;padding:12px 20px;border-top:1px solid #e3e9f0;border-radius:0 0 16px 16px;background:rgba(255,255,255,.96);backdrop-filter:blur(6px)}
.search-form-v2 .search-summary-live{display:grid;gap:2px;min-width:0;color:#3d5268;font-size:.8rem}
.search-form-v2 .search-summary-live strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:#5d7088}
.search-form-v2 .search-summary-live #search-live-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-form-v2 .restore-hint{font-size:.74rem;color:#6b7a8c}
.search-form-v2 .btn-search{flex:0 0 auto;width:auto;min-width:260px;min-height:48px;margin:0;font-size:1rem;box-shadow:0 8px 20px rgba(32,87,131,.22)}
.search-form-v2.is-searching .btn-search{opacity:.6}
.search-form-v2 .form-errors{margin-bottom:14px}
/* Responsive */
@media(max-width:1000px){.search-form-v2 .adv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-form-v2 .date-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.search-form-v2 .exact-dates{grid-template-columns:repeat(2,minmax(0,1fr))}.search-form-v2 .travellers-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}.search-form-v2 .required-legend{white-space:normal}}
@media(max-width:820px){.search-form-v2 .route-grid-v2{grid-template-columns:1fr}.search-form-v2 .chips-grid{grid-template-columns:1fr}.search-form-v2 .mode-switch{grid-template-columns:1fr}.search-form-v2 .mode-choice.combo,.search-form-v2 .mode-choice.flight-apartments,.search-form-v2 .mode-choice.flights,.search-form-v2 .mode-choice.hotels,.search-form-v2 .mode-choice.apartments{grid-column:auto}.search-form-v2 .mode-choice{min-height:60px}}
@media(max-width:650px){.search-form-v2{padding:12px 12px 0}.search-form-v2 .step{padding:12px}.search-form-v2 .step-head{flex-wrap:wrap}.search-form-v2 .required-legend{order:3;flex-basis:100%;margin-inline-start:0}.search-form-v2 .step-aside{flex-basis:100%;margin:0}.search-form-v2 .step-dates .segmented{display:flex}.search-form-v2 .step-dates .segmented label{flex:1}.search-form-v2 .step-dates .segmented span{text-align:center}.search-form-v2 .date-fields,.search-form-v2 .exact-dates,.search-form-v2 .travellers-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.search-form-v2 .adv-grid,.search-form-v2 .radii-grid{grid-template-columns:1fr}.search-form-v2 .adv-grid .span-2,.search-form-v2 .airlines-field,.search-form-v2 .adv-grid .check,.search-form-v2 .adv-grid .workload{grid-column:auto}.search-form-v2 .method-pills span{white-space:normal}.search-form-v2 .duration-card{grid-column:span 2}.search-form-v2 .route-panel:first-child,.search-form-v2 .route-panel:last-child{padding:12px;border:1px solid #e6ecf2}.search-form-v2 .method-pills label{flex:1 1 45%}.search-form-v2 .method-pills .pill-with-hint{flex:1 1 auto;min-width:max-content}.search-form-v2 .method-pills .pill-with-hint label{flex:0 0 auto}.search-form-v2 .apartments-filter-note{align-items:flex-start;flex-direction:column;gap:4px}.search-form-v2 .flight-apartments-disclosure{width:100%;padding-block-start:6px;padding-inline-start:0;border-block-start:1px solid #c9bae0;border-inline-start:0}.search-form-v2 .search-actions{flex-direction:column;align-items:stretch;gap:8px;margin:0 -12px;padding:10px 12px}.search-form-v2 .btn-search{width:100%;min-width:0}.search-form-v2 .search-summary-live #search-live-summary{white-space:normal}}
.search-form-v2 .route-grid-v2>.route-panel[hidden]+.route-panel{grid-column:1/-1}

/* --- Results page visual refresh (2.6.64) --- */
body:has(.results-page){background:#f3f6fa}
.results-hero{position:relative;padding:30px 0 52px;overflow:hidden;background:radial-gradient(900px 240px at 88% -20%,rgba(91,227,198,.28),transparent 58%),linear-gradient(118deg,#0b2944 0%,#123e63 46%,#0c5868 100%)}
.results-hero .eyebrow{color:#9ff3e2!important;letter-spacing:.16em}
.results-hero h1{letter-spacing:-.03em;font-weight:800}
.results-hero p{color:#d4e4ef}
.results-hero .btn-secondary{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.34);backdrop-filter:blur(8px)}
.results-hero .btn-secondary:hover{color:#fff;background:rgba(255,255,255,.22)}
.results-hero .btn-primary{color:#123e63;background:#fff;border-color:#fff}
.results-hero .btn-primary:hover{color:#0b4f45;background:#e7f7f3}
.results-page{padding-block:0 64px}
.results-page .kpi-grid{position:relative;z-index:2;gap:12px;margin:-38px 0 20px}
.results-page .kpi-grid article{padding:16px 18px;border:0;border-radius:16px;background:#fff;box-shadow:0 14px 30px rgba(16,36,62,.08)}
.results-page .kpi-grid article span{font-size:.72rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.results-page .kpi-grid article strong{margin-top:6px;font-size:1.42rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.results-page .kpi-grid article:first-child{background:linear-gradient(145deg,#0a6b5d 0%,#0b8a74 58%,#12a88a 100%);color:#fff;box-shadow:0 16px 32px rgba(8,124,106,.22)}
.results-page .kpi-grid article:first-child span{color:rgba(255,255,255,.82)}
.results-page .kpi-grid article:first-child strong{color:#fff;font-size:1.55rem}
.results-page .price-calendar{margin:0 0 18px;padding:20px 22px;border:1px solid #e2eaf1;border-radius:18px;box-shadow:0 10px 26px rgba(16,36,62,.05)}
.results-page .price-calendar-intro h2{font-size:1.18rem;letter-spacing:-.02em}
.results-page .price-calendar-summary div{border:0;background:#f4f8fb;border-radius:12px;padding:11px 13px}
.results-page .price-calendar-summary dd{font-size:.92rem}
.results-page .price-calendar-day{min-height:108px;padding:13px;border-radius:14px;border-color:#d7e3ee;box-shadow:0 1px 0 rgba(16,36,62,.02)}
.results-page .price-calendar-day:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(7,69,62,.1)}
.results-page .price-calendar-day.is-cheapest{background:linear-gradient(180deg,#e9faf5,#fff);box-shadow:inset 0 0 0 1px #07967d,0 8px 18px rgba(7,150,125,.08)}
.results-page .price-calendar-day.is-selected{outline:none;border-color:#087c6a;background:linear-gradient(165deg,#0b6b5f,#0c907a);color:#fff;box-shadow:0 12px 24px rgba(8,124,106,.24)}
.results-page .price-calendar-day.is-selected time,
.results-page .price-calendar-day.is-selected>span:first-child,
.results-page .price-calendar-day.is-selected strong,
.results-page .price-calendar-day.is-selected small{color:#fff}
.results-page .price-calendar-day.is-selected .price-calendar-badge,
.results-page .price-calendar-day.is-selected .price-calendar-delta{background:rgba(255,255,255,.2);color:#fff}
.results-page .price-calendar-all.is-selected strong{color:#fff}
.results-page .filters-bar,.results-page .view-switch-bar,.results-page .search-summary,.results-page .table-panel{border-color:#e2eaf1;border-radius:16px;box-shadow:0 8px 22px rgba(16,36,62,.045)}
.results-page .filters-bar{padding:18px 20px}
.results-page .cards-grid{grid-template-columns:1fr;gap:16px}
.results-page .result-card{grid-template-columns:220px minmax(280px,1fr) minmax(214px,252px);border:1px solid #e2eaf1;border-radius:18px;box-shadow:0 12px 28px rgba(16,36,62,.07);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.results-page .result-card:hover{border-color:#bfd4e4;box-shadow:0 18px 38px rgba(16,36,62,.12);transform:translateY(-2px)}
.results-page .result-card.best{border-color:#0b8f7a;box-shadow:0 14px 32px rgba(8,124,106,.14)}
.results-page .result-photo{min-height:100%}
.results-page .result-main{padding:18px 18px 16px}
.results-page .result-route{font-size:1.02rem;align-items:baseline;flex-wrap:wrap}
.results-page .result-price{grid-column:auto;flex-direction:column;align-items:stretch;justify-content:center;gap:12px;padding:18px 16px;border-top:0;border-inline-start:1px solid #e7eef4;background:linear-gradient(180deg,#f6fbfb,#fff)}
.results-page .result-price .price-total strong{font-size:1.48rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.results-page .result-price .btn{width:100%;margin:0}
.results-page .empty-state{border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(16,36,62,.04)}
@media(max-width:900px){
  .results-page .result-card{grid-template-columns:158px minmax(0,1fr)}
  .results-page .result-price{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;border-inline-start:0;border-top:1px solid #e7eef4}
  .results-page .result-price .btn{width:auto;min-width:160px;margin-inline-start:auto}
}
@media(max-width:650px){
  .results-hero{padding:22px 0 38px}
  .results-page .kpi-grid{margin-top:-26px}
  .results-page .price-calendar{padding:15px}
  .results-page .result-card{grid-template-columns:1fr}
  .results-page .result-photo{min-height:168px;max-height:190px}
  .results-page .result-price{flex-direction:column;align-items:stretch}
  .results-page .result-price .btn{width:100%;margin:0}
}


.trip-kind-switch {
  margin: 0 0 1rem;
  max-width: 42rem;
}
.trip-kind-switch .trip-kind-multicity input:not(:checked) + span {
  border-color: #a9c9c1;
  background: #f3faf8;
  color: #185f54;
  font-weight: 750;
}
.multicity-editor {
  margin-top: 0.25rem;
}
.mc-guidance {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding: 0.9rem 1rem;
  border: 1px solid #cce2dc;
  border-radius: 12px;
  background: linear-gradient(135deg, #f0faf7, #f8fbfd);
  color: #294f49;
}
.mc-guidance-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #087c6a;
  color: #fff;
  font-weight: 850;
  font-family: Georgia, serif;
}
.mc-guidance strong {
  display: block;
  margin: 0 0 0.2rem;
  color: #0b5046;
  font-size: 0.86rem;
}
.mc-guidance p {
  margin: 0;
  color: #46645f;
  font-size: 0.78rem;
  line-height: 1.45;
}
.mc-guidance p + p {
  margin-top: 0.2rem;
}
.mc-legs {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 1rem;
  padding-inline-start: 42px;
  overflow: visible;
}
.mc-legs::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 28px;
  bottom: 28px;
  inset-inline-start: 14px;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(#0c8f7a, #b7d8d1);
}
.mc-leg {
  position: relative;
  z-index: 1;
  overflow: visible;
  border: 1px solid #dce6ee;
  border-radius: 16px;
  padding: 1rem 1.05rem 1.05rem;
  background: #fff;
  box-shadow: 0 8px 22px rgba(16, 36, 62, 0.055);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.mc-leg:focus-within,
.mc-leg:has(.multi-menu:not([hidden])),
.mc-leg:has(.city-ac-list:not([hidden])) {
  z-index: 12;
  border-color: #82bfb2;
  box-shadow: 0 10px 26px rgba(8, 124, 106, 0.1);
}
.mc-leg-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 30px;
  margin-bottom: 0.85rem;
}
.mc-leg-head strong {
  color: #143c5c;
  font-size: 0.92rem;
  letter-spacing: -0.01em;
}
.mc-leg-index {
  position: absolute;
  top: 18px;
  inset-inline-start: -43px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 3px solid #eef8f5;
  border-radius: 50%;
  background: #087c6a;
  color: #fff;
  box-shadow: 0 0 0 1px #69ad9f;
  font-size: 0.78rem;
  font-weight: 850;
}
.mc-leg1-origin-slot {
  margin: 0 0 0.95rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid #edf1f5;
}
.search-form-v2 .mc-leg [data-origin-panel] {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.mc-leg-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr));
  gap: 0.75rem 1rem;
}
.mc-leg .airlines-field {
  margin-top: 0.9rem;
  padding: 0.8rem 0.9rem;
  border-radius: 11px;
  background: #f5f8fb;
}
.search-form-v2 .mc-leg .airlines-field .field-help {
  color: #5f7182;
}
.mc-product {
  margin-top: 0;
  margin-bottom: 0.95rem;
  padding-top: 0;
  padding-bottom: 0.9rem;
  border-top: none;
  border-bottom: 1px solid var(--border);
}
.mc-product-label {
  margin: 0 0 0.65rem;
  font-weight: 650;
}
.search-form-v2 .mc-product .mode-switch {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.search-form-v2 .mc-product .mode-choice,
.search-form-v2 .mc-product .mode-choice.combo,
.search-form-v2 .mc-product .mode-choice.flight-apartments,
.search-form-v2 .mc-product .mode-choice.flights,
.search-form-v2 .mc-product .mode-choice.hotels,
.search-form-v2 .mc-product .mode-choice.apartments {
  grid-column: auto;
  min-height: 58px;
  padding: 10px 12px;
  padding-inline-end: 34px;
  align-items: flex-start;
}
.search-form-v2 .mc-product .mode-text small {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 820px) {
  .search-form-v2 .mc-product .mode-switch {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.mc-actions {
  margin-top: 1rem;
  padding-inline-start: 42px;
}
.mc-actions .btn-secondary {
  min-height: 42px;
  border: 1px dashed #87b9ae;
  border-radius: 11px;
  background: #f4fbf9;
  color: #086655;
  font-weight: 750;
}
.mc-remove {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin-inline-start: auto;
  border: 0;
  border-radius: 8px;
  background: #f5f7fa;
  color: #68798b;
  font-size: 1.2rem;
  line-height: 1;
  cursor: pointer;
}
.mc-remove:hover {
  background: #fff0ee;
  color: #a43c31;
}
.mc-remove:focus-visible {
  outline: 3px solid rgba(8, 169, 143, 0.3);
  outline-offset: 2px;
}

.search-form-v2 .mc-product {
  margin-bottom: 0.75rem;
  padding-bottom: 0.7rem;
}
.search-form-v2 .mc-product-label {
  margin-bottom: 0.45rem;
  font-size: 0.86rem;
}
.search-form-v2 .mc-product .mode-choice,
.search-form-v2 .mc-product .mode-choice.combo,
.search-form-v2 .mc-product .mode-choice.flight-apartments,
.search-form-v2 .mc-product .mode-choice.flights,
.search-form-v2 .mc-product .mode-choice.hotels,
.search-form-v2 .mc-product .mode-choice.apartments {
  min-height: 44px;
  padding: 8px 10px;
  padding-inline-end: 10px;
  align-items: center;
  gap: 8px;
}
.search-form-v2 .mc-product .mode-icon {
  min-width: 32px;
  height: 32px;
  font-size: 0.82rem;
}
.search-form-v2 .mc-product .mode-text small,
.search-form-v2 .mc-product .mode-check {
  display: none;
}
.search-form-v2 .mc-product .mode-text strong {
  font-size: 0.8rem;
  line-height: 1.25;
}
.search-form-v2 .mc-leg [data-origin-panel] {
  display: flex;
  flex-direction: column;
}
.search-form-v2 .mc-leg [data-origin-panel] > legend { order: 0; }
.search-form-v2 .mc-leg [data-origin-panel] [data-origin-country] { order: 1; }
.search-form-v2 .mc-leg [data-origin-panel] [data-origin-airports] { order: 2; }
.search-form-v2 .mc-leg [data-origin-panel] [data-origin-free-city] { order: 3; }
.search-form-v2 .mc-leg [data-origin-panel] [data-origin-method-details] { order: 4; }
.search-form-v2 .mc-leg [data-origin-panel] .errorlist { order: 5; }
.search-form-v2 .mc-leg-grid {
  margin-top: 0.15rem;
  padding: 0.85rem 0.9rem;
  border: 1px solid #e3eee9;
  border-radius: 12px;
  background: linear-gradient(180deg, #f7fbfa, #fff);
}
.search-form-v2 .mc-leg-grid .dest-free-city input,
.search-form-v2 .mc-leg-grid input[type="date"] {
  min-height: 46px;
  border-color: #9cc9bf;
  background: #f4fbf8;
  font-size: 1rem;
  font-weight: 650;
}
.mc-extra {
  margin-top: 0.7rem;
  border: 1px dashed #d3dde7;
  border-radius: 11px;
  background: #f8fafc;
}
.mc-extra > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  list-style: none;
  cursor: pointer;
  padding: 0.7rem 0.9rem;
  color: #355065;
  font-size: 0.82rem;
  font-weight: 700;
}
.mc-extra > summary::-webkit-details-marker { display: none; }
.mc-extra > summary::after {
  content: "+";
  color: #6b7a8c;
  font-weight: 700;
}
.mc-extra[open] > summary::after { content: "\2212"; }
.mc-extra .method-row,
.mc-extra .method-pills {
  padding: 0 0.9rem 0.85rem;
}
.search-form-v2 .mc-leg .mc-extra .airlines-field {
  margin-top: 0;
  padding: 0 0.9rem 0.85rem;
  border-radius: 0;
  background: transparent;
}
.search-form-v2 [data-standard-route] [data-origin-method-details] {
  margin: 0 0 4px;
  border: 0;
  background: transparent;
}
.search-form-v2 [data-standard-route] [data-origin-method-details] > summary {
  display: none;
}
.search-form-v2 [data-standard-route] [data-origin-method-details] .method-row,
.search-form-v2 [data-standard-route] [data-origin-method-details] .method-pills {
  padding: 0;
}

/* --- Search diagnostics and empty state (2.6.77) --- */
.search-diagnostics {
  margin: 0 0 16px;
  padding: 18px 20px;
  border-color: #ead9ac;
  border-radius: 16px;
  background: linear-gradient(135deg, #fffdf7, #fff);
  box-shadow: 0 8px 22px rgba(83, 62, 11, 0.045);
}
.search-diagnostics-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.search-diagnostics-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: #fff0bf;
  color: #815b00;
  font-weight: 900;
}
.search-diagnostics-head h2 {
  margin: 0;
  color: #42361a;
  font-size: 1rem;
}
.search-diagnostics-head p {
  margin: 3px 0 0;
  color: #786b4b;
  font-size: 0.78rem;
  line-height: 1.4;
}
.search-diagnostics-list {
  display: grid;
  gap: 7px;
  margin-top: 12px;
}
.search-diagnostics .diagnostic-item {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 0;
  padding: 9px 11px;
  border: 0;
  border-radius: 9px;
  background: #fff8e7;
  color: #614a16;
  font-size: 0.8rem;
}
.search-diagnostics .diagnostic-item p {
  margin: 0;
}
.search-diagnostics .diagnostic-more {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #efe4c7;
  color: #66583a;
  font-size: 0.8rem;
}
.search-diagnostics .diagnostic-more summary {
  cursor: pointer;
  font-weight: 750;
}
.search-diagnostics .diagnostic-more p {
  margin: 8px 0 0;
}
.results-page .empty-state.panel {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 26px;
  border: 1px solid #dce7ee;
  text-align: start;
  box-shadow: 0 12px 30px rgba(16, 36, 62, 0.065);
}
.empty-state-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 15px;
  background: #eaf8f4;
  color: #087c6a;
  font-size: 1.65rem;
  font-weight: 800;
}
.empty-state-copy h2 {
  margin: 0;
  color: #153b59;
  font-size: 1.08rem;
}
.empty-state-copy p {
  max-width: 52rem;
  margin: 5px 0 0;
  color: #657587;
  font-size: 0.84rem;
  line-height: 1.5;
}
.empty-state-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

@media (max-width: 760px) {
  .mc-legs {
    padding-inline-start: 34px;
  }
  .mc-leg-index {
    inset-inline-start: -35px;
  }
  .mc-actions {
    padding-inline-start: 34px;
  }
  .results-page .empty-state.panel {
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 20px;
  }
  .empty-state-icon {
    width: 44px;
    height: 44px;
  }
  .empty-state-actions {
    grid-column: 1 / -1;
    justify-content: stretch;
  }
  .empty-state-actions .btn {
    flex: 1 1 12rem;
  }
}

@media (max-width: 520px) {
  .mc-guidance {
    grid-template-columns: 28px minmax(0, 1fr);
    padding: 0.75rem;
  }
  .mc-guidance-icon {
    width: 26px;
    height: 26px;
  }
  .mc-legs {
    padding-inline-start: 28px;
  }
  .mc-legs::before {
    inset-inline-start: 12px;
  }
  .mc-leg {
    padding: 0.85rem;
  }
  .mc-leg-index {
    top: 14px;
    inset-inline-start: -29px;
    width: 26px;
    height: 26px;
  }
  .mc-actions {
    padding-inline-start: 28px;
  }
}

.detail-grid > *,
.detail-main,
.detail-main > *{
  min-width:0;
}
.hotel-gallery.stay-gallery{
  margin:0 0 14px;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  box-shadow:none;
  border-radius:12px;
}
.hotel-gallery.stay-gallery .gallery-stage{min-height:280px}
.hotel-gallery.stay-gallery .detail-cover{
  width:100%;
  height:280px;
  max-height:280px;
  object-fit:cover;
}
.hotel-gallery.stay-gallery .gallery-thumbs{
  min-width:0;
  max-width:100%;
}

.stay-picker-page{display:grid;gap:22px;padding-bottom:48px}
.stay-picker-error{color:var(--danger);font-weight:700}
.stay-picker-progress{margin:0 0 22px;padding:16px 18px 18px}
.stay-picker-progress-title{margin:0 0 12px;color:var(--muted);font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.stay-picker-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0;padding:0;list-style:none}
.stay-picker-step{display:flex;align-items:center;gap:10px;min-height:64px;padding:10px 12px;border:1px solid #cfe3de;border-radius:12px;background:#f4fbf9;color:inherit;text-decoration:none}
.stay-picker-step:hover,.stay-picker-step:focus-visible{border-color:#0b8f7a;background:#e8f6f2;outline:none}
.stay-picker-step-num{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:999px;background:#0b8f7a;color:#fff;font-size:.85rem;font-weight:800}
.stay-picker-step-text{display:grid;gap:2px;min-width:0}
.stay-picker-step-text strong{font-size:1rem;line-height:1.2}
.stay-picker-step-text small{color:var(--muted);font-weight:600}
.stay-picker-city{margin:0 0 22px;padding:0 0 20px;overflow:visible;scroll-margin-top:16px}
.stay-picker-city-heading{display:grid;gap:6px;margin:0 0 16px;padding:16px 18px;background:linear-gradient(180deg,#eef8f5,#fff);border-bottom:1px solid #d5e8e3;color:var(--ink)}
.stay-picker-city-step{display:inline-flex;align-items:center;width:fit-content;padding:4px 10px;border-radius:999px;background:#0b8f7a;color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.02em}
.stay-picker-city-heading strong{font-size:1.45rem;line-height:1.15}
.stay-picker-city-heading small{color:var(--muted);font-weight:600;font-size:.95rem}
.stay-picker-city:target .stay-picker-city-heading{box-shadow:inset 0 3px 0 #0b8f7a}
.stay-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:0 18px}
.stay-pick-card{position:relative;display:grid;margin:0;border:2px solid var(--border);border-radius:14px;background:#fff;overflow:hidden;cursor:pointer}
.stay-pick-card input{position:absolute;opacity:0;pointer-events:none}
.stay-pick-card:has(input:checked),.stay-pick-card.is-selected{border-color:var(--teal);box-shadow:0 0 0 3px rgba(8,169,143,.16)}
.stay-pick-photo{position:relative;height:148px;background:#e8eef4}
.stay-pick-photo img{width:100%;height:100%;object-fit:cover}
.stay-pick-photo-fallback{display:grid;place-items:center;height:100%;font-size:2rem;color:#8aa0b5}
.stay-pick-badge{position:absolute;inset-inline-start:10px;bottom:10px;padding:4px 8px;border-radius:999px;background:var(--teal);color:#fff;font-size:.72rem;font-weight:800}
.stay-pick-body{display:grid;gap:6px;padding:12px 13px 14px}
.stay-pick-body strong{font-size:.95rem;line-height:1.25}
.stay-pick-body small{color:var(--muted)}
.stay-pick-meta{display:flex;gap:10px;color:#4e6178;font-size:.78rem;font-weight:700}
.stay-pick-price{display:grid}
.stay-pick-price small{color:var(--muted);font-size:.72rem}
.stay-pick-empty{margin:8px 18px 0;color:var(--muted)}
.stay-picker-actions{display:flex;justify-content:flex-end;position:sticky;bottom:12px;z-index:5}
.stay-picker-actions .btn{min-height:48px;padding:12px 22px}
@media(max-width:650px){.stay-pick-grid{grid-template-columns:1fr}}

.stay-pick-card > input{position:absolute;opacity:0;pointer-events:none}
.stay-pick-open{display:grid;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;text-align:start;cursor:pointer;font:inherit}
.stay-pick-view{display:inline-block;margin-top:8px;color:var(--teal);font-size:.78rem;font-weight:800}
.stay-pick-badge{display:none}
.stay-pick-card:has(input:checked) .stay-pick-badge,
.stay-pick-card.is-selected .stay-pick-badge{display:inline-block}
body.stay-preview-open{overflow:hidden}
.stay-preview{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px}
.stay-preview[hidden]{display:none}
.stay-preview-backdrop{position:absolute;inset:0;border:0;padding:0;background:rgba(3,18,31,.62);cursor:pointer}
.stay-preview-panel{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.85fr);width:min(980px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:18px;background:#fff;box-shadow:0 24px 60px rgba(3,18,31,.28)}
.stay-preview-close{position:absolute;z-index:2;top:12px;inset-inline-end:12px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);font-size:1.6rem;line-height:1;cursor:pointer}
.stay-preview-visual{min-width:0;background:#e8eef4}
.stay-preview-gallery{position:relative;min-height:280px}
.stay-preview-gallery img{display:block;width:100%;height:100%;max-height:62vh;object-fit:cover;cursor:zoom-in}.stay-preview-zoom{position:absolute;z-index:2;inset-inline-end:14px;bottom:14px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(3,18,31,.62);color:#fff;font-size:1.25rem;line-height:1;cursor:zoom-in}.stay-preview-zoom:hover{background:rgba(3,18,31,.82)}.stay-preview-zoom[hidden]{display:none}.stay-preview-lightbox{z-index:5}.stay-preview-lightbox-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);margin:0;padding:6px 12px;border-radius:999px;background:rgba(3,18,31,.55);color:#fff;font-size:.9rem}
.stay-preview-gallery .gallery-arrow,
.stay-preview-gallery .gallery-counter{z-index:1}
.stay-preview-thumbs{display:flex;gap:8px;padding:10px 14px;overflow:auto;background:#fff}
.stay-preview-thumb{flex:0 0 72px;height:56px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#fff;cursor:pointer}
.stay-preview-thumb.is-active{border-color:var(--teal)}
.stay-preview-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.stay-preview-info{display:grid;align-content:start;gap:10px;padding:32px 26px 26px}
.stay-preview-info h2{margin:0;font-size:1.35rem;line-height:1.25}
.stay-preview-info p{margin:0;color:var(--muted)}
.stay-preview-distance{font-size:.9rem}
.stay-pick-distance{display:block}
.stay-preview-meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--ink);font-weight:700}
.stay-preview-price{display:grid;gap:2px}
.stay-preview-price strong{color:var(--ink);font-size:1.25rem}
.stay-preview-choose{margin-top:8px;justify-self:start}
@media (max-width:800px){
  .stay-preview{padding:12px}
  .stay-preview-panel{grid-template-columns:1fr;max-height:calc(100vh - 24px)}
  .stay-preview-gallery img{max-height:42vh}
}

/* --- Restaurants proches de l'hébergement (2.6.103) --- */
.partner-grid a {
  gap: 0.3rem;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.partner-grid a:hover,
.partner-grid a:focus-visible {
  border-color: #8bbeb3;
  box-shadow: 0 8px 20px rgba(8, 124, 106, 0.1);
  transform: translateY(-1px);
}
.partner-grid a:focus-visible {
  outline: 3px solid rgba(8, 169, 143, 0.25);
  outline-offset: 2px;
}
.partner-grid .restaurant-service {
  display: grid;
  gap: 0.55rem;
  padding: 14px;
  border: 1px solid #b9ddd5;
  border-radius: 9px;
  border-color: #b9ddd5;
  background: linear-gradient(145deg, #f0faf7, #fff);
}
.partner-grid .restaurant-service strong {
  color: #075f52;
}
.restaurant-location {
  color: #315b54;
  line-height: 1.35;
}
.restaurant-location b {
  color: #123f39;
}
.restaurant-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  margin-top: 0.15rem;
}
.partner-grid .restaurant-service .restaurant-choice {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.55rem 0.65rem;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
}
.partner-grid .restaurant-service .restaurant-choice-halal {
  border-color: #087c6a;
  background: #087c6a;
}
.partner-grid .restaurant-service .restaurant-choice-all {
  border-color: #145f8c;
  background: #145f8c;
}
.partner-grid .restaurant-service .restaurant-choice:hover,
.partner-grid .restaurant-service .restaurant-choice:focus-visible {
  border-color: #063f37;
  box-shadow: 0 6px 14px rgba(8, 63, 55, 0.18);
  color: #fff;
}
.partner-grid .restaurant-service .restaurant-stay-link {
  display: inline-flex;
  width: fit-content;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #145f8c;
  font-size: 0.74rem;
  font-weight: 750;
  transform: none;
}
.partner-grid .restaurant-service .restaurant-stay-link:hover,
.partner-grid .restaurant-service .restaurant-stay-link:focus-visible {
  border: 0;
  box-shadow: none;
  color: #0b3f61;
  text-decoration: underline;
  transform: none;
}
.restaurant-map-assurance{display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:8px;background:#fff5bf;color:#173a4c;font-weight:800}.restaurant-choice.is-active{box-shadow:0 0 0 3px rgba(8,169,143,.2)}.restaurant-google-links{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;padding-top:.45rem;border-top:1px dashed #b9d8d1;color:#5e716d;font-size:.7rem}.restaurant-google-links span:first-child{font-weight:750}.restaurant-google-links a{display:inline-flex;width:fit-content;align-items:center;gap:4px;padding:0;border:0;background:transparent;box-shadow:none;color:#145f8c;font-weight:750;transform:none}.restaurant-google-links a:hover,.restaurant-google-links a:focus-visible{border:0;box-shadow:none;color:#0b3f61;text-decoration:underline;transform:none}
.restaurant-disclaimer {
  padding-top: 0.5rem;
  border-top: 1px dashed #b9d8d1;
  color: #5e716d;
  font-size: 0.68rem;
  line-height: 1.4;
}
@media (max-width: 480px) {
  .restaurant-actions {
    grid-template-columns: 1fr;
  }
}
.site-footer .footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:0}
.site-footer .footer-mail{color:#fff;font-size:1.05rem;font-weight:750;line-height:1.45;text-decoration:underline;text-underline-offset:3px}
.site-footer .footer-mail:hover,.site-footer .footer-mail:focus-visible{color:#d7fff6}
.site-footer .footer-mail-label{font-weight:650}
.site-footer .footer-meta small{color:#c5d7e4;font-size:.78rem}
@media(max-width:650px){.site-footer .footer-meta{align-items:flex-start}}
