/* assets/css/59-airport-mobile-vehicle-gallery.css
   Airport / Hotel mobile vehicle gallery.
   Alcance:
   - solo móvil
   - miniatura tocable junto a la tarifa Airport Mobile
   - lightbox/modal de vehículo
   - no toca desktop
   - no toca tarifa, Places, Step 2 ni payload
*/

.airport-mobile-vehicle-gallery[hidden]{
  display:none !important;
}

.airport-mobile-fare-footer{
  display:contents;
}

.airport-mobile-fare-footer .airport-mobile-vehicle-gallery-trigger{
  display:none;
}

@media (max-width:720px){
  body[data-airport-mobile-vehicle-gallery-active="true"]{
    overflow:hidden !important;
  }

  .airport-mobile-route #services-expand-airport .airport-mobile-fare-footer[data-airport-mobile-fare-footer-ready="true"]{
    order:5 !important;
    flex:0 0 100%;
    width:100%;
    min-width:0;
    display:grid !important;
    grid-template-columns:136px minmax(0, 1fr);
    grid-template-areas:
      "vehicle fare"
      "cta cta";
    gap:8px 10px;
    align-items:start;
    padding:8px 0 0;
    background:#0f1113;
  }

  .airport-mobile-route #services-expand-airport .airport-mobile-fare-footer[data-airport-mobile-fare-footer-ready="true"] > .airport-mobile-vehicle-gallery-trigger{
    grid-area:vehicle;
  }

  .airport-mobile-route #services-expand-airport .airport-mobile-fare-footer[data-airport-mobile-fare-footer-ready="true"] > .services-expand__field--fare{
    grid-area:fare !important;
    order:initial !important;
  }

  .airport-mobile-route #services-expand-airport .airport-mobile-fare-footer[data-airport-mobile-fare-footer-ready="true"] > .services-expand__actions{
    grid-area:cta !important;
    order:initial !important;
    flex:initial !important;
    width:100%;
  }

  .airport-mobile-route #services-expand-airport .airport-mobile-fare-footer[data-airport-mobile-fare-footer-ready="true"] > .services-expand__field--fare{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:112px !important;
    height:112px !important;
    max-height:112px !important;
    margin:0 !important;
    padding:16px 12px !important;
    border:0 !important;
    border-radius:0 !important;
    background:
      linear-gradient(135deg, rgba(255,249,238,.04), rgba(31,122,109,.05) 48%, rgba(15,17,19,.60)) !important;
    background-color:transparent !important;
    box-shadow:none !important;
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) !important;
    grid-template-rows:auto 1fr !important;
    row-gap:6px !important;
    align-items:center !important;
    justify-content:start !important;
    overflow:visible !important;
  }

  .airport-mobile-route #services-expand-airport .airport-mobile-fare-footer[data-airport-mobile-fare-footer-ready="true"] > .services-expand__field--fare::before,
  .airport-mobile-route #services-expand-airport .airport-mobile-fare-footer[data-airport-mobile-fare-footer-ready="true"] > .services-expand__field--fare::after{
    content:none !important;
  }

  .airport-mobile-route #services-expand-airport .airport-mobile-fare-footer[data-airport-mobile-fare-footer-ready="true"] > .services-expand__field--fare > .services-expand__label{
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:end !important;
    justify-self:start !important;
    margin:0 !important;
    color:rgba(247,226,170,.92) !important;
    font-size:13px !important;
    line-height:1.1 !important;
    font-weight:800 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    transform:none !important;
  }

  .airport-mobile-route #services-expand-airport .airport-mobile-fare-footer[data-airport-mobile-fare-footer-ready="true"] > .services-expand__field--fare > .services-expand__fare{
    grid-column:1 !important;
    grid-row:2 !important;
    align-self:center !important;
    justify-self:start !important;
    min-height:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    display:flex !important;
    align-items:baseline !important;
    gap:6px !important;
    color:rgba(255,249,238,.98) !important;
    line-height:.96 !important;
    transform:none !important;
  }

  .airport-mobile-route #services-expand-airport .airport-mobile-fare-footer[data-airport-mobile-fare-footer-ready="true"] > .services-expand__field--fare[data-airport-mobile-fare-state="pending"]{
    min-height:112px !important;
    height:112px !important;
    max-height:112px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    padding:16px 12px !important;
    background:
      linear-gradient(135deg, rgba(255,249,238,.04), rgba(31,122,109,.05) 48%, rgba(15,17,19,.60)) !important;
    background-color:transparent !important;
    overflow:visible !important;
  }

  .airport-mobile-route #services-expand-airport .airport-mobile-fare-footer[data-airport-mobile-fare-footer-ready="true"] > .services-expand__field--fare[data-airport-mobile-fare-state="pending"] > .services-expand__label,
  .airport-mobile-route #services-expand-airport .airport-mobile-fare-footer[data-airport-mobile-fare-footer-ready="true"] > .services-expand__field--fare[data-airport-mobile-fare-state="pending"] > .services-expand__fare{
    display:none !important;
  }

  .airport-mobile-route #services-expand-airport .airport-mobile-fare-footer[data-airport-mobile-fare-footer-ready="true"] .airport-mobile-fare-pending{
    margin:0 auto !important;
    width:100% !important;
    max-width:300px !important;
    color:rgba(255,245,228,.76) !important;
    font-size:13px !important;
    line-height:1.35 !important;
    font-weight:650 !important;
    text-align:center !important;
    transform:none !important;
  }

  .airport-mobile-route #services-expand-airport .airport-mobile-fare-footer[data-airport-mobile-fare-footer-ready="true"] .airport-mobile-fare-pending[hidden]{
    display:none !important;
  }

  .airport-mobile-vehicle-gallery-trigger{
    position:relative;
    align-self:start;
    justify-self:start;
    width:136px;
    max-width:136px;
    min-width:136px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    overflow:visible;
    cursor:pointer;
    display:grid !important;
    grid-template-rows:108px auto;
    gap:5px;
    text-align:left;
  }

  .airport-mobile-vehicle-gallery-trigger__image{
    display:block;
    width:136px;
    height:108px;
    object-fit:cover;
    object-position:center 77%;
    border-radius:9px;
  }

  .airport-mobile-vehicle-gallery-trigger__label{
    display:block;
    width:136px;
    max-width:136px;
    overflow:hidden;
    color:rgba(255,249,238,.86);
    font-size:10.5px;
    line-height:1.18;
    font-weight:700;
    letter-spacing:.01em;
    text-align:left;
    white-space:normal;
    text-overflow:clip;
  }

  .airport-mobile-vehicle-gallery-trigger::after{
    content:"";
    position:absolute;
    top:7px;
    right:7px;
    width:21px;
    height:21px;
    border:1px solid rgba(236,220,189,.42);
    border-radius:999px;
    background:
      rgba(15,17,19,.74)
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='4.5' y='6.5' width='13' height='11' rx='2' stroke='%23fff5e4' stroke-width='1.7'/%3E%3Cpath d='M7.5 15l2.8-3 2.1 2 1.3-1.4 2.8 2.4' stroke='%23fff5e4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 4.5h11.5v10' stroke='%23fff5e4' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E")
      center / 13px 13px
      no-repeat;
    pointer-events:none;
  }

  .airport-mobile-vehicle-gallery-trigger:focus-visible{
    outline:2px solid rgba(31,122,109,.95);
    outline-offset:2px;
  }

  .airport-mobile-vehicle-gallery{
    position:fixed;
    inset:0;
    z-index:96;
    display:grid;
    place-items:center;
    padding:calc(68px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));
    background:rgba(0,0,0,.72);
    overflow:hidden;
  }

  .airport-mobile-vehicle-gallery__backdrop{
    position:absolute;
    inset:0;
    z-index:0;
    display:block;
    width:100%;
    height:100%;
    border:0;
    padding:0;
    background:transparent;
  }

  .airport-mobile-vehicle-gallery__panel{
    position:relative;
    z-index:1;
    width:min(100%, 430px);
    max-height:100%;
    display:grid;
    grid-template-rows:minmax(0, 1fr) auto;
    gap:10px;
    overflow:hidden;
    border:1px solid rgba(236,220,189,.18);
    border-radius:14px;
    background:#0f1113;
    box-shadow:0 18px 42px rgba(0,0,0,.42);
  }

  .airport-mobile-vehicle-gallery__close{
    position:absolute;
    top:8px;
    right:8px;
    z-index:3;
    width:36px;
    height:36px;
    border:0;
    border-radius:999px;
    background:rgba(15,17,19,.72);
    color:rgba(255,249,238,.94);
    font:inherit;
    font-size:24px;
    line-height:1;
    font-weight:500;
  }

  .airport-mobile-vehicle-gallery__close:focus-visible,
  .airport-mobile-vehicle-gallery__nav:focus-visible{
    outline:2px solid rgba(31,122,109,.95);
    outline-offset:2px;
  }

  .airport-mobile-vehicle-gallery__image-wrap{
    width:100%;
    min-height:0;
    background:#090a0b;
    overflow:hidden;
  }

  .airport-mobile-vehicle-gallery__image{
    display:block;
    width:100%;
    height:auto;
    max-height:68svh;
    object-fit:contain;
    background:#090a0b;
  }

  .airport-mobile-vehicle-gallery__footer{
    display:grid;
    gap:3px;
    padding:0 14px 14px;
    background:#0f1113;
  }

  .airport-mobile-vehicle-gallery__label{
    margin:0;
    color:rgba(255,249,238,.94);
    font-size:14px;
    line-height:1.2;
    font-weight:760;
    letter-spacing:-.01em;
  }

  .airport-mobile-vehicle-gallery__counter{
    margin:0;
    color:rgba(255,245,228,.54);
    font-size:11.5px;
    line-height:1.2;
    font-weight:700;
  }

  .airport-mobile-vehicle-gallery__nav{
    position:absolute;
    top:50%;
    z-index:3;
    width:38px;
    height:44px;
    border:0;
    border-radius:10px;
    background:rgba(15,17,19,.62);
    color:rgba(255,249,238,.92);
    font:inherit;
    font-size:34px;
    line-height:1;
    font-weight:300;
    transform:translateY(-50%);
  }

  .airport-mobile-vehicle-gallery__nav[hidden]{
    display:none !important;
  }

  .airport-mobile-vehicle-gallery__nav--prev{
    left:8px;
  }

  .airport-mobile-vehicle-gallery__nav--next{
    right:8px;
  }
}