/* Quirox Agenda v0.3.4 */
.qa-wrap{
  --qa-navy:#0E2A47;
  --qa-teal:#0B8FA1;
  --qa-teal-soft:#EAF7F8;
  --qa-orange:#F59A23;
  --qa-text:#20364B;
  --qa-muted:#6A7B8B;
  --qa-border:#DCE7ED;
  --qa-bg:#FFFFFF;
  --qa-soft:#F7FAFB;
  font-family:Arial,sans-serif;
  color:var(--qa-text) !important;
  background:var(--qa-bg);
  border:1px solid #E6EDF2;
  border-radius:22px;
  padding:30px;
  box-sizing:border-box;
  width:100%;
  max-width:1240px;
  margin:0 auto;
}
.qa-wrap *{box-sizing:border-box}
.qa-wrap button,.qa-wrap input{font-family:inherit}
.qa-wrap h3{color:var(--qa-navy)!important;font-size:24px;line-height:1.2;margin:0 0 20px;font-weight:700}

.qa-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:34px;font-size:14px;color:var(--qa-muted)}
.qa-steps span{display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px 12px;border-radius:999px;background:#F3F6F8;border:1px solid #E7EEF2;color:var(--qa-muted)!important;font-weight:600}
.qa-steps span.active{background:var(--qa-navy)!important;color:#fff!important;border-color:var(--qa-navy)!important}

.qa-grid{display:grid;grid-template-columns:1.18fr 1fr 1fr;gap:0;border:1px solid #E8EEF2;border-radius:18px;overflow:hidden;background:#fff}
.qa-grid>section{padding:28px;min-width:0}
.qa-grid>section+section{border-left:1px solid #E8EEF2}

.qa-services{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.qa-service{
  appearance:none!important;
  -webkit-appearance:none!important;
  min-height:118px;
  border:1px solid var(--qa-border)!important;
  border-radius:14px!important;
  background:#fff!important;
  padding:17px!important;
  text-align:left!important;
  cursor:pointer;
  box-shadow:none!important;
  transform:none!important;
  opacity:1!important;
  color:var(--qa-navy)!important;
  -webkit-text-fill-color:var(--qa-navy)!important;
  transition:border-color .2s ease,background .2s ease;
}
.qa-service:hover,.qa-service:focus{border-color:var(--qa-teal)!important;background:#F8FCFD!important;color:var(--qa-navy)!important;-webkit-text-fill-color:var(--qa-navy)!important}
.qa-service.active{border:2px solid var(--qa-teal)!important;background:var(--qa-teal-soft)!important;color:var(--qa-navy)!important;-webkit-text-fill-color:var(--qa-navy)!important}
.qa-service strong{display:block!important;color:var(--qa-navy)!important;-webkit-text-fill-color:var(--qa-navy)!important;font-size:15px!important;line-height:1.25!important;font-weight:700!important;opacity:1!important;visibility:visible!important;text-shadow:none!important}
.qa-service small{display:block!important;margin-top:10px;color:#5D7283!important;-webkit-text-fill-color:#5D7283!important;font-size:13px!important;line-height:1.35!important;font-weight:500!important;opacity:1!important;visibility:visible!important;text-shadow:none!important}
.qa-service .qa-price{display:block;margin-top:4px;color:var(--qa-teal)!important;-webkit-text-fill-color:var(--qa-teal)!important;font-size:15px!important;font-weight:700!important}
.qa-service .qa-service-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#EFF8F9;color:var(--qa-teal)!important;margin-bottom:12px;font-size:17px}

.qa-wrap label{display:block;color:var(--qa-navy)!important;font-size:14px;font-weight:600;margin-bottom:4px}
.qa-wrap input{
  width:100%!important;
  max-width:100%!important;
  color:var(--qa-navy)!important;
  -webkit-text-fill-color:var(--qa-navy)!important;
  background:#fff!important;
  border:1px solid var(--qa-border)!important;
  border-radius:12px!important;
  padding:12px 13px!important;
  margin:7px 0 14px!important;
  min-height:46px;
  box-shadow:none!important;
  opacity:1!important;
}
.qa-wrap input:focus{outline:2px solid rgba(11,143,161,.18)!important;border-color:var(--qa-teal)!important}

.qa-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.qa-slot{
  appearance:none!important;
  -webkit-appearance:none!important;
  min-height:48px;
  border:1px solid var(--qa-border)!important;
  background:#fff!important;
  padding:10px 8px!important;
  border-radius:11px!important;
  cursor:pointer;
  color:var(--qa-navy)!important;
  -webkit-text-fill-color:var(--qa-navy)!important;
  font-size:14px!important;
  font-weight:700!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
  box-shadow:none!important;
}
.qa-slot:hover,.qa-slot:focus{border-color:var(--qa-teal)!important;background:#F8FCFD!important;color:var(--qa-navy)!important;-webkit-text-fill-color:var(--qa-navy)!important}
.qa-slot.active{background:var(--qa-navy)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:var(--qa-navy)!important}

.qa-primary{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:100%!important;
  border:0!important;
  border-radius:12px!important;
  padding:14px 16px!important;
  min-height:50px;
  background:var(--qa-teal)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-weight:700!important;
  cursor:pointer;
  box-shadow:none!important;
  opacity:1;
}
.qa-primary:hover,.qa-primary:focus{background:#087C8B!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.qa-primary:disabled{opacity:.45!important;cursor:not-allowed}

.qa-summary{background:var(--qa-soft);border:1px solid #E5EDF1;border-radius:14px;padding:14px;margin-bottom:14px;font-size:14px;color:var(--qa-text)!important;line-height:1.6}
.qa-summary strong{color:var(--qa-navy)!important}
.qa-muted{color:var(--qa-muted)!important;-webkit-text-fill-color:var(--qa-muted)!important;font-size:14px;line-height:1.5}
#qa-message{margin-top:12px;font-size:14px;color:var(--qa-text)!important;line-height:1.45}
.qa-section-note{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#F4FAFB;color:#607584!important;font-size:13px;line-height:1.45}

@media(max-width:1000px){
  .qa-grid{grid-template-columns:1fr}
  .qa-grid>section+section{border-left:0;border-top:1px solid #E8EEF2}
}
@media(max-width:640px){
  .qa-wrap{padding:18px;border-radius:16px}
  .qa-steps{grid-template-columns:1fr 1fr;gap:8px}
  .qa-services{grid-template-columns:1fr}
  .qa-slots{grid-template-columns:repeat(3,1fr)}
  .qa-grid>section{padding:22px 18px}
  .qa-wrap h3{font-size:21px}
}

/* Calendario propio Quirox v0.3.2 */
.qa-calendar{border:1px solid var(--qa-border);border-radius:16px;background:#fff;padding:15px;margin:4px 0 12px}
.qa-calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin-bottom:12px}
.qa-calendar-head strong{text-align:center;text-transform:capitalize;color:var(--qa-navy)!important;font-size:16px}
.qa-cal-nav{appearance:none!important;width:38px!important;height:38px!important;min-height:38px!important;border:1px solid var(--qa-border)!important;border-radius:10px!important;background:#fff!important;color:var(--qa-navy)!important;-webkit-text-fill-color:var(--qa-navy)!important;padding:0!important;font-size:25px!important;line-height:1!important;cursor:pointer}
.qa-cal-nav:hover:not(:disabled){border-color:var(--qa-teal)!important;background:#F7FCFD!important}
.qa-cal-nav:disabled{opacity:.25!important;cursor:not-allowed}
.qa-cal-weekdays,.qa-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.qa-cal-weekdays{margin-bottom:5px}.qa-cal-weekdays span{text-align:center;font-size:11px;font-weight:700;color:var(--qa-muted)!important;text-transform:uppercase;padding:4px 0}
.qa-cal-day{appearance:none!important;aspect-ratio:1/1;min-width:0!important;min-height:0!important;width:100%!important;border:1px solid transparent!important;border-radius:9px!important;padding:0!important;background:#fff!important;color:var(--qa-navy)!important;-webkit-text-fill-color:var(--qa-navy)!important;font-size:13px!important;font-weight:700!important;cursor:pointer;box-shadow:none!important}
.qa-cal-day:hover:not(:disabled){background:var(--qa-teal-soft)!important;border-color:var(--qa-teal)!important}
.qa-cal-day.today:not(.selected){border-color:#9FCED5!important}
.qa-cal-day.selected{background:var(--qa-navy)!important;border-color:var(--qa-navy)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.qa-cal-day.disabled{background:#F3F5F6!important;color:#B4BDC4!important;-webkit-text-fill-color:#B4BDC4!important;text-decoration:line-through;cursor:not-allowed!important;opacity:.85!important}
.qa-cal-day.outside{opacity:.32!important}
.qa-cal-day.outside:disabled{text-decoration:none}
.qa-selected-date{font-size:13px;font-weight:700;color:var(--qa-teal)!important;text-transform:capitalize;margin:8px 0 4px}
.qa-cal-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid #EEF2F4;color:var(--qa-muted)!important;font-size:11px}
.qa-cal-legend span{display:flex;align-items:center;gap:5px}.qa-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.qa-dot-open{background:var(--qa-teal)}.qa-dot-closed{background:#C9D0D5}
@media(max-width:640px){.qa-calendar{padding:11px}.qa-cal-days,.qa-cal-weekdays{gap:3px}.qa-cal-day{font-size:12px!important;border-radius:7px!important}}

.qa-date-trigger{appearance:none!important;-webkit-appearance:none!important;width:100%!important;min-height:52px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;border:1px solid var(--qa-border)!important;border-radius:13px!important;background:#fff!important;color:var(--qa-navy)!important;-webkit-text-fill-color:var(--qa-navy)!important;padding:13px 15px!important;text-align:left!important;font-size:14px!important;font-weight:700!important;cursor:pointer!important;box-shadow:none!important;margin:0 0 10px!important}
.qa-date-trigger:hover,.qa-date-trigger:focus{border-color:var(--qa-teal)!important;background:#F8FCFD!important}
.qa-date-trigger-icon{font-size:18px;line-height:1;transition:transform .18s ease;color:var(--qa-teal)!important;-webkit-text-fill-color:var(--qa-teal)!important}
.qa-date-trigger.open .qa-date-trigger-icon{transform:rotate(180deg)}
.qa-calendar{overflow:hidden;max-height:520px;opacity:1;transform:translateY(0);transition:max-height .24s ease,opacity .18s ease,transform .18s ease,padding .24s ease,margin .24s ease,border-width .24s ease}
.qa-calendar.qa-calendar-collapsed{max-height:0!important;opacity:0!important;transform:translateY(-6px);padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;border-width:0!important;pointer-events:none}

/* Hard close for Elementor/theme compatibility */
.qa-calendar.qa-calendar-collapsed{display:none!important;}
