/* LUNE 29 / booking journey r6. Scoped, optional presentation only.
   Every rule requires the progressive-enhancement JavaScript marker. */
html[data-l29-journey-ready] {
  --l29-j-ink:#1c3147;--l29-j-paper:#f6f2e9;--l29-j-line:#d9d0c2;
  --l29-j-muted:#5a625f;--l29-j-rust:#77160d;
  scroll-padding-top:52px;scroll-padding-bottom:110px;
}
html[data-l29-journey-ready] .l29-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;
}
html[data-l29-journey-ready] .l29-booking-dock[hidden],
html[data-l29-journey-ready] .l29-enquiry-receipt[hidden],
html[data-l29-journey-ready] #contact-form[hidden],
html[data-l29-journey-ready] .l29-stay-review [hidden],
html[data-l29-journey-ready] .l29-journey-form-pane [hidden],
html[data-l29-journey-ready] .stay-type-public[hidden],
html[data-l29-journey-ready] .l29-promo-details[hidden] {display:none!important;}
html[data-l29-journey-ready] .hero-book-cta {min-height:48px;}
html[data-l29-journey-ready] .booking-next button {min-height:50px;}
html[data-l29-journey-ready] .contact-section {padding-inline:clamp(20px,5vw,70px);}
html[data-l29-journey-ready] .contact-form {max-width:1100px;margin:48px auto 0;}
html[data-l29-journey-ready] .l29-journey-steps {
  list-style:none;display:flex;justify-content:center;gap:24px;max-width:750px;padding:26px 0 0;margin:26px auto 0;
  border-top:1px solid rgba(245,241,232,.23);color:#ded8cd;text-align:left;
}
html[data-l29-journey-ready] .l29-journey-steps li {display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.4;max-width:230px;}
html[data-l29-journey-ready] .l29-step-number {
  display:flex;align-items:center;justify-content:center;flex:0 0 31px;height:31px;border:1px solid rgba(245,241,232,.38);
  border-radius:50%;font-size:10px;letter-spacing:.06em;color:#f7f1e6;
}
html[data-l29-journey-ready] .l29-journey-steps [aria-current='step'] .l29-step-number {background:#f6f2e9;color:#1c3147;border-color:#f6f2e9;}
html[data-l29-journey-ready] .l29-journey-steps [aria-current='step'] {color:#fffdf8;}
html[data-l29-journey-ready] .l29-journey-layout {
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);gap:clamp(28px,5vw,64px);
  align-items:start;min-width:0;margin:0;padding:0;border:0;
}
html[data-l29-journey-ready] .l29-stay-review {
  padding:30px;background:var(--l29-j-paper);color:var(--l29-j-ink);text-align:left;
  border:1px solid rgba(255,255,255,.12);box-shadow:0 14px 40px rgba(0,0,0,.10);min-width:0;
}
html[data-l29-journey-ready] .l29-review-kicker {
  margin:0 0 12px;font-size:10px;font-weight:600;line-height:1.5;letter-spacing:.2em;text-transform:uppercase;color:#77160d;
}
html[data-l29-journey-ready] .l29-review-brand {margin:0;font:400 35px/1.2 'Iowan Old Style','Baskerville',Georgia,serif;letter-spacing:.045em;color:var(--l29-j-ink);}
html[data-l29-journey-ready] .l29-review-address {margin:8px 0 25px;font-size:12px;line-height:1.6;color:var(--l29-j-muted);}
html[data-l29-journey-ready] .l29-review-empty {border-top:1px solid var(--l29-j-line);padding:24px 0 8px;}
html[data-l29-journey-ready] .l29-review-empty h4 {margin:0 0 12px;font:400 26px/1.25 Georgia,serif;}
html[data-l29-journey-ready] .l29-review-empty p {margin:0 0 16px;font-size:14px;line-height:1.7;color:var(--l29-j-muted);}
html[data-l29-journey-ready] .l29-journey-link {min-height:44px;padding:7px 0;border:0;background:none;color:#77160d;font:inherit;font-size:13px;font-weight:500;line-height:1.5;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:5px;}
html[data-l29-journey-ready] .l29-review-dates {display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid var(--l29-j-line);padding-top:23px;margin:0;}
html[data-l29-journey-ready] .l29-review-dates dt {font-size:10px;line-height:1.5;color:var(--l29-j-muted);letter-spacing:.11em;text-transform:uppercase;}
html[data-l29-journey-ready] .l29-review-dates dd {margin:8px 0 0;font:400 22px/1.32 Georgia,serif;color:var(--l29-j-ink);}
html[data-l29-journey-ready] .l29-review-guests {font-size:13px;line-height:1.6;padding-bottom:22px;margin:20px 0 0;color:var(--l29-j-muted);border-bottom:1px solid var(--l29-j-line);}
html[data-l29-journey-ready] .l29-review-total {display:flex;flex-direction:column;gap:8px;padding:25px 0 10px;}
html[data-l29-journey-ready] .l29-review-total>span {font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--l29-j-muted);}
html[data-l29-journey-ready] .l29-review-total>strong {font:400 clamp(27px,3.1vw,38px)/1.2 Georgia,serif;color:var(--l29-j-ink);}
html[data-l29-journey-ready] .l29-price-details>summary,
html[data-l29-journey-ready] .l29-stay-editor>summary,
html[data-l29-journey-ready] .l29-promo-details>summary,
html[data-l29-journey-ready] .l29-enquiry-disclosure>summary {cursor:pointer;min-height:44px;display:list-item;font-size:12px;line-height:1.6;padding:12px 0;list-style-position:inside;}
html[data-l29-journey-ready] .l29-price-details>summary {color:#77160d;}
html[data-l29-journey-ready] .l29-review-note {font-size:11px;line-height:1.65;margin:6px 0 18px;color:#5a625f;}
html[data-l29-journey-ready] .l29-stay-editor {border-top:1px solid var(--l29-j-line);margin-top:16px;}
html[data-l29-journey-ready] .l29-stay-editor>summary {font-size:13px;color:var(--l29-j-ink);}
html[data-l29-journey-ready] .l29-stay-editor>.form-grid {display:grid;grid-template-columns:1fr 1fr;gap:22px 16px;padding:10px 0;}
html[data-l29-journey-ready] .l29-stay-editor .form-field label {color:#435063;font-size:10px;letter-spacing:.08em;margin-bottom:8px;}
html[data-l29-journey-ready] .l29-stay-editor input,
html[data-l29-journey-ready] .l29-stay-editor select {font-size:16px;min-width:0;max-width:100%;min-height:44px;border-bottom:1px solid #a89c8a;color:var(--l29-j-ink);padding:8px 0;color-scheme:light;}
html[data-l29-journey-ready] .l29-price-details .contact-booking-summary {margin:0;padding:0;border:0;}
html[data-l29-journey-ready] .l29-price-details .contact-summary-kicker,
html[data-l29-journey-ready] .l29-price-details .contact-summary-title {display:none;}
html[data-l29-journey-ready] .l29-price-details .contact-summary-row {border-color:var(--l29-j-line);color:#535c64;font-size:12px;gap:12px;}
html[data-l29-journey-ready] .l29-price-details .contact-summary-row strong {color:var(--l29-j-ink);}
html[data-l29-journey-ready] .l29-price-details .contact-summary-row.total span {color:var(--l29-j-ink);font-size:10px;line-height:1.5;}
html[data-l29-journey-ready] .l29-price-details .contact-summary-row.total strong {font-size:23px;}
html[data-l29-journey-ready] .l29-price-details .contact-summary-note {font-size:11px;line-height:1.7;color:#535c64;}
html[data-l29-journey-ready] .l29-form-heading {font:400 clamp(26px,3vw,34px)/1.25 Georgia,serif;margin:0 0 14px;color:#f6f2e9;text-align:left;}
html[data-l29-journey-ready] .l29-form-intro {margin:0 0 28px;color:#d9d7d0;font-size:14px;line-height:1.7;text-align:left;}
html[data-l29-journey-ready] .l29-journey-form-pane {min-width:0;}
html[data-l29-journey-ready] .l29-journey-form-pane>.form-grid {gap:28px 24px;}
html[data-l29-journey-ready] .l29-journey-form-pane .form-field label {font-size:10px;color:#dedad2;letter-spacing:.12em;}
html[data-l29-journey-ready] .l29-journey-form-pane .field-note {font-size:11px;color:#cecfc9;}
html[data-l29-journey-ready] .l29-journey-form-pane textarea::placeholder {color:#b7bdbf;}
html[data-l29-journey-ready] .l29-journey-form-pane .legal-acceptance {margin:28px 0 0;padding:18px 0 0;border:0;border-top:1px solid #68727c;background:none;}
html[data-l29-journey-ready] .l29-journey-form-pane .legal-check {font-size:12px;line-height:1.7;color:#f3ede2;}
html[data-l29-journey-ready] .l29-journey-form-pane .legal-check input {min-width:19px;min-height:19px;accent-color:#dec8a7;}
html[data-l29-journey-ready] .l29-journey-form-pane .privacy-note {opacity:1;color:#c6cbd0;}
html[data-l29-journey-ready] .l29-journey-form-pane .form-actions {margin-top:27px;align-items:stretch;}
html[data-l29-journey-ready] .l29-journey-form-pane .submit-button {min-height:54px;width:100%;font-size:11px;letter-spacing:.12em;background:#f5f1e8;color:#1c3147;border-color:#f5f1e8;}
html[data-l29-journey-ready] .l29-journey-form-pane .submit-button:disabled {opacity:.6;}
html[data-l29-journey-ready] .l29-enquiry-note {font-size:12px;line-height:1.65;text-align:left;color:#dce0df;margin:16px 0 2px;}
html[data-l29-journey-ready] .l29-enquiry-disclosure {text-align:left;color:#bfc7cd;}
html[data-l29-journey-ready] .l29-enquiry-disclosure>summary {font-size:11px;}
html[data-l29-journey-ready] .l29-enquiry-disclosure>.form-note {font-size:11px;line-height:1.7;letter-spacing:0;color:#c7cdd0;margin:0 0 8px;text-align:left;}
html[data-l29-journey-ready] .l29-journey-message {font:400 16px/1.65 'Avenir Next','Helvetica Neue',Arial,sans-serif;text-align:left;color:#f7e1b7;scroll-margin-top:55px;}
html[data-l29-journey-ready] .l29-promo-details {border-top:1px solid #d5cbbb;margin-top:20px;}
html[data-l29-journey-ready] .l29-promo-details>summary {font-size:13px;color:var(--l29-j-ink);}
html[data-l29-journey-ready] .l29-promo-details .promo-public {margin-top:0;border:0;}
html[data-l29-journey-ready] .l29-journey-busy {pointer-events:none;opacity:.75;}
html[data-l29-journey-ready] .l29-booking-dock {
  display:flex;align-items:center;justify-content:space-between;gap:14px;position:fixed;z-index:65;
  left:0;right:0;bottom:0;padding:13px max(20px,env(safe-area-inset-right)) calc(13px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));
  background:#f6f2e9;color:#1c3147;border-top:1px solid #d4c8b6;box-shadow:0 -6px 26px rgba(15,27,39,.09);
}
html[data-l29-journey-ready] .l29-dock-copy {display:flex;flex-direction:column;gap:4px;min-width:0;}
html[data-l29-journey-ready] .l29-dock-copy>strong {font:400 19px/1.2 Georgia,serif;}
html[data-l29-journey-ready] .l29-dock-copy>span {font-size:10px;line-height:1.45;color:#536170;}
html[data-l29-journey-ready] .l29-dock-action {flex-shrink:0;min-height:48px;border:1px solid #1c3147;padding:11px 16px;background:#1c3147;color:#fffaf1;font-size:12px;font-weight:500;line-height:1.4;cursor:pointer;}
html[data-l29-journey-ready] .l29-dock-action:hover {background:#314b62;}
/* Receipt is only revealed after persisted=true and a real response id. */
html[data-l29-journey-ready] .l29-enquiry-receipt {max-width:1030px;margin:40px auto 0;padding:clamp(25px,5vw,64px);background:#f6f2e9;color:#1c3147;text-align:center;scroll-margin-top:55px;}
html[data-l29-journey-ready] .l29-receipt-seal {display:flex;align-items:center;justify-content:center;border:1px solid #b9a583;border-radius:50%;color:#1c3147;font:400 27px/1 Georgia,serif;width:56px;height:56px;margin:0 auto 20px;}
html[data-l29-journey-ready] .l29-receipt-eyebrow {font-size:10px;line-height:1.5;letter-spacing:.2em;color:#77160d;font-weight:600;margin:0 0 15px;}
html[data-l29-journey-ready] .l29-enquiry-receipt>h2 {font:400 clamp(30px,4vw,49px)/1.1 Georgia,serif;max-width:700px;margin:0 auto 20px;color:#1c3147;}
html[data-l29-journey-ready] .l29-receipt-intro {font-size:15px;line-height:1.8;max-width:650px;margin:0 auto 32px;color:#535f64;}
html[data-l29-journey-ready] .l29-receipt-columns {display:grid;grid-template-columns:1fr 1.1fr;gap:36px;text-align:left;border-block:1px solid #d9d0c2;padding:28px 0;}
html[data-l29-journey-ready] .l29-receipt-prices {margin:0;}
html[data-l29-journey-ready] .l29-receipt-row {display:flex;justify-content:space-between;gap:20px;padding:10px 0;font-size:12px;line-height:1.6;text-align:left;}
html[data-l29-journey-ready] .l29-receipt-row dt {color:#55616b;}
html[data-l29-journey-ready] .l29-receipt-row dd {margin:0;text-align:right;color:#1c3147;overflow-wrap:anywhere;}
html[data-l29-journey-ready] .l29-receipt-row.is-total {border-top:1px solid #d9d0c2;margin-top:8px;padding-top:16px;align-items:center;}
html[data-l29-journey-ready] .l29-receipt-row.is-total dd {font:400 26px/1.2 Georgia,serif;}
html[data-l29-journey-ready] .l29-receipt-next {text-align:left;margin:26px 0;padding:22px 24px;background:#ece7dc;border-left:2px solid #b9a583;}
html[data-l29-journey-ready] .l29-receipt-next h3 {font:400 23px/1.3 Georgia,serif;margin:0 0 10px;}
html[data-l29-journey-ready] .l29-receipt-next p {font-size:13px;line-height:1.8;margin:0;color:#535f64;}
html[data-l29-journey-ready] .l29-receipt-meta {margin:0;}
html[data-l29-journey-ready] .l29-receipt-meta .l29-receipt-row {padding:5px 0;font-size:11px;}
html[data-l29-journey-ready] .l29-receipt-note {font-size:11px;line-height:1.7;color:#53616c;text-align:left;margin:15px 0;}
html[data-l29-journey-ready] .l29-receipt-actions {display:flex;gap:12px;justify-content:center;margin-top:28px;}
html[data-l29-journey-ready] .l29-receipt-actions button {min-height:48px;padding:12px 23px;font-size:12px;line-height:1.4;border:1px solid #1c3147;cursor:pointer;}
html[data-l29-journey-ready] .l29-receipt-primary {background:#1c3147;color:#f6f2e9;}
html[data-l29-journey-ready] .l29-receipt-secondary {background:transparent;color:#1c3147;}
html[data-l29-journey-ready] .l29-receipt-help {font-size:12px;color:#53616c;margin:24px 0 0;line-height:1.7;}
html[data-l29-journey-ready] .l29-receipt-help a {text-decoration:underline;text-underline-offset:4px;color:#77160d;}
html[data-l29-journey-ready] :is(.l29-stay-review,.l29-booking-dock,.l29-enquiry-receipt,.l29-promo-details) :is(a,button,summary,input,select):focus-visible {outline:2px solid #77160d;outline-offset:4px;}
html[data-l29-journey-ready] .l29-journey-form-pane :is(a,button,summary,input,select,textarea):focus-visible {outline:2px solid #ecd3aa;outline-offset:4px;}
@media(max-width:850px){
 html[data-l29-journey-ready] .l29-journey-layout {grid-template-columns:1fr;gap:34px;}
 html[data-l29-journey-ready] .contact-form {max-width:620px;}
 html[data-l29-journey-ready] .l29-stay-review {padding:28px;}
 html[data-l29-journey-ready] .l29-review-total>strong {font-size:34px;}
 html[data-l29-journey-ready] .l29-review-brand {font-size:31px;}
 html[data-l29-journey-ready] .l29-receipt-columns {grid-template-columns:1fr;gap:26px;}
 html[data-l29-journey-ready] .l29-receipt-price {border-top:1px solid #d9d0c2;padding-top:24px;}
}
@media(max-width:600px){
 html[data-l29-journey-ready] .l29-journey-steps {gap:14px;justify-content:space-between;}
 html[data-l29-journey-ready] .l29-journey-steps li {flex:1;align-items:flex-start;flex-direction:column;font-size:10px;gap:8px;}
 html[data-l29-journey-ready] .l29-step-number {flex-basis:auto;width:29px;height:29px;}
 html[data-l29-journey-ready] .l29-journey-form-pane>.form-grid {grid-template-columns:1fr;}
 html[data-l29-journey-ready] .l29-stay-review {padding:24px;}
 html[data-l29-journey-ready] .l29-review-dates dd {font-size:21px;}
 html[data-l29-journey-ready] .l29-booking-dock {padding-left:16px;padding-right:16px;gap:12px;}
 html[data-l29-journey-ready] .l29-dock-action {padding-inline:12px;font-size:11px;max-width:142px;}
 html[data-l29-journey-ready] .l29-dock-copy>strong {font-size:17px;}
 html[data-l29-journey-ready] .l29-receipt-actions {flex-direction:column;}
 html[data-l29-journey-ready] .l29-receipt-row {gap:12px;}
}
@media(max-width:359px){
 html[data-l29-journey-ready] .l29-stay-editor>.form-grid {grid-template-columns:1fr;}
 html[data-l29-journey-ready] .l29-booking-dock {gap:9px;padding-inline:12px;}
 html[data-l29-journey-ready] .l29-dock-action {max-width:118px;}
 html[data-l29-journey-ready] .l29-review-dates dd {font-size:19px;}
}
@media(prefers-reduced-motion:reduce){
 html[data-l29-journey-ready] {scroll-behavior:auto!important;}
 html[data-l29-journey-ready] .l29-booking-dock,
 html[data-l29-journey-ready] .l29-enquiry-receipt {transition:none!important;animation:none!important;}
}
@media print {
 html[data-l29-journey-ready] .l29-booking-dock {display:none!important;}
 html[data-l29-receipt-open] body>*:not(main),
 html[data-l29-receipt-open] main>*:not(.contact-section),
 html[data-l29-receipt-open] .contact-section>*:not(.l29-enquiry-receipt),
 html[data-l29-receipt-open] .l29-receipt-actions {display:none!important;}
 html[data-l29-receipt-open] body,
 html[data-l29-receipt-open] .contact-section {margin:0!important;padding:0!important;background:white!important;color:#1c3147!important;}
 html[data-l29-receipt-open] .l29-enquiry-receipt {max-width:none;margin:0;padding:18px;background:white;box-shadow:none;font-size:11px;}
 html[data-l29-receipt-open] .l29-receipt-columns {grid-template-columns:1fr 1fr;gap:24px;}
 html[data-l29-receipt-open] .l29-receipt-price {border:0;padding-top:0;}
 html[data-l29-receipt-open] .l29-receipt-next,
 html[data-l29-receipt-open] .l29-receipt-columns {break-inside:avoid;}
 html[data-l29-receipt-open] .l29-enquiry-receipt>h2 {font-size:32px;}
}

html[data-l29-journey-ready] .l29-journey-form-pane .form-field {text-align:left;}

@media(min-width:601px) and (max-width:900px){
 html[data-l29-journey-ready][data-l29-dock-visible] .l29-light-preview {bottom:calc(106px + env(safe-area-inset-bottom));}
}
