/**
 * SEHAT ONLINE v1.1.9 — original-logo full-width authentication layout.
 * Scoped to the official Coastal Breeze website; never alters dashboards,
 * booking wizard, doctor cards, or unrelated theme pages.
 */
body.so-auth-theme-layout {
  background: #fafaf9 !important;
  overflow-x: clip;
}
body.so-auth-theme-layout .so-site-auth-page {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: #fafaf9;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split {
  min-height: unset !important;
  background: transparent !important;
  padding: clamp(14px, 1.25vw, 26px) !important;
  margin: 0 !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-container {
  max-width: none !important;
  width: 100% !important;
  margin: 0 auto !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-main-grid {
  width: 100% !important;
  min-height: clamp(620px, 36vw, 720px) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.22fr) !important;
  gap: 0 !important;
  overflow: hidden;
  border-radius: 25px !important;
  background: #fff !important;
  box-shadow: 0 17px 56px rgba(29, 54, 82, .055) !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo {
  min-height: clamp(620px, 36vw, 720px) !important;
  background: linear-gradient(120deg, #223955 0%, #345672 53%, #6083a0 100%) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo::before {
  opacity: .5;
  background: repeating-radial-gradient(circle at 0 100%, transparent 0 58px, rgba(216, 232, 241, .12) 59px 60px, transparent 61px 86px) !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo::after {
  background: radial-gradient(circle at 100% 4%, rgba(249, 222, 196, .16), transparent 50%) !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo-content {
  min-height: clamp(620px, 36vw, 720px) !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  padding: clamp(44px, 4vw, 84px) clamp(38px, 4.1vw, 90px) !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo-top {
  display: block !important;
  margin: 0 0 clamp(96px, 8vw, 178px) !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo h2 {
  max-width: 680px !important;
  margin: 0 0 20px !important;
  color: #fff !important;
  font-size: clamp(42px, 4.25vw, 81px) !important;
  line-height: 1.065 !important;
  letter-spacing: -.055em !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo h2 span {
  color: #f4c89e !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo-summary {
  max-width: 470px !important;
  color: #e2edf3 !important;
  line-height: 1.78 !important;
  font-size: clamp(13px, 1vw, 16px) !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo-foot {
  display: block !important;
  margin-top: auto !important;
  width: 100% !important;
  padding-top: 31px !important;
  border-top: 1px solid rgba(232, 244, 251, .33) !important;
  font-size: 12px !important;
  color: #e0edf5 !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-panel {
  min-height: clamp(620px, 36vw, 720px) !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: #fff !important;
  padding: 0 !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-panel-interior {
  width: min(100%, 640px) !important;
  max-width: 640px !important;
  padding: clamp(42px, 4.3vw, 78px) clamp(30px, 3.8vw, 72px) !important;
  margin: auto !important;
  align-self: center !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-header {
  display: flex !important;
  margin: 0 0 clamp(53px, 4.4vw, 85px) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  align-items: center !important;
  justify-content: space-between !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-brand-image {
  max-width: 180px !important;
  max-height: 52px !important;
  object-fit: contain;
}
/* Website navigation supplies its own Home link, so the in-card return link is redundant. */
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-website-link {
  display: none !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-theme-toggle {
  min-height: 37px !important;
  border-radius: 8px !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-section-kicker {
  margin-bottom: 19px !important;
  color: #5d7c97 !important;
  font-size: 11px !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-panel h1 {
  font-size: clamp(38px, 3.4vw, 55px) !important;
  line-height: 1.12 !important;
  color: #192f49 !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-subtitle {
  margin-bottom: 33px !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-field {
  margin-bottom: 21px !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-input-wrap {
  border-radius: 9px !important;
}
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-panel button.so-submit,
body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-panel a.so-submit {
  color: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: linear-gradient(105deg, #3b6587, #6485a6) !important;
  -webkit-text-fill-color: #fff !important;
  min-height: 54px !important;
  box-shadow: none !important;
}
/* The existing website footer stays intact on other pages; auth uses only its slim bottom bar. */
body.so-auth-theme-layout #site-footer .so-footer-main-grid,
body.so-auth-theme-layout #site-footer .so-footer-middle,
body.so-auth-theme-layout #site-footer .so-footer-social-bar {
  display: none !important;
}
body.so-auth-theme-layout #site-footer {
  background: #0d2339 !important;
  min-height: 60px;
}
body.so-auth-theme-layout #site-footer .so-footer-bottom-wrap {
  min-height: 60px;
  background: #0d2339 !important;
}
body.so-auth-theme-layout #site-footer .so-footer-bottom-grid {
  min-height: 60px;
}
/* The login is an authentication workflow; remove intrusive floating widgets. */
body.so-auth-theme-layout #to-top,
body.so-auth-theme-layout .so-chat-widget,
body.so-auth-theme-layout .so-chat-float,
body.so-auth-theme-layout .sehat-chat-float {display:none!important}
@media (max-width: 1050px) {
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-main-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo-content {
    padding: 42px 38px !important;
  }
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo-top {
    margin-bottom: 120px !important;
  }
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-panel-interior {
    padding: 38px 31px !important;
  }
}
@media (max-width: 760px) {
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split {
    padding: 12px !important;
  }
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-main-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    border-radius: 19px !important;
  }
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo,
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo-content {
    min-height: 275px !important;
  }
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo-content {
    padding: 28px !important;
  }
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo-top {
    margin-bottom: 22px !important;
  }
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo h2 {
    max-width: 450px !important;
    font-size: clamp(35px, 8.2vw, 56px) !important;
    letter-spacing: -.045em !important;
  }
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo-summary {
    max-width: 500px !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
  }
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-promo-foot {
    display: none !important;
  }
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-panel {
    min-height: unset !important;
  }
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-panel-interior {
    width: 100% !important;
    max-width: 600px !important;
    padding: 34px 24px 42px !important;
  }
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-header {
    margin-bottom: 39px !important;
  }
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-panel h1 {
    font-size: clamp(33px, 6.4vw, 43px) !important;
  }
  body.so-auth-theme-layout .so-site-auth-page .so-shell.so-auth-split .so-brand-image {
    max-height: 45px !important;
    max-width: 155px !important;
  }
  body.so-auth-theme-layout #site-footer .so-footer-bottom-grid {
    padding-block: 18px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.so-auth-theme-layout .so-site-auth-page * {
    animation: none !important;
    transition: none !important;
  }
}
