/* assets/css/52-airport-mobile-contact-step.css
   Airport / Hotel mobile contact step.
   Alcance:
   - solo móvil
   - segunda pantalla dentro de Airport Mobile Booking Flow
   - reutiliza la route móvil existente
   - no toca #contact visual
   - no redefine el booking flow principal
*/

.airport-mobile-contact-step{
  display:none;
}

.airport-mobile-contact-step[hidden]{
  display:none !important;
}

@media (max-width: 720px){
  body[data-airport-mobile-contact-step-active="true"] .airport-mobile-route #services-expand-airport[data-airport-mobile-primary-step-hidden="true"] > .airport-mobile-flow,
  body[data-airport-mobile-contact-step-active="true"] .airport-mobile-route #services-expand-airport[data-airport-mobile-primary-step-hidden="true"] > .services-expand__form{
    display:none !important;
  }

  .airport-mobile-route .airport-mobile-contact-step{
    --airport-mobile-contact-bottom-shift:0px;
    display:grid;
    grid-template-rows:auto auto auto minmax(24px, 1fr) auto auto auto;
    gap:0;
    height:100%;
    min-height:0;
    overflow:hidden;
  }

  .airport-mobile-route .airport-mobile-contact-step__header{
    display:grid;
    gap:4px;
  }

  .airport-mobile-route .airport-mobile-contact-step__title{
    margin:0;
    color:rgba(255,249,238,.98);
    font-size:22px;
    line-height:1.12;
    letter-spacing:-.02em;
  }

  .airport-mobile-route .airport-mobile-contact-step__helper{
    margin:0;
    color:rgba(255,245,228,.76);
    font-size:13.5px;
    line-height:1.45;
  }

  .airport-mobile-route .airport-mobile-contact-step__summary{
    display:grid;
    gap:8px;
    padding:12px 12px 6px;
    border:1px solid rgba(236,220,189,.22);
    border-radius:10px;
    background:rgba(15,17,19,.42);
  }

  .airport-mobile-route .airport-mobile-contact-step__summary-title{
    margin:0;
    color:rgba(255,249,238,.94);
    font-size:13px;
    line-height:1.2;
    font-weight:800;
  }

  .airport-mobile-route .airport-mobile-contact-step__summary-list{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:7px 6px;
    margin:0;
  }

  .airport-mobile-route .airport-mobile-contact-step__summary-row{
    min-width:0;
    display:grid;
    gap:2px;
  }

  .airport-mobile-route .airport-mobile-contact-step__summary-row[data-airport-mobile-contact-summary-row="airport"],
  .airport-mobile-route .airport-mobile-contact-step__summary-row[data-airport-mobile-contact-summary-row="hotel"],
  .airport-mobile-route .airport-mobile-contact-step__summary-row[data-airport-mobile-contact-summary-row="zone"],
  .airport-mobile-route .airport-mobile-contact-step__summary-row[data-airport-mobile-contact-summary-row="fare"]{
    grid-column:1 / -1;
  }

  .airport-mobile-route .airport-mobile-contact-step__summary-label{
    margin:0;
    color:rgba(255,245,228,.56);
    font-size:11px;
    line-height:1.2;
    font-weight:700;
  }

  .airport-mobile-route .airport-mobile-contact-step__summary-value{
    margin:0;
    min-width:0;
    color:rgba(255,249,238,.92);
    font-size:12.5px;
    line-height:1.25;
    font-weight:750;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .airport-mobile-route .airport-mobile-contact-step__summary-row[data-airport-mobile-contact-summary-row="fare"] .airport-mobile-contact-step__summary-value{
    color:rgba(61,158,122,.98);
  }

  .airport-mobile-route .airport-mobile-contact-step__form{
    min-height:0;
    overflow:visible;
    display:grid;
    grid-template-columns:1fr;
    gap:5px;
    padding-top:6px;
    padding-right:0;
    padding-bottom:12px;
  }

  .airport-mobile-route .airport-mobile-contact-step__field{
    display:grid;
    gap:3px;
    min-width:0;
  }

  .airport-mobile-route .airport-mobile-contact-step__label{
    color:rgba(255,245,228,.74);
    font-size:10.75px;
    line-height:1.15;
    font-weight:700;
  }

  .airport-mobile-route .airport-mobile-contact-step__control{
    width:100%;
    min-width:0;
    min-height:38px;
    height:38px;
    max-height:38px;
    padding:0 11px;
    border:1px solid rgba(236,220,189,.38);
    border-radius:8px;
    background:rgba(15,17,19,.46);
    color:rgba(255,249,238,.96);
    box-shadow:none;
    box-sizing:border-box;
    font:inherit;
    font-size:13.5px;
    line-height:38px;
    font-weight:650;
    color-scheme:dark;
  }
  
    .airport-mobile-route .airport-mobile-contact-step__control--notes{
    min-height:38px;
    height:38px;
    max-height:38px;
    padding:0 11px;
    line-height:38px;
    resize:none;
    overflow:hidden;
  }
 
  .airport-mobile-route .airport-mobile-contact-step__control::placeholder{
    color:rgba(255,245,228,.50);
    opacity:1;
  }

  .airport-mobile-route .airport-mobile-contact-step__control:focus-visible{
    outline:none;
    border-color:rgba(31,122,109,.78);
    background-color:rgba(15,17,19,.62);
  }

  .airport-mobile-route .airport-mobile-contact-step__field.is-invalid .airport-mobile-contact-step__control{
    border-color:rgba(212,94,74,.85);
  }

  .airport-mobile-route .airport-mobile-contact-step__error,
  .airport-mobile-route .airport-mobile-contact-step__global-error{
    margin:0;
    color:rgba(255,188,166,.95);
    font-size:12px;
    line-height:1.3;
    font-weight:650;
  }

  .airport-mobile-route .airport-mobile-contact-step__global-error{
    grid-row:6;
    transform:translateY(var(--airport-mobile-contact-bottom-shift));
  }

  .airport-mobile-route .airport-mobile-contact-step__error[hidden],
  .airport-mobile-route .airport-mobile-contact-step__global-error[hidden]{
    display:none !important;
  }
  
  .airport-mobile-route .airport-mobile-contact-step__legal{
    grid-row:5;
    min-height:0;
    align-self:start;
    margin-top:0;
    padding-top:0;
    transform:translateY(var(--airport-mobile-contact-bottom-shift));
  }

  .airport-mobile-route .airport-mobile-contact-step__legal[hidden]{
    display:none !important;
  }

  .airport-mobile-route .airport-mobile-contact-step__legal .legal-acceptance{
    grid-template-columns:15px minmax(0, 1fr);
    gap:4px 7px;
    margin:0;
    padding:6px 9px;
    border-radius:8px;
    border-color:rgba(236,220,189,.16);
    background:rgba(255,255,255,.018);
  }

  .airport-mobile-route .airport-mobile-contact-step__legal .legal-acceptance__checkbox{
    width:15px;
    height:15px;
    min-width:15px;
    min-height:15px;
    margin-top:1px;
    border-radius:4px;
  }

  .airport-mobile-route .airport-mobile-contact-step__legal .legal-acceptance__label{
    font-size:10.75px;
    line-height:1.22;
    color:rgba(255,249,238,.82);
  }

  .airport-mobile-route .airport-mobile-contact-step__legal .legal-acceptance__links{
    grid-column:2;
    gap:2px 6px;
    font-size:10.75px;
    line-height:1.2;
  }

  .airport-mobile-route .airport-mobile-contact-step__legal .legal-acceptance__error{
    grid-column:2;
    font-size:10.75px;
    line-height:1.2;
  }

  .airport-mobile-route .airport-mobile-contact-step__actions{
    grid-row:7;
    display:block;
    align-self:end;
    padding-top:6px;
    margin-bottom:0;
    transform:translateY(var(--airport-mobile-contact-bottom-shift));
  }

  .airport-mobile-route .airport-mobile-contact-step__submit{
    width:100%;
    min-height:44px;
    padding:0 16px;
    border:0;
    border-radius:9px;
    background:rgba(31,122,109,.86);
    color:rgba(255,249,238,.98);
    box-shadow:none;
    font:inherit;
    font-size:14px;
    line-height:1;
    font-weight:800;
    cursor:pointer;
  }

  .airport-mobile-route .airport-mobile-contact-step__submit:disabled,
  .airport-mobile-route .airport-mobile-contact-step__submit[aria-disabled="true"]{
    background:rgba(255,245,228,.14);
    color:rgba(255,245,228,.38);
    cursor:not-allowed;
  }

  .airport-mobile-route .airport-mobile-contact-step__submit:focus-visible{
    outline:2px solid rgba(255,249,238,.88);
    outline-offset:2px;
  }