/*!* Call Request Modal Styles *!*/
/*.call-request-modal {*/
/*  display: none;*/
/*  position: fixed;*/
/*  z-index: 1050;*/
/*  left: 0;*/
/*  top: 0;*/
/*  width: 100%;*/
/*  height: 100%;*/
/*  overflow: auto;*/
/*  background-color: rgba(0, 0, 0, 0.5);*/
/*}*/

/*.call-request-modal-content {*/
/*  background-color: #fefefe;*/
/*  margin: 5% auto;*/
/*  padding: 40px;*/
/*  border: none;*/
/*  border-radius: 20px;*/
/*  width: 90%;*/
/*  max-width: 500px;*/
/*  position: relative;*/
/*  font-family: sans-serif;*/
/*  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);*/
/*}*/

/*.call-request-close {*/
/*  color: #aaa;*/
/*  float: right;*/
/*  font-size: 28px;*/
/*  font-weight: bold;*/
/*  position: absolute;*/
/*  right: 20px;*/
/*  top: 15px;*/
/*  cursor: pointer;*/
/*}*/

/*.call-request-close:hover,*/
/*.call-request-close:focus {*/
/*  color: #000;*/
/*  text-decoration: none;*/
/*}*/

/*.call-request-title {*/
/*  font-size: 2rem;*/
/*  font-weight: bold;*/
/*  color: #0088cc;*/
/*  margin-bottom: 10px;*/
/*  text-align: center;*/
/*}*/

/*.call-request-subtitle {*/
/*  font-size: 1rem;*/
/*  color: #444;*/
/*  margin-bottom: 30px;*/
/*  text-align: center;*/
/*}*/

/*.call-request-form input {*/
/*  padding: 15px;*/
/*  border-radius: 12px;*/
/*  border: none;*/
/*  background: #f6f6f6;*/
/*  font-size: 1rem;*/
/*  width: 100%;*/
/*  margin-bottom: 20px;*/
/*}*/

/*.call-request-form input:focus {*/
/*  outline: 2px solid #00a9f0;*/
/*  background-color: #fff;*/
/*}*/

/*.call-request-phone-input {*/
/*  display: flex;*/
/*  align-items: center;*/
/*  background: #f6f6f6;*/
/*  border-radius: 12px;*/
/*  padding-left: 15px;*/
/*  margin-bottom: 20px;*/
/*}*/

/*.call-request-phone-input input {*/
/*  border: none;*/
/*  background: transparent;*/
/*  padding: 15px;*/
/*  font-size: 1rem;*/
/*  flex: 1;*/
/*  margin-bottom: 0;*/
/*}*/

/*.call-request-phone-input .flag {*/
/*  margin-right: 10px;*/
/*  font-size: 1rem;*/
/*}*/

/*.call-request-submit-section {*/
/*  display: flex;*/
/*  flex-direction: column;*/
/*  gap: 15px;*/
/*  margin-top: 10px;*/
/*}*/

/*.call-request-form button {*/
/*  border: none;*/
/*  padding: 15px 40px;*/
/*  border-radius: 50px;*/
/*  font-size: 1.2rem;*/
/*  font-weight: bold;*/
/*  cursor: pointer;*/
/*  width: 100%;*/
/*}*/

/*.call-request-consent {*/
/*  font-size: 0.9rem;*/
/*  display: flex;*/
/*  align-items: center; !* aligns checkbox with first line of text *!*/
/*  gap: 4px;*/
/*  color: #333;*/
/*  line-height: 1.4;*/
/*}*/

/*!* Responsive modal styles *!*/
/*@media (max-width: 768px) {*/
/*  .call-request-modal-content {*/
/*    margin: 10% auto;*/
/*    padding: 30px 20px;*/
/*    width: 95%;*/
/*  }*/

/*  .call-request-title {*/
/*    font-size: 1.5rem;*/
/*  }*/
/*}*/





/* === Theme tokens (based on latest dealers.css) === */
:root {
  --blue: #08a5e1;
  --blue-hover: #0696cb;
  --input-bg: #f3f3f3;
  --text: #0b0b0b;
}

/* Do NOT set page background here (popup overlays the page) */
* { box-sizing: border-box; }

/* ===== Modal Overlay ===== */
.call-request-modal {
  position: fixed;
  inset: 0;
  display: none;                 /* toggle to block/flex when open */
  align-items: flex-start;       /* near the top, not dead-center */
  justify-content: center;       /* horizontal centering */
  background: rgba(0, 0, 0, 0.45); /* dimmed backdrop */
  z-index: 1000;
  padding: 20px;
  padding-top: 72px; /* position close to navbar */
}

/* ===== Modal Content (form card) ===== */
.call-request-modal-content {
  background: #fff;
  border: 1px solid #dcdcdc; /* light grey border like form */
  border-radius: 18px;
  padding: 19px 24px 24px;   /* top padding reduced by 5px (from 24px) to pull title closer */
  width: 100%;
  max-width: 520px;          /* popup width */
  position: relative;
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
  animation: crm-pop .18s ease-out;
}

/* Subtle pop animation */
@keyframes crm-pop {
  from { transform: translateY(6px); opacity: 0; }
  to   { transform: translateY(0);   opacity: 1; }
}

/* Close button (×) */
.call-request-close {
  position: absolute;
  top: 10px;
  right: 14px;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  user-select: none;
  color: #9aa3aa;
}
.call-request-close:hover { color: #606972; }

/* Title & subtitle (mirrors partner-title/subtitle) */
.call-request-title {
  margin: 0 0 6px;
  font-size: 28px;
  line-height: 1.2;
  color: #0a7cc1;
  font-weight: 800;
}

.call-request-subtitle {
  margin: 0 0 18px;
  color: #5c6b76;
  font-size: 15px;
}

/* ===== Form ===== */
.call-request-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

/* Inputs (match partners form) */
.call-request-form input[type="text"],
.call-request-form input[type="tel"] {
  width: 100%;
  height: 54px;
  padding: 0 16px;
  border: none;
  outline: none;
  background: var(--input-bg);
  border-radius: 14px;
  font-size: 16px;
  color: var(--text);
}
.call-request-form input::placeholder { color: #8b8f94; }

/* Phone with flag */
.call-request-phone-input { position: relative; }
.call-request-phone-input .flag {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  width: 28px;
  text-align: center;
  pointer-events: none;
}
.call-request-phone-input input[type="tel"] { padding-left: 48px; }

/* Submit & consent */
.call-request-submit-section { margin-top: 4px; }
.call-request-submit-section .objects-button,
.call-request-submit-section button[type="submit"] {
  width: 100%;
  height: 56px;
  border: none;
  border-radius: 9999px;
  background: var(--blue);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color .2s ease-in-out, transform .02s ease-in-out;
}
.call-request-submit-section .objects-button:hover,
.call-request-submit-section button[type="submit"]:hover { background: var(--blue-hover); }
.call-request-submit-section .objects-button:active,
.call-request-submit-section button[type="submit"]:active { transform: translateY(1px); }

.call-request-consent {
  margin: 10px 0 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  line-height: 1.4;
  color: #49545c;
}
.call-request-consent a {
  color: #0a7cc1;
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
}
.call-request-consent a:hover { text-decoration: underline; }

/* Accessibility focus */
.call-request-modal-content :is(input, button):focus-visible {
  outline: 2px solid #08a5e1;
  outline-offset: 2px;
  border-radius: 16px;
}

/* ===== Responsive ===== */
@media (max-width: 480px) {
  .call-request-modal { padding: 12px; padding-top: 56px; }
  .call-request-modal-content {
    padding: 16px 18px 18px; /* slightly tighter for small screens; keeps top slightly reduced */
  }
  .call-request-title { font-size: 24px; }
  .call-request-subtitle { font-size: 14px; }
}

/* ===== Utility: show modal ===== */
/* Add/remove this class via JS to open modal */
.call-request-modal.is-open { display: flex; }