:root{--apv24-ink:#102217;--apv24-forest:#173c28;--apv24-lime:#caff3d;--apv24-bg:#f4f7f3;--apv24-line:#dde6df;--apv24-muted:#728077;--apv24-white:#fff}
body.apv-booking-page{background:#eef3ee!important}
body.apv-booking-page .apv-booking-v2-workspace{padding:34px 0 70px!important}
body.apv-booking-page .apv-res-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 330px!important;gap:22px!important;align-items:start!important}
body.apv-booking-page .apv-res-engine-card,body.apv-booking-page .apv-res-summary{border:1px solid #dce5de!important;border-radius:22px!important;background:#fff!important;box-shadow:0 18px 50px rgba(16,34,23,.08)!important;overflow:hidden!important}
body.apv-booking-page .apv-res-card__head--engine{padding:26px 30px 21px!important;border-bottom:1px solid #e4eae5!important;background:#fff!important}
body.apv-booking-page .apv-res-card__head--engine h2{margin:5px 0 6px!important;font:900 30px/1.05 Montserrat,sans-serif!important;letter-spacing:-.045em!important;color:var(--apv24-ink)!important}
body.apv-booking-page .apv-res-card__head--engine p{margin:0!important;font:500 12px/1.55 Montserrat,sans-serif!important;color:var(--apv24-muted)!important}
body.apv-booking-page .apv-res-live{border:1px solid #dfe8df!important;background:#f5f8f4!important;color:#58705e!important}

/* One native Amelia engine only. No duplicated heading/sidebar. */
body.apv-booking-page .apv-res-engine.apv-engine--native-stage{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}
body.apv-booking-page .apv-amelia-engine-v24{width:100%!important;max-width:none!important;min-width:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-family:Montserrat,sans-serif!important;--am-font-family:Montserrat,sans-serif!important}
body.apv-booking-page .apv-amelia-engine-v24 .am-fs-sb{display:none!important}
body.apv-booking-page .apv-amelia-engine-v24 .am-fs__main{width:100%!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
body.apv-booking-page .apv-amelia-engine-v24 .am-fs__main-inner{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.apv-booking-page .apv-amelia-engine-v24 .am-fs__main-heading{display:none!important}
body.apv-booking-page .apv-amelia-engine-v24 .am-fs__main-content{width:100%!important;max-width:none!important;margin:0!important;padding:24px 30px 28px!important;box-sizing:border-box!important}

/* EXTRAS */
body.apv-booking-page.apv-stage-extras .am-fs__extras-main>.am-collapse{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important}
body.apv-booking-page.apv-stage-extras .am-fs__extras-main .am-collapse-item{margin:0!important;border:1px solid var(--apv24-line)!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important;box-shadow:none!important}
body.apv-booking-page.apv-stage-extras .am-fs__extras-main .am-collapse-item.apv-extra-selected{border-color:#8cad72!important;background:#f7faef!important;box-shadow:inset 0 0 0 1px #8cad72!important}
body.apv-booking-page.apv-stage-extras .am-fs__extras-card__header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;align-items:center!important;min-height:94px!important;padding:16px 17px!important;background:transparent!important}
body.apv-booking-page.apv-stage-extras .am-fs__extras-card__header-left{min-width:0!important;color:var(--apv24-ink)!important;font:850 14px/1.35 Montserrat,sans-serif!important;letter-spacing:-.015em!important}
body.apv-booking-page.apv-stage-extras .am-fs__extras-card__header-right{display:flex!important;align-items:center!important;gap:10px!important;min-width:max-content!important}
body.apv-booking-page.apv-stage-extras .am-fs__extras-card__header-right .card-text{min-width:52px!important;margin:0!important;color:#58705e!important;font:900 12px/1 Montserrat,sans-serif!important;text-align:right!important}
body.apv-booking-page.apv-stage-extras .el-input-number{position:static!important;display:grid!important;grid-template-columns:40px 46px 40px!important;grid-template-rows:42px!important;width:126px!important;height:42px!important;margin:0!important;border:1px solid #d8e1da!important;border-radius:12px!important;background:#fff!important;overflow:hidden!important;box-shadow:none!important}
body.apv-booking-page.apv-stage-extras .el-input-number__decrease,body.apv-booking-page.apv-stage-extras .el-input-number__increase{position:static!important;inset:auto!important;display:grid!important;place-items:center!important;width:40px!important;height:42px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#f7f9f7!important;color:var(--apv24-forest)!important;font:900 18px/1 Montserrat,sans-serif!important;transform:none!important}
body.apv-booking-page.apv-stage-extras .el-input-number__decrease{grid-column:1!important;grid-row:1!important;border-right:1px solid #e3e9e4!important}
body.apv-booking-page.apv-stage-extras .el-input-number__increase{grid-column:3!important;grid-row:1!important;border-left:1px solid #e3e9e4!important}
body.apv-booking-page.apv-stage-extras .el-input-number .el-input{grid-column:2!important;grid-row:1!important;width:46px!important;height:42px!important;margin:0!important;padding:0!important}
body.apv-booking-page.apv-stage-extras .el-input-number .el-input__wrapper{display:grid!important;place-items:center!important;width:46px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
body.apv-booking-page.apv-stage-extras .el-input-number .el-input__inner{width:46px!important;height:42px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:var(--apv24-ink)!important;font:900 13px/42px Montserrat,sans-serif!important;text-align:center!important}
body.apv-booking-page.apv-stage-extras .el-input-number .is-disabled{opacity:.28!important;cursor:not-allowed!important}
body.apv-booking-page.apv-stage-extras .am-collapse-item__content{padding:0 17px 15px!important;color:#718077!important;font:500 11px/1.5 Montserrat,sans-serif!important}
body.apv-booking-page.apv-stage-extras .am-fs__main-footer{display:flex!important;justify-content:flex-end!important;margin:0!important;padding:18px 30px 28px!important;border:0!important;background:#fff!important}
body.apv-booking-page.apv-stage-extras .am-button-continue{min-width:220px!important;min-height:54px!important;border:0!important;border-radius:13px!important;background:var(--apv24-lime)!important;color:var(--apv24-ink)!important;font:900 13px/1 Montserrat,sans-serif!important;box-shadow:none!important}

/* DATE / TIME: stable two-column viewport, one native calendar, one native slot rail. */
body.apv-booking-page.apv-stage-datetime .am-fs__main-content{padding:22px 26px 28px!important}
body.apv-booking-page.apv-stage-datetime .am-fs-dt__calendar,body.apv-booking-page.apv-stage-datetime .am-fs-dt__calendar>.am-fs-dt__calendar{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__wrapper{display:grid!important;grid-template-columns:minmax(0,1fr) 280px!important;grid-template-areas:"header header" "calendar slots"!important;gap:14px 16px!important;width:100%!important;max-width:none!important;align-items:stretch!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__header{grid-area:header!important;display:flex!important;align-items:center!important;gap:10px!important;min-height:48px!important;margin:0!important;padding:0!important;border:0!important}
body.apv-booking-page.apv-stage-datetime .apv-v24-calendar-title{display:grid!important;gap:1px!important;margin-right:auto!important}
body.apv-booking-page.apv-stage-datetime .apv-v24-calendar-title small{color:#849087!important;font:800 10px/1.2 Montserrat,sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important}
body.apv-booking-page.apv-stage-datetime .apv-v24-calendar-title strong{color:var(--apv24-ink)!important;font:900 22px/1.1 Montserrat,sans-serif!important;letter-spacing:-.035em!important;text-transform:capitalize!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__header>.am-select-wrapper{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__header .am-button-group{display:flex!important;gap:7px!important;margin-left:auto!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__header .am-button{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:0!important;border:1px solid #dce5de!important;border-radius:12px!important;background:#fff!important;color:var(--apv24-forest)!important;box-shadow:none!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__duration,body.apv-booking-page.apv-stage-datetime .am-advsc__time-zone{display:none!important}
body.apv-booking-page.apv-stage-datetime .am-advsc.fc{grid-area:calendar!important;width:100%!important;min-width:0!important;height:406px!important;margin:0!important;padding:0!important;border:1px solid var(--apv24-line)!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important;box-shadow:none!important}
body.apv-booking-page.apv-stage-datetime .fc-view-harness,body.apv-booking-page.apv-stage-datetime .fc-view-harness-active{height:406px!important;min-height:406px!important;max-height:406px!important}
body.apv-booking-page.apv-stage-datetime .fc-scroller,body.apv-booking-page.apv-stage-datetime .fc-scroller-liquid-absolute{overflow:hidden!important}
body.apv-booking-page.apv-stage-datetime .fc-scrollgrid,body.apv-booking-page.apv-stage-datetime .fc-scrollgrid-section>*{border:0!important}
body.apv-booking-page.apv-stage-datetime .fc-col-header,body.apv-booking-page.apv-stage-datetime .fc-col-header-cell{background:#f7f9f7!important}
body.apv-booking-page.apv-stage-datetime .fc-col-header-cell{height:38px!important;border-bottom:1px solid #e8ede9!important}
body.apv-booking-page.apv-stage-datetime .fc-col-header-cell-cushion{display:flex!important;align-items:center!important;justify-content:center!important;height:38px!important;padding:0!important;color:#7c8880!important;font:900 10px/1 Montserrat,sans-serif!important;letter-spacing:.05em!important;text-transform:uppercase!important;text-decoration:none!important}
body.apv-booking-page.apv-stage-datetime .fc-daygrid-body,body.apv-booking-page.apv-stage-datetime .fc-daygrid-body-balanced,body.apv-booking-page.apv-stage-datetime .fc-scrollgrid-sync-table,body.apv-booking-page.apv-stage-datetime .fc-col-header{width:100%!important;max-width:none!important}
body.apv-booking-page.apv-stage-datetime .fc-scrollgrid-sync-table{height:368px!important;table-layout:fixed!important}
body.apv-booking-page.apv-stage-datetime .fc-daygrid-day{height:61px!important;min-height:61px!important;padding:0!important;border:0!important;border-right:1px solid #edf1ee!important;border-bottom:1px solid #edf1ee!important;background:#fff!important;cursor:pointer!important}
body.apv-booking-page.apv-stage-datetime .fc-daygrid-day-frame{display:flex!important;align-items:center!important;justify-content:center!important;min-height:61px!important;padding:4px!important;background:transparent!important}
body.apv-booking-page.apv-stage-datetime .fc-daygrid-day-top{display:flex!important;justify-content:center!important;width:100%!important}
body.apv-booking-page.apv-stage-datetime .fc-daygrid-day-number{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;margin:0!important;padding:0!important;border-radius:50%!important;color:#24382c!important;font:850 13px/1 Montserrat,sans-serif!important;text-decoration:none!important;float:none!important}
body.apv-booking-page.apv-stage-datetime .fc-daygrid-day:hover:not(.am-advsc__dayGridMonth-disabled) .fc-daygrid-day-number{background:#eff6e7!important;color:var(--apv24-forest)!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__dayGridMonth-selected{background:#f2f7ee!important;box-shadow:inset 0 0 0 2px var(--apv24-forest)!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__dayGridMonth-selected .fc-daygrid-day-number{background:var(--apv24-forest)!important;color:var(--apv24-lime)!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__dayGridMonth-disabled{background:#fafbfa!important;cursor:not-allowed!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__dayGridMonth-disabled .fc-daygrid-day-number{color:#c2c9c4!important}
body.apv-booking-page.apv-stage-datetime .fc-day-other .fc-daygrid-day-number{opacity:.3!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__occupancy,body.apv-booking-page.apv-stage-datetime .fc-daygrid-day-events,body.apv-booking-page.apv-stage-datetime .fc-daygrid-day-bg{display:none!important}
body.apv-booking-page.apv-stage-datetime .apv-v24-time-placeholder{grid-area:slots!important;display:grid!important;place-items:center!important;align-content:center!important;gap:6px!important;height:406px!important;padding:22px!important;border:1px dashed #cfd9d1!important;border-radius:16px!important;background:#f8faf7!important;text-align:center!important;box-sizing:border-box!important}
body.apv-booking-page.apv-stage-datetime .apv-v24-time-placeholder[hidden]{display:none!important}
body.apv-booking-page.apv-stage-datetime .apv-v24-time-placeholder span{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:50%!important;background:#e9f1e5!important;color:#58705e!important;font:900 12px/1 Montserrat,sans-serif!important}
body.apv-booking-page.apv-stage-datetime .apv-v24-time-placeholder strong{color:var(--apv24-ink)!important;font:850 14px/1.2 Montserrat,sans-serif!important}
body.apv-booking-page.apv-stage-datetime .apv-v24-time-placeholder small{color:#849087!important;font:600 11px/1.45 Montserrat,sans-serif!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots-wrapper{grid-area:slots!important;display:block!important;height:406px!important;max-height:406px!important;margin:0!important;padding:16px!important;border:1px solid var(--apv24-line)!important;border-radius:16px!important;background:#f8faf7!important;overflow:hidden!important;box-sizing:border-box!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots-heading{margin:0 0 12px!important;padding:0 0 11px!important;border-bottom:1px solid #e2e8e3!important;background:transparent!important;color:var(--apv24-ink)!important;font:850 12px/1.35 Montserrat,sans-serif!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;max-height:330px!important;margin:0!important;padding:0 3px 2px 0!important;overflow:auto!important;scrollbar-width:thin!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item{position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;min-height:48px!important;margin:0!important;padding:8px 10px!important;border:1px solid #dbe4dd!important;border-radius:11px!important;background:#fff!important;color:var(--apv24-forest)!important;box-shadow:none!important;cursor:pointer!important;transform:none!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item::before,body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item::after{display:none!important;content:none!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item__inner{display:block!important;width:100%!important;margin:0!important;padding:0!important;color:inherit!important;font:900 11px/1.25 Montserrat,sans-serif!important;text-align:center!important;white-space:normal!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item:hover{border-color:#98ad9c!important;background:#f0f6ec!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item.apv-is-selected,body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item.am-advsc__slots-item__selected{border-color:var(--apv24-forest)!important;background:var(--apv24-forest)!important;color:var(--apv24-lime)!important;box-shadow:none!important}
body.apv-booking-page.apv-stage-datetime .am-fs__main-footer{display:none!important}

/* CONTACT / FINAL */
body.apv-booking-page.apv-stage-contact .am-fs__main-content{padding:24px 30px 8px!important}
body.apv-booking-page.apv-stage-contact .am-fs__info-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:15px 16px!important;margin:0!important;padding:0!important}
body.apv-booking-page.apv-stage-contact .am-fs__info-form>.el-form-item{min-width:0!important;width:100%!important;margin:0!important;padding:0!important}
body.apv-booking-page.apv-stage-contact .am-info-first-name{grid-column:1!important}
body.apv-booking-page.apv-stage-contact .am-info-last-name{grid-column:2!important}
body.apv-booking-page.apv-stage-contact .am-info-email{grid-column:1!important}
body.apv-booking-page.apv-stage-contact .am-fs__info-form>.el-form-item:has(.am-input-phone-wrapper){grid-column:2!important}
body.apv-booking-page.apv-stage-contact #am-cf-2,body.apv-booking-page.apv-stage-contact #am-cf-3,body.apv-booking-page.apv-stage-contact #am-cf-5{grid-column:1/-1!important}
body.apv-booking-page.apv-stage-contact .el-form-item__label{display:block!important;width:100%!important;height:auto!important;margin:0 0 7px!important;padding:0!important;color:#304337!important;font:850 11px/1.25 Montserrat,sans-serif!important;letter-spacing:.01em!important}
body.apv-booking-page.apv-stage-contact .am-fs__info-form__label{display:inline!important;color:inherit!important;font:inherit!important}
body.apv-booking-page.apv-stage-contact .el-input__wrapper,body.apv-booking-page.apv-stage-contact textarea,body.apv-booking-page.apv-stage-contact .m-input-wrapper{min-height:52px!important;margin:0!important;border:1px solid #d9e2db!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
body.apv-booking-page.apv-stage-contact .el-input__inner,body.apv-booking-page.apv-stage-contact textarea,body.apv-booking-page.apv-stage-contact .m-input-input{color:var(--apv24-ink)!important;font:650 13px/1.4 Montserrat,sans-serif!important}
body.apv-booking-page.apv-stage-contact .el-input__inner{height:50px!important;padding:0!important}
body.apv-booking-page.apv-stage-contact textarea{min-height:92px!important;padding:13px 14px!important;resize:vertical!important}
body.apv-booking-page.apv-stage-contact .am-input-phone-wrapper,body.apv-booking-page.apv-stage-contact .m-input-phone-number{width:100%!important;max-width:none!important;margin:0!important}
body.apv-booking-page.apv-stage-contact .m-input-phone-number{display:grid!important;grid-template-columns:104px minmax(0,1fr)!important;gap:8px!important}
body.apv-booking-page.apv-stage-contact .m-input-phone-number__country-select{width:104px!important;min-width:104px!important;max-width:104px!important}
body.apv-booking-page.apv-stage-contact .m-input-phone-number__country-select .m-input-label{display:none!important}
body.apv-booking-page.apv-stage-contact #am-cf-2 .am-checkbox-group{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
body.apv-booking-page.apv-stage-contact #am-cf-2 .am-checkbox-wrapper{margin:0!important}
body.apv-booking-page.apv-stage-contact #am-cf-2 .el-checkbox{display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;min-height:52px!important;margin:0!important;padding:0 14px!important;border:1px solid #dce5de!important;border-radius:12px!important;background:#fff!important;box-sizing:border-box!important}
body.apv-booking-page.apv-stage-contact #am-cf-2 .el-checkbox.is-checked{border-color:var(--apv24-forest)!important;background:#f2f7ee!important;box-shadow:inset 0 0 0 1px var(--apv24-forest)!important}
body.apv-booking-page.apv-stage-contact #am-cf-2 .el-checkbox__label{padding:0!important;color:var(--apv24-ink)!important;font:800 12px/1.3 Montserrat,sans-serif!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .am-checkbox-group{display:block!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .am-checkbox-wrapper{margin:0!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .am-checkbox-wrapper.apv-rules-negative{display:none!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox{display:flex!important;align-items:flex-start!important;gap:10px!important;width:100%!important;margin:0!important;padding:13px 14px!important;border:1px solid #dce5de!important;border-radius:12px!important;background:#f7f9f7!important;box-sizing:border-box!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox__label{padding:0!important;color:#5f6d64!important;font:650 11px/1.55 Montserrat,sans-serif!important;white-space:normal!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox__label a{color:var(--apv24-forest)!important;font-weight:850!important;text-decoration:underline!important;text-underline-offset:2px!important}
body.apv-booking-page.apv-stage-contact .el-form-item__error{position:static!important;margin:5px 0 0!important;color:#b42318!important;font:700 11px/1.4 Montserrat,sans-serif!important}
body.apv-booking-page.apv-stage-contact .am-fs__main-footer{display:none!important}

/* Woo gateway panel is the only visible payment selector. */
body.apv-booking-page .apv-onepage-payment{margin:10px 30px 30px!important;padding:19px!important;border:1px solid var(--apv24-line)!important;border-radius:16px!important;background:#f7f9f6!important;box-shadow:none!important}
body.apv-booking-page .apv-onepage-payment__head{display:flex!important;justify-content:space-between!important;gap:14px!important;margin:0 0 14px!important;padding:0 0 13px!important;border-bottom:1px solid #e2e8e3!important}
body.apv-booking-page .apv-onepage-payment__head>div>span{color:#7b877e!important;font:900 10px/1.2 Montserrat,sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important}
body.apv-booking-page .apv-onepage-payment__head h3{margin:4px 0 3px!important;color:var(--apv24-ink)!important;font:900 18px/1.2 Montserrat,sans-serif!important;letter-spacing:-.025em!important}
body.apv-booking-page .apv-onepage-payment__head p{margin:0!important;color:#758178!important;font:500 11px/1.45 Montserrat,sans-serif!important}
body.apv-booking-page .apv-onepage-payment__secure{align-self:flex-start!important;padding:8px 10px!important;border-radius:999px!important;background:#e8f0e5!important;color:#4f6755!important;font:850 9px/1 Montserrat,sans-serif!important;white-space:nowrap!important}
body.apv-booking-page .apv-onepage-payment__methods{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
body.apv-booking-page .apv-onepage-pay-choice{position:relative!important;display:flex!important;align-items:center!important;gap:11px!important;min-height:66px!important;margin:0!important;padding:12px 14px!important;border:1px solid #dbe4dc!important;border-radius:12px!important;background:#fff!important;cursor:pointer!important}
body.apv-booking-page .apv-onepage-pay-choice>input{position:absolute!important;opacity:0!important;pointer-events:none!important}
body.apv-booking-page .apv-onepage-pay-choice__mark{width:19px!important;height:19px!important;flex:0 0 19px!important;border:2px solid #b7c2b9!important;border-radius:50%!important;background:#fff!important;box-sizing:border-box!important}
body.apv-booking-page .apv-onepage-pay-choice.is-selected{border-color:var(--apv24-forest)!important;background:#f2f7ee!important;box-shadow:inset 0 0 0 1px var(--apv24-forest)!important}
body.apv-booking-page .apv-onepage-pay-choice.is-selected .apv-onepage-pay-choice__mark{border:6px solid var(--apv24-forest)!important}
body.apv-booking-page .apv-onepage-pay-choice__copy{display:grid!important;gap:3px!important;min-width:0!important}
body.apv-booking-page .apv-onepage-pay-choice__copy b{color:var(--apv24-ink)!important;font:850 13px/1.2 Montserrat,sans-serif!important}
body.apv-booking-page .apv-onepage-pay-choice__copy small{color:#768279!important;font:550 10px/1.45 Montserrat,sans-serif!important}
body.apv-booking-page .apv-onepage-pay-choice__check{display:none!important}
body.apv-booking-page .apv-onepage-payment__legal{display:none!important}
body.apv-booking-page .apv-onepage-payment__footer{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;margin:14px 0 0!important;padding:14px 0 0!important;border-top:1px solid #e2e8e3!important}
body.apv-booking-page .apv-onepage-payment__footer>p{margin:0!important;color:#b42318!important;font:750 11px/1.4 Montserrat,sans-serif!important}
body.apv-booking-page .apv-onepage-payment__footer>small{grid-column:1/-1!important;margin:0!important;color:#859087!important;font:550 9px/1.4 Montserrat,sans-serif!important}
body.apv-booking-page .apv-onepage-payment__submit{min-width:235px!important;min-height:54px!important;border:0!important;border-radius:13px!important;background:var(--apv24-lime)!important;color:var(--apv24-ink)!important;font:900 13px/1 Montserrat,sans-serif!important;box-shadow:none!important}
body.apv-booking-page .apv-onepage-payment__submit[disabled]{opacity:.55!important}

/* Native Amelia payment step is never visitor-facing in V24. */
body.apv-booking-page.apv-stage-payment .apv-res-engine,body.apv-booking-page .apv-engine--payment-bridge{position:fixed!important;left:-12000px!important;top:0!important;width:980px!important;height:760px!important;max-width:none!important;overflow:hidden!important;opacity:.01!important;pointer-events:none!important;z-index:-1!important}
body.apv-booking-page.apv-stage-payment .apv-onepage-payment{display:block!important}

/* Service / people controls. */
body.apv-booking-page .apv-res-custom-step{padding:24px 30px 30px!important}
body.apv-booking-page .apv-res-configurator{gap:15px!important}
body.apv-booking-page .apv-res-field label{color:#2c4033!important;font:850 12px/1.3 Montserrat,sans-serif!important}
body.apv-booking-page .apv-res-field small{color:#79867d!important;font:550 10px/1.45 Montserrat,sans-serif!important}
body.apv-booking-page .apv-res-people-control{display:grid!important;grid-template-columns:46px 64px 46px!important;width:max-content!important;height:48px!important;border:1px solid #dce4dd!important;border-radius:12px!important;overflow:hidden!important;background:#fff!important}
body.apv-booking-page .apv-res-people-control button,body.apv-booking-page .apv-res-people-control input{position:static!important;width:auto!important;height:48px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;color:var(--apv24-forest)!important;font:900 14px/48px Montserrat,sans-serif!important;text-align:center!important;box-shadow:none!important}
body.apv-booking-page .apv-res-people-control input{border-left:1px solid #e4e9e4!important;border-right:1px solid #e4e9e4!important;color:var(--apv24-ink)!important}
body.apv-booking-page .apv-res-diagnostics{display:none!important}

/* Kill obsolete checkout fallback completely. */
body.apv-booking-page .apv-inline-checkout,body.apv-booking-page .apv-woo-autoflow{display:none!important}

@media(max-width:1120px){
 body.apv-booking-page .apv-res-layout{grid-template-columns:minmax(0,1fr) 300px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__wrapper{grid-template-columns:minmax(0,1fr) 250px!important}
}
@media(max-width:900px){
 body.apv-booking-page .apv-res-layout{grid-template-columns:1fr!important}
 body.apv-booking-page .apv-res-summary{position:relative!important;top:auto!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__wrapper{grid-template-columns:1fr!important;grid-template-areas:"header" "calendar" "slots"!important}
 body.apv-booking-page.apv-stage-datetime .apv-v24-time-placeholder{height:120px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-wrapper{height:auto!important;max-height:none!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots{max-height:260px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
 body.apv-booking-page.apv-stage-contact .am-fs__info-form{grid-template-columns:1fr!important}
 body.apv-booking-page.apv-stage-contact .am-info-first-name,body.apv-booking-page.apv-stage-contact .am-info-last-name,body.apv-booking-page.apv-stage-contact .am-info-email,body.apv-booking-page.apv-stage-contact .am-fs__info-form>.el-form-item:has(.am-input-phone-wrapper),body.apv-booking-page.apv-stage-contact #am-cf-2,body.apv-booking-page.apv-stage-contact #am-cf-3,body.apv-booking-page.apv-stage-contact #am-cf-5{grid-column:1!important}
}
@media(max-width:620px){
 body.apv-booking-page .apv-booking-v2-workspace{padding-top:18px!important}
 body.apv-booking-page .apv-res-card__head--engine{padding:20px 17px 16px!important}
 body.apv-booking-page .apv-res-card__head--engine h2{font-size:25px!important}
 body.apv-booking-page .apv-amelia-engine-v24 .am-fs__main-content{padding:17px!important}
 body.apv-booking-page.apv-stage-extras .am-fs__extras-main>.am-collapse{grid-template-columns:1fr!important}
 body.apv-booking-page.apv-stage-extras .am-fs__extras-card__header{min-height:82px!important;padding:14px!important}
 body.apv-booking-page.apv-stage-extras .am-fs__main-footer{padding:15px 17px 22px!important}
 body.apv-booking-page.apv-stage-extras .am-button-continue{width:100%!important}
 body.apv-booking-page.apv-stage-datetime .fc-view-harness,body.apv-booking-page.apv-stage-datetime .fc-view-harness-active,body.apv-booking-page.apv-stage-datetime .am-advsc.fc{height:366px!important;min-height:366px!important;max-height:366px!important}
 body.apv-booking-page.apv-stage-datetime .fc-scrollgrid-sync-table{height:328px!important}
 body.apv-booking-page.apv-stage-datetime .fc-daygrid-day{height:54px!important;min-height:54px!important}
 body.apv-booking-page.apv-stage-datetime .fc-daygrid-day-frame{min-height:54px!important}
 body.apv-booking-page.apv-stage-datetime .fc-daygrid-day-number{width:32px!important;height:32px!important;font-size:12px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:none!important}
 body.apv-booking-page.apv-stage-contact .m-input-phone-number{grid-template-columns:92px minmax(0,1fr)!important}
 body.apv-booking-page.apv-stage-contact .m-input-phone-number__country-select{width:92px!important;min-width:92px!important;max-width:92px!important}
 body.apv-booking-page.apv-stage-contact #am-cf-2 .am-checkbox-group{grid-template-columns:1fr!important}
 body.apv-booking-page .apv-onepage-payment{margin:8px 17px 22px!important;padding:16px!important}
 body.apv-booking-page .apv-onepage-payment__head{display:grid!important}
 body.apv-booking-page .apv-onepage-payment__secure{justify-self:start!important}
 body.apv-booking-page .apv-onepage-payment__methods{grid-template-columns:1fr!important}
 body.apv-booking-page .apv-onepage-payment__footer{grid-template-columns:1fr!important}
 body.apv-booking-page .apv-onepage-payment__submit{width:100%!important;min-width:0!important}
 body.apv-booking-page .apv-res-custom-step{padding:18px 17px 22px!important}
}

/* V24 direct handoff: no Woo cart / checkout page is ever rendered. */
body.apv-booking-page .apv-direct-handoff{min-height:calc(100vh - 84px);display:grid;place-items:center;padding:120px 24px 64px;background:linear-gradient(180deg,#f5f8f4 0%,#fff 100%)}
body.apv-booking-page .apv-direct-handoff__card{width:min(620px,100%);padding:52px;border:1px solid #dde6df;border-radius:26px;background:#fff;box-shadow:0 30px 80px rgba(14,42,26,.10);text-align:center}
body.apv-booking-page .apv-direct-handoff__card .apv-eyebrow{justify-content:center;color:#557061}
body.apv-booking-page .apv-direct-handoff__card h1{margin:12px 0 12px;color:#102a1b;font:900 clamp(30px,4vw,48px)/1.05 Montserrat,sans-serif;letter-spacing:-.04em}
body.apv-booking-page .apv-direct-handoff__card p{margin:0 auto;max-width:480px;color:#68766e;font:600 14px/1.65 Montserrat,sans-serif}
body.apv-booking-page .apv-direct-handoff__loader{display:flex;justify-content:center;gap:8px;margin:28px 0 0}
body.apv-booking-page .apv-direct-handoff__loader i{width:9px;height:9px;border-radius:999px;background:#a8d432;animation:apv24dot 1s ease-in-out infinite}
body.apv-booking-page .apv-direct-handoff__loader i:nth-child(2){animation-delay:.12s}body.apv-booking-page .apv-direct-handoff__loader i:nth-child(3){animation-delay:.24s}
body.apv-booking-page .apv-direct-handoff__error{margin:24px 0 0;padding:14px 16px;border-radius:12px;background:#fff1ef;color:#9a3127;font:700 13px/1.5 Montserrat,sans-serif}
body.apv-booking-page .apv-direct-handoff__card .apv-btn{margin-top:22px}
@keyframes apv24dot{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(-6px);opacity:1}}
@media(max-width:640px){body.apv-booking-page .apv-direct-handoff{padding:96px 16px 40px}body.apv-booking-page .apv-direct-handoff__card{padding:34px 20px;border-radius:20px}}


/* ===== V25 polish: cleaner time selection, stronger mobile, cleaner final form ===== */
body.apv-booking-page .apv-res-summary{position:sticky!important;top:108px!important}
body.apv-booking-page .apv-res-engine-card,body.apv-booking-page .apv-res-summary{border-radius:28px!important;box-shadow:0 24px 64px rgba(12,34,20,.08)!important}
body.apv-booking-page .apv-res-card__head--engine{padding:28px 30px 24px!important;background:linear-gradient(180deg,#fff 0%,#fbfcfb 100%)!important}
body.apv-booking-page .apv-res-card__head--engine p{max-width:620px!important}
body.apv-booking-page .apv-res-live{border-radius:999px!important;padding:10px 14px!important}
body.apv-booking-page .apv-amelia-engine-v24 .am-fs__main-content{padding:26px 30px 30px!important}
body.apv-booking-page .apv-res-summary__top{padding-bottom:14px!important;border-bottom:1px solid #e4ebe5!important}
body.apv-booking-page .apv-res-summary__total{padding-top:14px!important;border-top:1px solid #e4ebe5!important}
body.apv-booking-page .apv-res-secure{border-radius:16px!important}

/* extras cards */
body.apv-booking-page.apv-stage-extras .am-fs__extras-main>.am-collapse{gap:14px!important}
body.apv-booking-page.apv-stage-extras .am-collapse-item{border-radius:18px!important;transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease!important}
body.apv-booking-page.apv-stage-extras .am-collapse-item:hover{transform:translateY(-2px)!important;box-shadow:0 12px 28px rgba(17,39,25,.06)!important}
body.apv-booking-page.apv-stage-extras .am-fs__extras-card__header{min-height:106px!important;padding:18px!important}
body.apv-booking-page.apv-stage-extras .am-fs__extras-card__header-left{font-size:15px!important;line-height:1.4!important}
body.apv-booking-page.apv-stage-extras .am-fs__extras-card__header-right .card-text{font-size:13px!important}
body.apv-booking-page.apv-stage-extras .am-collapse-item__content{padding:0 18px 18px!important;font-size:12px!important}
body.apv-booking-page.apv-stage-extras .el-input-number{width:134px!important;grid-template-columns:42px 50px 42px!important}
body.apv-booking-page.apv-stage-extras .el-input-number .el-input,body.apv-booking-page.apv-stage-extras .el-input-number .el-input__wrapper,body.apv-booking-page.apv-stage-extras .el-input-number .el-input__inner{width:50px!important}
body.apv-booking-page.apv-stage-extras .el-input-number__decrease,body.apv-booking-page.apv-stage-extras .el-input-number__increase{background:#f4f8f2!important}

/* date + time */
body.apv-booking-page.apv-stage-datetime .am-fs__main-content{padding:24px 28px 30px!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__wrapper{grid-template-columns:minmax(0,1fr) 320px!important;gap:18px!important;align-items:stretch!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__header{margin-bottom:2px!important}
body.apv-booking-page.apv-stage-datetime .apv-v23-calendar-title,body.apv-booking-page.apv-stage-datetime .apv-v24-calendar-title{display:grid!important;gap:2px!important;margin-right:auto!important}
body.apv-booking-page.apv-stage-datetime .apv-v23-calendar-title small,body.apv-booking-page.apv-stage-datetime .apv-v24-calendar-title small{color:#849087!important;font:800 10px/1.2 Montserrat,sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important}
body.apv-booking-page.apv-stage-datetime .apv-v23-calendar-title strong,body.apv-booking-page.apv-stage-datetime .apv-v24-calendar-title strong{color:var(--apv24-ink)!important;font:900 24px/1.05 Montserrat,sans-serif!important;letter-spacing:-.04em!important;text-transform:capitalize!important}
body.apv-booking-page.apv-stage-datetime .am-advsc.fc{height:428px!important;border-radius:20px!important}
body.apv-booking-page.apv-stage-datetime .fc-view-harness,body.apv-booking-page.apv-stage-datetime .fc-view-harness-active{height:428px!important;min-height:428px!important;max-height:428px!important}
body.apv-booking-page.apv-stage-datetime .fc-scrollgrid-sync-table{height:384px!important}
body.apv-booking-page.apv-stage-datetime .fc-col-header-cell{padding:8px 0!important;background:#f7faf7!important}
body.apv-booking-page.apv-stage-datetime .fc-col-header-cell-cushion{color:#7a867f!important;font:800 11px/1 Montserrat,sans-serif!important;text-transform:uppercase!important}
body.apv-booking-page.apv-stage-datetime .fc-daygrid-day{height:62px!important;min-height:62px!important}
body.apv-booking-page.apv-stage-datetime .fc-daygrid-day-frame{min-height:62px!important;padding:8px!important}
body.apv-booking-page.apv-stage-datetime .fc-daygrid-day-number{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;border-radius:12px!important;color:#203327!important;font:850 14px/1 Montserrat,sans-serif!important}
body.apv-booking-page.apv-stage-datetime .fc-day-today .fc-daygrid-day-number{background:#eff8d8!important;color:#173c28!important}
body.apv-booking-page.apv-stage-datetime .fc-daygrid-day.fc-day-past{opacity:.44!important}
body.apv-booking-page.apv-stage-datetime .fc-daygrid-day.fc-day-disabled{opacity:.3!important}
body.apv-booking-page.apv-stage-datetime .fc-daygrid-day.fc-day-selected .fc-daygrid-day-number,body.apv-booking-page.apv-stage-datetime .fc-daygrid-day.am-advsc__dayGridMonth-cell__selected .fc-daygrid-day-number,body.apv-booking-page.apv-stage-datetime .fc-daygrid-day[aria-selected="true"] .fc-daygrid-day-number{background:#173c28!important;color:#caff3d!important;box-shadow:0 10px 22px rgba(23,60,40,.18)!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots-wrapper{display:grid!important;grid-template-rows:auto 1fr!important;height:428px!important;max-height:428px!important;padding:18px!important;border-radius:20px!important;background:linear-gradient(180deg,#fbfdfb 0%,#f4f8f4 100%)!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots-heading{margin:0 0 14px!important;padding:0 0 12px!important;color:#203327!important;font:850 13px/1.4 Montserrat,sans-serif!important;white-space:normal!important;overflow:visible!important;word-break:break-word!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots{grid-template-columns:1fr!important;gap:10px!important;max-height:none!important;padding-right:2px!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item{display:block!important;min-height:58px!important;padding:0!important;border-radius:15px!important;overflow:visible!important;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item:hover{transform:translateY(-1px)!important;border-color:#8eac94!important;box-shadow:0 10px 20px rgba(23,60,40,.08)!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item__inner{display:flex!important;align-items:center!important;justify-content:center!important;min-height:58px!important;padding:0 16px!important;font:900 14px/1.15 Montserrat,sans-serif!important;letter-spacing:.01em!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;font-variant-numeric:tabular-nums!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item.am-advsc__slots-item__selected,body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item.apv-is-selected{box-shadow:0 14px 28px rgba(23,60,40,.18)!important}
body.apv-booking-page.apv-stage-datetime .apv-v24-time-placeholder{display:grid!important;place-items:center!important;border:1px dashed #d2ddd4!important;border-radius:16px!important;padding:18px!important;color:#7b877f!important;font:700 13px/1.5 Montserrat,sans-serif!important;background:#fbfcfb!important}

/* final info + payment */
body.apv-booking-page.apv-stage-contact .am-fs__main-content{padding:26px 30px 12px!important}
body.apv-booking-page.apv-stage-contact .am-fs__info-form{gap:16px 18px!important;align-items:start!important}
body.apv-booking-page.apv-stage-contact .el-form-item{display:grid!important;gap:8px!important}
body.apv-booking-page.apv-stage-contact .el-form-item__content{margin:0!important;line-height:1.4!important}
body.apv-booking-page.apv-stage-contact .el-form-item__label{margin:0!important;font-size:12px!important;line-height:1.35!important;color:#274032!important}
body.apv-booking-page.apv-stage-contact .el-input__wrapper,body.apv-booking-page.apv-stage-contact textarea,body.apv-booking-page.apv-stage-contact .m-input-wrapper{padding:0 16px!important;min-height:56px!important;border-radius:14px!important;background:#fff!important}
body.apv-booking-page.apv-stage-contact textarea{padding:14px 16px!important;min-height:110px!important}
body.apv-booking-page.apv-stage-contact .el-input__inner,body.apv-booking-page.apv-stage-contact textarea,body.apv-booking-page.apv-stage-contact .m-input-input{font-size:14px!important}
body.apv-booking-page.apv-stage-contact #am-cf-2 .el-checkbox{min-height:56px!important;border-radius:14px!important}
body.apv-booking-page.apv-stage-contact #am-cf-2 .el-checkbox__label{font-size:13px!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox{border-radius:14px!important;padding:15px 16px!important}
body.apv-booking-page .apv-onepage-payment{margin:14px 30px 30px!important;padding:22px!important;border-radius:20px!important;background:linear-gradient(180deg,#fbfcfb 0%,#f5f8f5 100%)!important}
body.apv-booking-page .apv-onepage-payment__head{align-items:start!important}
body.apv-booking-page .apv-onepage-payment__head h3{font-size:20px!important}
body.apv-booking-page .apv-onepage-payment__head p{font-size:12px!important;line-height:1.55!important}
body.apv-booking-page .apv-onepage-payment__methods{grid-template-columns:1fr!important;gap:12px!important}
body.apv-booking-page .apv-onepage-pay-choice{min-height:72px!important;padding:14px 16px!important;border-radius:16px!important}
body.apv-booking-page .apv-onepage-pay-choice__copy b{font-size:14px!important}
body.apv-booking-page .apv-onepage-pay-choice__copy small{font-size:11px!important;line-height:1.5!important}
body.apv-booking-page .apv-onepage-payment__footer{grid-template-columns:1fr!important;gap:12px!important}
body.apv-booking-page .apv-onepage-payment__submit{width:100%!important;min-width:0!important;min-height:58px!important;border-radius:15px!important;font-size:14px!important}

/* mobile app-like */
@media(max-width:1120px){
 body.apv-booking-page .apv-res-layout{grid-template-columns:1fr!important;gap:16px!important}
 body.apv-booking-page .apv-res-summary{position:relative!important;top:auto!important;order:-1!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__wrapper{grid-template-columns:1fr!important;grid-template-areas:"header" "calendar" "slots"!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-wrapper{height:auto!important;max-height:none!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots{max-height:320px!important}
}
@media(max-width:760px){
 body.apv-booking-page .apv-booking-v2-hero__inner{display:grid!important;gap:16px!important}
 body.apv-booking-page .apv-booking-v2-hero h1{font-size:34px!important;line-height:1.02!important;letter-spacing:-.05em!important}
 body.apv-booking-page .apv-booking-v2-hero__proof{grid-template-columns:1fr!important;gap:10px!important}
 body.apv-booking-page .apv-res-progress{overflow:auto hidden!important;padding-bottom:4px!important}
 body.apv-booking-page .apv-res-card__head--engine{padding:20px 18px 18px!important}
 body.apv-booking-page .apv-res-card__head--engine h2{font-size:24px!important}
 body.apv-booking-page .apv-amelia-engine-v24 .am-fs__main-content,body.apv-booking-page.apv-stage-datetime .am-fs__main-content,body.apv-booking-page.apv-stage-contact .am-fs__main-content{padding:18px!important}
 body.apv-booking-page .apv-res-custom-step{padding:18px!important}
 body.apv-booking-page .apv-res-summary{border-radius:22px!important}
 body.apv-booking-page.apv-stage-extras .am-fs__extras-main>.am-collapse{grid-template-columns:1fr!important}
 body.apv-booking-page.apv-stage-extras .am-fs__extras-card__header{grid-template-columns:1fr!important;align-items:start!important;gap:12px!important}
 body.apv-booking-page.apv-stage-extras .am-fs__extras-card__header-right{justify-content:space-between!important;width:100%!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc.fc,body.apv-booking-page.apv-stage-datetime .fc-view-harness,body.apv-booking-page.apv-stage-datetime .fc-view-harness-active{height:388px!important;min-height:388px!important;max-height:388px!important}
 body.apv-booking-page.apv-stage-datetime .fc-scrollgrid-sync-table{height:344px!important}
 body.apv-booking-page.apv-stage-datetime .fc-daygrid-day{height:56px!important;min-height:56px!important}
 body.apv-booking-page.apv-stage-datetime .fc-daygrid-day-number{width:36px!important;height:36px!important;font-size:13px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-wrapper{padding:16px!important;border-radius:18px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots{grid-template-columns:1fr!important;max-height:none!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item__inner{min-height:56px!important;font-size:14px!important;padding:0 12px!important}
 body.apv-booking-page.apv-stage-contact .am-fs__info-form{grid-template-columns:1fr!important}
 body.apv-booking-page.apv-stage-contact .am-info-first-name,body.apv-booking-page.apv-stage-contact .am-info-last-name,body.apv-booking-page.apv-stage-contact .am-info-email,body.apv-booking-page.apv-stage-contact .am-fs__info-form>.el-form-item:has(.am-input-phone-wrapper),body.apv-booking-page.apv-stage-contact #am-cf-2,body.apv-booking-page.apv-stage-contact #am-cf-3,body.apv-booking-page.apv-stage-contact #am-cf-5{grid-column:1!important}
 body.apv-booking-page .apv-onepage-payment{margin:10px 18px 22px!important;padding:18px!important;border-radius:18px!important}
}

/* ===== V26 FINAL: compact mobile booking + invoice + single NeoPay flow ===== */
body.apv-booking-page .apv-onepage-payment__legal{display:block!important;margin:16px 0 0;padding:14px 16px;border-radius:14px;background:#eef4ed!important;color:#647269!important}
body.apv-booking-page .apv-onepage-payment__legal p{margin:0!important;font:600 10px/1.55 Montserrat,sans-serif!important}
body.apv-booking-page .apv-onepage-payment__legal a{color:#173c28!important;font-weight:850!important;text-decoration:underline!important;text-underline-offset:2px!important}
body.apv-booking-page .apv-onepage-pay-choice--single{cursor:default!important;background:#fff!important;border-color:#d7e2da!important;box-shadow:none!important}
body.apv-booking-page .apv-onepage-pay-choice--single .apv-onepage-pay-choice__mark{border:6px solid #173c28!important}
body.apv-booking-page .apv-onepage-pay-choice--single .apv-onepage-pay-choice__check{display:grid!important;place-items:center!important;width:28px;height:28px;border-radius:50%;background:#caff3d;color:#102217;font:900 12px/1 Montserrat,sans-serif!important}

body.apv-booking-page .apv-invoice-request{margin-top:16px;padding-top:16px;border-top:1px solid #e1e8e2!important}
body.apv-booking-page .apv-invoice-toggle{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;padding:14px 15px!important;border:1px solid #dbe4dd!important;border-radius:15px!important;background:#fff!important;cursor:pointer!important}
body.apv-booking-page .apv-invoice-toggle input{position:absolute!important;opacity:0!important;pointer-events:none!important}
body.apv-booking-page .apv-invoice-toggle__box{display:grid!important;place-items:center!important;width:24px!important;height:24px!important;border:2px solid #b9c6bc!important;border-radius:7px!important;background:#fff!important;color:transparent!important;font:900 12px/1 Montserrat,sans-serif!important}
body.apv-booking-page .apv-invoice-toggle input:checked+.apv-invoice-toggle__box{border-color:#173c28!important;background:#173c28!important;color:#caff3d!important}
body.apv-booking-page .apv-invoice-toggle>span:last-child{display:grid!important;gap:4px!important}
body.apv-booking-page .apv-invoice-toggle b{color:#102217!important;font:850 13px/1.25 Montserrat,sans-serif!important}
body.apv-booking-page .apv-invoice-toggle small{color:#738078!important;font:550 10px/1.45 Montserrat,sans-serif!important}
body.apv-booking-page .apv-invoice-fields{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;margin-top:12px!important;padding:16px!important;border:1px solid #dfe7e1!important;border-radius:16px!important;background:#f8faf8!important}
body.apv-booking-page .apv-invoice-fields[hidden]{display:none!important}
body.apv-booking-page .apv-invoice-fields label{display:grid!important;gap:7px!important;min-width:0!important}
body.apv-booking-page .apv-invoice-fields label>span{color:#304337!important;font:800 10px/1.3 Montserrat,sans-serif!important}
body.apv-booking-page .apv-invoice-fields input{width:100%!important;min-width:0!important;height:50px!important;padding:0 13px!important;border:1px solid #d7e1d9!important;border-radius:12px!important;background:#fff!important;color:#102217!important;font:650 12px/1 Montserrat,sans-serif!important;outline:0!important;box-shadow:none!important}
body.apv-booking-page .apv-invoice-fields input:focus{border-color:#78947f!important;box-shadow:0 0 0 3px rgba(23,60,40,.08)!important}
body.apv-booking-page .apv-invoice-fields__wide{grid-column:1/-1!important}

/* Compact, aligned date/time */
body.apv-booking-page.apv-stage-datetime .am-advsc__wrapper{grid-template-columns:minmax(0,1fr) 330px!important;gap:18px!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots-wrapper{height:428px!important;max-height:428px!important;padding:18px!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots{grid-template-columns:1fr!important;gap:9px!important;align-content:start!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item{min-height:54px!important;height:54px!important;padding:0 14px!important;overflow:visible!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item__inner{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;min-height:52px!important;padding:0!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;font:900 13px/1 Montserrat,sans-serif!important;letter-spacing:-.01em!important;font-variant-numeric:tabular-nums!important}
body.apv-booking-page.apv-stage-datetime .am-advsc__slots-heading{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:13px!important}

/* Contact alignment */
body.apv-booking-page.apv-stage-contact .am-fs__info-form>.el-form-item{display:grid!important;grid-template-rows:auto auto!important;align-content:start!important;gap:7px!important}
body.apv-booking-page.apv-stage-contact .el-form-item__label{min-height:16px!important;display:flex!important;align-items:end!important;margin:0!important;padding:0!important}
body.apv-booking-page.apv-stage-contact .el-form-item__content{display:block!important;min-width:0!important;margin:0!important}
body.apv-booking-page.apv-stage-contact .el-input__wrapper,body.apv-booking-page.apv-stage-contact .m-input-wrapper{height:54px!important;min-height:54px!important;padding:0 14px!important}
body.apv-booking-page.apv-stage-contact .el-input__inner,body.apv-booking-page.apv-stage-contact .m-input-input{height:52px!important;line-height:52px!important;padding:0!important}
body.apv-booking-page.apv-stage-contact .m-input-phone-number{height:54px!important;align-items:stretch!important}

/* tablet: summary after the action, never before the form */
@media(max-width:1120px){
 body.apv-booking-page .apv-res-summary{order:2!important;position:relative!important;top:auto!important}
 body.apv-booking-page .apv-res-engine-card{order:1!important}
}

/* Phone = app-like, compact, touch-safe */
@media(max-width:700px){
 body.apv-booking-page{background:#f1f5f1!important}
 body.apv-booking-page .apv-booking-v2-hero{padding:96px 0 24px!important;min-height:0!important}
 body.apv-booking-page .apv-booking-v2-hero:after{display:none!important}
 body.apv-booking-page .apv-booking-v2-hero__inner{gap:14px!important}
 body.apv-booking-page .apv-booking-v2-hero h1{max-width:340px!important;font-size:33px!important;line-height:1!important;letter-spacing:-.055em!important}
 body.apv-booking-page .apv-booking-v2-hero p{margin-top:12px!important;font-size:11px!important;line-height:1.55!important}
 body.apv-booking-page .apv-booking-v2-hero__proof{display:flex!important;min-width:0!important;max-width:none!important;gap:7px!important;border:0!important;background:transparent!important;overflow:auto!important;backdrop-filter:none!important}
 body.apv-booking-page .apv-booking-v2-hero__proof>span{flex:0 0 auto!important;display:flex!important;align-items:center!important;gap:7px!important;padding:8px 10px!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:999px!important;background:rgba(255,255,255,.07)!important}
 body.apv-booking-page .apv-booking-v2-hero__proof svg{width:15px!important;height:15px!important;margin:0!important}
 body.apv-booking-page .apv-booking-v2-hero__proof b{font-size:9px!important}.apv-booking-v2-hero__proof small{display:none!important}
 body.apv-booking-page .apv-booking-v2-workspace{padding:13px 0 42px!important}
 body.apv-booking-page .apv-res-progress{position:sticky!important;top:72px!important;z-index:20!important;margin:0 0 10px!important;padding:8px 12px!important;border:1px solid #dfe7e1!important;border-radius:16px!important;background:rgba(248,251,248,.94)!important;backdrop-filter:blur(14px)!important;box-shadow:0 8px 28px rgba(16,34,23,.05)!important}
 body.apv-booking-page .apv-res-progress span{min-width:0!important}.apv-res-progress span b{width:25px!important;height:25px!important}.apv-res-progress>em{margin:0 5px!important}
 body.apv-booking-page .apv-res-layout{gap:12px!important}
 body.apv-booking-page .apv-res-engine-card,body.apv-booking-page .apv-res-summary{border-radius:22px!important;box-shadow:0 12px 34px rgba(16,34,23,.05)!important}
 body.apv-booking-page .apv-res-card__head--engine{padding:17px 16px 14px!important}
 body.apv-booking-page .apv-res-card__head--engine h2{font-size:22px!important;line-height:1.04!important}
 body.apv-booking-page .apv-res-card__head--engine p{font-size:10px!important;line-height:1.45!important}
 body.apv-booking-page .apv-res-step-label{font-size:8px!important}
 body.apv-booking-page .apv-amelia-engine-v24 .am-fs__main-content,body.apv-booking-page.apv-stage-datetime .am-fs__main-content,body.apv-booking-page.apv-stage-contact .am-fs__main-content{padding:14px!important}
 body.apv-booking-page .apv-res-custom-step{padding:14px!important}
 body.apv-booking-page .apv-res-configurator{gap:11px!important}
 body.apv-booking-page .apv-res-field{gap:6px!important}
 body.apv-booking-page .apv-res-field label{font-size:11px!important}
 body.apv-booking-page .apv-res-field small{font-size:9px!important}
 body.apv-booking-page .apv-res-quick{padding:14px 12px 3px!important}
 body.apv-booking-page .apv-res-quick__head{margin-bottom:10px!important}
 body.apv-booking-page .apv-res-service-card{flex-basis:82%!important;min-height:72px!important;border-radius:14px!important}
 body.apv-booking-page .apv-res-people-control{height:44px!important;grid-template-columns:44px 58px 44px!important}.apv-res-people-control button,.apv-res-people-control input{height:44px!important;line-height:44px!important}
 body.apv-booking-page .apv-res-live-price{min-height:64px!important;padding:12px!important}
 body.apv-booking-page .apv-res-custom-actions{padding-top:4px!important}.apv-res-custom-continue{width:100%!important;min-height:52px!important}

 body.apv-booking-page.apv-stage-extras .am-fs__extras-main>.am-collapse{gap:9px!important}
 body.apv-booking-page.apv-stage-extras .am-fs__extras-card__header{grid-template-columns:minmax(0,1fr) auto!important;min-height:76px!important;padding:12px!important;gap:10px!important}
 body.apv-booking-page.apv-stage-extras .am-fs__extras-card__header-left{font-size:12px!important;line-height:1.3!important}
 body.apv-booking-page.apv-stage-extras .am-fs__extras-card__header-right{width:auto!important;gap:7px!important}
 body.apv-booking-page.apv-stage-extras .am-fs__extras-card__header-right .card-text{min-width:44px!important;font-size:10px!important}
 body.apv-booking-page.apv-stage-extras .el-input-number{width:112px!important;height:38px!important;grid-template-columns:36px 40px 36px!important;grid-template-rows:38px!important}
 body.apv-booking-page.apv-stage-extras .el-input-number__decrease,body.apv-booking-page.apv-stage-extras .el-input-number__increase{width:36px!important;height:38px!important}.apv-stage-extras .el-input-number .el-input,.apv-stage-extras .el-input-number .el-input__wrapper,.apv-stage-extras .el-input-number .el-input__inner{width:40px!important;height:38px!important;line-height:38px!important}
 body.apv-booking-page.apv-stage-extras .am-collapse-item__content{padding:0 12px 12px!important;font-size:9px!important}
 body.apv-booking-page.apv-stage-extras .am-fs__main-footer{padding:10px 14px 14px!important}.apv-stage-extras .am-button-continue{min-height:50px!important}

 body.apv-booking-page.apv-stage-datetime .am-advsc__wrapper{gap:10px!important;grid-template-columns:1fr!important;grid-template-areas:"header" "calendar" "slots"!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__header{min-height:40px!important}
 body.apv-booking-page.apv-stage-datetime .apv-v23-calendar-title strong,body.apv-booking-page.apv-stage-datetime .apv-v24-calendar-title strong{font-size:19px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__header .am-button{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc.fc,body.apv-booking-page.apv-stage-datetime .fc-view-harness,body.apv-booking-page.apv-stage-datetime .fc-view-harness-active{height:326px!important;min-height:326px!important;max-height:326px!important;border-radius:16px!important}
 body.apv-booking-page.apv-stage-datetime .fc-scrollgrid-sync-table{height:286px!important}
 body.apv-booking-page.apv-stage-datetime .fc-col-header-cell{padding:5px 0!important}.apv-stage-datetime .fc-col-header-cell-cushion{font-size:9px!important}
 body.apv-booking-page.apv-stage-datetime .fc-daygrid-day{height:46px!important;min-height:46px!important}.apv-stage-datetime .fc-daygrid-day-frame{min-height:46px!important;padding:4px!important}.apv-stage-datetime .fc-daygrid-day-number{width:32px!important;height:32px!important;border-radius:10px!important;font-size:11px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-wrapper{height:auto!important;max-height:none!important;padding:12px!important;border-radius:16px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-heading{margin-bottom:10px!important;padding-bottom:9px!important;font-size:11px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;max-height:none!important;overflow:visible!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item{height:48px!important;min-height:48px!important;padding:0 6px!important;border-radius:12px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item__inner{min-height:46px!important;font-size:11px!important;letter-spacing:-.02em!important;white-space:nowrap!important}

 body.apv-booking-page.apv-stage-contact .am-fs__info-form{gap:10px!important}
 body.apv-booking-page.apv-stage-contact .el-form-item{gap:5px!important}
 body.apv-booking-page.apv-stage-contact .el-form-item__label{font-size:10px!important;min-height:13px!important}
 body.apv-booking-page.apv-stage-contact .el-input__wrapper,body.apv-booking-page.apv-stage-contact .m-input-wrapper{height:48px!important;min-height:48px!important;border-radius:11px!important;padding:0 12px!important}
 body.apv-booking-page.apv-stage-contact .el-input__inner,body.apv-booking-page.apv-stage-contact .m-input-input{height:46px!important;line-height:46px!important;font-size:12px!important}
 body.apv-booking-page.apv-stage-contact textarea{min-height:78px!important;padding:10px 12px!important;border-radius:11px!important;font-size:12px!important}
 body.apv-booking-page.apv-stage-contact .m-input-phone-number{height:48px!important;grid-template-columns:82px minmax(0,1fr)!important;gap:6px!important}.apv-stage-contact .m-input-phone-number__country-select{width:82px!important;min-width:82px!important;max-width:82px!important}
 body.apv-booking-page.apv-stage-contact #am-cf-2 .el-checkbox{min-height:46px!important;padding:0 11px!important}.apv-stage-contact #am-cf-2 .el-checkbox__label{font-size:10px!important}
 body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox{padding:10px 11px!important}.apv-stage-contact #am-cf-5 .el-checkbox__label{font-size:9px!important;line-height:1.4!important}
 body.apv-booking-page .apv-onepage-payment{margin:8px 14px 16px!important;padding:14px!important;border-radius:16px!important}
 body.apv-booking-page .apv-onepage-payment__head{margin-bottom:10px!important;padding-bottom:10px!important}.apv-onepage-payment__head h3{font-size:17px!important}.apv-onepage-payment__head p{font-size:9px!important}
 body.apv-booking-page .apv-onepage-pay-choice{min-height:60px!important;padding:11px!important;border-radius:13px!important}.apv-onepage-pay-choice__copy b{font-size:12px!important}.apv-onepage-pay-choice__copy small{font-size:9px!important}
 body.apv-booking-page .apv-invoice-request{margin-top:12px!important;padding-top:12px!important}.apv-invoice-toggle{padding:11px!important;border-radius:13px!important}.apv-invoice-toggle b{font-size:11px!important}.apv-invoice-toggle small{font-size:9px!important}
 body.apv-booking-page .apv-invoice-fields{grid-template-columns:1fr!important;gap:9px!important;padding:12px!important}.apv-invoice-fields__wide{grid-column:auto!important}.apv-invoice-fields input{height:46px!important;font-size:11px!important}
 body.apv-booking-page .apv-onepage-payment__legal{padding:11px!important;margin-top:11px!important}.apv-onepage-payment__legal p{font-size:9px!important}
 body.apv-booking-page .apv-onepage-payment__footer{margin-top:11px!important;padding-top:11px!important;gap:8px!important}.apv-onepage-payment__submit{min-height:52px!important;font-size:12px!important}.apv-onepage-payment__footer>small{font-size:8px!important}

 body.apv-booking-page .apv-res-summary{order:2!important;padding:12px!important}
 body.apv-booking-page .apv-res-summary__visual{display:none!important}
 body.apv-booking-page .apv-res-summary__list{display:grid!important;grid-template-columns:1fr 1fr!important;margin:8px 0!important;border:0!important;gap:7px!important}.apv-res-summary__list>div{display:grid!important;gap:3px!important;padding:9px!important;border:1px solid #e3e9e4!important;border-radius:11px!important}.apv-res-summary__list dt{font-size:8px!important}.apv-res-summary__list dd{text-align:left!important;font-size:9px!important}
 body.apv-booking-page .apv-res-summary__extras{padding:9px!important;margin:0 0 8px!important;border:1px solid #e3e9e4!important;border-radius:11px!important}.apv-res-summary__price{padding:9px 2px!important}.apv-res-summary__price>b{font-size:20px!important}
 body.apv-booking-page .apv-booking-v2-info{display:none!important}
}

@media(max-width:360px){body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item__inner{font-size:10px!important}body.apv-booking-page.apv-stage-extras .am-fs__extras-card__header{grid-template-columns:1fr!important}.apv-stage-extras .am-fs__extras-card__header-right{width:100%!important;justify-content:space-between!important}}


/* ===== V27 FINAL AUTHORITATIVE OVERRIDES ===== */
/* One real Amelia root. */
body.apv-booking-page .apv-amelia-engine-v30{width:100%!important;max-width:none!important;min-width:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-family:Montserrat,sans-serif!important;--am-font-family:Montserrat,sans-serif!important}
body.apv-booking-page .apv-amelia-engine-v30 .am-fs-sb,body.apv-booking-page .apv-amelia-engine-v30 .am-fs__main-heading{display:none!important}
body.apv-booking-page .apv-amelia-engine-v30 .am-fs__main,body.apv-booking-page .apv-amelia-engine-v30 .am-fs__main-inner{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;box-shadow:none!important}
body.apv-booking-page .apv-amelia-engine-v30 .am-fs__main-content{width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box!important}

/* Remove the duplicated Amelia invoice question completely. */
body.apv-booking-page.apv-stage-contact #am-cf-2,body.apv-booking-page .apv-native-invoice-legacy{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}

/* Contact / checkout: one visual system, selected text always readable. */
body.apv-booking-page.apv-stage-contact .am-fs__info-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 18px!important;align-items:start!important;margin:0!important;padding:0!important}
body.apv-booking-page.apv-stage-contact .am-fs__info-form>.el-form-item{display:grid!important;grid-template-rows:auto auto!important;gap:7px!important;min-width:0!important;width:100%!important;margin:0!important;padding:0!important}
body.apv-booking-page.apv-stage-contact .am-info-first-name{grid-column:1!important}
body.apv-booking-page.apv-stage-contact .am-info-last-name{grid-column:2!important}
body.apv-booking-page.apv-stage-contact .am-info-email{grid-column:1!important}
body.apv-booking-page.apv-stage-contact .am-fs__info-form>.el-form-item:has(.am-input-phone-wrapper){grid-column:2!important}
body.apv-booking-page.apv-stage-contact #am-cf-3,body.apv-booking-page.apv-stage-contact #am-cf-5{grid-column:1/-1!important}
body.apv-booking-page.apv-stage-contact .el-form-item__label{display:flex!important;align-items:flex-end!important;width:100%!important;min-height:18px!important;margin:0!important;padding:0!important;color:#274032!important;font:850 12px/1.35 Montserrat,sans-serif!important}
body.apv-booking-page.apv-stage-contact .el-form-item__content{display:block!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
body.apv-booking-page.apv-stage-contact .el-input__wrapper,body.apv-booking-page.apv-stage-contact .m-input-wrapper{width:100%!important;height:56px!important;min-height:56px!important;padding:0 15px!important;border:1px solid #d8e2da!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important;box-sizing:border-box!important}
body.apv-booking-page.apv-stage-contact .el-input__inner,body.apv-booking-page.apv-stage-contact .m-input-input{width:100%!important;height:54px!important;min-width:0!important;padding:0!important;color:#102217!important;-webkit-text-fill-color:#102217!important;font:650 14px/54px Montserrat,sans-serif!important;opacity:1!important}
body.apv-booking-page.apv-stage-contact textarea{width:100%!important;min-height:96px!important;padding:13px 15px!important;border:1px solid #d8e2da!important;border-radius:14px!important;background:#fff!important;color:#102217!important;-webkit-text-fill-color:#102217!important;font:650 13px/1.5 Montserrat,sans-serif!important;box-shadow:none!important}
body.apv-booking-page.apv-stage-contact .m-input-phone-number{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;gap:8px!important;width:100%!important;max-width:none!important;height:56px!important;margin:0!important}
body.apv-booking-page.apv-stage-contact .m-input-phone-number__country-select{width:112px!important;min-width:112px!important;max-width:112px!important}
body.apv-booking-page.apv-stage-contact .m-input-phone-number__country-select .m-input-label{display:none!important}
body.apv-booking-page.apv-stage-contact .el-checkbox,body.apv-booking-page.apv-stage-contact .el-checkbox__label,body.apv-booking-page.apv-stage-contact .el-checkbox.is-checked .el-checkbox__label,body.apv-booking-page.apv-stage-contact .el-checkbox__input.is-checked+.el-checkbox__label{color:#102217!important;-webkit-text-fill-color:#102217!important;opacity:1!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox{display:flex!important;align-items:flex-start!important;gap:11px!important;width:100%!important;margin:0!important;padding:15px 16px!important;border:1px solid #dce5de!important;border-radius:14px!important;background:#f7faf7!important;box-sizing:border-box!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox.is-checked{border-color:#78947f!important;background:#eef6e9!important;box-shadow:inset 0 0 0 1px #78947f!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox__label{padding:0!important;color:#53645a!important;-webkit-text-fill-color:#53645a!important;font:650 11px/1.55 Montserrat,sans-serif!important;white-space:normal!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox.is-checked .el-checkbox__label{color:#314639!important;-webkit-text-fill-color:#314639!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox__label a{color:#173c28!important;-webkit-text-fill-color:#173c28!important;font-weight:850!important;text-decoration:underline!important;text-underline-offset:2px!important}
body.apv-booking-page.apv-stage-contact .el-checkbox__inner{display:block!important;opacity:1!important}

body.apv-booking-page.apv-stage-contact .el-checkbox__input.is-checked .el-checkbox__inner{border-color:#173c28!important;background:#173c28!important}
body.apv-booking-page.apv-stage-contact .el-checkbox__input.is-checked .el-checkbox__inner:after{border-color:#caff3d!important}

/* Desktop date/time: 2 real time choices per row, sized so 18 choices fit without the ugly rail scroll. */
@media(min-width:1121px){
 body.apv-booking-page.apv-stage-datetime .am-advsc__wrapper{grid-template-columns:minmax(0,1fr) 390px!important;grid-template-areas:"header header" "calendar slots"!important;gap:18px!important;align-items:stretch!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc.fc,body.apv-booking-page.apv-stage-datetime .fc-view-harness,body.apv-booking-page.apv-stage-datetime .fc-view-harness-active{height:490px!important;min-height:490px!important;max-height:490px!important}
 body.apv-booking-page.apv-stage-datetime .fc-scrollgrid-sync-table{height:436px!important}
 body.apv-booking-page.apv-stage-datetime .fc-daygrid-day{height:70px!important;min-height:70px!important}
 body.apv-booking-page.apv-stage-datetime .fc-daygrid-day-frame{min-height:70px!important;padding:8px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-wrapper{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;height:490px!important;max-height:490px!important;padding:16px!important;overflow:hidden!important;border-radius:20px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-heading{margin:0 0 12px!important;padding:0 0 11px!important;font-size:12px!important;line-height:1.35!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:39px!important;gap:6px!important;align-content:start!important;max-height:none!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;height:39px!important;min-height:39px!important;margin:0!important;padding:0 8px!important;border-radius:11px!important;overflow:hidden!important;box-sizing:border-box!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item__inner{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;height:37px!important;min-height:37px!important;padding:0!important;font:900 11px/1 Montserrat,sans-serif!important;letter-spacing:-.01em!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;font-variant-numeric:tabular-nums!important}
}

/* Tablet: keep two times per row and no sideways clipping. */
@media(min-width:701px) and (max-width:1120px){
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;max-height:none!important;overflow:visible!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item{min-width:0!important;height:46px!important;min-height:46px!important;padding:0 8px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item__inner{min-width:0!important;min-height:44px!important;font-size:12px!important;white-space:nowrap!important}
}

/* Payment / invoice is one aligned checkout block. */
body.apv-booking-page .apv-onepage-payment{margin:12px 30px 30px!important;padding:22px!important;border:1px solid #dbe4dd!important;border-radius:20px!important;background:#f8faf8!important;box-shadow:0 12px 28px rgba(16,34,23,.04)!important}
body.apv-booking-page .apv-onepage-payment__head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:14px!important;margin:0 0 16px!important;padding:0 0 14px!important;border-bottom:1px solid #e0e8e2!important}
body.apv-booking-page .apv-onepage-payment__head h3{margin:4px 0!important;color:#102217!important;font:900 20px/1.2 Montserrat,sans-serif!important;letter-spacing:-.03em!important}
body.apv-booking-page .apv-onepage-payment__head p{max-width:590px!important;margin:0!important;color:#6f7d74!important;font:550 11px/1.55 Montserrat,sans-serif!important}
body.apv-booking-page .apv-onepage-payment__methods{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
body.apv-booking-page .apv-onepage-pay-choice{display:grid!important;grid-template-columns:20px minmax(0,1fr) 30px!important;align-items:center!important;gap:12px!important;min-height:74px!important;padding:14px 16px!important;border:1px solid #d9e3db!important;border-radius:15px!important;background:#fff!important;box-sizing:border-box!important}
body.apv-booking-page .apv-onepage-pay-choice.is-selected{border-color:#78947f!important;background:#f3f8ef!important;box-shadow:inset 0 0 0 1px #78947f!important}
body.apv-booking-page .apv-onepage-pay-choice__copy{display:grid!important;gap:4px!important;min-width:0!important}
body.apv-booking-page .apv-onepage-pay-choice__copy b,body.apv-booking-page .apv-onepage-pay-choice.is-selected .apv-onepage-pay-choice__copy b{color:#102217!important;-webkit-text-fill-color:#102217!important;font:850 14px/1.3 Montserrat,sans-serif!important;opacity:1!important}
body.apv-booking-page .apv-onepage-pay-choice__copy small,body.apv-booking-page .apv-onepage-pay-choice.is-selected .apv-onepage-pay-choice__copy small{color:#67766d!important;-webkit-text-fill-color:#67766d!important;font:550 10px/1.5 Montserrat,sans-serif!important;opacity:1!important}
body.apv-booking-page .apv-onepage-pay-choice__check{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:50%!important;background:#173c28!important;color:#caff3d!important;-webkit-text-fill-color:#caff3d!important;font:900 12px/1 Montserrat,sans-serif!important}
body.apv-booking-page .apv-invoice-request{margin:16px 0 0!important;padding:16px 0 0!important;border-top:1px solid #e0e8e2!important}
body.apv-booking-page .apv-invoice-toggle{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;align-items:start!important;gap:12px!important;width:100%!important;padding:15px 16px!important;border:1px solid #d9e3db!important;border-radius:15px!important;background:#fff!important;box-sizing:border-box!important;cursor:pointer!important}
body.apv-booking-page .apv-invoice-toggle:has(input:checked){border-color:#78947f!important;background:#f3f8ef!important;box-shadow:inset 0 0 0 1px #78947f!important}
body.apv-booking-page .apv-invoice-toggle b{color:#102217!important;-webkit-text-fill-color:#102217!important;font:850 14px/1.3 Montserrat,sans-serif!important}
body.apv-booking-page .apv-invoice-toggle small{color:#6d7b72!important;-webkit-text-fill-color:#6d7b72!important;font:550 10px/1.45 Montserrat,sans-serif!important}
body.apv-booking-page .apv-invoice-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 14px!important;margin-top:12px!important;padding:16px!important;border:1px solid #dce5de!important;border-radius:15px!important;background:#fff!important}
body.apv-booking-page .apv-invoice-fields[hidden]{display:none!important}
body.apv-booking-page .apv-invoice-fields label{display:grid!important;gap:7px!important;min-width:0!important;margin:0!important}
body.apv-booking-page .apv-invoice-fields label>span{color:#304337!important;font:800 10px/1.3 Montserrat,sans-serif!important}
body.apv-booking-page .apv-invoice-fields input{width:100%!important;min-width:0!important;height:50px!important;padding:0 13px!important;border:1px solid #d7e1d9!important;border-radius:12px!important;background:#fff!important;color:#102217!important;-webkit-text-fill-color:#102217!important;font:650 12px/1 Montserrat,sans-serif!important;box-sizing:border-box!important;opacity:1!important}
body.apv-booking-page .apv-onepage-payment__legal{margin:14px 0 0!important;padding:12px 14px!important;border-radius:13px!important;background:#eef4ed!important;color:#5f6f65!important}
body.apv-booking-page .apv-onepage-payment__legal p{margin:0!important;color:#5f6f65!important;font:600 10px/1.55 Montserrat,sans-serif!important}
body.apv-booking-page .apv-onepage-payment__footer{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:14px 0 0!important;padding:14px 0 0!important;border-top:1px solid #e0e8e2!important}
body.apv-booking-page .apv-onepage-payment__submit{width:100%!important;min-width:0!important;min-height:58px!important;border-radius:14px!important;font-size:13px!important}
body.apv-booking-page .apv-onepage-payment__footer>small{font-size:9px!important;line-height:1.45!important;text-align:center!important}

/* Mobile = compact app card, two time choices per row, no giant whitespace. */
@media(max-width:700px){
 body.apv-booking-page .apv-res-progress{top:68px!important}
 body.apv-booking-page .apv-res-card__head--engine{padding:16px 15px 14px!important}
 body.apv-booking-page .apv-res-card__head--engine h2{font-size:21px!important}
 body.apv-booking-page .apv-res-card__head--engine p{font-size:10px!important}
 body.apv-booking-page .apv-amelia-engine-v30 .am-fs__main-content,body.apv-booking-page.apv-stage-contact .am-fs__main-content,body.apv-booking-page.apv-stage-datetime .am-fs__main-content{padding:12px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__wrapper{gap:9px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc.fc,body.apv-booking-page.apv-stage-datetime .fc-view-harness,body.apv-booking-page.apv-stage-datetime .fc-view-harness-active{height:310px!important;min-height:310px!important;max-height:310px!important}
 body.apv-booking-page.apv-stage-datetime .fc-scrollgrid-sync-table{height:270px!important}
 body.apv-booking-page.apv-stage-datetime .fc-daygrid-day{height:43px!important;min-height:43px!important}
 body.apv-booking-page.apv-stage-datetime .fc-daygrid-day-frame{min-height:43px!important;padding:3px!important}
 body.apv-booking-page.apv-stage-datetime .fc-daygrid-day-number{width:30px!important;height:30px!important;font-size:10px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-wrapper{height:auto!important;max-height:none!important;padding:11px!important;border-radius:15px!important;overflow:visible!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-heading{margin:0 0 9px!important;padding:0 0 8px!important;font-size:10px!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;max-height:none!important;overflow:visible!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item{width:100%!important;min-width:0!important;height:46px!important;min-height:46px!important;padding:0 5px!important;border-radius:11px!important;overflow:hidden!important}
 body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item__inner{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;padding:0!important;font-size:10.5px!important;line-height:1!important;letter-spacing:-.025em!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
 body.apv-booking-page.apv-stage-contact .am-fs__info-form{grid-template-columns:1fr!important;gap:10px!important}
 body.apv-booking-page.apv-stage-contact .am-info-first-name,body.apv-booking-page.apv-stage-contact .am-info-last-name,body.apv-booking-page.apv-stage-contact .am-info-email,body.apv-booking-page.apv-stage-contact .am-fs__info-form>.el-form-item:has(.am-input-phone-wrapper),body.apv-booking-page.apv-stage-contact #am-cf-3,body.apv-booking-page.apv-stage-contact #am-cf-5{grid-column:1!important}
 body.apv-booking-page.apv-stage-contact .el-form-item__label{min-height:14px!important;font-size:10px!important}
 body.apv-booking-page.apv-stage-contact .el-input__wrapper,body.apv-booking-page.apv-stage-contact .m-input-wrapper{height:47px!important;min-height:47px!important;padding:0 11px!important;border-radius:11px!important}
 body.apv-booking-page.apv-stage-contact .el-input__inner,body.apv-booking-page.apv-stage-contact .m-input-input{height:45px!important;font:650 12px/45px Montserrat,sans-serif!important}
 body.apv-booking-page.apv-stage-contact textarea{min-height:74px!important;padding:10px 11px!important;border-radius:11px!important;font-size:11px!important}
 body.apv-booking-page.apv-stage-contact .m-input-phone-number{grid-template-columns:78px minmax(0,1fr)!important;gap:6px!important;height:47px!important}
 body.apv-booking-page.apv-stage-contact .m-input-phone-number__country-select{width:78px!important;min-width:78px!important;max-width:78px!important}
 body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox{padding:10px 11px!important;border-radius:11px!important}
 body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox__label{font-size:9px!important;line-height:1.45!important}
 body.apv-booking-page .apv-onepage-payment{margin:7px 12px 14px!important;padding:13px!important;border-radius:15px!important}
 body.apv-booking-page .apv-onepage-payment__head{grid-template-columns:1fr!important;gap:8px!important;margin-bottom:11px!important;padding-bottom:10px!important}
 body.apv-booking-page .apv-onepage-payment__head h3{font-size:17px!important}
 body.apv-booking-page .apv-onepage-payment__head p{font-size:9px!important}
 body.apv-booking-page .apv-onepage-payment__secure{justify-self:start!important;padding:7px 9px!important}
 body.apv-booking-page .apv-onepage-pay-choice{grid-template-columns:18px minmax(0,1fr) 26px!important;gap:9px!important;min-height:62px!important;padding:10px 11px!important;border-radius:12px!important}
 body.apv-booking-page .apv-onepage-pay-choice__copy b{font-size:11px!important}
 body.apv-booking-page .apv-onepage-pay-choice__copy small{font-size:8.5px!important;line-height:1.4!important}
 body.apv-booking-page .apv-onepage-pay-choice__check{width:26px!important;height:26px!important;font-size:10px!important}
 body.apv-booking-page .apv-invoice-request{margin-top:11px!important;padding-top:11px!important}
 body.apv-booking-page .apv-invoice-toggle{grid-template-columns:22px minmax(0,1fr)!important;gap:9px!important;padding:11px!important;border-radius:12px!important}
 body.apv-booking-page .apv-invoice-toggle__box{width:22px!important;height:22px!important;border-radius:6px!important}
 body.apv-booking-page .apv-invoice-toggle b{font-size:11px!important}
 body.apv-booking-page .apv-invoice-toggle small{font-size:8.5px!important}
 body.apv-booking-page .apv-invoice-fields{grid-template-columns:1fr!important;gap:9px!important;margin-top:9px!important;padding:11px!important;border-radius:12px!important}
 body.apv-booking-page .apv-invoice-fields__wide{grid-column:auto!important}
 body.apv-booking-page .apv-invoice-fields input{height:44px!important;font-size:11px!important;border-radius:10px!important}
 body.apv-booking-page .apv-onepage-payment__legal{margin-top:10px!important;padding:10px!important}
 body.apv-booking-page .apv-onepage-payment__legal p{font-size:8.5px!important}
 body.apv-booking-page .apv-onepage-payment__submit{min-height:50px!important;font-size:11px!important}
 body.apv-booking-page .apv-onepage-payment__footer>small{font-size:7.5px!important}
}


/* =========================================================
   V29 FINAL CHECKOUT — one contact form, one payment block,
   one company invoice switch. No duplicated checkout chrome.
   ========================================================= */
body.apv-booking-page.apv-stage-contact .apv-res-engine-card{overflow:visible!important}
body.apv-booking-page.apv-stage-contact .apv-amelia-engine-v30,
body.apv-booking-page.apv-stage-contact .apv-amelia-engine-v30 .am-fs__main,
body.apv-booking-page.apv-stage-contact .apv-amelia-engine-v30 .am-fs__main-inner,
body.apv-booking-page.apv-stage-contact .apv-amelia-engine-v30 .am-fs__main-content{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}

/* The old Amelia invoice custom field is never part of the Alfa Park checkout. */
body.apv-booking-page #am-cf-2,
body.apv-booking-page .apv-native-invoice-legacy,
body.apv-booking-page .apv-native-hidden#am-cf-2{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}

/* Contact area */
body.apv-booking-page.apv-stage-contact .am-fs__main-content{padding:24px 28px 18px!important}
body.apv-booking-page.apv-stage-contact .am-fs__info-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 18px!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}
body.apv-booking-page.apv-stage-contact .am-fs__info-form>.el-form-item{min-width:0!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;box-sizing:border-box!important}
body.apv-booking-page.apv-stage-contact .am-info-first-name{grid-column:1!important}
body.apv-booking-page.apv-stage-contact .am-info-last-name{grid-column:2!important}
body.apv-booking-page.apv-stage-contact .am-info-email{grid-column:1!important}
body.apv-booking-page.apv-stage-contact .am-fs__info-form>.el-form-item:has(.am-input-phone-wrapper){grid-column:2!important}
body.apv-booking-page.apv-stage-contact #am-cf-3,
body.apv-booking-page.apv-stage-contact #am-cf-5{grid-column:1/-1!important}
body.apv-booking-page.apv-stage-contact .el-form-item__label{display:block!important;width:100%!important;height:auto!important;min-height:0!important;margin:0 0 7px!important;padding:0!important;color:#23392c!important;-webkit-text-fill-color:#23392c!important;font:800 11px/1.35 Montserrat,sans-serif!important;box-sizing:border-box!important}
body.apv-booking-page.apv-stage-contact .el-form-item__content,
body.apv-booking-page.apv-stage-contact .am-input-wrapper,
body.apv-booking-page.apv-stage-contact .am-input-phone-wrapper{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;box-sizing:border-box!important}
body.apv-booking-page.apv-stage-contact .el-input__wrapper,
body.apv-booking-page.apv-stage-contact .m-input-wrapper{width:100%!important;max-width:100%!important;min-width:0!important;height:52px!important;min-height:52px!important;padding:0 14px!important;border:1px solid #d7e1d9!important;border-radius:13px!important;background:#fff!important;box-shadow:none!important;box-sizing:border-box!important}
body.apv-booking-page.apv-stage-contact .el-input__inner,
body.apv-booking-page.apv-stage-contact .m-input-input{width:100%!important;min-width:0!important;height:50px!important;margin:0!important;padding:0!important;color:#102217!important;-webkit-text-fill-color:#102217!important;background:transparent!important;font:650 13px/50px Montserrat,sans-serif!important;opacity:1!important;box-sizing:border-box!important}
body.apv-booking-page.apv-stage-contact textarea.el-textarea__inner{width:100%!important;min-height:88px!important;padding:12px 14px!important;border:1px solid #d7e1d9!important;border-radius:13px!important;color:#102217!important;-webkit-text-fill-color:#102217!important;background:#fff!important;font:600 12px/1.5 Montserrat,sans-serif!important;box-shadow:none!important;box-sizing:border-box!important}
body.apv-booking-page.apv-stage-contact .m-input-phone-number{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:8px!important;width:100%!important;max-width:100%!important;min-width:0!important;height:52px!important}
body.apv-booking-page.apv-stage-contact .m-input-phone-number__country-select,
body.apv-booking-page.apv-stage-contact .m-input-phone-number__country-select[style]{width:92px!important;min-width:92px!important;max-width:92px!important}
body.apv-booking-page.apv-stage-contact .m-input-phone-number__country-select .m-input-label{display:none!important}
body.apv-booking-page.apv-stage-contact .m-input-phone-number .m-phone-input{min-width:0!important;width:100%!important}

/* One clean required consent; never show Amelia's negative choice. */
body.apv-booking-page.apv-stage-contact #am-cf-5{margin-top:2px!important;padding-top:2px!important}
body.apv-booking-page.apv-stage-contact #am-cf-5>.el-form-item__label{display:none!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .am-checkbox-group{display:block!important;width:100%!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .apv-rules-negative{display:none!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox{display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;align-items:start!important;gap:10px!important;width:100%!important;min-height:0!important;margin:0!important;padding:13px 14px!important;border:1px solid #d9e3db!important;border-radius:13px!important;background:#f7faf7!important;box-sizing:border-box!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox.is-checked{border-color:#6f8d76!important;background:#eff7e9!important;box-shadow:inset 0 0 0 1px #6f8d76!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox__input{margin-top:1px!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox__label,
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox.is-checked .el-checkbox__label{display:block!important;padding:0!important;color:#4e6055!important;-webkit-text-fill-color:#4e6055!important;font:650 10.5px/1.55 Montserrat,sans-serif!important;white-space:normal!important;opacity:1!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox__label a{color:#173c28!important;-webkit-text-fill-color:#173c28!important;font-weight:850!important;text-decoration:underline!important;text-underline-offset:2px!important}

/* Hide Amelia native footer because Alfa Park has one final CTA only. */
body.apv-booking-page.apv-stage-contact .am-fs__main-footer{display:none!important}

/* Payment: no second checkout heading, no duplicate legal text. */
body.apv-booking-page.apv-stage-contact .apv-onepage-payment{display:block!important;margin:0 28px 28px!important;padding:18px 0 0!important;border:0!important;border-top:1px solid #e0e7e2!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-payment__head,
body.apv-booking-page.apv-stage-contact .apv-onepage-payment__legal{display:none!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-payment__methods{display:grid!important;grid-template-columns:1fr!important;gap:0!important;margin:0!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice{position:relative!important;display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;width:100%!important;min-height:68px!important;margin:0!important;padding:12px 14px!important;border:1px solid #d8e2da!important;border-radius:15px!important;background:#fff!important;box-shadow:none!important;box-sizing:border-box!important;cursor:default!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice input{position:absolute!important;opacity:0!important;pointer-events:none!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice__mark{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border:0!important;border-radius:12px!important;background:#edf5e9!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice__mark:before{content:"✓"!important;color:#173c28!important;font:900 18px/1 Montserrat,sans-serif!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice__copy{display:grid!important;gap:3px!important;min-width:0!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice__copy b,
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice.is-selected .apv-onepage-pay-choice__copy b{color:#102217!important;-webkit-text-fill-color:#102217!important;font:850 13px/1.25 Montserrat,sans-serif!important;opacity:1!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice__copy small,
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice.is-selected .apv-onepage-pay-choice__copy small{color:#69776e!important;-webkit-text-fill-color:#69776e!important;font:550 10px/1.45 Montserrat,sans-serif!important;opacity:1!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice__check{display:block!important;padding:7px 9px!important;border-radius:999px!important;background:#edf5e9!important;color:#45634d!important;-webkit-text-fill-color:#45634d!important;font:850 9px/1 Montserrat,sans-serif!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice__check{font-size:0!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice__check:after{content:"Pasirinkta"!important;font-size:9px!important}

/* Exactly one company invoice switch, under payment. */
body.apv-booking-page.apv-stage-contact .apv-invoice-request{margin:12px 0 0!important;padding:12px 0 0!important;border-top:1px solid #e6ece7!important}
body.apv-booking-page.apv-stage-contact .apv-invoice-toggle{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;align-items:start!important;gap:10px!important;width:100%!important;margin:0!important;padding:13px 14px!important;border:1px solid #d8e2da!important;border-radius:14px!important;background:#fff!important;box-sizing:border-box!important;cursor:pointer!important}
body.apv-booking-page.apv-stage-contact .apv-invoice-toggle:has(input:checked){border-color:#6f8d76!important;background:#f2f8ee!important;box-shadow:inset 0 0 0 1px #6f8d76!important}
body.apv-booking-page.apv-stage-contact .apv-invoice-toggle input{position:absolute!important;opacity:0!important;pointer-events:none!important}
body.apv-booking-page.apv-stage-contact .apv-invoice-toggle__box{display:grid!important;place-items:center!important;width:24px!important;height:24px!important;border:1.5px solid #aebbb1!important;border-radius:7px!important;background:#fff!important;color:transparent!important;font-size:13px!important;box-sizing:border-box!important}
body.apv-booking-page.apv-stage-contact .apv-invoice-toggle:has(input:checked) .apv-invoice-toggle__box{border-color:#173c28!important;background:#173c28!important;color:#caff3d!important}
body.apv-booking-page.apv-stage-contact .apv-invoice-toggle b{display:block!important;color:#102217!important;-webkit-text-fill-color:#102217!important;font:850 12px/1.35 Montserrat,sans-serif!important;opacity:1!important}
body.apv-booking-page.apv-stage-contact .apv-invoice-toggle small{display:block!important;margin-top:2px!important;color:#6d7a72!important;-webkit-text-fill-color:#6d7a72!important;font:550 9.5px/1.45 Montserrat,sans-serif!important;opacity:1!important}
body.apv-booking-page.apv-stage-contact .apv-invoice-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px 12px!important;margin:10px 0 0!important;padding:14px!important;border:1px solid #dce5de!important;border-radius:14px!important;background:#f9fbf9!important;box-sizing:border-box!important}
body.apv-booking-page.apv-stage-contact .apv-invoice-fields[hidden]{display:none!important}
body.apv-booking-page.apv-stage-contact .apv-invoice-fields label{display:grid!important;gap:6px!important;min-width:0!important;margin:0!important}
body.apv-booking-page.apv-stage-contact .apv-invoice-fields__wide{grid-column:1/-1!important}
body.apv-booking-page.apv-stage-contact .apv-invoice-fields label>span{color:#304337!important;-webkit-text-fill-color:#304337!important;font:800 10px/1.3 Montserrat,sans-serif!important}
body.apv-booking-page.apv-stage-contact .apv-invoice-fields input{width:100%!important;min-width:0!important;height:48px!important;padding:0 12px!important;border:1px solid #d7e1d9!important;border-radius:11px!important;background:#fff!important;color:#102217!important;-webkit-text-fill-color:#102217!important;font:650 12px/1 Montserrat,sans-serif!important;opacity:1!important;box-sizing:border-box!important}

body.apv-booking-page.apv-stage-contact .apv-onepage-payment__footer{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin:12px 0 0!important;padding:12px 0 0!important;border-top:1px solid #e6ece7!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-payment__footer>p{margin:0!important;color:#b42318!important;font:750 10px/1.4 Montserrat,sans-serif!important;text-align:center!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-payment__submit{width:100%!important;min-width:0!important;min-height:54px!important;border-radius:14px!important;font-size:13px!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-payment__footer>small{display:none!important}

/* Compact summary so checkout doesn't feel twice as tall as necessary. */
body.apv-booking-page.apv-stage-contact .apv-res-summary__visual{height:150px!important}
body.apv-booking-page.apv-stage-contact .apv-res-summary__price small{display:none!important}

@media(max-width:900px){
 body.apv-booking-page.apv-stage-contact .apv-res-layout{grid-template-columns:1fr!important;gap:12px!important}
 body.apv-booking-page.apv-stage-contact .apv-res-summary{order:-1!important;position:relative!important;top:auto!important;padding:14px!important;border-radius:18px!important}
 body.apv-booking-page.apv-stage-contact .apv-res-summary__visual{display:none!important}
 body.apv-booking-page.apv-stage-contact .apv-res-summary__top{padding-bottom:10px!important}
 body.apv-booking-page.apv-stage-contact .apv-res-summary__list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin:8px 0!important}
 body.apv-booking-page.apv-stage-contact .apv-res-summary__list>div{display:grid!important;gap:3px!important;padding:8px!important;border:1px solid #e2e8e3!important;border-radius:10px!important}
 body.apv-booking-page.apv-stage-contact .apv-res-summary__list dt{font-size:8px!important}
 body.apv-booking-page.apv-stage-contact .apv-res-summary__list dd{font-size:10px!important;text-align:left!important}
 body.apv-booking-page.apv-stage-contact .apv-res-summary__extras{margin:6px 0!important}
 body.apv-booking-page.apv-stage-contact .apv-res-secure{display:none!important}
}

@media(max-width:680px){
 body.apv-booking-page.apv-stage-contact .apv-res-card__head--engine{padding:17px 15px 14px!important}
 body.apv-booking-page.apv-stage-contact .apv-res-card__head--engine h2{font-size:22px!important}
 body.apv-booking-page.apv-stage-contact .apv-res-card__head--engine p{font-size:10px!important;line-height:1.45!important}
 body.apv-booking-page.apv-stage-contact .apv-res-live{display:none!important}
 body.apv-booking-page.apv-stage-contact .am-fs__main-content{padding:14px!important}
 body.apv-booking-page.apv-stage-contact .am-fs__info-form{grid-template-columns:1fr!important;gap:10px!important}
 body.apv-booking-page.apv-stage-contact .am-info-first-name,
 body.apv-booking-page.apv-stage-contact .am-info-last-name,
 body.apv-booking-page.apv-stage-contact .am-info-email,
 body.apv-booking-page.apv-stage-contact .am-fs__info-form>.el-form-item:has(.am-input-phone-wrapper),
 body.apv-booking-page.apv-stage-contact #am-cf-3,
 body.apv-booking-page.apv-stage-contact #am-cf-5{grid-column:1!important}
 body.apv-booking-page.apv-stage-contact .el-form-item__label{margin-bottom:5px!important;font-size:9.5px!important}
 body.apv-booking-page.apv-stage-contact .el-input__wrapper,
 body.apv-booking-page.apv-stage-contact .m-input-wrapper{height:47px!important;min-height:47px!important;padding:0 11px!important;border-radius:11px!important}
 body.apv-booking-page.apv-stage-contact .el-input__inner,
 body.apv-booking-page.apv-stage-contact .m-input-input{height:45px!important;font:650 12px/45px Montserrat,sans-serif!important}
 body.apv-booking-page.apv-stage-contact textarea.el-textarea__inner{min-height:70px!important;padding:9px 11px!important;border-radius:11px!important;font-size:11px!important}
 body.apv-booking-page.apv-stage-contact .m-input-phone-number{grid-template-columns:76px minmax(0,1fr)!important;gap:6px!important;height:47px!important}
 body.apv-booking-page.apv-stage-contact .m-input-phone-number__country-select,
 body.apv-booking-page.apv-stage-contact .m-input-phone-number__country-select[style]{width:76px!important;min-width:76px!important;max-width:76px!important}
 body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox{grid-template-columns:20px minmax(0,1fr)!important;gap:8px!important;padding:10px 11px!important;border-radius:11px!important}
 body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox__label{font-size:9px!important;line-height:1.45!important}
 body.apv-booking-page.apv-stage-contact .apv-onepage-payment{margin:0 14px 16px!important;padding-top:12px!important}
 body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice{grid-template-columns:36px minmax(0,1fr)!important;gap:9px!important;min-height:58px!important;padding:10px!important;border-radius:12px!important}
 body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice__mark{width:36px!important;height:36px!important;border-radius:10px!important}
 body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice__copy b{font-size:11px!important}
 body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice__copy small{font-size:8.5px!important}
 body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice__check{display:none!important}
 body.apv-booking-page.apv-stage-contact .apv-invoice-request{margin-top:9px!important;padding-top:9px!important}
 body.apv-booking-page.apv-stage-contact .apv-invoice-toggle{grid-template-columns:22px minmax(0,1fr)!important;gap:8px!important;padding:10px!important;border-radius:11px!important}
 body.apv-booking-page.apv-stage-contact .apv-invoice-toggle__box{width:22px!important;height:22px!important;border-radius:6px!important}
 body.apv-booking-page.apv-stage-contact .apv-invoice-toggle b{font-size:10.5px!important}
 body.apv-booking-page.apv-stage-contact .apv-invoice-toggle small{font-size:8px!important}
 body.apv-booking-page.apv-stage-contact .apv-invoice-fields{grid-template-columns:1fr!important;gap:8px!important;margin-top:8px!important;padding:10px!important;border-radius:11px!important}
 body.apv-booking-page.apv-stage-contact .apv-invoice-fields__wide{grid-column:1!important}
 body.apv-booking-page.apv-stage-contact .apv-invoice-fields input{height:43px!important;border-radius:9px!important;font-size:11px!important}
 body.apv-booking-page.apv-stage-contact .apv-onepage-payment__footer{margin-top:9px!important;padding-top:9px!important}
 body.apv-booking-page.apv-stage-contact .apv-onepage-payment__submit{min-height:49px!important;border-radius:12px!important;font-size:11px!important}
 body.apv-booking-page.apv-stage-contact .apv-res-summary{padding:11px!important}
 body.apv-booking-page.apv-stage-contact .apv-res-summary__list{gap:4px!important}
 body.apv-booking-page.apv-stage-contact .apv-res-summary__list>div{padding:6px!important}
}

/* =========================================================
   V30 FINAL POLISH — invoice lives inside contact form before
   optional notes, one visual checkout, readable selected states.
   ========================================================= */
body.apv-booking-page .apv-amelia-engine-v30,
body.apv-booking-page .apv-amelia-engine-v30 .am-fs__main,
body.apv-booking-page .apv-amelia-engine-v30 .am-fs__main-inner,
body.apv-booking-page .apv-amelia-engine-v30 .am-fs__main-content{
  width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
}

/* Native invoice is legacy only. */
body.apv-booking-page #am-cf-2,
body.apv-booking-page .apv-native-invoice-legacy{display:none!important;visibility:hidden!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}

/* Contact form reads as one coherent checkout card. */
body.apv-booking-page.apv-stage-contact .am-fs__info-form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:15px 16px!important;
  padding:2px 0 4px!important;
}
body.apv-booking-page.apv-stage-contact .am-fs__info-form>.el-form-item{margin:0!important;min-width:0!important}
body.apv-booking-page.apv-stage-contact .am-info-first-name{grid-column:1!important}
body.apv-booking-page.apv-stage-contact .am-info-last-name{grid-column:2!important}
body.apv-booking-page.apv-stage-contact .am-info-email{grid-column:1!important}
body.apv-booking-page.apv-stage-contact .am-fs__info-form>.el-form-item:has(.am-input-phone-wrapper){grid-column:2!important}
body.apv-booking-page.apv-stage-contact #am-cf-3,
body.apv-booking-page.apv-stage-contact #am-cf-5{grid-column:1/-1!important}

/* Company invoice is now a normal part of the form, before optional notes. */
body.apv-booking-page.apv-stage-contact .apv-invoice-inline{
  display:block!important;
  grid-column:1/-1!important;
  width:100%!important;
  margin:2px 0 0!important;
  padding:0!important;
  border:0!important;
  min-width:0!important;
}
body.apv-booking-page.apv-stage-contact .apv-invoice-inline .apv-invoice-toggle{
  display:grid!important;
  grid-template-columns:25px minmax(0,1fr)!important;
  align-items:start!important;
  gap:11px!important;
  width:100%!important;
  padding:14px 15px!important;
  border:1px solid #d7e1d9!important;
  border-radius:14px!important;
  background:#f7faf7!important;
  color:#102217!important;
  box-sizing:border-box!important;
}
body.apv-booking-page.apv-stage-contact .apv-invoice-inline .apv-invoice-toggle:has(input:checked){
  border-color:#6c8b73!important;background:#edf6e9!important;box-shadow:inset 0 0 0 1px #6c8b73!important;
}
body.apv-booking-page.apv-stage-contact .apv-invoice-inline .apv-invoice-toggle b,
body.apv-booking-page.apv-stage-contact .apv-invoice-inline .apv-invoice-toggle:has(input:checked) b{
  color:#102217!important;-webkit-text-fill-color:#102217!important;font:850 12px/1.35 Montserrat,sans-serif!important;opacity:1!important;
}
body.apv-booking-page.apv-stage-contact .apv-invoice-inline .apv-invoice-toggle small,
body.apv-booking-page.apv-stage-contact .apv-invoice-inline .apv-invoice-toggle:has(input:checked) small{
  display:block!important;margin-top:3px!important;color:#647269!important;-webkit-text-fill-color:#647269!important;font:550 9.5px/1.45 Montserrat,sans-serif!important;opacity:1!important;
}
body.apv-booking-page.apv-stage-contact .apv-invoice-inline .apv-invoice-fields{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 12px!important;
  margin:10px 0 0!important;padding:14px!important;border:1px solid #dce5de!important;border-radius:14px!important;background:#fbfcfb!important;
}
body.apv-booking-page.apv-stage-contact .apv-invoice-inline .apv-invoice-fields[hidden]{display:none!important}
body.apv-booking-page.apv-stage-contact .apv-invoice-inline .apv-invoice-fields__wide{grid-column:1/-1!important}
body.apv-booking-page.apv-stage-contact .apv-invoice-inline .apv-invoice-fields label{display:grid!important;gap:6px!important;min-width:0!important}
body.apv-booking-page.apv-stage-contact .apv-invoice-inline .apv-invoice-fields label>span{color:#304337!important;-webkit-text-fill-color:#304337!important;font:800 10px/1.3 Montserrat,sans-serif!important}
body.apv-booking-page.apv-stage-contact .apv-invoice-inline .apv-invoice-fields input{width:100%!important;height:48px!important;padding:0 12px!important;border:1px solid #d7e1d9!important;border-radius:11px!important;background:#fff!important;color:#102217!important;-webkit-text-fill-color:#102217!important;font:650 12px/1 Montserrat,sans-serif!important}

/* Notes follow invoice naturally and stay visually secondary. */
body.apv-booking-page.apv-stage-contact #am-cf-3{padding-top:2px!important}
body.apv-booking-page.apv-stage-contact #am-cf-3 textarea{background:#fbfcfb!important}

/* Consent is the final form item before payment. */
body.apv-booking-page.apv-stage-contact #am-cf-5{margin-top:1px!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox,
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox.is-checked{color:#46584d!important;-webkit-text-fill-color:#46584d!important}
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox__label,
body.apv-booking-page.apv-stage-contact #am-cf-5 .el-checkbox.is-checked .el-checkbox__label{color:#46584d!important;-webkit-text-fill-color:#46584d!important;opacity:1!important}

/* Payment is no longer a second checkout — just the final payment row + CTA. */
body.apv-booking-page.apv-stage-contact .apv-onepage-payment{
  display:block!important;margin:8px 28px 28px!important;padding:14px 0 0!important;border:0!important;border-top:1px solid #e1e8e2!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
body.apv-booking-page.apv-stage-contact .apv-onepage-payment .apv-invoice-request{display:none!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-payment__methods{display:block!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice{
  display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;gap:11px!important;align-items:center!important;
  min-height:62px!important;padding:11px 13px!important;border:1px solid #d9e2db!important;border-radius:14px!important;background:#f8faf8!important;
}
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice__mark{width:38px!important;height:38px!important;border-radius:11px!important;background:#eaf3e6!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice__copy b,
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice.is-selected .apv-onepage-pay-choice__copy b{color:#102217!important;-webkit-text-fill-color:#102217!important;font-size:12.5px!important;opacity:1!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice__copy small,
body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice.is-selected .apv-onepage-pay-choice__copy small{color:#65736a!important;-webkit-text-fill-color:#65736a!important;font-size:9.5px!important;opacity:1!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-payment__footer{margin-top:10px!important;padding-top:10px!important}
body.apv-booking-page.apv-stage-contact .apv-onepage-payment__submit{min-height:54px!important;background:#b9ff38!important;color:#0b1710!important;-webkit-text-fill-color:#0b1710!important;font-weight:900!important}

/* Keep time choices genuinely two-per-row on desktop and compact on mobile. */
@media(min-width:901px){
  body.apv-booking-page.apv-stage-datetime .am-advsc__slots{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;align-content:start!important;overflow:visible!important;max-height:none!important}
  body.apv-booking-page.apv-stage-datetime .am-advsc__slots-wrapper{height:auto!important;max-height:none!important;overflow:visible!important}
  body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item{min-width:0!important}
  body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item__inner{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
}

@media(max-width:680px){
  body.apv-booking-page.apv-stage-contact .am-fs__info-form{grid-template-columns:1fr!important;gap:10px!important}
  body.apv-booking-page.apv-stage-contact .am-info-first-name,
  body.apv-booking-page.apv-stage-contact .am-info-last-name,
  body.apv-booking-page.apv-stage-contact .am-info-email,
  body.apv-booking-page.apv-stage-contact .am-fs__info-form>.el-form-item:has(.am-input-phone-wrapper),
  body.apv-booking-page.apv-stage-contact .apv-invoice-inline,
  body.apv-booking-page.apv-stage-contact #am-cf-3,
  body.apv-booking-page.apv-stage-contact #am-cf-5{grid-column:1!important}
  body.apv-booking-page.apv-stage-contact .apv-invoice-inline .apv-invoice-toggle{padding:11px!important;border-radius:12px!important}
  body.apv-booking-page.apv-stage-contact .apv-invoice-inline .apv-invoice-fields{grid-template-columns:1fr!important;padding:10px!important;border-radius:12px!important}
  body.apv-booking-page.apv-stage-contact .apv-invoice-inline .apv-invoice-fields__wide{grid-column:1!important}
  body.apv-booking-page.apv-stage-contact .apv-onepage-payment{margin:6px 14px 16px!important;padding-top:10px!important}
  body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice{grid-template-columns:34px minmax(0,1fr)!important;min-height:56px!important;padding:9px 10px!important}
  body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice__check{display:none!important}
  body.apv-booking-page.apv-stage-contact .apv-onepage-pay-choice__mark{width:34px!important;height:34px!important}
  body.apv-booking-page.apv-stage-datetime .am-advsc__slots{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important;max-height:none!important}
  body.apv-booking-page.apv-stage-datetime .am-advsc__slots-item__inner{min-height:48px!important;padding:0 6px!important;font-size:11px!important;white-space:nowrap!important}
}


/* =========================================================
   V31 LIVE CONTACT SAFETY — email + phone are mandatory even
   when Amelia only renders the customer name on the live site.
   ========================================================= */
body.apv-booking-page.apv-stage-contact .am-fs__info-form.apv-single-name .am-info-first-name{grid-column:1/-1!important}
body.apv-booking-page.apv-stage-contact .apv-required-contact-inline{
  display:block!important;grid-column:1/-1!important;width:100%!important;min-width:0!important;margin:1px 0 0!important;padding:0!important;box-sizing:border-box!important
}
body.apv-booking-page.apv-stage-contact .apv-required-contact__head{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:16px!important;margin:0 0 9px!important}
body.apv-booking-page.apv-stage-contact .apv-required-contact__head strong{color:#102217!important;-webkit-text-fill-color:#102217!important;font:850 12px/1.3 Montserrat,sans-serif!important}
body.apv-booking-page.apv-stage-contact .apv-required-contact__head small{max-width:430px!important;color:#718077!important;-webkit-text-fill-color:#718077!important;font:550 9.5px/1.45 Montserrat,sans-serif!important;text-align:right!important}
body.apv-booking-page.apv-stage-contact .apv-required-contact__grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 16px!important;width:100%!important}
body.apv-booking-page.apv-stage-contact .apv-required-contact__grid label{display:grid!important;grid-template-rows:auto 50px auto!important;gap:6px!important;min-width:0!important;margin:0!important}
body.apv-booking-page.apv-stage-contact .apv-required-contact__grid label>span{color:#304337!important;-webkit-text-fill-color:#304337!important;font:800 10px/1.3 Montserrat,sans-serif!important}
body.apv-booking-page.apv-stage-contact .apv-required-contact__grid input{width:100%!important;height:50px!important;min-height:50px!important;padding:0 13px!important;border:1px solid #d4ddd6!important;border-radius:12px!important;background:#fff!important;color:#102217!important;-webkit-text-fill-color:#102217!important;font:650 12px/1 Montserrat,sans-serif!important;outline:0!important;box-shadow:0 1px 0 rgba(16,34,23,.02)!important;box-sizing:border-box!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important}
body.apv-booking-page.apv-stage-contact .apv-required-contact__grid input::placeholder{color:#9aa59e!important;-webkit-text-fill-color:#9aa59e!important;opacity:1!important}
body.apv-booking-page.apv-stage-contact .apv-required-contact__grid input:focus{border-color:#6f8f77!important;box-shadow:0 0 0 3px rgba(111,143,119,.12)!important;background:#fff!important}
body.apv-booking-page.apv-stage-contact [data-apv-contact-field].is-error input{border-color:#c4483b!important;background:#fff8f7!important;box-shadow:0 0 0 3px rgba(196,72,59,.08)!important}
body.apv-booking-page.apv-stage-contact .apv-contact-error{display:block!important;min-height:0!important;margin:0!important;color:#b42318!important;-webkit-text-fill-color:#b42318!important;font:700 9px/1.35 Montserrat,sans-serif!important}
body.apv-booking-page.apv-stage-contact .apv-contact-error:empty{display:none!important}

@media(max-width:680px){
  body.apv-booking-page.apv-stage-contact .am-fs__info-form.apv-single-name .am-info-first-name{grid-column:1!important}
  body.apv-booking-page.apv-stage-contact .apv-required-contact-inline{grid-column:1!important}
  body.apv-booking-page.apv-stage-contact .apv-required-contact__head{display:grid!important;gap:3px!important;margin-bottom:8px!important}
  body.apv-booking-page.apv-stage-contact .apv-required-contact__head small{max-width:none!important;text-align:left!important;font-size:8.5px!important}
  body.apv-booking-page.apv-stage-contact .apv-required-contact__grid{grid-template-columns:1fr!important;gap:9px!important}
  body.apv-booking-page.apv-stage-contact .apv-required-contact__grid label{grid-template-rows:auto 47px auto!important;gap:5px!important}
  body.apv-booking-page.apv-stage-contact .apv-required-contact__grid input{height:47px!important;min-height:47px!important;border-radius:11px!important;font-size:12px!important}
}
