.hotel-finder-entry{padding:clamp(44px,5vw,64px) 0}.hotel-finder-entry .finder-entry-inner{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:clamp(24px,5vw,64px);align-items:end;padding:0;border:0;background:transparent}.hotel-finder-entry h2{margin:.15em 0 .3em;font-family:var(--serif);font-size:clamp(30px,4vw,48px);font-weight:500;line-height:1}.hotel-finder-entry p{max-width:720px;margin:0;color:var(--ink-soft);line-height:1.6}.hotel-finder-entry .button{justify-self:start}.hotel-base-entry{padding-top:clamp(44px,5vw,64px);background:transparent;color:var(--ink)}.hotel-base-entry .eyebrow{color:var(--ink)}.hotel-base-entry .practical-title p{color:var(--ink-soft)}.hotel-base-entry .practical-grid{border-top-color:var(--line);border-left-color:var(--line)}.hotel-base-entry .practical-title,.hotel-base-entry .practical-link{border-right-color:var(--line);border-bottom-color:var(--line)}.hotel-base-entry .practical-link{transition:background 160ms ease,transform 160ms ease}.hotel-base-entry .practical-link:hover,.hotel-base-entry .practical-link:focus-visible{background:rgba(255,253,248,.58);transform:translateY(-2px)}.hotel-base-entry .practical-link span{color:var(--coral)}.hotel-base-entry .practical-link p{color:var(--ink-soft)}.hotel-engine{max-width:960px}.engine-controls{display:grid;gap:26px}.engine-controls fieldset{margin:0;padding:0 0 24px;border:0;border-bottom:1px solid var(--line)}.engine-controls legend{margin-bottom:13px;font-family:var(--serif);font-size:clamp(20px,2.4vw,25px);font-weight:500}.engine-buttons{display:flex;flex-wrap:wrap;gap:8px}.engine-buttons button{border:1px solid var(--line);padding:10px 13px;background:rgba(255,253,248,.3);cursor:pointer;color:var(--ink);font:700 11px/1.25 var(--sans)}.engine-buttons button:hover,.engine-buttons button:focus-visible,.engine-buttons button.is-active{border-color:var(--blue);background:var(--blue);color:var(--white)}.engine-note{margin:10px 0 0;color:var(--ink-soft);font-size:11px;line-height:1.55}.engine-submit-row{display:flex;align-items:center;gap:16px;margin-top:2px}.engine-submit-row .button{border:0;cursor:pointer}.engine-submit-row .button:disabled{cursor:wait;opacity:.55}.engine-output{scroll-margin-top:32px;margin-top:42px;padding-top:30px;border-top:2px solid var(--blue)}.engine-output[hidden]{display:none!important}.engine-summary{margin:0 0 18px;color:var(--ink-soft);font-size:12px;line-height:1.6}.hotel-engine-results{display:grid;gap:12px}.hotel-engine-result{display:grid;grid-template-columns:46px minmax(0,1fr);gap:18px;padding:22px 24px;border:1px solid var(--line);background:rgba(255,253,248,.42)}.hotel-engine-rank{padding-top:2px;color:var(--coral);font-family:var(--serif);font-size:24px;font-style:italic}.hotel-engine-result .eyebrow{margin:0 0 8px}.hotel-engine-result h3{margin:0 0 13px;font-family:var(--serif);font-size:clamp(25px,3vw,34px);font-weight:500;line-height:1.05}.engine-result-line{max-width:760px;margin:7px 0;color:var(--ink-soft);font-size:13px;line-height:1.55}.engine-result-line strong{color:var(--ink);font-weight:700}.hotel-engine-actions{margin-top:16px}.hotel-engine-actions .button{display:inline-flex;min-height:40px;padding:10px 15px;font-size:10px}.engine-disclosure{max-width:760px;margin:15px 0 0;color:var(--ink-soft);font-size:10px;line-height:1.55}.finder-back-link{display:inline-block;margin-top:16px;font-size:12px}.finder-method{max-width:760px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:11px;line-height:1.55}@media(max-width:820px){.hotel-finder-entry .finder-entry-inner{grid-template-columns:1fr}.hotel-engine-result{grid-template-columns:32px minmax(0,1fr);padding:18px}.engine-buttons button{flex:1 1 auto}.engine-submit-row{align-items:stretch}.engine-submit-row .button{width:100%;justify-content:center}}

.engine-price-band{display:flex;align-items:center;gap:8px;margin:2px 0 10px;font-weight:800;letter-spacing:.08em;color:#17365f}
.engine-price-band span{font-size:.72rem;font-weight:600;letter-spacing:.02em;color:#6f7782;text-transform:uppercase}


/* Finder hotel media — 2026-09-23 */
.hotel-engine-result.has-media{grid-template-columns:46px minmax(175px,215px) minmax(0,1fr);align-items:stretch}
.hotel-engine-media{min-height:170px;overflow:hidden;background:var(--paper-deep)}
.hotel-engine-media img,.hotel-engine-media .batch-thumb{display:block;width:100%;height:100%;object-fit:cover}
.hotel-engine-copy{align-self:center}
@media(max-width:820px){
  .hotel-engine-result.has-media{grid-template-columns:32px minmax(0,1fr)}
  .hotel-engine-result.has-media .hotel-engine-media{grid-column:2;min-height:0;aspect-ratio:16/9}
  .hotel-engine-result.has-media .hotel-engine-copy{grid-column:2}
}


/* V3 ranked Hotel Fit labels 2026-09-25 */
.engine-fit-status{display:inline-block;margin:0 0 8px;padding:5px 7px;background:rgba(216,108,78,.12);color:var(--coral);font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.engine-fit-status.is-best{background:var(--coral);color:var(--white)}
.hotel-fit-demo-example-label{margin:0 0 7px!important;color:var(--ink-soft)!important;font-size:8px!important;font-weight:800!important;letter-spacing:.13em;line-height:1.3!important;text-transform:uppercase}

/* Final Hotel Fit UX closure — 2026-10-05 */
.hotel-engine-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.hotel-engine-actions .hotel-engine-editorial{background:var(--blue);color:var(--white);border-color:var(--blue)}
.hotel-engine-actions .hotel-engine-affiliate{background:transparent;color:var(--ink);border:1px solid var(--line)}
.hotel-engine-after-results{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;justify-content:space-between;margin-top:16px}
.hotel-engine-after-results .engine-disclosure{flex:1 1 520px;margin:0;font-size:12px;line-height:1.55}
.hotel-engine-reset{flex:0 0 auto;min-height:44px}
.engine-note,.finder-method{font-size:13px;line-height:1.58}
.engine-summary{font-size:14px;line-height:1.6}
.hotel-engine-actions .button{min-height:44px;font-size:12px}
@media(max-width:820px){
  .engine-buttons{display:grid;grid-template-columns:1fr;gap:8px}
  .engine-buttons button{width:100%;min-height:44px;flex:none;text-align:left;font-size:13px;padding:11px 14px}
  .hotel-engine-result,.hotel-engine-result.has-media{grid-template-columns:28px minmax(0,1fr);gap:12px;padding:16px}
  .hotel-engine-result.has-media .hotel-engine-media{grid-column:2;aspect-ratio:16/8.5}
  .engine-result-line{font-size:14px;line-height:1.6}
  .hotel-engine-actions{display:grid;grid-template-columns:1fr}
  .hotel-engine-actions .button{width:100%;justify-content:center}
  .hotel-engine-after-results{display:block}
  .hotel-engine-reset{width:100%;margin-top:14px;justify-content:center}
  body.hotel-fit-page .article-hero{padding-bottom:22px!important}
  body.hotel-fit-page .article-hero .article-meta{display:none!important}
  body.hotel-fit-page .v3-section:first-of-type{padding-top:26px!important}
  body.hotel-fit-page .section-heading{margin-bottom:22px!important}
}

/* Accessible ranked-result accent — 2026-10-05 */
.engine-fit-status.is-best{background:#A3452D!important;color:#fff!important}


/* V3 Hotel Fit launch surface 2026-09-25 */
.hotel-fit-launch{
  position:relative;
  overflow:hidden;
  padding:clamp(58px,7vw,92px) 0;
  border-top:4px solid var(--coral);
  background:linear-gradient(135deg,rgba(255,253,248,.88),rgba(232,223,207,.62));
}
.hotel-fit-launch-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:clamp(34px,6vw,78px);
  align-items:center;
}
.hotel-fit-launch-label{
  margin:0 0 18px!important;
  color:var(--coral)!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hotel-fit-launch-label span{
  display:inline-block;
  margin-right:7px;
  padding:5px 8px;
  background:var(--coral);
  color:var(--white);
  letter-spacing:.14em;
}
.hotel-fit-launch h2{
  max-width:760px;
  margin:0 0 18px;
  font-family:var(--serif);
  font-size:clamp(42px,5.4vw,70px);
  font-weight:500;
  letter-spacing:-.045em;
  line-height:.98;
}
.hotel-fit-launch-punch{
  max-width:760px!important;
  margin:0 0 18px!important;
  color:var(--coral)!important;
  font-family:var(--serif);
  font-size:clamp(22px,2.3vw,30px)!important;
  font-weight:600;
  line-height:1.2!important;
}
.hotel-fit-launch-punch a{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}
.hotel-fit-launch-punch a:hover,.hotel-fit-launch-punch a:focus-visible{color:var(--ink)}
.hotel-fit-launch-body{
  max-width:700px!important;
  margin:0 0 26px!important;
  color:var(--ink-soft)!important;
  font-size:15px!important;
  line-height:1.72!important;
}
.hotel-fit-launch-cta{
  min-height:52px;
  padding-inline:24px;
  background:var(--coral);
  border-color:var(--coral);
}
.hotel-fit-launch-cta:hover,.hotel-fit-launch-cta:focus-visible{
  background:var(--ink);
  border-color:var(--ink);
}
.hotel-fit-demo{
  display:block;
  overflow:hidden;
  border:1px solid rgba(21,58,101,.22);
  background:var(--ink);
  color:var(--white);
  box-shadow:0 22px 48px rgba(21,58,101,.12);
  transition:transform 180ms ease,box-shadow 180ms ease;
}
.hotel-fit-demo:hover,.hotel-fit-demo:focus-visible{
  transform:translateY(-4px);
  box-shadow:0 28px 58px rgba(21,58,101,.18);
}
.hotel-fit-demo-media{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:var(--paper-deep);
}
.hotel-fit-demo-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 320ms ease;
}
.hotel-fit-demo:hover img,.hotel-fit-demo:focus-visible img{transform:scale(1.025)}
.hotel-fit-demo-kicker{
  position:absolute;
  top:16px;
  left:16px;
  padding:7px 9px;
  background:var(--coral);
  color:var(--white);
  font-size:8px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hotel-fit-demo-copy{padding:22px 24px 24px}
.hotel-fit-demo-criteria{
  margin:0 0 12px!important;
  color:#f7c966!important;
  font-size:9px!important;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1.45!important;
  text-transform:uppercase;
}
.hotel-fit-demo h3{
  margin:0 0 16px;
  color:var(--white);
  font-family:var(--serif);
  font-size:clamp(28px,3vw,38px);
  font-weight:500;
  line-height:1.05;
}
.hotel-fit-demo-copy p{
  margin:8px 0!important;
  color:rgba(255,255,255,.76)!important;
  font-size:12px!important;
  line-height:1.55!important;
}
.hotel-fit-demo-copy strong{color:var(--white)}
.hotel-fit-demo-catch{
  margin-top:14px!important;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.18);
}
.hotel-fit-demo-link{
  display:inline-block;
  margin-top:16px;
  color:#f7c966;
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
@media(max-width:900px){
  .hotel-fit-launch-grid{grid-template-columns:1fr}
  .hotel-fit-demo{max-width:680px}
}
@media(max-width:600px){
  .hotel-fit-launch{padding:48px 0}
  .hotel-fit-launch h2{font-size:clamp(39px,12vw,54px)}
  .hotel-fit-launch-cta{width:100%}
}


/* V3 Hotel Fit demo panel v2 2026-09-25 */
.hotel-fit-launch-grid{
  grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);
}
.hotel-fit-demo-panel{
  overflow:hidden;
  border:1px solid rgba(21,58,101,.2);
  background:rgba(255,253,248,.82);
  box-shadow:0 22px 48px rgba(21,58,101,.1);
}
.hotel-fit-demo-priorities{
  padding:20px 22px 18px;
  border-bottom:1px solid var(--line);
  background:rgba(216,108,78,.07);
}
.hotel-fit-demo-section-label{
  margin:0 0 12px!important;
  color:var(--coral)!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.16em;
  line-height:1.3!important;
  text-transform:uppercase;
}
.hotel-fit-demo-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.hotel-fit-demo-chips span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 9px;
  border:1px solid rgba(21,58,101,.16);
  background:var(--white);
  color:var(--ink);
  font-size:9px;
  font-weight:700;
  letter-spacing:.04em;
}
.hotel-fit-demo-recommendation{
  padding:20px 22px 22px;
}
.hotel-fit-demo-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.hotel-fit-demo-card{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:var(--ink);
  color:var(--white);
  transition:transform 170ms ease,box-shadow 170ms ease;
}
.hotel-fit-demo-card:hover,.hotel-fit-demo-card:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(21,58,101,.16);
}
.hotel-fit-demo-card .hotel-fit-demo-media{
  aspect-ratio:16/10;
}
.hotel-fit-demo-card .hotel-fit-demo-kicker{
  top:10px;
  left:10px;
  padding:6px 8px;
}
.hotel-fit-demo-card .hotel-fit-demo-copy{
  padding:16px 16px 18px;
}
.hotel-fit-demo-card h3{
  margin:0 0 11px;
  color:var(--white);
  font-family:var(--serif);
  font-size:clamp(21px,2vw,27px);
  font-weight:500;
  line-height:1.08;
}
.hotel-fit-demo-card .hotel-fit-demo-copy p{
  margin:6px 0!important;
  color:rgba(255,255,255,.74)!important;
  font-size:10px!important;
  line-height:1.5!important;
}
.hotel-fit-demo-card .hotel-fit-demo-copy strong{
  color:var(--white);
}
.hotel-fit-demo-card .hotel-fit-demo-catch{
  margin-top:10px!important;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.16);
}
@media(max-width:1040px){
  .hotel-fit-launch-grid{grid-template-columns:1fr}
  .hotel-fit-demo-panel{max-width:760px}
}
@media(max-width:620px){
  .hotel-fit-demo-recommendation,.hotel-fit-demo-priorities{padding:18px}
  .hotel-fit-demo-grid{grid-template-columns:1fr}
}


/* Hotel Fit light demo refinement 2026-09-25 */
.hotel-fit-demo-panel{box-shadow:none}
.hotel-fit-demo-card{
  border-color:rgba(21,58,101,.16);
  background:var(--white);
  color:var(--ink);
}
.hotel-fit-demo-card h3{color:var(--ink)}
.hotel-fit-demo-card .hotel-fit-demo-copy p{color:var(--ink-soft)!important}
.hotel-fit-demo-card .hotel-fit-demo-copy strong{color:var(--ink)}
.hotel-fit-demo-card .hotel-fit-demo-catch{border-top-color:var(--line)}
.hotel-fit-demo-card:hover,.hotel-fit-demo-card:focus-visible{box-shadow:0 10px 24px rgba(21,58,101,.08)}
.hotel-fit-demo-section-label{display:flex;align-items:center;gap:7px}


/* Touch-stable Hotel Fit choices 2026-09-26 */
/* Touch-stable Hotel Fit choices 2026-09-26 */
.engine-buttons button.is-active,.engine-buttons button[aria-pressed="true"]{background:var(--blue)!important;border-color:var(--blue)!important;color:var(--white)!important}
.engine-buttons button:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
@media(hover:hover) and (pointer:fine){
  .engine-buttons button:hover:not(.is-active){background:rgba(23,54,95,.08);border-color:var(--blue);color:var(--ink)}
}
@media(hover:none),(pointer:coarse){
  .engine-buttons button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:none!important}
  .engine-buttons button:hover:not(.is-active),
  .engine-buttons button:focus:not(.is-active),
  .engine-buttons button:focus-visible:not(.is-active){
    background:rgba(255,253,248,.3)!important;border-color:var(--line)!important;color:var(--ink)!important
  }
}

/* Hotel Fit : l'outil dans une carte distincte sur les hubs hôtels - 2026-10-16 */
.hotels-harmonised .hotel-fit-launch{border-top:0!important;background:transparent}
.hotels-harmonised .hotel-fit-launch-grid{padding:clamp(26px,3.6vw,46px);border:1px solid rgba(21,58,101,.16);border-radius:20px;background:linear-gradient(135deg,#fffdf8,rgba(244,236,223,.72));box-shadow:0 18px 48px rgba(21,58,101,.08)}
.hotels-harmonised .hotel-fit-demo-panel{border-radius:14px;overflow:hidden}
@media(max-width:760px){.hotels-harmonised .hotel-fit-launch-grid{padding:22px 18px;border-radius:16px}}
