/* Hesabatk Service Requests Pro — public forms only */
body.service-request-page { width: 100%; max-width: 100%; min-width: 0; overflow-x: hidden; background: #f4f9f7; }
.service-request-page .request-hero { position: relative; overflow: hidden; padding: 132px 0 76px; color: #fff; background: radial-gradient(circle at 10% 12%, rgba(45,197,143,.20), transparent 30%), radial-gradient(circle at 90% 15%, rgba(242,214,109,.16), transparent 28%), linear-gradient(135deg,#021d16,#074d3a 72%,#08745a); }
.service-request-page .request-hero::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.25; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:48px 48px; }
.service-request-page .request-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(320px,.68fr); gap:64px; align-items:center; }
.service-request-page .request-kicker { display:inline-flex; align-items:center; gap:9px; padding:8px 13px; border:1px solid rgba(242,214,109,.35); border-radius:999px; color:#f2d66d; background:rgba(255,255,255,.05); font-size:.82rem; font-weight:900; }
.service-request-page .request-hero h1 { max-width:850px; margin:18px 0 16px; font-size:clamp(2.55rem,5vw,5rem); font-weight:950; line-height:1.08; letter-spacing:-1px; }
.service-request-page .request-hero p { max-width:790px; margin:0; color:#d6e9e2; font-size:1.05rem; line-height:1.95; }
.service-request-page .request-trust-list { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:25px; }
.service-request-page .request-trust-list span { display:inline-flex; align-items:center; gap:7px; color:#f6fbf9; font-size:.84rem; font-weight:800; }
.service-request-page .request-trust-list i { color:#f2d66d; }
.service-request-page .request-process-card { display:grid; gap:15px; padding:28px; border:1px solid rgba(255,255,255,.13); border-radius:26px; background:rgba(255,255,255,.08); box-shadow:0 28px 70px rgba(0,0,0,.20); backdrop-filter:blur(14px); }
.service-request-page .request-process-card > small { color:#f2d66d; font-weight:900; }
.service-request-page .request-process-card > div { display:grid; grid-template-columns:44px minmax(0,1fr); gap:13px; align-items:start; padding:14px 0; border-top:1px solid rgba(255,255,255,.10); }
.service-request-page .request-process-card b { display:grid; width:42px; height:42px; place-items:center; border-radius:13px; color:#06251d; background:#f2d66d; font-family:Inter,Arial,sans-serif; }
.service-request-page .request-process-card span { display:grid; gap:3px; }
.service-request-page .request-process-card strong { color:#fff; font-size:.98rem; }
.service-request-page .request-process-card em { color:#c9ddd6; font-size:.78rem; font-style:normal; line-height:1.7; }
.service-request-page .request-section { padding:72px 0 90px; }
.service-request-page .request-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,360px); gap:28px; align-items:start; }
.service-request-page .request-form-card,.service-request-page .request-side-card { border:1px solid #dbe9e4; border-radius:28px; background:#fff; box-shadow:0 20px 55px rgba(5,63,47,.07); }
.service-request-page .request-form-card { padding:34px; }
.service-request-page .request-form-heading > span,.service-request-page .request-side-card > span { color:#08745a; font-size:.78rem; font-weight:950; }
.service-request-page .request-form-heading h2 { margin:7px 0 8px; color:#10251f; font-size:clamp(1.75rem,3vw,2.45rem); font-weight:950; }
.service-request-page .request-form-heading p { margin:0 0 27px; color:#64766f; line-height:1.8; }
.service-request-page .request-grid-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.service-request-page label { display:grid; gap:8px; color:#17342b; font-size:.83rem; font-weight:850; }
.service-request-page label b { color:#d43b4f; }
.service-request-page .form-control,.service-request-page .form-select { min-height:50px; border-color:#d7e6e1; border-radius:14px; background:#fbfdfc; box-shadow:none; }
.service-request-page .form-control:focus,.service-request-page .form-select:focus { border-color:#0a8b69; box-shadow:0 0 0 4px rgba(10,139,105,.10); }
.service-request-page textarea.form-control { min-height:160px; padding-top:14px; line-height:1.8; resize:vertical; }
.service-request-page .request-full-label { margin-top:18px; }
.service-request-page .request-submit-row { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:24px; padding-top:22px; border-top:1px solid #e2ece8; }
.service-request-page .request-submit-row small { display:flex; align-items:center; gap:7px; color:#72817c; font-size:.75rem; }
.service-request-page .request-submit-row small i { color:#08745a; }
.service-request-page .request-side-card { position:sticky; top:112px; padding:27px; }
.service-request-page .request-side-card h3 { margin:8px 0 18px; color:#10251f; font-size:1.45rem; font-weight:950; line-height:1.4; }
.service-request-page .request-side-card ul { display:grid; gap:13px; margin:0 0 24px; padding:0; list-style:none; }
.service-request-page .request-side-card li { display:grid; grid-template-columns:20px minmax(0,1fr); gap:8px; color:#556b63; font-size:.85rem; line-height:1.7; }
.service-request-page .request-side-card li i { color:#098566; }
.service-request-page .request-side-card > a { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; border-radius:14px; color:#fff; background:#073a2d; font-size:.82rem; font-weight:900; text-decoration:none; }
.service-request-page .request-success { display:flex; gap:15px; align-items:flex-start; padding:22px; border:1px solid #b9e3d2; border-radius:18px; color:#0b5f49; background:#effaf6; }
.service-request-page .request-success > i { font-size:2rem; }
.service-request-page .request-success strong { display:block; margin-bottom:4px; font-size:1.15rem; }
.service-request-page .request-success p { margin:0; line-height:1.8; }
/* Keep the anti-spam field inside the document bounds. Moving it thousands
   of pixels off-screen creates a very wide RTL scroll area on some Android
   browsers and was the direct cause of the broken mobile layout. */
.service-request-page .request-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  inset: auto !important;
}
@media (max-width:991.98px){.service-request-page .request-hero{padding:110px 0 58px}.service-request-page .request-hero-grid,.service-request-page .request-layout{grid-template-columns:1fr}.service-request-page .request-process-card{max-width:650px}.service-request-page .request-side-card{position:static}.service-request-page .request-section{padding:52px 0 72px}}
@media (max-width:767.98px){.service-request-page .request-hero h1{font-size:2.45rem}.service-request-page .request-hero-grid{gap:35px}.service-request-page .request-process-card,.service-request-page .request-form-card,.service-request-page .request-side-card{padding:22px;border-radius:21px}.service-request-page .request-grid-two{grid-template-columns:1fr}.service-request-page .request-submit-row{align-items:stretch;flex-direction:column}.service-request-page .request-submit-row .btn-primary-site{width:100%}.service-request-page .request-trust-list{display:grid}.service-request-page .request-section{padding-top:36px}}


/* =========================================================
   Service-request viewport containment v2 — 2026-07-22
   Prevent any form control, grid child or hidden field from expanding
   the RTL page beyond the physical phone viewport.
   ========================================================= */
.service-request-page > main,
.service-request-page .request-hero,
.service-request-page .request-section,
.service-request-page .request-hero-grid,
.service-request-page .request-layout,
.service-request-page .request-form-card,
.service-request-page .request-side-card,
.service-request-page .request-process-card,
.service-request-page form,
.service-request-page .request-grid-two,
.service-request-page .request-full-label,
.service-request-page .form-control,
.service-request-page .form-select {
  min-width: 0;
  max-width: 100%;
}

.service-request-page .request-hero,
.service-request-page .request-section {
  width: 100%;
  overflow-x: hidden;
}

.service-request-page .request-hero-grid > *,
.service-request-page .request-layout > *,
.service-request-page .request-grid-two > * {
  min-width: 0;
}

/* =========================================================
   Hesabatk booking mobile fix v1
   Scoped only to consultation / quote request public pages.
   Aligns the page breakpoint with the site's mobile header and
   also handles mobile browsers that expose a wide CSS viewport.
   ========================================================= */
@media (max-width: 1100px) {
  .service-request-page .request-hero-grid,
  .service-request-page .request-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .service-request-page .request-hero-grid {
    gap: 34px;
  }

  .service-request-page .request-process-card {
    width: 100%;
    max-width: none;
  }

  .service-request-page .request-side-card {
    position: static;
    top: auto;
  }
}

html.mobile-device body.service-request-page {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

html.mobile-device body.service-request-page > main,
html.mobile-device body.service-request-page .request-hero,
html.mobile-device body.service-request-page .request-section,
html.mobile-device body.service-request-page .request-hero-grid,
html.mobile-device body.service-request-page .request-layout,
html.mobile-device body.service-request-page .request-form-card,
html.mobile-device body.service-request-page .request-side-card,
html.mobile-device body.service-request-page .request-process-card {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

html.mobile-device body.service-request-page .request-hero-grid,
html.mobile-device body.service-request-page .request-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

html.mobile-device body.service-request-page .request-hero > .container,
html.mobile-device body.service-request-page .request-section > .container {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  padding-inline: 16px !important;
}

html.mobile-device body.service-request-page .request-side-card {
  position: static !important;
  inset: auto !important;
}

html.mobile-device body.service-request-page .request-grid-two {
  grid-template-columns: minmax(0, 1fr) !important;
}

html.mobile-device body.service-request-page .request-form-card,
html.mobile-device body.service-request-page .request-side-card,
html.mobile-device body.service-request-page .request-process-card {
  padding: 20px !important;
  border-radius: 20px !important;
}

html.mobile-device body.service-request-page .request-hero {
  padding: 104px 0 48px !important;
}

html.mobile-device body.service-request-page .request-hero h1 {
  max-width: 100% !important;
  font-size: clamp(2rem, 9vw, 2.65rem) !important;
  line-height: 1.18 !important;
}

html.mobile-device body.service-request-page .request-hero p,
html.mobile-device body.service-request-page .request-form-heading p,
html.mobile-device body.service-request-page label,
html.mobile-device body.service-request-page input,
html.mobile-device body.service-request-page select,
html.mobile-device body.service-request-page textarea {
  max-width: 100% !important;
  overflow-wrap: anywhere;
}

html.mobile-device body.service-request-page .request-submit-row {
  align-items: stretch !important;
  flex-direction: column !important;
}

html.mobile-device body.service-request-page .request-submit-row .btn-primary-site {
  width: 100% !important;
}

@media (max-width: 420px) {
  html.mobile-device body.service-request-page .request-hero > .container,
  html.mobile-device body.service-request-page .request-section > .container {
    padding-inline: 12px !important;
  }

  html.mobile-device body.service-request-page .request-form-card,
  html.mobile-device body.service-request-page .request-side-card,
  html.mobile-device body.service-request-page .request-process-card {
    padding: 17px !important;
  }
}
