/* Luandër Hotel — dedicated booking page and two clear service paths.
   Retains all existing form/room/Turnstile components. */
.booking-page{background:#f7f9f6}
.booking-page .header{background:rgba(255,255,255,.96)}
.booking-page__hero{
  background:linear-gradient(135deg,#eaf2ec 0%,#f8faf7 65%,#e8efea 100%);
  border-bottom:1px solid #dfe8e1;
  padding:42px 0 38px;
}
.booking-page__hero-inner{
  display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,.85fr);
  align-items:end;gap:40px;
}
.booking-page__back{display:inline-flex;align-items:center;gap:10px;color:#345e50;
  text-decoration:none;font-size:.87rem;font-weight:700;min-height:32px;margin-bottom:31px}
.booking-page__back:hover{text-decoration:underline}
.booking-page__eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  font-weight:800;color:#517d69;margin:0 0 13px}
.booking-page__hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.9rem,5vw,5.2rem);
  font-weight:500;line-height:1.07;letter-spacing:-.05em;margin:0 0 21px;color:#19392e}
.booking-page__lead{font-size:1.01rem;max-width:670px;line-height:1.75;
  color:#52695d;margin:0}
.booking-page__assurance{border:1px solid #d8e7dd;background:rgba(255,255,255,.7);
  box-shadow:0 15px 40px rgba(38,70,55,.06);padding:25px 27px;border-radius:15px}
.booking-page__assurance div{display:flex;align-items:flex-start;gap:11px;
  font-size:.86rem;line-height:1.55;color:#315344;padding:9px 0}
.booking-page__assurance div>span:first-child{color:#2c7455;font-weight:900}
.booking-page__assurance>a{display:inline-block;margin-top:16px;padding-top:15px;
  width:100%;border-top:1px solid #dce9e0;font-size:.84rem;font-weight:800;color:#245e45;text-decoration:none}
.booking-page__assurance>a:hover{text-decoration:underline}
.booking-page .booking-section{padding:45px 0 76px;background:#f7f9f6;scroll-margin-top:100px}
.booking-page .booking-shell{display:block;max-width:1040px;margin:0 auto}
.booking-page .booking-shell__intro{display:none}
.booking-page .booking-panels{max-width:1040px;margin:0 auto;min-width:0}
.booking-page .booking-type-heading{margin-bottom:12px}
.booking-page .request-switch{margin-bottom:21px}
.booking-page .booking-form{border:1px solid #dfe9e2!important;
  border-radius:16px!important;background:#fff!important;
  box-shadow:0 18px 55px rgba(35,74,54,.07)!important}
.booking-page .booking-trust{padding:15px;border:1px solid #e0ebe3;
  background:#fff;border-radius:12px;margin-bottom:22px}
.booking-page .form-title{margin-bottom:24px}
.booking-page .send-actions{margin-top:16px}
.booking-page .form-feedback{scroll-margin-top:90px}
.booking-page .room-mix{border-radius:12px}
.booking-page .booking-extra{background:transparent}
.booking-page__lower{border-top:1px solid #dfebe2;padding:32px 0 44px;background:#eef3ef}
.booking-page__lower-inner{display:flex;align-items:center;justify-content:space-between;gap:26px}
.booking-page__lower h2{font:500 1.6rem/1.25 Georgia,serif;color:#1f4937;margin:0 0 8px}
.booking-page__lower p{font-size:.88rem;color:#5a6d60;max-width:620px;margin:0;line-height:1.5}
.booking-page__actions{display:flex;gap:10px;flex-wrap:wrap;flex:none}
.booking-page .footer{padding-top:14px}
.booking-page .footer__bottom{margin-top:0}
.booking-page .floating-wa{bottom:calc(14px + env(safe-area-inset-bottom,0px))}
.booking-page .nav a[href="#booking"]{font-weight:800;color:#205741}
/* Start-page service choices: one clearly labeled route for stays, one for events. */
.hotel-paths-section{padding:74px 0;background:#eff3ee}
.hotel-paths{display:grid;grid-template-columns:1.12fr 1fr;gap:22px}
.hotel-paths__card{padding:clamp(25px,3.2vw,45px);min-width:0;border:1px solid #d9e4db;
  background:#fff;display:flex;flex-direction:column;align-items:flex-start;min-height:300px}
.hotel-paths__eyebrow{display:block;font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;font-weight:800;color:#537963;margin:0 0 16px}
.hotel-paths__card h2{font:500 clamp(1.85rem,3vw,2.65rem)/1.16 Georgia,serif;
  letter-spacing:-.035em;color:#1d3a2f;margin:0 0 15px}
.hotel-paths__card p{font-size:.94rem;line-height:1.7;max-width:490px;
  color:#617064;margin:0 0 28px}
.hotel-paths__actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:auto}
.hotel-paths__events{background:#294d3b;color:#fff;border-color:#294d3b}
.hotel-paths__events .hotel-paths__eyebrow{color:#c4d7be}
.hotel-paths__events h2{color:#fff}
.hotel-paths__events p{color:#dce7da}
.hotel-paths__events .button{background:#f4f5ec;color:#214432;border:1px solid #f4f5ec}
.hotel-paths__events .button:hover{background:#fff}
@media(max-width:860px){
  .booking-page__hero-inner{grid-template-columns:1fr;gap:26px}
  .booking-page__assurance{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
  .booking-page__assurance>a{grid-column:1/-1}
  .hotel-paths{grid-template-columns:1fr}
  .hotel-paths__card{min-height:260px}
}
@media(max-width:620px){
  .booking-page__hero{padding:22px 0 29px}
  .booking-page__back{margin-bottom:17px}
  .booking-page__hero h1{font-size:clamp(2.45rem,11vw,3.35rem)}
  .booking-page__lead{font-size:.89rem}
  .booking-page__assurance{grid-template-columns:1fr;padding:17px 20px}
  .booking-page .booking-section{padding:22px 0 48px}
  .booking-page .booking-form{border-radius:11px!important}
  .booking-page .request-switch{grid-template-columns:1fr;gap:8px}
  .booking-page__lower-inner{display:block}
  .booking-page__actions{margin-top:16px}
  .hotel-paths-section{padding:48px 0}
  .hotel-paths__card{padding:25px;min-height:0}
  .hotel-paths__actions{width:100%}
  .hotel-paths__actions .button{min-width:0;flex:1}
  .booking-page .footer{padding-bottom:100px}
}
@media(prefers-reduced-motion:reduce){
  .booking-page *{scroll-behavior:auto}
}
/* Room cards are now real links; preserve button-like full-width design. */
.price-card__action{display:block;width:100%;text-decoration:none}
.price-card__action:focus-visible{outline:3px solid #276b53;outline-offset:3px}
.hotel-paths__actions .button:focus-visible{outline:3px solid #c5b87a;outline-offset:3px}


/* A quiet, two-option help panel below the booking forms.
   The booking flow itself never advertises external review sites. */
.booking-page .booking-page__actions.booking-help-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  flex:0 1 448px;
  width:min(100%,448px);
  gap:10px;
}
.booking-help-link{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:0;
  min-height:52px;
  padding:12px 13px;
  border:1px solid #cbded0;
  border-radius:9px;
  background:#fff;
  color:#244937;
  text-decoration:none;
  text-align:center;
  font:700 .83rem/1.35 Inter,ui-sans-serif,system-ui,sans-serif;
  transition:border-color .18s ease,background .18s ease;
}
.booking-help-link:hover{
  border-color:#93b59a;
  background:#f8fcf8;
  color:#1c4632
}
.booking-help-link:focus-visible{outline:3px solid #8bb49b;outline-offset:3px}
.booking-help-link__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px}
.booking-help-link__icon svg{width:20px;height:20px}
.booking-help-link--instagram{order:0}
.booking-help-link--whatsapp{order:1}
@media(max-width:620px){
  .booking-page .booking-page__actions.booking-help-links{
    width:100%;
    max-width:none;
    margin-top:18px;
    gap:8px;
  }
  .booking-help-link{
    min-height:50px;
    padding:9px 7px;
    font-size:.75rem;
    gap:6px
  }
  .booking-help-link__icon svg{width:18px;height:18px}
}
@media(prefers-reduced-motion:reduce){
  .booking-help-link{transition:none}
}

/* Redesigned dedicated reservation journey */
.booking-page__hero-inner{align-items:center;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:clamp(24px,4vw,50px)}
.booking-page__hero-side{min-width:0}
.booking-page__hero-photo{position:relative;overflow:hidden;background:#e4ebe5;border-radius:16px;margin:0;box-shadow:0 15px 40px rgba(20,60,43,.13)}
.booking-page__hero-photo img{display:block;width:100%;height:clamp(210px,21vw,280px);object-fit:cover}
.booking-page__hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;color:#fff;background:linear-gradient(transparent,rgba(6,31,19,.75));padding:25px 15px 12px;font-weight:750;font-size:.85rem}
.booking-page__distance{font-size:.82rem;color:#365e4c;font-weight:750;margin:12px 0}
.booking-page__assurance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding:14px 20px}
.booking-page__assurance div{font-size:.78rem;padding:7px 0}
.booking-page__assurance>a{grid-column:1/-1;margin-top:6px;padding-top:10px}
.booking-page .booking-shell__intro{display:block;max-width:720px;margin-bottom:24px}
.booking-page .booking-shell__intro h2{font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.2;letter-spacing:-.03em;margin:7px 0 10px}
.booking-shell__guide{font-size:.87rem!important;font-weight:700!important;color:#2b5947!important;margin-top:9px!important}
.booking-page .booking-form[hidden]{display:none!important}
.booking-flow-heading{border-top:1px solid #e0ebe3;padding-top:20px;margin:26px 0 15px}
.booking-flow-heading--first{border:0;padding:0;margin:0 0 17px}
.booking-flow-heading h4{font:500 clamp(1.32rem,2.6vw,1.7rem)/1.23 Georgia,serif;color:#254936;letter-spacing:-.02em;margin:0 0 6px}
.booking-flow-heading p{font-size:.85rem;color:#5c7164;line-height:1.5;margin:0}
.booking-flow-estimate{font-size:.83rem;line-height:1.5;border-left:3px solid #79a188;border-radius:0 9px 9px 0;background:#f2f7f2;color:#3b5b47;padding:11px 14px;margin:14px 0}
.booking-flow-hint{font-weight:750;font-size:.83rem;color:#345f47;margin:0 0 15px}
.booking-flow-payment{display:flex;align-items:center;gap:9px;color:#2f604a;font-size:.82rem;font-weight:650;background:#edf5ee;border-radius:9px;padding:12px 13px;margin:15px 0 7px}
.booking-flow-payment:before{content:"✓";font-weight:900;color:#26784e}
.booking-page .room-picker{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;min-height:92px}
.room-picker__photo{display:block;width:76px;height:65px;object-fit:cover;border-radius:9px;background:#e8eee9}
.booking-page .room-picker__name{min-width:0}
.booking-page .room-picker__name strong{line-height:1.3}
.booking-page .room-picker__name small{line-height:1.4}
.booking-page .stepper button{min-width:40px;min-height:42px}
.booking-page .stepper button:disabled{opacity:.35;cursor:not-allowed}
.booking-page .stepper button:focus-visible{outline:3px solid #377a58;outline-offset:2px}
.booking-page .room-mix--needs-selection{outline:2px solid #b65c45;outline-offset:3px}
.booking-page .field input:focus-visible,.booking-page .field select:focus-visible,.booking-page .field textarea:focus-visible{outline:3px solid #91b99c;outline-offset:1px}
@media(max-width:860px){.booking-page__hero-inner{grid-template-columns:1fr}.booking-page__hero-side{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-page__hero-photo{grid-row:span 2}.booking-page__distance{margin:0}.booking-page__hero-photo img{height:235px}.booking-page__assurance{grid-template-columns:1fr;padding:12px}}
@media(max-width:620px){.booking-page__hero-side{grid-template-columns:1fr;gap:0}.booking-page__hero-photo{grid-row:auto}.booking-page__hero-photo img{height:192px}.booking-page__distance{margin:11px 0}.booking-page__assurance{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-page .room-picker{grid-template-columns:57px minmax(0,1fr) auto;gap:8px;padding:10px 7px}.room-picker__photo{width:57px;height:57px}.booking-page .room-picker__name strong{font-size:.81rem}.booking-page .room-picker__name small{font-size:.72rem}.booking-page .stepper button{min-width:34px;min-height:38px;padding:2px}.booking-page .stepper output{min-width:20px}.booking-flow-heading{margin-top:22px}}
@media(max-width:385px){.booking-page .room-picker{grid-template-columns:48px minmax(0,1fr)}.room-picker__photo{width:48px;height:48px}.booking-page .stepper{grid-column:2;justify-self:end}}

/* Direct booking repair: remove inherited sticky intro which overlays room selection. */
.booking-page .booking-shell{display:block!important;grid-template-columns:none!important;max-width:1040px;min-width:0}
.booking-page .booking-shell__intro{
  position:static!important;top:auto!important;inset:auto!important;float:none!important;
  display:block;z-index:auto!important;width:auto;max-width:720px;margin:0 0 22px;
}
.booking-page .booking-shell__intro h2{
  font-size:clamp(1.6rem,2.8vw,2.25rem)!important;line-height:1.17!important;margin:8px 0 10px!important
}
.booking-page .booking-panels{position:relative;display:block;min-width:0;max-width:1040px;clear:both;margin:0 auto}
.booking-page .room-picker__name{min-width:0;overflow-wrap:anywhere}
.booking-page .room-picker .stepper{position:relative;z-index:1}
@media(max-width:620px){
  .booking-page .booking-shell__intro{margin-bottom:16px}
  .booking-page .booking-shell__intro h2{font-size:1.58rem!important}
  .booking-page .booking-panels{width:100%}
}
