/* ==========================================================================
   OrientSquare — модальное окно "Contact Us", открывается по клику на
   "Contact" в шапке с любой страницы сайта, плюс тост об успешной отправке.
   ========================================================================== */
.os-cm-overlay{
  position:fixed;inset:0;z-index:1000;
  background:rgba(20,17,13,.55);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
  display:flex;align-items:flex-start;justify-content:center;
  padding:5vh 16px;overflow-y:auto;
  opacity:0;pointer-events:none;transition:opacity .18s ease;
}
.os-cm-overlay.os-cm-open{opacity:1;pointer-events:auto}
.os-cm-modal{
  background:#fff;border-radius:24px;max-width:760px;width:100%;
  box-shadow:0 30px 80px -20px rgba(20,17,13,.45);
  transform:translateY(14px) scale(.98);transition:transform .18s ease;
  position:relative;max-height:90vh;display:flex;flex-direction:column;
}
.os-cm-overlay.os-cm-open .os-cm-modal{transform:translateY(0) scale(1)}
.os-cm-close{
  position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;color:#757575;background:#f5f5f5;
  border:0;cursor:pointer;transition:background .15s,color .15s;z-index:1;
}
.os-cm-close:hover{background:#ebebeb;color:#1c1712}
.os-cm-close svg{width:18px;height:18px}
.os-cm-scroll{overflow-y:auto;padding:32px 24px 28px}
@media (min-width:640px){.os-cm-scroll{padding:40px 40px 36px}}
.os-cm-title{font-size:1.5rem;font-weight:700;text-align:center;color:#1c1712;margin:0 0 6px}
.os-cm-sub{text-align:center;color:#757575;margin:0 0 20px}
.os-cm-callband{
  background:linear-gradient(100deg,#FFF3E0,#FFE0B2);border-radius:14px;
  padding:14px 18px;text-align:center;margin-bottom:24px;
}
.os-cm-callband a{color:#F57C00;font-weight:700;text-decoration:none}
.os-cm-callband a:hover{text-decoration:underline}
.os-cm-callband p{margin:0;color:#EF6C00;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.os-cm-callband p svg{width:16px;height:16px;flex:none}
.os-cm-hours{font-weight:400!important;color:#a8611f!important;font-size:.85rem;margin-top:4px!important}
.os-cm-error{color:#c0392b;font-size:.85rem;margin:10px 0 0;min-height:1.2em}

/* тост "Message sent successfully" — display:flex здесь перебивает дефолтное
   [hidden]{display:none} (та же специфичность, но наш класс подключается
   позже), так что сам по себе [hidden] элемент не прятал бы тост: он
   оставался бы pointer-events:auto и перехватывал клики по всему, что под
   ним (шапка справа — бургер-меню, язык, Sign In). pointer-events:none тут
   обязателен и снимается только явно в момент показа. */
.os-toast{
  position:fixed;top:20px;right:20px;z-index:1100;max-width:min(360px,calc(100vw - 32px));
  background:#1e8e3e;color:#fff;border-radius:14px;padding:14px 18px;
  display:flex;align-items:flex-start;gap:10px;pointer-events:none;
  box-shadow:0 16px 40px -12px rgba(20,90,40,.5);
  transform:translateY(-12px);opacity:0;transition:transform .22s ease,opacity .22s ease;
}
.os-toast[hidden]{display:none}
.os-toast.os-toast-show{transform:translateY(0);opacity:1;pointer-events:auto}
.os-toast-icon{
  flex:none;width:22px;height:22px;border-radius:999px;background:rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;margin-top:1px;
}
.os-toast-icon svg{width:13px;height:13px}
.os-toast-text{font-size:.92rem;line-height:1.4;font-weight:500}
