/* Controles de recogida del piloto. Mantienen los colores y tipos existentes. */
.pickup-section { border-top:1px solid var(--line); padding-top:27px; }
.pickup-section h4 { font:30px/1.2 var(--serif); font-weight:400; letter-spacing:-.5px; margin:0; }
.pickup-help { color:#687060; font-size:13px; line-height:1.7; margin:10px 0 0; }
.pickup-field-label,.pickup-mode-options legend { font-size:14px!important; font-weight:500; margin:23px 0 10px; }
.pickup-select { display:flex; align-items:center; gap:15px; width:100%; padding:19px; min-height:92px; border:1px solid #bcc6b4; background:#fcfaf4; text-align:left; color:var(--green); }
.pickup-select:hover,.pickup-time-select:hover { border-color:var(--green); background:#edf0e5; }
.pickup-select>svg { width:27px; height:27px; flex-shrink:0; }
.pickup-select .pickup-chevron { width:17px; height:17px; margin-left:auto; }
.pickup-select-copy { display:block; }
.pickup-select-copy strong { display:block; font-size:20px; font-weight:500; line-height:1.4; }
.pickup-select-copy small { display:block; color:var(--muted); font-size:12px; line-height:1.6; margin-top:5px; }
.pickup-select[aria-invalid=true],.pickup-time-select[aria-invalid=true] { border-color:#a44e39; }
.pickup-mode-options { margin-top:24px!important; }
.pickup-mode-options legend { padding-bottom:12px; margin:0; }
.choice.pickup-mode { padding:19px 17px; gap:14px; min-height:84px; margin-bottom:11px; align-items:center; background:#fcfaf4; }
.choice.pickup-mode:has(input:checked) { border-color:var(--green); background:#e9eddf; }
.pickup-mode input { width:23px!important; height:23px!important; margin:0!important; }
.pickup-mode strong { font-size:16px; line-height:1.5; font-weight:500; display:block; }
.pickup-mode small { font-size:12px; line-height:1.7; font-weight:400; }
.pickup-range { margin-top:20px; }
.pickup-range-label { color:#626b5b; font-size:13px; line-height:1.6; margin-bottom:12px; }
.pickup-range-fields { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:11px; }
.pickup-time-select { min-width:0; min-height:89px; padding:15px; border:1px solid #bcc6b4; background:#fcfaf4; text-align:left; color:var(--green); }
.pickup-time-select>span { display:block; font-size:12px; color:var(--muted); line-height:1.5; margin-bottom:7px; }
.pickup-time-select>strong { display:block; font-size:19px; line-height:1.4; font-weight:500; white-space:nowrap; }
.pickup-range-separator { color:#8a9480; }
.pickup-error { color:#9c3c2d; font-size:13px; line-height:1.7; margin-top:10px; }
.pickup-recap { border-left:2px solid var(--green); padding:15px 17px; background:var(--sage); margin-top:23px; color:var(--green); }
.pickup-recap>span { display:block; font:9px/1.6 var(--mono); letter-spacing:1px; }
.pickup-recap>strong { display:block; font-size:15px; font-weight:500; line-height:1.6; margin-top:7px; }
.pickup-recap>p { font-size:13px; line-height:1.6; margin-top:4px; }
.pickup-coordination { font-size:12px; margin-top:15px; }
.pickup-dialog { max-width:510px; padding:28px; }
.pickup-dialog h2 { font-size:37px; line-height:1.15; }
.picker-help { color:#687060; font-size:14px; line-height:1.7; margin-top:12px; }
.pickup-dialog .dialog-top { margin-bottom:20px; }
.calendar-navigation { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:26px 0 19px; }
.calendar-navigation h3 { font:23px/1.3 var(--serif); font-weight:400; text-align:center; color:var(--green); }
.calendar-navigation h3:first-letter { text-transform:uppercase; }
.calendar-nav { width:46px; height:46px; flex-shrink:0; display:grid; place-items:center; background:transparent; border:1px solid #c9cfbe; color:var(--green); }
.calendar-nav svg { width:20px; height:20px; }
.calendar-nav:hover:enabled { background:var(--sage); }
.calendar-nav:disabled { opacity:.25; cursor:default; }
.calendar-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; margin-top:5px; }
.calendar-weekday { padding:0 0 9px; text-align:center; font:11px/1.5 var(--mono); color:var(--muted); }
.calendar-day { width:100%; min-height:49px; border:1px solid transparent; background:#eeeee3; color:var(--green); font-size:18px; font-weight:500; padding:8px 0; border-radius:3px; }
.calendar-day:hover:enabled { border-color:var(--green); background:#e2e8d7; }
.calendar-day:disabled { background:transparent; color:#b4b7a8; cursor:default; }
.calendar-day[aria-current=date] { border-color:#a78c55; }
.calendar-day[aria-pressed=true] { background:var(--green); border-color:var(--green); color:var(--paper); }
.calendar-day:focus-visible { outline:2px solid var(--rust); outline-offset:1px; }
.calendar-legend { display:flex; justify-content:center; gap:24px; margin-top:22px; color:var(--muted); font-size:11px; }
.calendar-legend>span { display:flex; align-items:center; gap:7px; }
.calendar-legend i { display:block; width:13px; height:13px; border-radius:2px; }
.calendar-today-marker { border:1px solid #a78c55; }
.calendar-selected-marker { background:var(--green); }
.picker-footnote { font-size:12px; color:var(--muted); text-align:center; margin-top:21px; line-height:1.7; }
.clock-hours { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:24px; }
.clock-hours button { min-height:67px; padding:12px 5px; border:1px solid #d5dacb; background:#eeeee3; color:var(--green); font-size:17px; border-radius:3px; line-height:1.6; }
.clock-hours button:disabled { opacity:.3; cursor:default; }
.clock-hours button:hover:enabled { border-color:var(--green); }
.clock-hours button[aria-pressed=true] { background:var(--green); border-color:var(--green); color:var(--paper); }
@media(max-width:760px) {
  .pickup-section h4 { font-size:28px; }
  .pickup-select { padding:16px; min-height:91px; gap:12px; }
  .pickup-select-copy strong { font-size:18px; }
  .choice.pickup-mode { padding:17px 14px; gap:12px; }
  .pickup-mode strong { font-size:15px; }
  .pickup-range-fields { gap:7px; }
  .pickup-time-select { padding:14px 11px; min-height:87px; }
  .pickup-time-select>strong { font-size:17px; }
  .pickup-recap { padding:14px 15px; }
  .pickup-recap>strong { font-size:14px; }
  .pickup-dialog { width:calc(100% - 20px); padding:22px 19px; max-height:calc(100dvh - 24px); }
  .pickup-dialog h2 { font-size:33px; }
  .pickup-dialog .dialog-top { margin-bottom:18px; }
  .calendar-navigation { margin:23px 0 17px; gap:8px; }
  .calendar-navigation h3 { font-size:22px; }
  .calendar-week { gap:3px; margin-top:4px; }
  .calendar-day { min-height:47px; font-size:17px; }
}
