/* Aurora Booking Manager v0.5 — scoped guest-facing experience; no global theme overrides. */
.abm-v4,.abm-offers{--abm-green:#143c2d;--abm-deep:#0d2d23;--abm-accent:#ba9b60;--abm-ink:#26362f;--abm-muted:#69746d;--abm-line:#e2e6df;--abm-paper:#fafaf7;font-family:inherit;color:var(--abm-ink);box-sizing:border-box}
.abm-v4 *, .abm-v4 *::before, .abm-v4 *::after, .abm-offers *, .abm-offers *::before, .abm-offers *::after{box-sizing:border-box}
.abm-v4 [hidden],.abm-offers [hidden]{display:none!important}
.abm-v4{width:100%;max-width:1320px;margin:28px auto 45px;background:#fff;border:1px solid #e6e7e2;box-shadow:0 20px 65px rgba(25,39,29,.055);font-size:15px;line-height:1.5;overflow:clip}
.abm-v4 button,.abm-v4 input,.abm-v4 select,.abm-v4 textarea{font:inherit}
.abm-v4 button{cursor:pointer;box-shadow:none}
.abm-v4 button:disabled{cursor:not-allowed;opacity:.6}
.abm-v4 h2,.abm-v4 h3,.abm-v4 h4,.abm-offers h3{font-family:inherit;letter-spacing:-.028em;color:var(--abm-deep);margin:0;line-height:1.19}
.abm-v4 p{margin:0}
.abm-topline{padding:13px clamp(18px,3vw,46px);background:var(--abm-deep);display:flex;align-items:center;gap:11px;color:#fff;font-size:11px;letter-spacing:.12em;font-weight:700}
.abm-brand-mark{display:grid;place-items:center;background:var(--abm-accent);color:var(--abm-deep);width:24px;height:24px;font-family:Georgia,serif;font-size:18px;letter-spacing:0}
.abm-topline-end{margin-left:auto;font-size:10px;letter-spacing:.14em;color:#d7dfd7}
.abm-heading{padding:clamp(28px,5vw,55px) clamp(20px,5vw,62px) 24px;text-align:center;background:linear-gradient(180deg,#f8faf7 0%,#fff 100%)}
.abm-eyebrow,.abm-section-kicker{font-size:11px;letter-spacing:.16em;font-weight:800;color:#907643;text-transform:uppercase}
.abm-heading h2{font-weight:650;font-size:clamp(30px,3.6vw,49px);margin:10px 0 12px}
.abm-heading p{color:var(--abm-muted);font-size:15px;max-width:650px;margin:auto}
.abm-steps{display:flex;gap:9px;align-items:center;justify-content:center;padding:0 20px 26px;background:#fff}
.abm-steps>span:not(.abm-step-line){display:flex;align-items:center;gap:9px;font-size:12px;font-weight:650;color:#8b958e;white-space:nowrap}
.abm-steps em{font-style:normal;font-size:12px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #d6ddd5;border-radius:50%;background:#fff;color:#8a968c;font-weight:700}
.abm-steps .is-active{color:var(--abm-green)!important}
.abm-steps .is-active em{color:#fff;border-color:var(--abm-green);background:var(--abm-green)}
.abm-steps .is-done em{background:#e8efe7;border-color:#c6d6c5;color:var(--abm-green)}
.abm-step-line{width:clamp(12px,5vw,76px);height:1px;background:#d8ded7}
.abm-form{margin:0}
.abm-search-surface{margin:0 clamp(16px,3.3vw,44px) 36px;border:1px solid var(--abm-line);background:#fff;box-shadow:0 9px 28px rgba(11,42,28,.045);padding:24px 24px 23px}
.abm-search-header{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:0 0 16px}
.abm-search-header strong{color:var(--abm-green);font-size:16px;letter-spacing:-.01em}
.abm-search-header span{font-size:12px;color:var(--abm-muted)}
.abm-search-grid{display:grid;grid-template-columns:minmax(145px,1.2fr) minmax(145px,1.2fr) minmax(110px,.8fr) minmax(110px,.8fr) minmax(195px,1.24fr);gap:10px;align-items:end}
.abm-v4 label{display:block;color:var(--abm-ink);font-size:12px;font-weight:750}
.abm-v4 label>span:first-child{display:block;margin:0 0 7px}
.abm-v4 input:not([type="checkbox"]),.abm-v4 select,.abm-v4 textarea{width:100%;height:53px;min-width:0;margin:0;border:1px solid #d5dcd4;border-radius:0;padding:10px 12px;background:#fff;color:#1d3127;font-size:15px;font-weight:500;line-height:1.3;outline:none;appearance:auto;box-shadow:none}
.abm-v4 textarea{height:auto;min-height:100px;resize:vertical}
.abm-v4 input:focus-visible,.abm-v4 select:focus-visible,.abm-v4 textarea:focus-visible,.abm-v4 button:focus-visible,.abm-v4 a:focus-visible{outline:3px solid rgba(186,155,96,.7)!important;outline-offset:2px}
.abm-v4 input::placeholder,.abm-v4 textarea::placeholder{color:#9da69f}
.abm-v4 .abm-button{height:53px;border:1px solid var(--abm-green);border-radius:0;color:#fff;background:var(--abm-green);font-weight:750;font-size:13px;letter-spacing:.01em;display:flex;align-items:center;justify-content:center;gap:8px;text-transform:none;transition:background .16s,transform .16s;width:100%;padding:0 12px}
.abm-v4 .abm-button:hover:not(:disabled){background:var(--abm-deep);transform:translateY(-1px)}
.abm-v4 .abm-button span{font-size:18px;font-weight:400}
.abm-children{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.abm-v4 .abm-age-field select{max-width:300px;cursor:pointer;background-color:#fff}
.abm-v4 .abm-form-error{margin-top:12px;color:#8a3025;background:#fff3f0;border:1px solid #edc6bb;padding:12px 15px;font-size:13px;font-weight:600}
.abm-results-panel,.abm-details-step{padding:3px clamp(16px,3.3vw,44px) 38px;scroll-margin-top:30px}
.abm-results-head{display:flex;align-items:flex-end;gap:20px;justify-content:space-between;padding-bottom:22px}
.abm-results-head h3{font-size:clamp(25px,2.5vw,33px);margin:7px 0 9px}
.abm-results-context{font-size:13px;color:var(--abm-muted)}
.abm-filters{border:1px solid #d9e0d7;padding:4px;display:flex;gap:2px;background:#fafaf7;flex-shrink:0}
.abm-filters button{color:#5f7265;font-size:12px;font-weight:650;border:0;border-radius:0;background:transparent;padding:9px 13px;white-space:nowrap}
.abm-filters button.is-active{color:#fff;background:var(--abm-green)}
.abm-rooms{display:flex;flex-direction:column;gap:17px}
.abm-room-card{border:1px solid #e0e5dd;background:#fff;display:grid;grid-template-columns:240px minmax(0,1fr);min-height:234px;box-shadow:0 10px 30px rgba(20,50,32,.035)}
.abm-room-media{background:linear-gradient(140deg,#1f4b38,#102e24 58%,#31533c);min-height:234px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.abm-room-media:before{content:'';position:absolute;width:200px;height:200px;border-radius:50%;border:1px solid rgba(225,214,181,.2);top:-64px;left:-64px}
.abm-room-media:after{content:'';position:absolute;width:190px;height:190px;border-radius:50%;border:1px solid rgba(225,214,181,.16);bottom:-110px;right:-90px}
.abm-room-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:1}
.abm-room-placeholder-mark{font-size:105px;color:rgba(234,219,180,.28);font-family:Georgia,serif;line-height:1;z-index:1}
.abm-room-placeholder-label{position:absolute;bottom:22px;font-size:10px;color:#e7ddc6;letter-spacing:.23em;z-index:1}
.abm-room-body{padding:23px 25px 20px;min-width:0}
.abm-room-category{font-size:10px;letter-spacing:.14em;font-weight:800;color:#9a7f4c}
.abm-room-intro h4{font-size:22px;margin:7px 0 8px}
.abm-room-facts{color:var(--abm-muted);font-size:12px;margin-bottom:17px!important}
.abm-rate-options{border-top:1px solid var(--abm-line)}
.abm-rate-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,auto) auto;align-items:center;gap:14px;border-bottom:1px solid #edf0ea;padding:14px 0}
.abm-rate-info{min-width:0}
.abm-rate-heading{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.abm-rate-heading strong{font-size:14px;color:#24362a;font-weight:760}
.abm-rate-info p{font-size:12px;line-height:1.48;color:var(--abm-muted);margin-top:4px}
.abm-mini-tag{background:#f5f0e7;color:#8e7041;font-size:10px;letter-spacing:.02em;font-weight:750;padding:3px 7px}
.abm-highlight-tag{background:#e2eae2;color:#325c3b}
.abm-rate-row.is-preferred{background:linear-gradient(90deg,#f7f9f3,transparent)}
.abm-rate-price{text-align:right;white-space:nowrap}
.abm-rate-price strong{display:block;font-size:20px;color:var(--abm-deep);letter-spacing:-.03em}
.abm-rate-price small{display:block;font-size:11px;color:var(--abm-muted);margin-top:1px}
.abm-select-rate{background:var(--abm-green);border:1px solid var(--abm-green);color:white;border-radius:0;padding:11px 15px;font-size:12px;font-weight:750;white-space:nowrap}
.abm-select-rate:hover:not(:disabled){background:#0a281c}
.abm-more-rates{border:0;background:none;color:var(--abm-green);font-size:12px;font-weight:750;padding:13px 0 0;text-decoration:underline;text-underline-offset:4px}
.abm-more-rates:hover{color:#927548}
.abm-empty-state{padding:52px 20px;text-align:center;background:var(--abm-paper);border:1px solid var(--abm-line)}
.abm-empty-state strong{font-size:20px;color:var(--abm-green)}
.abm-empty-state p{font-size:14px;color:var(--abm-muted);margin-top:10px}
.abm-back{border:0;background:transparent;color:var(--abm-green);font-size:13px;font-weight:750;padding:0;margin-bottom:22px}
.abm-back:hover{text-decoration:underline;text-underline-offset:3px}
.abm-checkout-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,.9fr);align-items:start;gap:22px}
.abm-contact-panel{border:1px solid var(--abm-line);padding:clamp(20px,3vw,36px)}
.abm-contact-panel h3{font-size:clamp(25px,2.7vw,34px);margin:8px 0 10px}
.abm-muted{color:var(--abm-muted);font-size:13px;line-height:1.55}
.abm-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px;margin-top:26px}
.abm-contact-fields label{line-height:1.5}
.abm-contact-fields input,.abm-contact-fields select,.abm-contact-fields textarea{margin-top:7px!important}
.abm-wide{grid-column:1/-1}
.abm-v4 .abm-privacy{display:flex;align-items:flex-start;gap:11px;margin:22px 0 18px;font-size:12px;color:#52635a;font-weight:500;line-height:1.65}
.abm-v4 .abm-privacy span{margin:0}
.abm-v4 .abm-privacy input{width:17px;height:17px;flex:0 0 17px;margin:2px 0}
.abm-v4 .abm-privacy a{color:var(--abm-green);text-decoration:underline}
.abm-v4 .abm-final-button{height:55px;font-size:14px}
.abm-v4 .abm-fineprint{text-align:center;margin:11px auto 0;max-width:470px}
.abm-order-summary{border:1px solid #d9e2d6;background:#f7f9f5;padding:26px;position:sticky;top:20px}
.abm-summary-kicker{letter-spacing:.15em;font-size:10px;font-weight:800;color:#947944}
.abm-order-summary h4{font-size:24px;margin:10px 0 7px}
.abm-summary-rate{color:var(--abm-green);font-size:14px;font-weight:650;margin-bottom:19px!important}
.abm-summary-facts{display:grid;grid-template-columns:1fr auto;gap:13px 10px;padding:18px 0;margin:0;border-top:1px solid #dfe6da;border-bottom:1px solid #dfe6da;font-size:12px}
.abm-summary-facts dt{color:#78857b}
.abm-summary-facts dd{margin:0;text-align:right;font-weight:650;color:#2c4636}
.abm-summary-total{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:22px 0 13px}
.abm-summary-total span{font-size:12px;color:#748075}
.abm-summary-total strong{font-size:33px;color:var(--abm-green);letter-spacing:-.04em}
.abm-summary-note{color:#778178;font-size:11px;line-height:1.65}
.abm-success-panel{text-align:center;max-width:730px;margin:0 auto 30px;padding:55px 35px;background:#f7f9f5;border:1px solid #dce8d7;scroll-margin-top:40px}
.abm-success-icon{margin:0 auto 20px;display:grid;place-items:center;background:var(--abm-green);color:white;width:65px;height:65px;border-radius:50%;font-size:33px}
.abm-success-panel h3{font-size:35px;margin:10px 0 16px}
.abm-success-panel p{margin:8px auto;max-width:580px;line-height:1.7}
.abm-bottom-trust{border-top:1px solid #edf0ea;padding:16px 20px;display:flex;justify-content:center;gap:clamp(20px,4vw,65px);color:#6d7a70;font-size:11px;font-weight:650;flex-wrap:wrap}
.abm-trap{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.abm-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}
.abm-offer{border:1px solid #e0e6dc;background:#fff;padding:26px;box-shadow:0 9px 27px rgba(28,51,36,.035)}
.abm-offer-kicker{font-size:10px;color:#9b804f;font-weight:800;letter-spacing:.14em}
.abm-offer h3{font-size:24px;margin:14px 0 13px}
.abm-offer p{margin:0 0 15px;line-height:1.65;color:#66776c;font-size:13px}
.abm-offer .abm-small{font-size:12px;color:#879289}
.abm-offer a{display:inline-block;color:#1a543b;text-decoration:underline;font-size:13px;font-weight:750;text-underline-offset:4px;margin-top:9px}
@media(max-width:1100px){.abm-search-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.abm-search-btn{grid-column:1/-1}.abm-room-card{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:760px){.abm-topline-end{display:none}.abm-heading{padding:30px 16px 22px}.abm-heading h2{font-size:32px}.abm-heading p{font-size:13px}.abm-steps{gap:7px;padding:0 9px 25px}.abm-steps>span:not(.abm-step-line){font-size:10px;gap:5px}.abm-steps em{width:23px;height:23px;font-size:10px}.abm-step-line{width:15px}.abm-search-grid{grid-template-columns:1fr 1fr;gap:12px}.abm-search-header span{display:none}.abm-room-card{grid-template-columns:1fr}.abm-room-media{height:220px;min-height:220px}.abm-room-body{padding:19px}.abm-results-head{align-items:flex-start;flex-direction:column;gap:17px}.abm-checkout-layout{grid-template-columns:1fr}.abm-order-summary{position:static;order:-1}.abm-offers{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.abm-v4{margin:10px auto 30px}.abm-topline{font-size:10px;padding:11px 15px}.abm-heading h2{font-size:29px}.abm-steps>span:not(.abm-step-line){max-width:95px;white-space:normal;line-height:1.25}.abm-step-line{width:12px}.abm-search-surface{margin:0 12px 26px;padding:16px 13px}.abm-search-grid{gap:11px 9px}.abm-search-grid>label:nth-child(1),.abm-search-grid>label:nth-child(2){grid-column:span 1}.abm-search-grid input:not([type=checkbox]),.abm-search-grid select{font-size:14px;padding:9px 7px;height:48px}.abm-search-btn{height:50px!important}.abm-children{grid-template-columns:1fr 1fr}.abm-results-panel,.abm-details-step{padding:3px 12px 26px}.abm-filters{width:100%}.abm-filters button{flex:1;font-size:11px;padding:9px 7px}.abm-room-media{height:185px;min-height:185px}.abm-room-intro h4{font-size:21px}.abm-rate-row{grid-template-columns:1fr auto;gap:7px;padding:14px 0}.abm-rate-info{grid-column:1/-1}.abm-rate-price{text-align:left}.abm-rate-price strong{font-size:19px}.abm-select-rate{padding:11px 13px}.abm-contact-fields{grid-template-columns:1fr}.abm-contact-panel{padding:20px 16px}.abm-contact-panel h3{font-size:26px}.abm-summary-total strong{font-size:30px}.abm-bottom-trust{gap:9px;font-size:10px;justify-content:space-around;text-align:center}.abm-offers{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.abm-v4 *{scroll-behavior:auto!important;transition:none!important}}
/* Aurora PRO typography + own hand-drawn utility checks. No icon-font dependency. */
.abm-v4{--abm-green:#123c2b;--abm-deep:#0d2c22;--abm-accent:#b9a173;--abm-paper:#fbfaf7;box-shadow:none;border-color:#e0e5dc}
.abm-v4 .abm-heading{background:#fff;padding-bottom:26px}
.abm-v4 .abm-heading h2{letter-spacing:-.04em;font-weight:590}
.abm-v4 .abm-topline{letter-spacing:.075em}
.abm-v4 .abm-brand-mark{background:none;color:#d9bb7d;font-size:23px;width:21px;height:25px}
.abm-v4 .abm-search-surface{box-shadow:none;border-color:#d7dfd6;background:#fbfcfa}
.abm-v4 .abm-room-card{box-shadow:none;border-color:#dce5dc;transition:border-color .2s}
.abm-v4 .abm-room-card:hover{border-color:#9bab97}
.abm-v4 .abm-room-media{background:#1d3f30}
.abm-v4 .abm-room-media::before,.abm-v4 .abm-room-media::after{display:none}
.abm-v4 .abm-rate-row{padding:17px 0}
.abm-v4 .abm-mini-tag{background:#f6f2e9;color:#725d32;border:1px solid #e8dfcf}
.abm-v4 .abm-more-rates{text-decoration:none;border-bottom:1px solid #8aa18e;padding-bottom:2px}
.abm-v4 .abm-contact-panel{background:#fff;box-shadow:none}
.abm-v4 .abm-bottom-trust{background:#f7f8f5}
.abm-v4 .abm-bottom-trust>span{display:inline-flex;gap:7px;align-items:center}
.abm-signature-check{width:17px;height:17px;fill:none;stroke:#9a7944;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 17px}
.abm-v4 .abm-room-facts{display:flex;align-items:center;gap:5px}
.abm-v4 .abm-room-facts::before{content:'';height:5px;width:5px;background:#b89d6e;border-radius:100%;display:inline-block}
.abm-v4 .abm-steps em{border-radius:2px}
.abm-v4 .abm-mini-tag,.abm-v4 .abm-steps em{letter-spacing:.02em}

/* v0.7 refinement: text-based actions, crisp focus states, no generic icon pack. */
.abm-booking .abm-edit-search{display:inline-flex;align-items:center;gap:9px;border:0;background:transparent;color:#274b3b;font-weight:700;font-size:13px;padding:9px 0;margin:3px 0;text-decoration:underline;text-decoration-color:#acb9ae;text-underline-offset:4px;cursor:pointer}
.abm-booking .abm-edit-search:hover{text-decoration-color:#274b3b}
.abm-booking :is(button,input,select,textarea,a):focus-visible{outline:3px solid #a98b52!important;outline-offset:3px}
.abm-booking .abm-search-loading{margin-top:12px;padding:13px 16px;border-left:3px solid #a99260;background:#f5f4ef;color:#314a3b;font-size:13px}
.abm-booking .abm-contact-language{max-width:250px}
.abm-booking .abm-results-head [data-abm-results-title]:focus{outline:none}
.abm-booking .abm-empty-state .abm-edit-search{margin-top:9px}
.abm-booking .abm-rate-row .abm-select-rate,.abm-booking .abm-button{transition:background-color .14s ease,border-color .14s ease;box-shadow:none}
@media(max-width:520px){.abm-booking .abm-edit-search{min-height:44px}.abm-booking .abm-contact-language{max-width:none}.abm-booking .abm-search-loading{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.abm-booking *{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}

/* A listing without a hotel-approved photo is clean text-only, not a fake image. */
.abm-booking .abm-room-card--no-image{display:block}
.abm-booking .abm-room-card--no-image .abm-room-body{width:100%;max-width:none}

/* v0.8: distinct booking journeys, no competing package and nightly-rate options. */
.abm-v4 .abm-booking-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #d5ded3;margin:-24px -24px 25px;background:#fff}
.abm-v4 .abm-booking-tabs button{appearance:none;border:0;border-right:1px solid #d5ded3;border-bottom:3px solid transparent;padding:20px 21px;background:#fff;text-align:left;color:#52685a;min-height:92px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.abm-v4 .abm-booking-tabs button:last-child{border-right:0}
.abm-v4 .abm-booking-tabs button strong{font-size:17px;line-height:1.2;font-weight:750}
.abm-v4 .abm-booking-tabs button span{font-size:12px;line-height:1.4;font-weight:450;color:#758477}
.abm-v4 .abm-booking-tabs button.is-active{color:#123c2b;border-bottom-color:#ad8e5b;background:#f8faf6}
.abm-v4 .abm-booking-tabs button.is-active span{color:#54685b}
.abm-v4 .abm-standard-dates{display:flex;grid-template-columns:1fr 1fr;gap:14px}
.abm-v4 .abm-offer-date-fields{display:flex;grid-template-columns:1.5fr 1fr 1fr;gap:14px}
.abm-v4 .abm-shared-guests{display:flex;grid-template-columns:1fr 1fr 1.6fr;gap:14px;align-items:end;margin-top:18px;padding-top:18px;border-top:1px solid #e2e8e0}
.abm-v4 .abm-package-duration{padding:10px 13px;margin-top:12px;color:#395d45;border-left:3px solid #b99a62;background:#f8f8f2;font-size:12px;line-height:1.6}
.abm-v4 .abm-offer-notice{padding:14px 16px;color:#496452;border:1px solid #d8e1d7;font-size:14px}
.abm-v4 .abm-search-header{margin-bottom:3px}
.abm-v4 [data-abm-mode-panel][hidden]{display:none!important}
.abm-v4 [data-abm-search]{grid-column:auto}
@media(max-width:760px){.abm-v4 .abm-offer-date-fields{grid-template-columns:1fr 1fr}.abm-v4 .abm-offer-choice{grid-column:1/-1}.abm-v4 .abm-shared-guests{grid-template-columns:1fr 1fr}.abm-v4 [data-abm-search]{grid-column:1/-1}}
@media(max-width:480px){.abm-v4 .abm-booking-tabs{margin:-16px -13px 20px}.abm-v4 .abm-booking-tabs button{padding:15px 12px;min-height:95px}.abm-v4 .abm-booking-tabs button strong{font-size:15px}.abm-v4 .abm-booking-tabs button span{font-size:11px}.abm-v4 .abm-standard-dates{gap:9px}.abm-v4 .abm-offer-date-fields{gap:11px 9px}.abm-v4 .abm-shared-guests{gap:10px;margin-top:16px}.abm-v4 .abm-mode-panel input,.abm-v4 .abm-mode-panel select{height:48px;font-size:14px;padding:8px 6px}}

/* v0.9 -- editorial package selector: photographs first, then full-width date and guest form. */
.abm-v4 .abm-special-panel .abm-search-header{margin-bottom:17px}
.abm-v4 .abm-offer-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:17px 0 12px}
.abm-v4 .abm-offer-picker-heading>span{font-size:10px;letter-spacing:.17em;font-weight:800;color:#9a7e4e}
.abm-v4 .abm-offer-picker-heading>small{font-size:11px;color:#7e8b82;text-align:right}
.abm-v4 .abm-offer-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:23px}
.abm-v4 .abm-offer-tile{all:unset;box-sizing:border-box;display:flex;flex-direction:column;cursor:pointer;text-align:left;border:1px solid #dfe6dd;background:#fff;min-width:0;min-height:0;overflow:hidden;position:relative;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.abm-v4 .abm-offer-tile:hover{border-color:#b99a62;transform:translateY(-2px);box-shadow:0 12px 22px rgba(18,50,36,.085)}
.abm-v4 .abm-offer-tile:focus-visible{outline:3px solid #b99a62;outline-offset:3px}
.abm-v4 .abm-offer-tile.is-selected{border-color:#a9894c;box-shadow:inset 0 0 0 2px #ae915c,0 8px 28px rgba(26,55,38,.095)}
.abm-v4 .abm-offer-tile-photo{height:150px;display:block;position:relative;overflow:hidden;width:100%;background:linear-gradient(145deg,#214535,#0b211a)}
.abm-v4 .abm-offer-tile-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.abm-v4 .abm-offer-tile:hover .abm-offer-tile-photo img{transform:scale(1.035)}
.abm-v4 .abm-offer-tile-photo:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.45));pointer-events:none}
.abm-v4 .abm-offer-tile-no-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;color:#e5d3b0;letter-spacing:.19em}
.abm-v4 .abm-offer-tile-no-photo .abm-tile-brand{font-family:Georgia,serif;font-size:26px;letter-spacing:.12em;font-weight:400}
.abm-v4 .abm-offer-tile-no-photo small{font-size:9px;letter-spacing:.32em;color:#d6c39f}
.abm-v4 .abm-offer-tile-duration{position:absolute;z-index:1;bottom:12px;left:13px;color:#fff;font-size:11px;letter-spacing:.01em;font-weight:700}
.abm-v4 .abm-offer-tile-content{display:flex;flex-direction:column;flex:1;padding:15px 15px 12px;gap:9px;min-height:122px}
.abm-v4 .abm-offer-tile-title{font-size:18px;font-weight:750;line-height:1.25;color:#173e2d;letter-spacing:-.015em}
.abm-v4 .abm-offer-tile-description{font-size:11px;line-height:1.55;color:#708076;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.abm-v4 .abm-offer-tile-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:9px;border-top:1px solid #eef0eb;gap:8px;font-size:11px;color:#68776e}
.abm-v4 .abm-tile-choice{display:inline-flex;align-items:center;gap:5px;font-weight:750;color:#64746a;white-space:nowrap}
.abm-v4 .abm-tile-choice svg{width:17px;height:17px;flex:none;border:1px solid #b7c1b8;border-radius:50%;padding:2px;opacity:.55}
.abm-v4 .abm-offer-tile.is-selected .abm-tile-choice{color:#12412d}
.abm-v4 .abm-offer-tile.is-selected .abm-tile-choice svg{background:#153d2c;border-color:#153d2c;color:#fff;opacity:1}
.abm-v4 .abm-offer-cards>.abm-offer-tile:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,45%) 1fr}
.abm-v4 .abm-offer-cards>.abm-offer-tile:last-child:nth-child(odd) .abm-offer-tile-photo{height:100%;min-height:155px}
.abm-v4 .abm-offer-booking-fields{border-top:1px solid #dfe6dd;margin-top:6px;padding-top:5px}
.abm-v4 .abm-offer-date-fields{display:flex;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.abm-v4 .abm-offer-booking-fields:not(.is-ready) .abm-offer-date-fields{opacity:.57}
.abm-v4 .abm-special-panel .abm-shared-guests{grid-column:1/-1}
@media(max-width:700px){.abm-v4 .abm-offer-tile-photo{height:120px}.abm-v4 .abm-offer-tile-content{min-height:130px;padding:12px}.abm-v4 .abm-offer-tile-title{font-size:16px}.abm-v4 .abm-offer-picker-heading>small{display:none}}
@media(max-width:520px){
 .abm-v4 .abm-offer-cards{grid-template-columns:1fr;gap:11px}
 .abm-v4 .abm-offer-tile,.abm-v4 .abm-offer-cards>.abm-offer-tile:last-child:nth-child(odd){display:grid;grid-template-columns:115px minmax(0,1fr)}
 .abm-v4 .abm-offer-tile-photo,.abm-v4 .abm-offer-cards>.abm-offer-tile:last-child:nth-child(odd) .abm-offer-tile-photo{height:100%;min-height:126px}
 .abm-v4 .abm-offer-tile-content{padding:12px;gap:5px;min-height:126px}
 .abm-v4 .abm-offer-tile-title{font-size:15px}
 .abm-v4 .abm-offer-tile-duration{bottom:8px;left:7px;font-size:9px;right:5px;line-height:1.25}
 .abm-v4 .abm-offer-tile-description{font-size:10px;-webkit-line-clamp:2}
 .abm-v4 .abm-offer-tile-footer{font-size:10px;padding-top:6px}
 .abm-v4 .abm-offer-tile-no-photo .abm-tile-brand{font-size:16px}
 .abm-v4 .abm-offer-date-fields{grid-template-columns:1fr 1fr;gap:10px}
 .abm-v4 .abm-offer-date-fields input,.abm-v4 .abm-offer-date-fields select{width:100%;min-width:0}
}
@media(max-width:350px){.abm-v4 .abm-offer-tile,.abm-v4 .abm-offer-cards>.abm-offer-tile:last-child:nth-child(odd){grid-template-columns:100px minmax(0,1fr)}.abm-v4 .abm-offer-tile-title{font-size:14px}.abm-v4 .abm-offer-tile-duration{font-size:8px}}
@media(prefers-reduced-motion:reduce){.abm-v4 .abm-offer-tile,.abm-v4 .abm-offer-tile-photo img{transition:none}.abm-v4 .abm-offer-tile:hover,.abm-v4 .abm-offer-tile:hover .abm-offer-tile-photo img{transform:none}}

.abm-v4 .abm-package-details{margin:8px 0 0;font-size:12px}
.abm-v4 .abm-package-details a{color:#8b6d38;font-weight:650;text-decoration:underline;text-underline-offset:3px}
.abm-v4 .abm-package-details a:focus-visible{outline:2px solid #b99a62;outline-offset:3px}

/* v0.9.2: compact Aurora booking bar and 3-up photo cards.
 * Only the public booking widget is affected. NET rates still calculate from
 * canonical checkin + checkout values in the existing PHP pricing engine. */
.abm-v4 .abm-booking-tabs{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-auto-flow:column;align-items:stretch}
.abm-v4 .abm-booking-tabs>button{box-sizing:border-box!important;min-width:0;width:100%!important;max-width:none!important;grid-row:1!important;margin:0!important}
.abm-v4 .abm-booking-tabs>button:first-child{grid-column:1!important}
.abm-v4 .abm-booking-tabs>button:last-child{grid-column:2!important}
.abm-v4 .abm-standard-search-bar,.abm-v4 .abm-offer-search-bar{display:flex;grid-template-columns:minmax(0,2.05fr) minmax(0,3fr);gap:12px;align-items:end}
.abm-v4 .abm-standard-dates,.abm-v4 .abm-offer-date-fields{display:flex;grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr);gap:12px;align-items:end}
.abm-v4 .abm-standard-search-bar .abm-shared-guests,.abm-v4 .abm-offer-search-bar .abm-shared-guests{display:flex;grid-template-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(168px,1.25fr);gap:12px;align-items:end;padding:0;margin:0;border:0;min-width:0}
.abm-v4 .abm-standard-search-bar>*,.abm-v4 .abm-offer-search-bar>*,.abm-v4 .abm-shared-guests>*{min-width:0}
.abm-v4 .abm-standard-departure{font-size:12px;line-height:1.5;color:#597260;margin:12px 0 0;padding:0}
.abm-v4 .abm-standard-dates select{cursor:pointer}
.abm-v4 .abm-offer-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}
.abm-v4 .abm-offer-cards>.abm-offer-tile:last-child:nth-child(odd){grid-column:auto;display:flex;grid-template-columns:none}
.abm-v4 .abm-offer-cards>.abm-offer-tile:last-child:nth-child(odd) .abm-offer-tile-photo{height:108px;min-height:0}
.abm-v4 .abm-offer-tile-photo{height:108px}
.abm-v4 .abm-offer-tile-content{padding:12px 13px 10px;gap:6px;min-height:112px}
.abm-v4 .abm-offer-tile-title{font-size:15px;line-height:1.3}
.abm-v4 .abm-offer-tile-description{font-size:11px;line-height:1.35;-webkit-line-clamp:2}
.abm-v4 .abm-offer-tile-footer{padding-top:6px;font-size:10px}
.abm-v4 .abm-offer-tile-duration{font-size:10px}
.abm-v4 .abm-offer-picker-heading{margin:12px 0 10px}
.abm-v4 .abm-offer-booking-fields{margin-top:8px}
@media(max-width:1000px){
 .abm-v4 .abm-standard-search-bar,.abm-v4 .abm-offer-search-bar{grid-template-columns:1fr}
 .abm-v4 .abm-standard-search-bar .abm-shared-guests,.abm-v4 .abm-offer-search-bar .abm-shared-guests{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr)}
}
@media(max-width:760px){
 .abm-v4 .abm-offer-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .abm-v4 .abm-offer-cards>.abm-offer-tile:last-child:nth-child(odd){grid-column:auto}
}
@media(max-width:520px){
 .abm-v4 .abm-booking-tabs>button{padding:13px 11px;min-height:74px}
 .abm-v4 .abm-booking-tabs>button strong{font-size:14px}
 .abm-v4 .abm-standard-dates,.abm-v4 .abm-offer-date-fields{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:10px}
 .abm-v4 .abm-standard-search-bar .abm-shared-guests,.abm-v4 .abm-offer-search-bar .abm-shared-guests{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .abm-v4 .abm-shared-guests>[data-abm-search]{grid-column:1/-1}
 .abm-v4 .abm-offer-cards{grid-template-columns:1fr;gap:9px}
 .abm-v4 .abm-offer-tile,.abm-v4 .abm-offer-cards>.abm-offer-tile:last-child:nth-child(odd){display:grid;grid-template-columns:112px minmax(0,1fr)}
 .abm-v4 .abm-offer-tile-photo,.abm-v4 .abm-offer-cards>.abm-offer-tile:last-child:nth-child(odd) .abm-offer-tile-photo{height:100%;min-height:118px}
 .abm-v4 .abm-offer-tile-content{min-height:118px;padding:10px}
}
/* Grid column override: the old full-width package guest rule must not split the new booking bar. */
.abm-v4 .abm-special-panel .abm-offer-search-bar > .abm-shared-guests{grid-column:auto}

/* v0.9.3 – full-width booking inputs, all children ages before final CTA.
   Scoped selectors protect against Elementor/theme display and width rules. */
.abm-booking.abm-v4{max-width:none;width:100%;min-width:0}
.abm-booking.abm-v4 .abm-search-surface{width:auto;min-width:0}
.abm-booking.abm-v4 .abm-standard-search-bar,
.abm-booking.abm-v4 .abm-offer-search-bar{
  display:flex!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%;min-width:0;align-items:end;
}
.abm-booking.abm-v4 .abm-standard-dates,
.abm-booking.abm-v4 .abm-offer-date-fields,
.abm-booking.abm-v4 .abm-standard-search-bar .abm-shared-guests,
.abm-booking.abm-v4 .abm-offer-search-bar .abm-shared-guests{
  display:flex!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:end!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  width:100%;min-width:0;
}
.abm-booking.abm-v4 .abm-standard-dates label,
.abm-booking.abm-v4 .abm-offer-date-fields label,
.abm-booking.abm-v4 .abm-shared-guests label{min-width:0;margin:0!important;width:100%}
.abm-booking.abm-v4 .abm-standard-dates input,
.abm-booking.abm-v4 .abm-standard-dates select,
.abm-booking.abm-v4 .abm-offer-date-fields input,
.abm-booking.abm-v4 .abm-offer-date-fields select,
.abm-booking.abm-v4 .abm-shared-guests select,
.abm-booking.abm-v4 .abm-age-field select{width:100%!important;max-width:none!important;min-width:0}
.abm-booking.abm-v4 .abm-children:not(:empty){
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;
  width:100%;margin:20px 0 0;
  padding:18px 0 0;border-top:1px solid var(--abm-line);
}
.abm-booking.abm-v4 .abm-children:empty{display:none!important}
.abm-booking.abm-v4 .abm-search-actions{
  display:flex;justify-content:flex-end;align-items:center;
  width:100%;clear:both;margin-top:20px;padding-top:16px;
  border-top:1px solid var(--abm-line);
}
.abm-booking.abm-v4 .abm-search-actions .abm-search-btn{
  display:inline-flex!important;grid-column:auto!important;
  width:clamp(230px,31%,320px)!important;min-height:54px;
  margin:0!important;white-space:normal;text-align:center;
}
.abm-booking.abm-v4 .abm-offer-cards{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;width:100%;
}
.abm-booking.abm-v4 .abm-offer-cards>.abm-offer-tile,
.abm-booking.abm-v4 .abm-offer-cards>.abm-offer-tile:last-child:nth-child(odd){
  display:flex!important;flex-direction:column!important;
  grid-column:auto!important;width:100%;min-width:0;min-height:0;
}
@media(max-width:1000px){
  .abm-booking.abm-v4 .abm-standard-search-bar,
  .abm-booking.abm-v4 .abm-offer-search-bar{grid-template-columns:1fr!important}
  .abm-booking.abm-v4 .abm-offer-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:600px){
  .abm-booking.abm-v4 .abm-standard-dates,
  .abm-booking.abm-v4 .abm-offer-date-fields,
  .abm-booking.abm-v4 .abm-standard-search-bar .abm-shared-guests,
  .abm-booking.abm-v4 .abm-offer-search-bar .abm-shared-guests{gap:10px!important}
  .abm-booking.abm-v4 .abm-children:not(:empty){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .abm-booking.abm-v4 .abm-search-actions .abm-search-btn{width:100%!important}
  .abm-booking.abm-v4 .abm-offer-cards{grid-template-columns:1fr!important}
  .abm-booking.abm-v4 .abm-offer-cards>.abm-offer-tile,
  .abm-booking.abm-v4 .abm-offer-cards>.abm-offer-tile:last-child:nth-child(odd){display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;align-items:stretch}
  .abm-booking.abm-v4 .abm-offer-cards .abm-offer-tile-photo{height:100%!important;min-height:115px}
}
@media(max-width:380px){
  .abm-booking.abm-v4 .abm-children:not(:empty){grid-template-columns:1fr}
  .abm-booking.abm-v4 .abm-offer-cards>.abm-offer-tile,
  .abm-booking.abm-v4 .abm-offer-cards>.abm-offer-tile:last-child:nth-child(odd){grid-template-columns:100px minmax(0,1fr)!important}
}

/* Aurora v0.10 — quieter premium visual hierarchy and a live stay summary. */
.abm-booking.abm-v4{--abm-green:#12382a;--abm-accent:#a48959;border:1px solid #dce5db;background:#fff;color:#153c2a}
.abm-booking.abm-v4 .abm-topline{background:#12382a;padding:13px clamp(16px,3.4vw,35px);min-height:49px;gap:12px}
.abm-booking.abm-v4 .abm-brand-mark{display:none}
.abm-booking.abm-v4 .abm-heading{padding:clamp(26px,3.5vw,43px) 22px 15px;text-align:center}
.abm-booking.abm-v4 .abm-heading h2{font-size:clamp(30px,3.5vw,47px)!important;letter-spacing:-.045em!important;line-height:1.12;max-width:850px;margin:13px auto}
.abm-booking.abm-v4 .abm-heading>p{font-size:clamp(13px,1.25vw,15px);line-height:1.6;max-width:700px;margin:0 auto}
.abm-booking.abm-v4 .abm-heading-assurance{display:flex;justify-content:center;align-items:center;gap:8px 21px;flex-wrap:wrap;margin:20px auto 0;color:#557262;font-size:11px;line-height:1.5}
.abm-booking.abm-v4 .abm-heading-assurance span{display:inline-flex;gap:7px;align-items:center}
.abm-booking.abm-v4 .abm-heading-assurance span:before{content:'';display:inline-block;width:5px;height:5px;border:1.5px solid #ad935e;transform:rotate(45deg)}
.abm-booking.abm-v4 .abm-steps{padding:11px 20px 21px}
.abm-booking.abm-v4 .abm-search-surface{background:#fff!important;border-color:#d9e1d7!important;margin-top:0}
.abm-booking.abm-v4 .abm-booking-tabs{border-color:#d9e1d7!important}
.abm-booking.abm-v4 .abm-booking-tabs button{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start!important;gap:15px!important;min-height:88px;background:#fff!important;border-bottom-width:2px!important}
.abm-booking.abm-v4 .abm-booking-tabs button.is-active{background:#f6f8f4!important;border-bottom-color:#a78b57!important}
.abm-booking.abm-v4 .abm-mode-icon{width:31px;height:31px;color:#8b997f;flex:0 0 auto}
.abm-booking.abm-v4 .abm-booking-tabs button.is-active .abm-mode-icon{color:#a88c57}
.abm-booking.abm-v4 .abm-mode-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.abm-booking.abm-v4 .abm-booking-tabs .abm-mode-copy strong{font-size:16px}
.abm-booking.abm-v4 .abm-booking-tabs .abm-mode-copy span{font-size:11px;line-height:1.35}
.abm-booking.abm-v4 .abm-search-header{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:0 0 15px;padding:0 0 13px;border-bottom:1px solid #e9eee7}
.abm-booking.abm-v4 .abm-search-header strong{font-size:17px}
.abm-booking.abm-v4 .abm-search-header>span{font-size:11px;color:#6e8573}
.abm-booking.abm-v4 .abm-standard-search-bar input,.abm-booking.abm-v4 .abm-standard-search-bar select,.abm-booking.abm-v4 .abm-offer-search-bar input,.abm-booking.abm-v4 .abm-offer-search-bar select,.abm-booking.abm-v4 .abm-shared-guests select{background:#fff;border:1px solid #cfd9d0;border-radius:0;min-height:53px;font-size:14px}
.abm-booking.abm-v4 .abm-offer-tile{border-color:#dce4d9;box-shadow:none!important}
.abm-booking.abm-v4 .abm-offer-tile.is-selected{border-color:#9c8049;box-shadow:inset 0 0 0 2px #b7a179!important}
.abm-booking.abm-v4 .abm-offer-tile-photo{height:118px}
.abm-booking.abm-v4 .abm-offer-tile-content{min-height:108px}
.abm-booking.abm-v4 .abm-search-recap{display:flex;gap:10px;align-items:center;margin:17px 0 0;padding:12px 15px;background:#f7f9f5;border-left:3px solid #a78e5d;color:#516c5a;font-size:12px;line-height:1.55;min-height:44px}
.abm-booking.abm-v4 .abm-search-recap.is-ready{background:#eff5ef;color:#214c35;font-weight:650}
.abm-booking.abm-v4 .abm-search-actions{margin-top:0!important;padding-top:16px!important;border-top:none!important}
.abm-booking.abm-v4 .abm-search-actions .abm-search-btn{min-height:53px;background:#173e2e;border-color:#173e2e;letter-spacing:.015em;font-size:14px;font-weight:700}
.abm-booking.abm-v4 .abm-bottom-trust{border-top:1px solid #e3e9e1;background:#f7f8f5}
@media(max-width:800px){.abm-booking.abm-v4 .abm-heading-assurance{font-size:10px;gap:7px 13px}.abm-booking.abm-v4 .abm-booking-tabs button{min-height:78px;gap:9px!important;padding:11px!important}.abm-booking.abm-v4 .abm-mode-icon{width:24px;height:24px}.abm-booking.abm-v4 .abm-search-header{align-items:start;flex-direction:column;gap:4px}}
@media(max-width:420px){.abm-booking.abm-v4 .abm-booking-tabs button{gap:7px!important}.abm-booking.abm-v4 .abm-booking-tabs .abm-mode-copy strong{font-size:13px}.abm-booking.abm-v4 .abm-booking-tabs .abm-mode-copy span{font-size:10px}.abm-booking.abm-v4 .abm-mode-icon{width:21px;height:21px}.abm-booking.abm-v4 .abm-heading-assurance span:last-child{display:none}.abm-booking.abm-v4 .abm-offer-tile-photo{height:100%!important}}

/* v0.11: final UX layout. Two balanced 50/50 rows (dates, then guests),
   compact three-column offer cards, and a clear last step. Rules are scoped
   to the booking widget so Elementor/theme forms remain untouched. */
.abm-booking.abm-v4 .abm-standard-search-bar,
.abm-booking.abm-v4 .abm-offer-search-bar{
  display:flex!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
  width:100%!important;
  align-items:stretch;
}
.abm-booking.abm-v4 .abm-standard-dates,
.abm-booking.abm-v4 .abm-offer-date-fields,
.abm-booking.abm-v4 .abm-shared-guests{
  display:flex!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
  padding:0!important;
  border:0!important;
  min-width:0;
}
.abm-booking.abm-v4 .abm-shared-guests{margin:17px 0 0!important;align-items:end}
.abm-booking.abm-v4 .abm-standard-dates>label,
.abm-booking.abm-v4 .abm-offer-date-fields>label,
.abm-booking.abm-v4 .abm-shared-guests>label{min-width:0;width:100%;max-width:none;margin:0!important}
.abm-booking.abm-v4 .abm-standard-dates input,
.abm-booking.abm-v4 .abm-offer-date-fields input,
.abm-booking.abm-v4 .abm-standard-dates select,
.abm-booking.abm-v4 .abm-offer-date-fields select,
.abm-booking.abm-v4 .abm-shared-guests select{
  width:100%!important;max-width:100%!important;min-width:0!important;
  min-height:52px;box-sizing:border-box;
}
.abm-booking.abm-v4 input[type=date].abm-clickable-date,
.abm-booking.abm-v4 input[type=date].abm-clickable-date + *{cursor:pointer}
.abm-booking.abm-v4 label:has(>input.abm-clickable-date){cursor:pointer}
.abm-booking.abm-v4 input[type=date].abm-clickable-date:focus-visible{outline:2px solid #ad8f58!important;outline-offset:2px}
.abm-booking.abm-v4 .abm-search-recap{margin:14px 0 0!important}
.abm-booking.abm-v4 .abm-children:not(:empty){margin:15px 0 0!important}
.abm-booking.abm-v4 .abm-search-actions{margin-top:13px!important;padding-top:11px!important}
/* Keep all offer tiles on a regular grid, including odd last items. */
.abm-booking.abm-v4 .abm-offer-cards{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;align-items:stretch;width:100%;margin-bottom:19px;
}
.abm-booking.abm-v4 .abm-offer-cards>.abm-offer-tile,
.abm-booking.abm-v4 .abm-offer-cards>.abm-offer-tile:last-child:nth-child(odd){
  display:flex!important;flex-direction:column!important;grid-column:auto!important;
  width:100%!important;min-width:0!important;height:100%;box-sizing:border-box;
  border:1px solid #d9e3da!important;background:#fff!important;
  overflow:hidden!important;transform:none!important;
}
.abm-booking.abm-v4 .abm-offer-cards>.abm-offer-tile.is-selected{border-color:#a78953!important;box-shadow:inset 0 0 0 1px #a78953!important}
.abm-booking.abm-v4 .abm-offer-tile-photo,
.abm-booking.abm-v4 .abm-offer-cards>.abm-offer-tile:last-child:nth-child(odd) .abm-offer-tile-photo{
  height:128px!important;min-height:128px!important;flex:0 0 128px!important;width:100%!important;
  overflow:hidden!important;background:#15372a;
}
.abm-booking.abm-v4 .abm-offer-tile-photo img{height:100%!important;width:100%!important;object-fit:cover!important;display:block}
.abm-booking.abm-v4 .abm-offer-tile-content{
  display:flex!important;flex-direction:column!important;gap:7px!important;
  padding:15px 15px 12px!important;min-height:146px!important;flex:1;
}
.abm-booking.abm-v4 .abm-offer-tile-title{font-size:15px!important;font-weight:750;line-height:1.35!important;overflow-wrap:anywhere}
.abm-booking.abm-v4 .abm-offer-tile-description{font-size:11px!important;line-height:1.55!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:35px}
.abm-booking.abm-v4 .abm-offer-tile-footer{margin-top:auto!important;border-top:1px solid #eef2ed;padding-top:9px!important;gap:7px;min-width:0}
.abm-booking.abm-v4 .abm-tile-choice{white-space:nowrap}
.abm-booking.abm-v4 .abm-offer-tile-duration{bottom:10px;left:10px;border-radius:0;background:rgba(13,46,34,.87)}
/* Two half-width contact fields and full-width language/bed preference. */
.abm-booking.abm-v4 .abm-contact-fields{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px 18px!important;align-items:start;
}
.abm-booking.abm-v4 .abm-contact-fields>label{min-width:0!important;max-width:none!important;width:100%!important;margin:0!important}
.abm-booking.abm-v4 .abm-contact-fields>label.abm-wide,
.abm-booking.abm-v4 .abm-contact-fields>label.abm-contact-language{
  grid-column:1/-1!important;max-width:none!important;
}
.abm-booking.abm-v4 .abm-contact-fields :is(input,select,textarea){width:100%!important;max-width:none!important;min-width:0;box-sizing:border-box}
.abm-booking.abm-v4 .abm-contact-fields>label.abm-contact-language select{width:100%!important}
/* Confirmation: original SVG check animation, no third-party Lottie runtime. */
.abm-booking.abm-v4 .abm-success-panel{padding:clamp(32px,6vw,70px) 22px!important;text-align:center;background:#fff}
.abm-booking.abm-v4 .abm-success-art{
  position:relative;width:132px;height:132px;margin:0 auto 9px;
  display:grid;place-items:center;
}
.abm-booking.abm-v4 .abm-success-svg{width:132px;height:132px;overflow:visible}
.abm-booking.abm-v4 .abm-success-ring{
  fill:#f1f6f0;stroke:#1e6548;stroke-width:3;
  stroke-dasharray:310;stroke-dashoffset:310;animation:abm-success-circle .85s cubic-bezier(.15,.8,.3,1) forwards;
}
.abm-booking.abm-v4 .abm-success-tick{
  fill:none;stroke:#1c6446;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:80;stroke-dashoffset:80;
  animation:abm-success-draw .55s .68s ease-out forwards;
}
.abm-booking.abm-v4 .abm-success-ray{
  position:absolute;top:50%;left:50%;width:6px;height:6px;background:#cba96b;border-radius:50%;
  transform:rotate(calc(var(--ray) * 90deg + 45deg)) translate(73px) scale(0);
  opacity:0;animation:abm-success-spark .75s .82s ease-out forwards;
}
.abm-booking.abm-v4 .abm-success-panel h3{font-size:clamp(26px,3.4vw,40px);letter-spacing:-.035em;margin:13px auto 8px;max-width:720px}
.abm-booking.abm-v4 .abm-success-lead{font-weight:650;color:#244c37}
.abm-booking.abm-v4 .abm-success-reference{border:1px solid #e1e9df;background:#f7faf6;color:#2d533d;padding:14px 16px;border-radius:0;max-width:600px}
.abm-booking.abm-v4 .abm-success-actions{margin-top:28px;display:flex;justify-content:center}
.abm-booking.abm-v4 a.abm-success-home{display:inline-flex;align-items:center;justify-content:center;padding:16px 27px;background:#173f2e;color:#fff!important;text-decoration:none!important;font-weight:750;font-size:14px;min-height:52px;border:1px solid #173f2e}
.abm-booking.abm-v4 a.abm-success-home:hover{background:#24543d}
@keyframes abm-success-circle{to{stroke-dashoffset:0}}
@keyframes abm-success-draw{to{stroke-dashoffset:0}}
@keyframes abm-success-spark{35%{opacity:1}100%{opacity:0;transform:rotate(calc(var(--ray) * 90deg + 45deg)) translate(91px) scale(.7)}}
@media(max-width:900px){
 .abm-booking.abm-v4 .abm-offer-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:610px){
 .abm-booking.abm-v4 .abm-standard-dates,
 .abm-booking.abm-v4 .abm-offer-date-fields,
 .abm-booking.abm-v4 .abm-shared-guests{gap:10px!important}
 .abm-booking.abm-v4 .abm-contact-fields{grid-template-columns:minmax(0,1fr)!important;gap:13px!important}
 .abm-booking.abm-v4 .abm-offer-cards{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
 .abm-booking.abm-v4 .abm-offer-cards>.abm-offer-tile,
 .abm-booking.abm-v4 .abm-offer-cards>.abm-offer-tile:last-child:nth-child(odd){display:grid!important;grid-template-columns:106px minmax(0,1fr)!important;align-items:stretch}
 .abm-booking.abm-v4 .abm-offer-cards .abm-offer-tile-photo,
 .abm-booking.abm-v4 .abm-offer-cards>.abm-offer-tile:last-child:nth-child(odd) .abm-offer-tile-photo{height:100%!important;min-height:127px!important;max-height:none!important;width:106px!important;flex:auto!important}
 .abm-booking.abm-v4 .abm-offer-tile-content{min-height:127px!important;padding:10px 11px!important}
 .abm-booking.abm-v4 .abm-offer-tile-title{font-size:13px!important}
 .abm-booking.abm-v4 .abm-offer-tile-description{font-size:10px!important}
 .abm-booking.abm-v4 .abm-success-art,.abm-booking.abm-v4 .abm-success-svg{width:112px;height:112px}
}
@media(max-width:360px){
 .abm-booking.abm-v4 .abm-standard-dates,
 .abm-booking.abm-v4 .abm-offer-date-fields,
 .abm-booking.abm-v4 .abm-shared-guests{grid-template-columns:1fr!important}
 .abm-booking.abm-v4 .abm-offer-cards .abm-offer-tile-photo{width:100px!important}
 .abm-booking.abm-v4 .abm-offer-cards>.abm-offer-tile{grid-template-columns:100px minmax(0,1fr)!important}
}
@media(prefers-reduced-motion:reduce){
 .abm-booking.abm-v4 .abm-success-ring,.abm-booking.abm-v4 .abm-success-tick,.abm-booking.abm-v4 .abm-success-ray{animation:none!important}
 .abm-booking.abm-v4 .abm-success-ring,.abm-booking.abm-v4 .abm-success-tick{stroke-dashoffset:0!important}
 .abm-booking.abm-v4 .abm-success-ray{display:none}
}
.abm-booking.abm-v4 .abm-search-surface[hidden]{display:none!important}


/* Aurora v0.11.1: targeted Elementor-proof layout hotfix. Dates and guests must
 * occupy ONE desktop row of four genuine 25% fields. The guest container is
 * moved between standard and offer booking bars by booking.js, not duplicated. */
.abm-booking.abm-v4 .abm-standard-search-bar{
    display:flex!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:end!important;
    gap:16px!important;
    width:100%!important;
    min-width:0!important;
}
.abm-booking.abm-v4 .abm-standard-search-bar>.abm-standard-dates,
.abm-booking.abm-v4 .abm-standard-search-bar>.abm-shared-guests{
    display:flex!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    align-items:end!important;
}
.abm-booking.abm-v4 .abm-standard-search-bar>div>label{
    float:none!important;
    clear:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    grid-column:auto!important;
}
.abm-booking.abm-v4 .abm-standard-search-bar>div>label :is(input,select){
    width:100%!important;max-width:100%!important;min-width:0!important;
    box-sizing:border-box!important;
}
/* The name stays full width. Email/phone are a single structural row so that
 * Elementor and theme label rules cannot place them in one narrow column. */
.abm-booking.abm-v4 .abm-contact-fields>.abm-contact-pair{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    gap:18px!important;
    align-items:flex-start!important;
    margin:0!important;
    padding:0!important;
}
.abm-booking.abm-v4 .abm-contact-pair>label{
    display:block!important;
    float:none!important;
    clear:none!important;
    flex:1 1 0!important;
    width:0!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
}
.abm-booking.abm-v4 .abm-contact-pair>label :is(input,select){
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    box-sizing:border-box!important;
}
@media(max-width:780px){
    .abm-booking.abm-v4 .abm-standard-search-bar{
        grid-template-columns:minmax(0,1fr)!important;
        gap:14px!important;
    }
    .abm-booking.abm-v4 .abm-standard-search-bar>.abm-standard-dates,
    .abm-booking.abm-v4 .abm-standard-search-bar>.abm-shared-guests{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:12px!important;
    }
}
@media(max-width:560px){
    .abm-booking.abm-v4 .abm-contact-fields>.abm-contact-pair{
        flex-direction:column!important;gap:13px!important;
    }
    .abm-booking.abm-v4 .abm-contact-pair>label{
        flex:0 0 auto!important;width:100%!important;
    }
}
@media(max-width:360px){
    .abm-booking.abm-v4 .abm-standard-search-bar>.abm-standard-dates,
    .abm-booking.abm-v4 .abm-standard-search-bar>.abm-shared-guests{
        grid-template-columns:minmax(0,1fr)!important;
    }
}
