/* Paris booking card. Presentation only: dates, validation, rates and checkout stay native. */
html:root body .hero > form.booking-search {
  --paris-ink:#191832; --paris-gold:#98713e; --paris-line:#e7dece;
  position:relative; isolation:isolate; display:grid!important; grid-template-columns:minmax(0,1fr);
  align-self:center; width:calc(100% - 28px)!important; max-width:680px!important;
  margin:20px 14px!important; padding:30px 26px 20px!important;
  background:#fffdf9!important; border:1px solid #ebe3d8!important; border-radius:22px!important;
  box-shadow:0 16px 50px #4b36200a,inset 0 1px 0 #fff!important;
  color:var(--paris-ink); overflow:visible!important; gap:0!important;align-content:start!important;
}
html:root body .hero > form.booking-search::before {
  content:""; position:absolute; z-index:-1; inset:0 0 auto auto!important; width:58%; height:252px;
  border:0!important;box-shadow:none!important;border-radius:0 22px 0 0; pointer-events:none;
  background:linear-gradient(90deg,#fffdf9 0%,#fffdf980 9%,#fffdf910 22%,#fffdf900 38%),
    linear-gradient(0deg,#fffdf9 0%,#fffdf920 15%,#fffdf900 28%),url('/images/hotel-eiffel-enhanced.webp');
  background-position:0 0,0 0,0 0; background-size:100% 100%,100% 100%,auto 280px; background-repeat:no-repeat;
  filter:saturate(.85); opacity:1;
}
html:root body .hero > form.booking-search::after { content:none!important; }
html:root body .hero > form.booking-search > .eyebrow:first-child {
  display:block!important; order:1; max-width:65%; margin:0 0 18px!important;
  color:#8a673e!important; font:500 8px/1.6 Inter,Arial,sans-serif!important;
  letter-spacing:.22em!important; text-transform:uppercase;
}
html:root body .hero > form.booking-search > h2 {
  order:2; width:61%; max-width:310px; margin:0!important; padding:0!important;
  color:#15172c!important; font:500 clamp(34px,3.15vw,48px)/1.09 Montserrat,Arial,sans-serif!important;
  letter-spacing:-.045em!important; text-wrap:balance;
}
html:root body .hero > form.booking-search > .search-intro {
  order:3; max-width:46%; margin:15px 0 34px!important; min-height:40px;
  font-size:12px!important; line-height:1.65!important; color:#56546a!important;
}
html:root body .hero > form.booking-search > .date-grid {
  order:4; display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important; margin:0!important; padding:14px 0!important; background:#fff;
  border:1px solid var(--paris-line)!important; border-bottom:0!important; border-radius:13px 13px 0 0;
  box-shadow:0 -5px 20px #78532805;
}
html:root body .hero > form.booking-search > .guest-grid {
  order:5; display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important; margin:0!important; padding:13px 0!important; background:#fff;
  border:1px solid var(--paris-line)!important; border-top:1px solid #f0ebe3!important;
  border-radius:0 0 13px 13px;
}
html:root body .hero > form.booking-search > :is(.date-grid,.guest-grid) > .field {
  min-width:0; margin:0!important; padding:0 13px!important; grid-column:auto!important;
  border:0; background:none!important; display:flex!important;flex-direction:column;gap:0!important;
}
html:root body .hero > form.booking-search > :is(.date-grid,.guest-grid) > .field + .field {border-left:1px solid #eee7dd;}
html:root body .hero > form.booking-search > :is(.date-grid,.guest-grid) > .field > label {
  display:block; min-height:0!important; margin:0 0 4px!important; padding:0!important;
  font-size:10px!important; line-height:1.5!important; color:#77716a!important; font-weight:400!important;
}
html:root body .hero > form.booking-search :is(.pullman-date-trigger,.hotel-select) {
  width:100%!important; min-width:0; height:37px!important; min-height:37px!important;
  border:1px solid transparent!important; border-radius:5px!important; box-shadow:none!important;
  padding:4px 0!important; background:transparent!important; color:var(--paris-ink)!important;
  font-size:14px!important; line-height:1.4!important; gap:5px!important; margin:0!important;
}
html:root body .hero > form.booking-search :is(.pullman-date-trigger,.hotel-select) svg {width:16px;height:16px;flex-shrink:0;color:#9c784b!important;opacity:1;}
html:root body .hero > form.booking-search .pullman-date-placeholder {color:#8a847c; font-size:12px;}
html:root body .hero > form.booking-search :is(.pullman-date-trigger,.hotel-select):focus-visible {outline:2px solid #a9824d!important;outline-offset:4px;}
html:root body .hero > form.booking-search [aria-invalid=true] {border-color:#ae3945!important;}
html:root body .hero > form.booking-search > .btn[type=submit] {
  order:6; margin:12px 0 17px!important; min-height:49px!important; width:100%; padding:13px 19px!important;
  border:1px solid #a68453!important; border-radius:9px!important;
  background:linear-gradient(110deg,#bca170,#a88750)!important; color:#211b2e!important;
  box-shadow:0 5px 14px #9a76421a,inset 0 1px 0 #ffffff38!important;
  font-size:13px!important; font-weight:600!important; letter-spacing:.01em; transition:background .2s,box-shadow .2s;
}
html:root body .hero > form.booking-search > .btn[type=submit]:hover {background:linear-gradient(110deg,#b29664,#9e7a43)!important;box-shadow:0 7px 20px #9a764230!important;}
html:root body .hero > form.booking-search > .btn[type=submit]:focus-visible {outline:2px solid #655034;outline-offset:3px;}
html:root body .hero > form.booking-search > .search-rate,
html:root body .hero > form.booking-search > .search-rate:has(.seasonal-rate-offer) {
  order:7; display:grid!important; grid-template-columns:minmax(0,1fr) 102px!important;
  grid-template-rows:auto auto auto; align-items:center; column-gap:13px!important; row-gap:0!important;
  padding:17px 16px!important; margin:0!important; min-width:0;
  background:radial-gradient(ellipse at 10% 0%,#fff8e7,transparent 85%),linear-gradient(110deg,#fcf4e2,#f7efdf)!important;
  border:1px solid #e9d8b6!important; border-radius:10px!important; box-shadow:inset 0 1px 0 #ffffffaa!important;
}
html:root body .hero > form.booking-search > .search-rate > span:first-child {grid-column:2;grid-row:1;text-align:center;font-size:9px!important;line-height:1.3;color:#796846;}
html:root body .hero > form.booking-search > .search-rate > strong {grid-column:2;grid-row:2;text-align:center;font:500 29px/1.12 Montserrat,Arial,sans-serif!important;letter-spacing:-.04em;color:#191832!important;}
html:root body .hero > form.booking-search > .search-rate > small {grid-column:2!important;grid-row:3!important;margin:3px 0 0!important;text-align:center!important;font-size:9px!important;line-height:1.3;color:#796846;}
html:root body .hero > form.booking-search > .search-rate > .seasonal-rate-offer {
  grid-column:1!important;grid-row:1/4!important;display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;
  gap:3px 10px!important;align-items:center;padding:0 13px 0 0!important;min-height:58px;
  border:0!important;border-right:1px solid #ddc79e!important;border-radius:0!important;background:none!important;box-shadow:none!important;
}
html:root body .hero > form.booking-search .seasonal-rate-emblem {grid-column:1;grid-row:1/3;width:28px;height:38px;opacity:.85;}
html:root body .hero > form.booking-search .seasonal-rate-copy {grid-column:2;grid-row:1;gap:4px!important;}
html:root body .hero > form.booking-search .seasonal-rate-kicker {font-size:8px!important;letter-spacing:.19em!important;font-weight:500!important;color:#8c6938!important;}
html:root body .hero > form.booking-search .seasonal-rate-season {font:500 16px/1.35 Montserrat,Arial,sans-serif!important;color:#24203b!important;letter-spacing:-.025em!important;text-wrap:balance;}
html:root body .hero > form.booking-search .seasonal-rate-year {font:inherit!important;white-space:nowrap;}
html:root body .hero > form.booking-search .seasonal-rate-availability {grid-column:2!important;grid-row:2!important;display:block!important;padding:3px 0 0!important;border:0!important;text-align:left!important;font-size:8px!important;line-height:1.5!important;letter-spacing:.08em!important;color:#8c6938!important;}
html:root body .hero > form.booking-search .seasonal-rate-availability sup {display:inline!important;margin:0 0 0 2px!important;font-size:8px!important;}
html:root body .hero > form.booking-search > .starting-rate-note {order:8;margin:10px 0 0!important;font-size:10px!important;line-height:1.6!important;color:#7b746c!important;}
html:root body .hero > form.booking-search > .seasonal-rate-note {order:9;margin:3px 0 0!important;font-size:9px!important;line-height:1.5!important;color:#8a8175!important;}
html:root body .hero > form.booking-search > .room-choice-hint {order:10;margin:8px 0 0!important;font-size:10px!important;color:#6b6054!important;line-height:1.5!important;}
html:root body .hero > form.booking-search > .micro {order:11;margin:12px 0 0!important;padding:0!important;font-size:9px!important;line-height:1.5!important;color:#8b8175!important;}
html:root body .hero > form.booking-search > .search-note {order:12;margin:10px 0 0!important;padding:10px 0 0!important;border-top:1px solid #ece3d5!important;font-size:10px!important;line-height:1.5!important;color:#8b8175!important;text-align:center;}
html:root body .hero > form.booking-search > .search-note a {color:#79603e!important;text-decoration-color:#c2ae8c;text-underline-offset:3px;}
@media(min-width:1600px){html:root body .hero > form.booking-search {padding:36px 34px 24px!important;}html:root body .hero > form.booking-search > .search-intro {margin-bottom:45px!important;}}
@media(max-width:1100px) and (min-width:701px){
 html:root body .hero > form.booking-search {padding:25px 20px 18px!important;}
 html:root body .hero > form.booking-search > h2 {font-size:38px!important;}
 html:root body .hero > form.booking-search > .search-rate {grid-template-columns:minmax(0,1fr) 82px!important;padding:14px 12px!important;}
 html:root body .hero > form.booking-search .seasonal-rate-emblem {display:none;}
 html:root body .hero > form.booking-search > .search-rate > .seasonal-rate-offer {grid-template-columns:minmax(0,1fr)!important;}
 html:root body .hero > form.booking-search :is(.seasonal-rate-copy,.seasonal-rate-availability) {grid-column:1!important;}
}
@media(max-width:700px){
 html:root body .hero > form.booking-search {width:calc(100% - 24px)!important;max-width:600px!important;margin:18px auto 24px!important;padding:25px 20px 18px!important;border-radius:18px!important;}
 html:root body .hero > form.booking-search::before {height:235px;width:57%;border-radius:0 18px 0 0;background-size:auto,auto,auto 260px;}
 html:root body .hero > form.booking-search > .eyebrow:first-child {font-size:7px!important;max-width:70%;margin-bottom:15px!important;}
 html:root body .hero > form.booking-search > h2 {font-size:37px!important;max-width:60%;width:60%;}
 html:root body .hero > form.booking-search > .search-intro {font-size:11px!important;max-width:58%;margin:13px 0 25px!important;}
 html:root body .hero > form.booking-search > :is(.date-grid,.guest-grid) > .field {padding:0 9px!important;}
 html:root body .hero > form.booking-search :is(.pullman-date-trigger,.hotel-select) {font-size:16px!important;min-height:40px!important;}
 html:root body .hero > form.booking-search > .guest-grid label {font-size:9px!important;}
 html:root body .hero > form.booking-search > .search-rate {grid-template-columns:minmax(0,1fr) 77px!important;column-gap:9px!important;padding:14px 10px!important;}
 html:root body .hero > form.booking-search > .search-rate > .seasonal-rate-offer {grid-template-columns:21px minmax(0,1fr)!important;gap:3px 6px!important;padding-right:8px!important;}
 html:root body .hero > form.booking-search .seasonal-rate-emblem {width:21px;height:30px;}
 html:root body .hero > form.booking-search .seasonal-rate-season {font-size:14px!important;}
 html:root body .hero > form.booking-search .seasonal-rate-kicker {font-size:7px!important;}
 html:root body .hero > form.booking-search .seasonal-rate-availability {font-size:7px!important;}
 html:root body .hero > form.booking-search > .search-rate > strong {font-size:26px!important;}
}
@media(max-width:360px){
 html:root body .hero > form.booking-search {padding:23px 15px 17px!important;}
 html:root body .hero > form.booking-search > h2 {font-size:32px!important;}
 html:root body .hero > form.booking-search > .search-intro {max-width:59%;}
 html:root body .hero > form.booking-search .seasonal-rate-emblem {display:none;}
 html:root body .hero > form.booking-search > .search-rate > .seasonal-rate-offer {grid-template-columns:minmax(0,1fr)!important;}
 html:root body .hero > form.booking-search :is(.seasonal-rate-copy,.seasonal-rate-availability) {grid-column:1!important;}
}
@media(prefers-reduced-motion:reduce){html:root body .hero > form.booking-search > .btn[type=submit] {transition:none;}}

html:root body .hero > form.booking-search > :is(.eyebrow,.search-intro,.starting-rate-note,.seasonal-rate-note,.room-choice-hint,.micro){padding:0!important;border:0!important;min-height:0!important;}

html:root body .hero > form.booking-search > .eyebrow:first-child{background:transparent!important;box-shadow:none!important;width:auto!important;max-width:65%!important;border-radius:0!important;}

@media(max-width:700px){html:root body .hero > form.booking-search > .guest-grid > .field > label{min-height:27px!important;}html:root:lang(de) body .hero > form.booking-search > h2{font-size:31px!important;max-width:69%;width:69%;}}
html:root body .hero > form.booking-search > .stay-duration{order:6;display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 0!important;padding:0!important;font-size:11px!important;line-height:1.5;color:#75664f!important;}
html:root body .hero > form.booking-search > .error-text{order:6;margin:8px 0 0!important;font-size:12px;line-height:1.5;}
