/* Sanad — Contact Form 7 styling (Mac Chrome & iOS cross-browser fix) */

/* Global Box-Sizing & Overflow Containment Fix */
.sanad-cf7,
.sanad-cf7 *,
.sanad-cf7 *::before,
.sanad-cf7 *::after {
  box-sizing: border-box !important;
  max-width: 100%;
}

.sanad-cf7 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  font-family: var(--sanad-font, 'Tajawal', sans-serif);
  transition: all .3s;
  color-scheme: light !important; /* Forces Mac/iOS dark mode overrides off */
  overflow: hidden; /* Prevents iOS flex item spillover */
}

/* Field wrapper */
.sanad-cf7__group { 
  display: flex; 
  flex-direction: column; 
  padding: 0 0 20px; 
  width: 100%; 
}

.sanad-cf7__group.is-half { 
  width: 48%; 
}

.sanad-cf7__group:last-child { 
  padding-bottom: 0; 
}

/* Label */
.sanad-cf7__label {
  display: block;
  margin-bottom: 5px;
  font-family: var(--sanad-font, 'Tajawal', sans-serif);
  font-weight: 700;
  font-size: 18px;
  color: #425C61;
  letter-spacing: .4px;
}

.sanad-cf7__req { 
  display: none !important; 
}

/* Controls Wrapper */
.sanad-cf7 .wpcf7-form-control-wrap { 
  display: block; 
  width: 100%; 
}

/* Common Inputs Base Styling — Reset Mac Chrome & iOS Defaults */
.sanad-cf7 input:not([type=submit]),
.sanad-cf7 select,
.sanad-cf7 textarea {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 100% !important;
  height: 48px !important; /* Fixed height for pixel-perfect Mac alignment */
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  border-radius: 2rem !important;
  background-color: rgba(226, 226, 224, 0.24) !important;
  font-family: var(--sanad-font, 'Tajawal', sans-serif) !important;
  font-size: 16px !important; /* FIXED: 16px prevents iOS Safari auto-zoom scroll */
  padding: 0 20px !important;
  color: #00332E !important;
  transition: all .3s ease !important;
}

.sanad-cf7 textarea {
  height: 90px !important;
  padding: 12px 20px !important;
  resize: vertical;
}

/* Placeholders */
.sanad-cf7 ::placeholder {
  font-family: var(--sanad-font, 'Tajawal', sans-serif) !important;
  font-weight: 400 !important;
  color: rgba(129, 145, 149, 0.56) !important;
  opacity: 1 !important;
}

/* ---- Select / Dropdown Styling for macOS ---- */
.sanad-cf7 select {
  cursor: pointer !important;
  
  /* Grey text before selecting */
  color: rgba(129, 145, 149, 0.56) !important;
  
  /* Left Arrow icon for RTL */
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23425C61%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: left 20px center !important;
  background-size: 10px auto !important;
  padding-left: 40px !important;
  padding-right: 20px !important;
}

/* Dark green text ONLY when active/chosen */
.sanad-cf7 select.is-active {
  color: #00332E !important;
}

.sanad-cf7 select option {
  color: #00332E !important;
  background-color: #ffffff !important;
}

.sanad-cf7 select option[value=""] {
  color: rgba(129, 145, 149, 0.56) !important;
}

/* Hide Mac Chrome Number Spinners */
.sanad-cf7 input::-webkit-outer-spin-button,
.sanad-cf7 input::-webkit-inner-spin-button { 
  -webkit-appearance: none !important; 
  margin: 0 !important; 
}
.sanad-cf7 input[type=number] { 
  -moz-appearance: textfield !important; 
}

/* Submit Button & Spinner Wrapper */
.sanad-cf7__submit { 
  width: 100%; 
  position: relative;
}

.sanad-cf7 input[type=submit] {
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  cursor: pointer !important;
  padding: 16px 40px !important;
  text-align: center !important;
  background-color: #425C61 !important;
  color: #FFFFFF !important;
  font-family: var(--sanad-font, 'Tajawal', sans-serif) !important;
  font-weight: 400 !important;
  font-size: 1.8rem !important;
  line-height: 1 !important;
  border-radius: 16rem !important;
  transition: all .3s ease !important;
}

.sanad-cf7 input[type=submit]:hover { 
  background-color: #00332E !important; 
}

/* Fix CF7 Validation Error Styling on Mac */
.sanad-cf7 .wpcf7-not-valid { 
  border: 1px solid #D9534F !important;
  background-color: rgba(217, 83, 79, 0.05) !important;
}

.sanad-cf7 .wpcf7-not-valid-tip {
  margin-top: 5px !important;
  font-family: var(--sanad-font, 'Tajawal', sans-serif) !important;
  font-size: 1.3rem !important;
  color: #D9534F !important;
}

/* FIXED: Prevent CF7 Spinner from overflowing next to 100% submit button on iOS */
.sanad-cf7 .wpcf7-spinner { 
  position: absolute !important;
  right: 15px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important; 
}

/* Feedback Response Box */
form.wpcf7-form .wpcf7-response-output {
  width: 100% !important;
  margin: 15px 0 0 !important;
  padding: 15px !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-family: var(--sanad-font, 'Tajawal', sans-serif) !important;
  font-size: 1.5rem !important;
}

form.wpcf7-form.sent .wpcf7-response-output { 
  background: #EFF6F4 !important; 
  color: #00332E !important; 
}

form.wpcf7-form.invalid .wpcf7-response-output,
form.wpcf7-form.unaccepted .wpcf7-response-output,
form.wpcf7-form.failed .wpcf7-response-output { 
  background: #FDECEA !important; 
  color: #B23A2E !important; 
}

/* intl-tel-input Integration Fixes for Mac & iOS */
.sanad-cf7 .iti { 
  display: block !important; 
  width: 100% !important; 
}

.sanad-cf7 .iti input[type=tel] { 
  margin: 0 !important; 
}

.sanad-cf7 .iti__country-container { 
  padding: 0 !important; 
}

/* FIXED: Restrain intl-tel-input country menu on narrow iOS screens */
.sanad-cf7 .iti__country-list {
  max-width: 100vw !important;
  white-space: normal !important;
}

.sanad-cf7 .iti--allow-dropdown input[type=tel],
.sanad-cf7 .iti--show-flags input[type=tel] { 
  padding-left: 52px !important; 
}

/* Mobile Breakpoint - FIXED: Expanded from 478px to 768px to cover all iPhones */
@media (max-width: 768px) {
  .sanad-cf7__group.is-half { 
    width: 100% !important; 
  }
  .sanad-cf7 input[type=submit] { 
    width: 100% !important; 
  }
}