/* Aura / Dental V10.5 — agenda clara, desplegables completos y validación visible */
.agenda-page .contact-form {
  position: relative;
  background:
    radial-gradient(circle at 94% 4%, rgba(187,129,94,.13), transparent 30%),
    linear-gradient(145deg, #fffaf6 0%, #f5e6dc 100%);
  color: #3b241e;
  box-shadow: inset 1px 0 0 rgba(255,255,255,.78);
}
.agenda-page .contact-form::before {
  content: '';
  position: absolute;
  inset: 22px;
  pointer-events: none;
  border: 1px solid rgba(103,61,48,.08);
  border-radius: 26px;
}
.agenda-page .contact-form > * { position: relative; z-index: 1; }
.agenda-page .contact-form label > span { color: #5b3b32; font-weight: 650; }
.agenda-page .contact-form input,
.agenda-page .contact-form textarea,
.agenda-page .contact-form select {
  color: #2d1d19;
  border-bottom-color: rgba(72,42,34,.28);
}
.agenda-page .contact-form input::placeholder,
.agenda-page .contact-form textarea::placeholder { color: rgba(65,39,32,.52); }
.agenda-page .contact-form input:focus,
.agenda-page .contact-form textarea:focus,
.agenda-page .contact-form select:focus { border-color: #8f5a44; }
.agenda-page .contact-form input:-webkit-autofill,
.agenda-page .contact-form input:-webkit-autofill:hover,
.agenda-page .contact-form input:-webkit-autofill:focus {
  -webkit-text-fill-color: #2d1d19 !important;
  -webkit-box-shadow: 0 0 0 1000px #fff8f3 inset !important;
  box-shadow: 0 0 0 1000px #fff8f3 inset !important;
  caret-color: #2d1d19;
}
.agenda-page .service-picker-button {
  color: #2d1d19;
  border-bottom-color: rgba(72,42,34,.28);
}
.agenda-page .service-picker-button:focus-visible { outline-color: rgba(143,90,68,.55); }
.agenda-page .service-picker-button.is-invalid { border-color: #b63e3e; }
.agenda-page .service-picker-panel {
  border-color: rgba(92,54,43,.16);
  background: #fffaf6;
  color: #2d1d19;
  box-shadow: 0 24px 70px rgba(54,30,24,.22);
}
.agenda-page .service-picker-title {
  background: #fffaf6;
  color: #8d604e;
  border-bottom-color: rgba(92,54,43,.12);
}
.agenda-page .service-picker-group + .service-picker-group { border-top-color: rgba(92,54,43,.1); }
.agenda-page .service-picker-group small { color: #9b644d; }
.agenda-page .service-picker-group button { color: #493029; }
.agenda-page .service-picker-group button:hover,
.agenda-page .service-picker-group button:focus-visible { background: #f3dfd2; color: #2d1d19; }
.agenda-page .service-picker-group button.is-selected { background: #6a3e31; color: #fff; }
.agenda-page .consent { padding: 12px 14px; border-radius: 13px; background: rgba(255,255,255,.52); border: 1px solid rgba(91,51,40,.1); }
.agenda-page .consent input { accent-color: #754737; }
.agenda-page .consent span { color: #51342c !important; line-height: 1.55; }
.agenda-page .consent a,
.agenda-page .appointment-note a { color: #623b30; text-decoration-thickness: 1px; }
.agenda-page .consent.is-invalid {
  border-color: rgba(182,62,62,.72);
  background: rgba(255,231,228,.82);
  box-shadow: 0 0 0 3px rgba(182,62,62,.08);
}
.consent-error {
  margin: 8px 0 0;
  padding: 10px 13px;
  border-left: 3px solid #b63e3e;
  border-radius: 8px;
  background: #fff0ed;
  color: #8f2525;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.5;
}
.consent-error[hidden] { display: none; }
.agenda-page .appointment-note {
  border-color: rgba(91,51,40,.14);
  background: rgba(255,255,255,.58);
  color: #66483f;
}
.agenda-page .submit-button {
  border: 0;
  background: linear-gradient(135deg, #5b3027, #8b5844);
  color: #fff;
  box-shadow: 0 14px 28px rgba(80,43,34,.22);
}
.agenda-page .submit-button:hover { transform: translateY(-2px); box-shadow: 0 18px 34px rgba(80,43,34,.28); }
.agenda-page .form-status {
  min-height: 0;
  display: inline-block;
  margin-top: 14px;
  padding: 0;
  color: #5c4037;
  font-weight: 650;
  line-height: 1.55;
}
.agenda-page .form-status:empty { display: none; }
.agenda-page .form-status.is-error {
  display: block;
  padding: 11px 14px;
  border: 1px solid rgba(182,62,62,.2);
  border-radius: 11px;
  background: #fff0ed;
  color: #972d2d;
}
.agenda-page .form-status.is-success {
  display: block;
  padding: 11px 14px;
  border: 1px solid rgba(45,122,91,.2);
  border-radius: 11px;
  background: #edf8f2;
  color: #246a50;
}

/* Identidad dental: más clara, azul y profesional */
.dental-agenda-page .contact-form {
  background:
    radial-gradient(circle at 92% 4%, rgba(91,169,214,.15), transparent 30%),
    linear-gradient(145deg, #fbfdff 0%, #eaf5fb 100%);
  color: #153546;
}
.dental-agenda-page .contact-form::before { border-color: rgba(53,117,151,.1); }
.dental-agenda-page .contact-form label > span { color: #244e63; }
.dental-agenda-page .contact-form input,
.dental-agenda-page .contact-form textarea,
.dental-agenda-page .contact-form select,
.dental-agenda-page .service-picker-button {
  color: #123546;
  border-bottom-color: rgba(38,91,118,.3);
}
.dental-agenda-page .contact-form input::placeholder,
.dental-agenda-page .contact-form textarea::placeholder { color: rgba(32,75,96,.52); }
.dental-agenda-page .contact-form input:focus,
.dental-agenda-page .contact-form textarea:focus,
.dental-agenda-page .contact-form select:focus { border-color: #3e98c4; }
.dental-agenda-page .contact-form input:-webkit-autofill,
.dental-agenda-page .contact-form input:-webkit-autofill:hover,
.dental-agenda-page .contact-form input:-webkit-autofill:focus {
  -webkit-text-fill-color: #123546 !important;
  -webkit-box-shadow: 0 0 0 1000px #f7fcff inset !important;
  box-shadow: 0 0 0 1000px #f7fcff inset !important;
}
.dental-agenda-page .service-picker-panel { background: #f9fdff; border-color: rgba(62,152,196,.22); color: #123546; box-shadow: 0 24px 70px rgba(13,55,75,.22); }
.dental-agenda-page .service-picker-title { background: #f9fdff; color: #367fa4; border-bottom-color: rgba(62,152,196,.15); }
.dental-agenda-page .service-picker-group + .service-picker-group { border-top-color: rgba(62,152,196,.13); }
.dental-agenda-page .service-picker-group small { color: #3c91bb; }
.dental-agenda-page .service-picker-group button { color: #204b60; }
.dental-agenda-page .service-picker-group button:hover,
.dental-agenda-page .service-picker-group button:focus-visible { background: #dff1fa; color: #123546; }
.dental-agenda-page .service-picker-group button.is-selected { background: #4b9fc9; color: #fff; }
.dental-agenda-page .consent { border-color: rgba(42,104,134,.12); background: rgba(255,255,255,.64); }
.dental-agenda-page .consent input { accent-color: #3e98c4; }
.dental-agenda-page .consent span { color: #234b5f !important; }
.dental-agenda-page .consent a,
.dental-agenda-page .appointment-note a { color: #246b8e; }
.dental-agenda-page .appointment-note { border-color: rgba(42,104,134,.16); background: rgba(255,255,255,.68); color: #315a6e; }
.dental-agenda-page .submit-button { background: linear-gradient(135deg, #1d5e7d, #4b9fc9); box-shadow: 0 14px 28px rgba(20,78,106,.22); }
.dental-agenda-page .submit-button:hover { box-shadow: 0 18px 34px rgba(20,78,106,.3); }
.dental-agenda-page .form-status { color: #315a6e; }

@media (max-width: 760px) {
  .agenda-page .contact-form::before { inset: 10px; border-radius: 20px; }
  .agenda-page .contact-form { padding-inline: 24px; }
  .agenda-page .service-picker-panel { background: #fffaf6; }
  .dental-agenda-page .service-picker-panel { background: #f9fdff; }
}
