
/* Salimi Contact Bridge 1.0.5 — isolated, full-responsive UI */
.scb-wrap,
.scb-wrap *,
.scb-modal,
.scb-modal *,
.scb-floating,
.scb-floating * {
  box-sizing: border-box;
}

.scb-wrap {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  font-family: inherit;
  line-height: 1.5;
}

.scb-card {
  display: block;
  width: 100%;
  max-width: 760px;
  min-width: 0;
  margin: 20px auto;
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid rgba(100,116,139,.18);
  border-radius: 24px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 55px rgba(15,23,42,.10);
  overflow: hidden;
}

.scb-heading {
  display: flex;
  align-items: center;
  gap: 15px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 0 22px;
}

.scb-heading > div {
  min-width: 0;
  max-width: 100%;
}

.scb-heading h2,
.scb-heading p {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.scb-heading h2 {
  margin: 0 0 6px;
  font-size: clamp(21px,3vw,30px);
  line-height: 1.25;
}

.scb-heading p {
  margin: 0;
  opacity: .72;
  line-height: 1.8;
}

.scb-main-icon {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(135deg,var(--primary,#0b4b9b),var(--accent,#4aa915));
  color: #fff;
}

.scb-main-icon svg,
.scb-btn svg,
.scb-float-btn svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scb-main-icon svg { width: 27px; height: 27px; }

.scb-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 15px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.scb-grid label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  font-weight: 600;
  font-size: 14px;
}

.scb-grid .scb-full { grid-column: 1/-1; }

.scb-grid input,
.scb-grid textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 12px 13px;
  border: 1px solid #d7dee8;
  border-radius: 13px;
  background: #fff;
  font: inherit;
  line-height: 1.5;
  outline: none;
}

.scb-grid input:focus,
.scb-grid textarea:focus {
  border-color: var(--primary,#0b4b9b);
  box-shadow: 0 0 0 3px rgba(11,75,155,.10);
}

.scb-grid textarea {
  min-height: 125px;
  resize: vertical;
}

.scb-actions {
  display: flex;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.scb-btn,
.scb-float-btn {
  max-width: 100%;
  min-width: 0;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 17px;
  border: 0;
  border-radius: 13px;
  font: inherit;
  cursor: pointer;
  transition: transform .18s,box-shadow .18s,opacity .18s;
}

.scb-btn:hover,
.scb-float-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(15,23,42,.14);
}

.scb-wa { background:#1fa855;color:#fff; }
.scb-tg { background:#229ed9;color:#fff; }
.scb-privacy { max-width:100%; margin:12px 0 0; font-size:12px; opacity:.62; overflow-wrap:anywhere; }
.scb-result { max-width:100%; min-height:1.2em; margin-top:10px; font-size:13px; overflow-wrap:anywhere; }
.scb-hp { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

.scb-floating {
  position: fixed;
  bottom: max(14px, env(safe-area-inset-bottom));
  z-index: 99998;
  max-width: calc(100vw - 24px);
}

.scb-floating-right { right: 12px; }
.scb-floating-left { left: 12px; }

.scb-float-btn {
  color:#fff;
  background:var(--primary,#0b4b9b);
  box-shadow:0 12px 30px rgba(15,23,42,.22);
}

.scb-float-icon { display:inline-flex; flex:0 0 auto; }
.scb-float-btn svg { width:22px;height:22px; }

.scb-modal[hidden] { display:none!important; }

.scb-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  width: auto;
  max-width: none;
  height: auto;
  max-height: none;
  margin: 0;
  padding: max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
  overflow: hidden;
  isolation: isolate;
}

.scb-modal-backdrop {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  background:rgba(15,23,42,.52);
  backdrop-filter:blur(5px);
}

.scb-modal-box {
  position:relative;
  z-index:1;
  width: min(820px, 100%);
  max-width: 100%;
  min-width: 0;
  max-height: calc(100dvh - 16px);
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(11,75,155,.45) transparent;
  -ms-overflow-style: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.scb-modal-box::-webkit-scrollbar { width:8px; height:0; }
.scb-modal-box::-webkit-scrollbar-track { background:transparent; }
.scb-modal-box::-webkit-scrollbar-thumb { background:rgba(11,75,155,.38); border-radius:999px; }
.scb-modal-box::-webkit-scrollbar-thumb:hover { background:rgba(11,75,155,.58); }

.scb-modal-box .scb-wrap,
.scb-modal-box .scb-card {
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0;
}

.scb-modal-box .scb-card { border-radius:24px; }

.scb-modal-close {
  position:absolute;
  z-index:3;
  top:12px;
  inset-inline-end:12px;
  width:36px;
  height:36px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#334155;
  font-size:25px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 5px 18px rgba(15,23,42,.15);
}

/* RTL/LTR always follow the selected Salimi language. */
.scb-wrap[dir="rtl"] .scb-heading,
.scb-wrap[dir="rtl"] .scb-grid label,
.scb-wrap[dir="rtl"] .scb-privacy,
.scb-wrap[dir="rtl"] .scb-result { direction:rtl;text-align:right; }

.scb-wrap[dir="ltr"] .scb-heading,
.scb-wrap[dir="ltr"] .scb-grid label,
.scb-wrap[dir="ltr"] .scb-privacy,
.scb-wrap[dir="ltr"] .scb-result { direction:ltr;text-align:left; }

.scb-wrap[dir="rtl"] input,
.scb-wrap[dir="rtl"] textarea { direction:rtl;text-align:right; }

.scb-wrap[dir="ltr"] input,
.scb-wrap[dir="ltr"] textarea { direction:ltr;text-align:left; }

.scb-wrap[dir="rtl"] .scb-actions { direction:rtl; }
.scb-wrap[dir="ltr"] .scb-actions { direction:ltr; }

/* Only lock the page while the modal is open. Never globally change the
   theme's normal overflow behavior. */
html.scb-modal-open,
html.scb-modal-open body {
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.scb-modal-open { touch-action:none; }

@media (max-width: 620px) {
  .scb-card {
    max-width:100%;
    margin:0;
    padding:16px;
    border-radius:18px;
  }

  .scb-grid { grid-template-columns:1fr; }
  .scb-grid .scb-full { grid-column:auto; }
  .scb-actions { flex-direction:column; }
  .scb-btn { width:100%; }
  .scb-main-icon { width:46px;height:46px;flex-basis:46px;border-radius:13px; }
  .scb-heading { align-items:flex-start;gap:10px; }
  .scb-heading h2 { font-size:clamp(20px,6vw,26px); }

  .scb-modal {
    padding: max(5px,env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));
  }

  .scb-modal-box {
    width:100%;
    max-width:100%;
    max-height:calc(100dvh - 10px);
  }

  .scb-modal-box .scb-card {
    padding:16px;
    border-radius:18px;
  }

  .scb-modal-close { top:8px;inset-inline-end:8px; }

  .scb-floating { bottom:max(10px,env(safe-area-inset-bottom)); }
  .scb-floating-right { right:10px; }
  .scb-floating-left { left:10px; }
  .scb-float-btn span[data-scb-floating-text] { display:none; }
  .scb-float-btn { width:52px;height:52px;padding:0;border-radius:50%; }
}

@media (max-width:380px) {
  .scb-modal-box .scb-card { padding:13px; }
  .scb-grid { gap:11px; }
  .scb-main-icon { width:42px;height:42px;flex-basis:42px; }
  .scb-heading h2 { font-size:19px; }
}

@media (prefers-reduced-motion:reduce) {
  .scb-btn,.scb-float-btn { transition:none; }
}


/* v1.0.6 — vertical scroll only + strict device fit */
.scb-modal,
.scb-modal-box,
.scb-modal-box .scb-wrap,
.scb-modal-box .scb-card {
  overflow-x: hidden !important;
  overflow-y: visible;
}
.scb-modal { overflow-y: hidden !important; }
.scb-modal-box {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  width: min(820px, calc(100vw - 10px));
  max-width: calc(100vw - 10px);
  max-height: calc(100dvh - 10px);
  min-height: 0;
  overscroll-behavior-y: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(11,75,155,.45) transparent;
}
.scb-modal-box .scb-card {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.scb-label-line {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  min-width: 0;
  max-width: 100%;
}
.scb-required { color: #b42318; font-weight: 700; }
.scb-grid label { overflow-wrap: anywhere; }
.scb-grid input,
.scb-grid textarea,
.scb-btn { min-width: 0 !important; }

@media (max-width: 620px) {
  .scb-modal-box { width: calc(100vw - 10px); max-width: calc(100vw - 10px); }
  .scb-modal-box .scb-card { padding: 14px; }
  .scb-grid { gap: 12px; }
  .scb-grid input, .scb-grid textarea { max-width: 100%; }
}
