/* Shared LASERRIX callback modal — visually aligned with the voucher form. */
.callback-overlay {
  padding: 20px !important;
  background: rgba(36, 26, 22, 0.58) !important;
  backdrop-filter: blur(2px);
}

.callback-modal {
  width: min(100%, 380px) !important;
  max-width: 380px !important;
  padding: 30px 26px 26px !important;
  border: 1px solid rgba(61, 43, 38, 0.12) !important;
  border-radius: 24px !important;
  background: rgba(255, 253, 251, 0.98) !important;
  box-shadow: 0 24px 70px rgba(36, 26, 22, 0.3) !important;
}

.callback-modal-close {
  top: 12px !important;
  right: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--cream, #fbf3ee) !important;
  color: var(--brown, #3d2b26) !important;
  font-size: 19px !important;
  cursor: pointer;
}

.callback-modal-close:hover,
.callback-modal-close:focus-visible {
  background: var(--pink-panel, #f8e8eb) !important;
}

.callback-modal h3 {
  max-width: calc(100% - 36px);
  margin: 0 0 7px !important;
  color: var(--brown, #3d2b26) !important;
  font-family: var(--serif, "Playfair Display", Georgia, serif) !important;
  font-size: clamp(25px, 7vw, 31px) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em;
}

.callback-modal #callbackFormWrap > p {
  margin: 0 0 18px !important;
  color: var(--brown-soft, #725d54) !important;
  font-size: 15px !important;
  line-height: 1.48 !important;
}

.callback-form label,
#callbackForm label {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--brown, #3d2b26) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.callback-form input[type="tel"],
#callbackForm input[type="tel"] {
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 0 6px !important;
  padding: 12px 15px !important;
  border: 1.5px solid rgba(61, 43, 38, 0.24) !important;
  border-radius: 14px !important;
  background: #fffdfb !important;
  color: var(--brown, #3d2b26) !important;
  font-family: var(--sans, Inter, Arial, sans-serif) !important;
  font-size: 16px !important;
  box-shadow: none !important;
}

.callback-form input[type="tel"]:focus,
#callbackForm input[type="tel"]:focus {
  border-color: var(--pink-deep, #d3849c) !important;
  outline: 3px solid rgba(211, 132, 156, 0.16) !important;
  outline-offset: 1px;
}

.callback-consent {
  margin: 7px 0 15px !important;
  color: var(--brown-soft, #725d54) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.callback-consent a {
  color: inherit !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

.callback-error {
  margin: 1px 0 10px !important;
  color: #b3261e !important;
  font-size: 12.5px !important;
}

.callback-modal .callback-form .btn,
.callback-modal #callbackForm .btn,
.callback-modal .callback-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  margin: 2px 0 0 !important;
  padding: 12px 18px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--brown, #3d2b26) !important;
  color: #fff !important;
  font-family: var(--sans, Inter, Arial, sans-serif) !important;
  font-size: 15.5px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  box-shadow: none !important;
  cursor: pointer;
}

.callback-modal .callback-form .btn:hover,
.callback-modal #callbackForm .btn:hover,
.callback-modal .callback-submit:hover {
  background: var(--ink, #241a16) !important;
  transform: none !important;
}

.callback-modal .callback-form .btn:focus-visible,
.callback-modal #callbackForm .btn:focus-visible,
.callback-modal .callback-submit:focus-visible,
.callback-modal-close:focus-visible {
  outline: 3px solid rgba(211, 132, 156, 0.28) !important;
  outline-offset: 2px;
}

.callback-modal .callback-form .btn:disabled,
.callback-modal #callbackForm .btn:disabled,
.callback-modal .callback-submit:disabled {
  cursor: wait;
  opacity: 0.66;
}

.callback-success p {
  margin: 18px 0 4px !important;
  color: var(--brown, #3d2b26) !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

@media (max-width: 380px) {
  .callback-overlay { padding: 14px !important; }
  .callback-modal { padding: 27px 20px 22px !important; }
  .callback-modal h3 { font-size: 25px !important; }
}
