/* Referral Form Color Palette
 * Light Green: #a6ce39
 * Cyan: #5ce1e6
 * Blue: #20b4ef
 * Deep Blue: #0275e2
 * Yellow: #fcd92b
 * Using lighter shades for better usability
 */

:root {
  --rf-green: #a6ce39;
  --rf-green-light: #c9e47a;
  --rf-cyan: #fcd92b;      /* Changed to yellow */
  --rf-cyan-light: #fee78d; /* Changed to light yellow */
  --rf-blue: #e6b800;      /* Changed to darker yellow */
  --rf-blue-light: #fff0b3; /* Changed to very light yellow */
  --rf-deep-blue: #cc9900;  /* Changed to amber */
  --rf-deep-blue-light: #ffe066; /* Changed to light amber */
  --rf-yellow: #fcd92b;
  --rf-yellow-light: #fee78d;
}

/* Page background with bold yellow gradient */
.gb-page {
  background: linear-gradient(135deg, rgba(252, 217, 43, 0.15), #fffbe6);
}

/* Card styling with bold yellow elements */
.card {
  border-color: #fcd92b;
  border-width: 2px;
  box-shadow: 0 12px 30px rgba(252, 217, 43, 0.15);
}

.card__head {
  background: linear-gradient(90deg, #fcd92b, #fee78d);
  border-bottom-color: #e6b800;
}

.card__head h2 {
  color: #103400;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5);
}

/* Form elements with bold yellow styling */
#referral-form :where(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
  border-color: #fee78d;
  box-shadow: 0 2px 6px rgba(252, 217, 43, 0.1);
}

#referral-form :where(input[type="text"], input[type="email"], input[type="tel"], select, textarea):focus {
  border-color: #fcd92b;
  border-width: 2px;
  box-shadow: 0 0 0 3px rgba(252, 217, 43, 0.3);
}

#referral-form input[type="checkbox"], #referral-form input[type="radio"] {
  accent-color: #e6b800;
}

/* Service cards with bold yellow styling */
.checkcard {
  transition: all 0.3s ease;
  border-color: #fcd92b;
  border-width: 2px;
  border-left-width: 6px;
  background: linear-gradient(145deg, #fffbe6, #fff);
}

.checkcard:hover {
  box-shadow: 0 12px 28px rgba(252, 217, 43, 0.25);
  border-color: #e6b800;
  background: linear-gradient(145deg, #fff6cc, #fff);
  transform: translateY(-3px);
}

.checkcard > span {
  color: #664d00;
  font-weight: 700;
}

/* Accordion elements with bold yellow styling */
.acc {
  border-color: #fcd92b;
  border-width: 2px;
}

.acc > summary {
  background: linear-gradient(90deg, #fcd92b, #fee78d);
  border-bottom-color: #e6b800;
  color: #664d00;
  font-weight: 700;
}

.acc > summary::after {
  border-color: #664d00;
}

.acc .chip {
  background: #fcd92b;
  color: #664d00;
  font-weight: 600;
}

/* Buttons with bold yellow styling */
.btn {
  --b1: #fcd92b;
  --b2: #fee78d;
  background: linear-gradient(90deg, var(--b1), var(--b2));
  box-shadow: 0 10px 26px rgba(252, 217, 43, 0.3);
  letter-spacing: 0.5px;
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.3s;
  color: #664d00;
  font-weight: 800;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.4);
  border: none;
}

.btn:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 16px 36px rgba(252, 217, 43, 0.4);
  background: linear-gradient(90deg, #fcd92b, #fde25a);
}

.btn--light {
  --b1: var(--rf-yellow);
  --b2: var(--rf-yellow-light);
  color: #664d00;
  box-shadow: 0 8px 20px rgba(252, 217, 43, 0.15);
}

/* Child cards with bold yellow tint */
.child-card {
  background: linear-gradient(145deg, #fffbe6, #fffef7);
  border-color: #fcd92b;
  border-width: 2px;
  border-left-width: 4px;
  box-shadow: 0 8px 20px rgba(252, 217, 43, 0.15);
}

/* Enhanced field labels */
.field label {
  color: #664d00;
  font-weight: 700;
}

.field .hint {
  color: #b38600;
}

/* Error styling */
.error-summary {
  border-left-color: #e05252;
  background: #fff8f8;
}

.error-text {
  color: #e05252;
}
