/* =========================================================
   Confirent V3 · componente: widget de pesquisa (.search-form)
   Usado no hero da homepage (variant hero) e no popup de pesquisa
   das páginas interiores (variant popup). Medidas do original.
   ========================================================= */

.search-form{
  --sw-border:#dddedf; /* cor de borda dos campos de data no original (--bricks-border-color) */
  --sw-shadow:rgba(0,0,0,.14) 0 4px 5px 0, rgba(0,0,0,.12) 0 1px 10px 0, rgba(0,0,0,.2) 0 2px 4px -1px;
  display:flex;flex-direction:column;align-items:flex-start;row-gap:10px;
  width:100%;max-width:100%;padding:15px;
  font-size:15px;font-weight:400;line-height:1.7;color:var(--text);
  background:var(--white);border-radius:15px;
}

/* ---------- Categorias (Passageiros / Comerciais) ---------- */
.search-form__cats{display:flex;flex-direction:row;align-items:flex-start;column-gap:15px;margin-bottom:10px}
.select-categoria{display:flex;flex-direction:row;align-items:center;column-gap:10px;width:auto;padding:7.5px 20px;font-size:16px;font-weight:500;line-height:1.7;color:var(--navy);background:var(--grey-50);border:0;border-radius:50px;cursor:pointer}
.select-categoria.selected{background:var(--navy)!important;color:var(--white)!important}
@media (max-width:770px){.select-categoria{padding-left:10px;padding-right:10px}}

/* ---------- Linha de rótulos ---------- */
.search-form__labels{display:flex;flex-direction:row;align-items:flex-start;column-gap:15px;width:100%}
.search-blocks{display:flex;flex-direction:column;align-items:flex-start;width:calc(22% - 12.5px)}
.search-dates{display:flex;flex-direction:column;align-items:flex-start;width:calc(16.66% - 12.5px)}
.search-form__labels-spacer{height:0;max-height:0;min-height:0}
.search-form__labels-age{display:flex;flex-direction:column;align-items:flex-start;width:calc(6% - 12.5px)}
.search-form__label{display:block;font-size:16px;font-weight:800;line-height:1.7;color:var(--navy)}
.search-date__label,.search-age__label{display:none}

/* ---------- Linha de campos ---------- */
.search-form__fields{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:15px;width:100%}
.search-form__fields .search-blocks{flex-wrap:wrap}
.search-blocks--return{position:relative}

/* Dropdown (estações e idade) */
.search-form .dropdown{display:flex;position:relative;flex-direction:column;width:100%;max-width:100%;padding:15px;font-size:15px;font-weight:500;line-height:1.2;color:var(--navy);border:1px solid var(--grey-100);border-radius:15px;cursor:pointer}
.search-form .select-pickup{min-width:250px}
.search-form .dropdown__toggle{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:0;font:inherit;line-height:inherit;color:inherit;text-align:left;background:none;border:0;cursor:pointer}
.search-form .dropdown__toggle>span{display:block}
.dropdown__caret{display:block;flex:0 0 auto;width:15px;height:15px;min-width:15px;min-height:15px;color:inherit;transition:transform .1s cubic-bezier(0,0,.2,1)}
.search-form .dropdown__content{
  position:absolute;top:100%;left:0;z-index:1001;
  display:flex;flex-direction:column;min-width:200px;margin-top:15px;
  font-size:15px;font-weight:500;line-height:1.2;color:var(--navy);
  background:var(--white);border-radius:15px;box-shadow:var(--sw-shadow);
  opacity:0;visibility:hidden;pointer-events:none;cursor:auto;
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}
.search-form .dropdown.is-open>.dropdown__content{opacity:1;visibility:visible;pointer-events:auto}

/* Painel de estações */
.search-form .station-panel{min-width:800px}
.return-select .station-panel{overflow:hidden}
.station-panel__inner{display:flex;flex-direction:row;align-items:stretch;width:100%;max-height:500px;overflow:auto;border-radius:15px;scrollbar-width:none;-ms-overflow-style:none}
.station-panel__inner::-webkit-scrollbar{display:none}
.station-panel__col{display:flex;flex-direction:column;align-items:flex-start;width:50%}
.station-panel__list-wrap{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding-top:5px;padding-bottom:15px}
.station-panel__heading{display:block;padding:10px 15px;font-size:14px;font-weight:600;line-height:1.2;color:var(--navy)}
.stations-list{display:flex;flex-direction:column;align-items:flex-start;width:100%}
.station-option{display:flex;flex-direction:row;align-items:center;gap:15px;width:100%;padding:15px;font-size:15px;font-weight:500;line-height:1.2;color:var(--navy);cursor:pointer}
.station-option:hover,.station-option.selected{background-color:var(--grey-50)}
.station-option .icon{flex:0 0 auto;width:20px;height:20px;margin:0 -3.5px} /* glifo do pin ocupa 13px de largura no original */
.station-option .text{display:flex;justify-content:center;align-items:center}

.station-selected{display:flex;position:sticky;top:0;flex-direction:column;align-items:flex-start;flex-grow:1;gap:15px;width:50%;padding:15px;background:var(--grey-50);overflow:hidden}
.station-selected__top{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;column-gap:10px;width:100%;min-height:auto}
.station-selected__pin{flex:0 0 auto;width:30px;height:30px;margin-left:-5.5px;margin-right:auto}
.station-badge{display:flex;flex-direction:row;justify-content:space-between;align-items:center;column-gap:10px;width:fit-content;padding:2px 10px;border:1px solid var(--navy);border-radius:50px}
.station-badge .icon{flex:0 0 auto;width:12px;height:12px}
.station-badge--return .icon{margin:0 -1.5px}
.station-badge__text{font-size:10px;font-weight:500;line-height:1.2;color:var(--navy)}
.station-selected__info{display:flex;flex-direction:column;align-items:flex-start;width:100%}
.station-selected .titulo-1{display:block;font-size:22px;font-weight:700;line-height:1.2;color:var(--navy)}
.station-selected .titulo-2{display:block;font-size:15px;font-weight:500;line-height:1.2;color:var(--navy)}
.station-selected .station-address,.station-selected .station-hours{font-weight:400}
.station-selected__schedule{display:flex;flex-direction:column;align-items:flex-start;row-gap:5px;width:100%}

/* Datas */
.search-date{position:relative;flex-direction:column;align-items:stretch}
.search-date__row{display:flex;flex-direction:row;align-items:stretch;width:100%}
.search-date__input{display:block;width:50%;cursor:pointer}
#datepicker{position:absolute;visibility:hidden;max-width:0;padding:15px;font-size:15px;line-height:1.2;border:1px solid transparent} /* mesma caixa (31x50) do original: o calendário abre por baixo do campo */
#pickup-date,#return-date{display:inline-block;width:100%;min-width:0;margin:0;padding:15px;font-size:15px;font-weight:400;line-height:1.2;color:var(--text);background:var(--white);border:1px solid var(--sw-border);border-right:0;border-radius:15px 0 0 15px;overflow:clip;outline:0;cursor:pointer;transition:.2s}
.hora-css{display:flex;flex-direction:column;justify-content:center;align-items:center;width:50%;border:1px solid var(--sw-border);border-radius:0 15px 15px 0;cursor:pointer}
#pickup-time,#delivery-time{display:block;font-size:15px;font-weight:500;line-height:1.7;color:var(--text)}

/* Painel de horas */
.hours-panel{
  display:none;position:absolute;top:63px;z-index:1;
  flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:15px;
  min-width:370px;max-height:450px;padding:15px;
  background:var(--white);border-radius:20px;box-shadow:var(--sw-shadow);
  overflow-y:scroll;animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);
}
.hours-slot{display:block;width:calc(50% - 7.5px);min-width:fit-content;padding:10px 30px;font-size:15px;font-weight:400;line-height:1.7;text-align:center;color:var(--text);background:var(--grey-50);border-radius:10px;cursor:pointer;transition:var(--ease)}
.hours-slot:hover{background-color:var(--grey-200)}
.hours-slot.selected{background:var(--navy)!important;color:var(--white)!important}

/* Idade */
.search-age{display:flex;flex-direction:column;flex-wrap:wrap;align-items:flex-start;width:calc(6% - 12.5px)}
.search-form .select-idade{width:100%}
.search-form .age-panel{left:-95px;min-width:200px}
.select-option{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:5px;cursor:pointer}
.select-option:first-child{border-radius:15px 15px 0 0}
.select-option:last-child{border-radius:0 0 15px 15px}
.select-option:hover,.select-option.selected{background-color:var(--grey-50)}
.select-option>span{display:block;padding:10px 15px;font-size:14px;font-weight:600;line-height:1.2;color:var(--navy)}

/* Botão Procurar */
.search-submit{flex-direction:row;justify-content:center;align-items:flex-start}
.search-form .btn--search{width:100%;padding:15px;font-size:19px;font-weight:700;line-height:1.2;letter-spacing:.5px;color:var(--yellow);background:var(--navy);border:0;border-radius:15px;transition:var(--fxx)}
.search-form .btn--search:hover{color:var(--navy);background:var(--yellow)}

/* Calendário (flatpickr) */
.flatpickr-calendar{width:auto!important}

/* ---------- Variante hero: barra fixa ao fazer scroll ---------- */
.fixed-form{display:flex;position:fixed;top:0;z-index:1000;width:100%;max-width:none;margin-top:var(--header-h,97px)!important;background:var(--white)}

/* ---------- Variante popup ---------- */
.popup--search .popup__content{background:var(--white)}
.search-popup__inner{padding-left:30px;padding-right:30px}
@media (max-width:478px){.search-popup__inner{padding-left:20px;padding-right:20px}}

/* ---------- Responsivo ---------- */
@media (max-width:1180px){
  .search-blocks{width:calc(50% - 7.5px)}
  .search-dates{width:calc(25% - 10px)}
  .search-form__labels-date,.search-form__label--age{display:none}
  .search-date__label,.search-age__label{display:flex}
  .search-date__row{flex-wrap:nowrap}
  .search-age{width:calc(50% - 10px)}
  .search-submit{width:100%;align-self:flex-end!important}
}
@media (max-width:770px){
  .search-form__fields{position:relative}
  .search-date{position:static;row-gap:5px}
  .search-date__label,.search-age__label{font-size:14px;line-height:1.2}
  .hours-panel{top:130px;width:370px}
  .station-selected__top{flex-wrap:wrap;row-gap:5px}
  .station-badge{flex-wrap:wrap}
  .station-badge__text{white-space:nowrap}
  .pickup-select .dropdown__content{left:0!important;min-width:calc(100vw - 150px)!important}
  .return-select .dropdown__content{left:auto;right:0!important;min-width:calc(100vw - 150px)!important}
  .select-idade .dropdown__content{left:auto;right:0;min-width:calc(100vw - 150px)!important}
}
@media (max-width:478px){
  .search-form__labels{flex-wrap:wrap}
  .search-blocks{width:100%}
  .search-dates{width:calc(50% - 8px)}
  .search-age{width:100%}
  .search-submit{width:100%}
  .search-date__label,.search-age__label{font-size:13px;line-height:1.2}
  .hours-panel{top:190px;width:100%;min-width:100%}
  #delivery-hours{left:0}
  .station-selected__pin{margin-right:0}
  .station-badge{flex-wrap:nowrap;width:100%}
  .pickup-select .dropdown__content{left:-40px!important;min-width:calc(100vw - 12px)!important}
  .return-select .dropdown__content{right:-40px!important;min-width:calc(100vw - 12px)!important}
  .select-idade .dropdown__content{left:-40px;right:auto;min-width:calc(100vw - 12px)!important}
}
