/* 
bm-page
bm-card
bm-form-card
*/

:root {
  --bm-primary: #0057FF;
  --bm-primary-hover: #0047D6;
  --bm-primary-active: #003AB0;

  --bm-heading: #071A3D;
  --bm-text: #10213F;
  --bm-muted: #5D6B82;
  --bm-muted-light: #7B8798;

  --bm-white: #FFFFFF;
  --bm-page-bg: #F6F9FE;
  --bm-section-bg: #F8FBFF;
  --bm-card-soft: #F3F7FF;

  --bm-border: #DCE6F3;
  --bm-border-soft: #E8EEF7;
  --bm-input-border: #D8E2F0;
  --bm-input-focus: #0057FF;

  --bm-footer-bg: #03152E;
  --bm-footer-bg-2: #061F45;

  --bm-error: #E53935;
  --bm-success: #12A36A;

  --bm-radius-sm: 6px;
  --bm-radius-md: 8px;
  --bm-radius-lg: 12px;
  --bm-radius-xl: 16px;

  --bm-shadow-sm: 0 6px 18px rgba(7, 26, 61, 0.08);
  --bm-shadow-md: 0 14px 36px rgba(7, 26, 61, 0.10);

  --bm-gradient-hero: linear-gradient(135deg, #F8FBFF 0%, #EEF5FF 55%, #FFFFFF 100%);
  --bm-gradient-cta: linear-gradient(90deg, #0057FF 0%, #003AB0 100%);
  --bm-gradient-footer: linear-gradient(135deg, #03152E 0%, #061F45 100%);
}

/* Base */
html,
body,
button,
input,
select,
textarea {
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body {
  color: var(--bm-text);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* فقط داخل صفحات BestMonitor */
.bm-page {
  color: var(--bm-text);
  background: var(--bm-white);
}

/* Headings - اتوماتیک */
.bm-page h1,
.bm-page .elementor-heading-title.elementor-size-xxl {
  color: var(--bm-heading);
  font-size: clamp(34px, 4vw, 56px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.bm-page h2 {
  color: var(--bm-heading);
  font-size: clamp(28px, 2.8vw, 36px);
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -0.025em;
}

.bm-page h3 {
  color: var(--bm-heading);
  font-size: clamp(20px, 2vw, 24px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.015em;
}

.bm-page h4 {
  color: var(--bm-heading);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;
}

.bm-page p,
.bm-page .elementor-widget-text-editor {
  color: var(--bm-text);
  line-height: 1.65;
}

/* Links */
.bm-page a {
  color: var(--bm-primary);
}

.bm-page a:hover {
  color: var(--bm-primary-hover);
}

/* Buttons - همه دکمه های Elementor داخل bm-page */
.bm-page .elementor-button {
  border-radius: var(--bm-radius-md);
  background: var(--bm-primary);
  border: 1px solid var(--bm-primary);
  color: #FFFFFF;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  transition: 0.2s ease;
}

.bm-page .elementor-button:hover {
  background: var(--bm-primary-hover);
  border-color: var(--bm-primary-hover);
  color: #FFFFFF;
  transform: translateY(-1px);
  box-shadow: var(--bm-shadow-sm);
}

/* Cards */
.bm-page .bm-card {
  background: #FFFFFF;
  border: 1px solid var(--bm-border-soft);
  border-radius: var(--bm-radius-lg);
  box-shadow: var(--bm-shadow-sm);
}

/* Form Card */
.bm-page .bm-form-card {
  box-shadow: var(--bm-shadow-md);
}

/* Elementor Form - اتوماتیک */
.bm-page .elementor-form .elementor-field-label {
  color: var(--bm-heading);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.bm-page .elementor-form input,
.bm-page .elementor-form select,
.bm-page .elementor-form textarea,
.bm-page .elementor-form .elementor-field {
  min-height: 46px;
  border: 1px solid var(--bm-input-border);
  border-radius: var(--bm-radius-sm);
  background: #FFFFFF;
  color: var(--bm-text);
  font-size: 14px;
  box-shadow: none;
}

.bm-page .elementor-form textarea {
  min-height: 128px;
  resize: vertical;
}

.bm-page .elementor-form input::placeholder,
.bm-page .elementor-form textarea::placeholder {
  color: var(--bm-muted-light);
}

.bm-page .elementor-form input:focus,
.bm-page .elementor-form select:focus,
.bm-page .elementor-form textarea:focus,
.bm-page .elementor-form .elementor-field:focus {
  border-color: var(--bm-input-focus);
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 87, 255, 0.12);
}

/* Elementor Icon Box */
.bm-page .elementor-icon-box-title {
  color: var(--bm-heading);
  font-weight: 700;
}

.bm-page .elementor-icon-box-description {
  color: var(--bm-muted);
  line-height: 1.6;
}

/* Accordion / FAQ */
.bm-page .elementor-accordion .elementor-tab-title {
  border-color: var(--bm-border-soft);
  color: var(--bm-heading);
  font-weight: 700;
}

.bm-page .elementor-accordion .elementor-tab-content {
  color: var(--bm-muted);
  line-height: 1.65;
}

/* Responsive */
@media (max-width: 767px) {
  .bm-page .elementor-button {
    width: 100%;
  }
}