/* Special Rental Request Form Styles */
.special-rental-request-form {
  --sr-gap: 16px;
  --sr-radius: 10px;
  --sr-border: 1px solid #e6e8ec;
  --sr-bg: #ffffff;
  --sr-label: #111827;
  --sr-muted: #6b7280;
  --sr-focus: #3b82f6;
  --sr-shadow: 0 10px 25px rgba(16,24,40,0.06);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sr-gap);
  padding: 20px;
  background: var(--sr-bg);
  border: var(--sr-border);
  border-radius: var(--sr-radius);
  box-shadow: var(--sr-shadow);
}

@media (max-width: 768px) {
  .special-rental-request-form { grid-template-columns: 1fr; }
}

.special-rental-request-form .form-group {
  display: flex;
  flex-direction: column;
}

.special-rental-request-form label {
  font-size: 0.925rem;
  font-weight: 600;
  color: var(--sr-label);
  margin-bottom: 6px;
}

.special-rental-request-form select,
.special-rental-request-form input[type="text"],
.special-rental-request-form textarea {
  appearance: none;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background-color: #fff;
  color: #111827;
  transition: border-color .2s, box-shadow .2s;
}

.special-rental-request-form select:focus,
.special-rental-request-form input[type="text"]:focus,
.special-rental-request-form textarea:focus {
  outline: none;
  border-color: var(--sr-focus);
  box-shadow: 0 0 0 3px rgba(59,130,246,.15);
}

.special-rental-request-form textarea {
  min-height: 110px;
  resize: vertical;
}

.special-rental-request-form .is-loading {
  background-image: linear-gradient(90deg, rgba(0,0,0,0.03) 25%, rgba(0,0,0,0.06) 37%, rgba(0,0,0,0.03) 63%);
  background-size: 400% 100%;
  animation: sr-loading 1.2s ease-in-out infinite;
}

@keyframes sr-loading {
  0% { background-position: 100% 50%; }
  100% { background-position: 0 50%; }
}

.special-rental-request-form .btn,
.special-rental-request-form button[type="submit"],
.special-rental-request-form input[type="submit"] {
  grid-column: 1 / -1;
  padding: 12px 16px;
  border-radius: 10px;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  color: #fff;
  font-weight: 700;
  border: none;
  cursor: pointer;
  transition: transform .08s ease, box-shadow .2s ease, opacity .2s ease;
}

.special-rental-request-form button[type="submit"]:hover,
.special-rental-request-form input[type="submit"]:hover {
  box-shadow: 0 10px 20px rgba(29,78,216,0.25);
  transform: translateY(-1px);
}

.special-rental-request-form button[type="submit"].is-loading,
.special-rental-request-form input[type="submit"].is-loading {
  opacity: 0.75;
  cursor: progress;
}

/* Helper: full-width fields */
.special-rental-request-form .form-group.colspan-2 { grid-column: span 2; }
