.service-actions { background: #10243a; color: #fff; padding: 12px 20px; position: relative; z-index: 100; }
/* Clip horizontal decoration without creating a second scroll container for anchors. */
.page-wrapper { overflow: clip; }
.service-actions__inner { max-width: 1170px; margin: auto; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 16px; }
.service-actions + .main-header { position: relative; top: auto; left: auto; right: auto; background: #fff; }
.service-actions + .main-header .main-menu__wrapper { margin-top: 0; padding-top: 12px; padding-bottom: 12px; }
.service-actions__hours { margin: 0; color: #fff; font-size: 16px; }
.service-actions__buttons { display: flex; gap: 12px; }
.service-action { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 24px; border-radius: 6px; background: #007daf; color: #fff; font-weight: 700; text-decoration: none; border: 2px solid transparent; cursor: pointer; }
.service-action--call { background: #fff; color: #10243a; }
.service-action:hover { background: #005a80; color: #fff; }
.service-action:focus-visible, .service-booking input:focus-visible, .service-booking select:focus-visible { outline: 3px solid #e8ad28; outline-offset: 3px; }
.service-booking { padding: 88px 24px; background: #eef4f8; scroll-margin-top: 110px; }
.service-booking__inner { max-width: 1100px; margin: auto; display: grid; grid-template-columns: .85fr 1.15fr; border: 1px solid #dce5ed; border-radius: 20px; background: #fff; box-shadow: 0 16px 48px #10243a0d; }
.service-booking__intro { padding: 48px 36px; border-radius: 19px 0 0 19px; background: #10243a; color: #fff; display: flex; flex-direction: column; align-items: flex-start; }
.service-booking__eyebrow { display: block; color: #70d5ff; font-size: 13px; font-weight: 700; line-height: 20px; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 18px; }
.service-booking .service-booking__intro h2 { color: #fff; font-size: clamp(32px, 3vw, 44px); font-weight: 700; line-height: 1.12; letter-spacing: -1px; margin: 0 0 20px; }
.service-booking__intro > p { color: #d6e2ec; line-height: 1.6; margin: 0 0 28px; max-width: 320px; }
.service-booking__hours { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border: 1px solid #ffffff30; border-radius: 8px; font-size: 15px; line-height: 24px; color: #fff; }
.service-booking__hours i { color: #70d5ff; }
.service-booking__contact { width: 100%; margin-top: auto; padding-top: 40px; }
.service-booking__contact > span { display: block; font-size: 14px; color: #bdcedc; margin-bottom: 6px; }
.service-booking__contact a { display: inline-flex; align-items: center; gap: 12px; color: #fff; font-size: 24px; line-height: 32px; font-weight: 600; }
.service-booking__contact a:hover { color: #70d5ff; }
.service-booking__contact a:focus-visible { outline: 3px solid #e8ad28; outline-offset: 4px; }
.service-booking #service-booking-form { min-width: 0; padding: 40px; }
.service-booking__form-title { color: #10243a; font-size: 24px; font-weight: 700; line-height: 30px; margin: 0 0 6px; }
.service-booking__form-note { color: #526577; font-size: 14px; line-height: 22px; margin: 0; }
.service-booking__fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 18px; margin: 26px 0; }
.service-booking label { min-width: 0; display: block; margin: 0; color: #10243a; font-size: 14px; line-height: 20px; font-weight: 600; }
.service-booking label[for="service-email"], .service-booking label[for="service-date"], .service-booking label:last-child { grid-column: 1 / -1; }
.service-booking input, .service-booking select { box-sizing: border-box; display: block; width: 100%; height: 52px; min-height: 52px; margin-top: 8px; padding: 12px 14px; border: 1px solid #cbd7e1; border-radius: 8px; background: #f8fafc; color: #10243a; font-family: inherit; font-size: 16px; line-height: normal; box-shadow: none; transition: border-color .15s, background-color .15s; }
.service-booking input::placeholder { color: #738495; opacity: 1; }
.service-booking input:hover, .service-booking select:hover { border-color: #8babbf; }
.service-booking input:focus, .service-booking select:focus { border-color: #007daf; background: #fff; }
.service-booking select { appearance: auto; padding-right: 8px; }
.service-booking #service-booking-form > .service-action { width: 100%; min-height: 54px; border-radius: 8px; font-family: inherit; font-size: 17px; gap: 12px; }
.service-booking__confirmation-note { margin: 12px 0 0; color: #526577; text-align: center; font-size: 13px; line-height: 20px; }
.service-booking button:disabled { opacity: .65; cursor: wait; }
.service-booking__status { margin: 16px 0 0; padding: 12px 14px; border-radius: 8px; background: #edf6fb; color: #10243a; font-size: 15px; line-height: 24px; }
.service-booking__status:empty { display: none; }
.service-booking__status[data-error="true"] { color: #a02020; }
@media (max-width: 767px) {
  body { padding-bottom: calc(110px + env(safe-area-inset-bottom)); }
  .service-actions { position: fixed; bottom: 0; left: 0; right: 0; z-index: 10000; padding: 8px 12px calc(10px + env(safe-area-inset-bottom)); box-shadow: 0 -2px 12px #0003; }
  .service-actions__inner { flex-direction: column; gap: 6px; }
  .service-actions__hours { font-size: 14px; line-height: 20px; }
  .service-actions__buttons { width: 100%; gap: 8px; }
  .service-actions__buttons .service-action { flex: 1; padding: 8px; font-size: 15px; }
  .service-booking { padding: 36px 16px; scroll-margin-top: 24px; }
  .service-booking__inner { grid-template-columns: minmax(0, 1fr); border-radius: 16px; }
  .service-booking__intro { padding: 28px 24px; border-radius: 15px 15px 0 0; }
  .service-booking .service-booking__intro h2 { font-size: 32px; margin-bottom: 14px; }
  .service-booking__eyebrow { margin-bottom: 12px; }
  .service-booking__intro > p { max-width: none; margin-bottom: 18px; }
  .service-booking__contact { padding-top: 22px; }
  .service-booking__contact a { font-size: 22px; }
  .service-booking #service-booking-form { padding: 28px 24px; }
  .service-booking__fields { grid-template-columns: 1fr; }
  .floating-wpp { bottom: calc(125px + env(safe-area-inset-bottom)) !important; }
  .scroll-to-top { bottom: calc(125px + env(safe-area-inset-bottom)) !important; }
  body.service-booking-active .floating-wpp,
  body.service-booking-active .scroll-to-top { display: none !important; }
}
