/* assets/css/67-events-mobile-config-step.css
   Events mobile config step.
   Alcance:
   - solo móvil
   - segunda pantalla de configuración event_special
   - no toca desktop
   - no toca #contact
   - no llama visualmente a la sábana legacy Events
*/

.events-mobile-config-step{
  display:none;
}

.events-mobile-config-step[hidden]{
  display:none !important;
}

@media (max-width:720px){
  body[data-events-mobile-config-screen="true"] .events-mobile-flow{
    display:none !important;
  }

  .events-mobile-config-step{
    position:absolute;
    inset:0;
    z-index:2;
    display:block;
    background-color:#0f1113;
    background-image:
      linear-gradient(180deg, rgba(15,17,19,.88) 0%, rgba(15,17,19,.78) 38%, rgba(15,17,19,.94) 100%),
      url("../img/cdmx-angel-night.webp");
    background-position:center top, center top;
    background-size:100% 100%, auto 100vh;
    background-repeat:no-repeat;
  }

  .events-mobile-config-step__screen{
    height:100svh;
    min-height:100svh;
    overflow:hidden;
  }

  .events-mobile-config-step__content{
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    width:100%;
    height:100svh;
    min-height:0;
    overflow:hidden;
    padding:
      calc(60px + env(safe-area-inset-top))
      18px
      calc(14px + env(safe-area-inset-bottom));
  }

  .events-mobile-config-step__back-row{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    min-height:28px;
    margin-bottom:8px;
  }

  .events-mobile-config-step__back{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:28px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:rgba(255,245,228,.78);
    font:inherit;
    font-size:13px;
    line-height:1;
    cursor:pointer;
  }

  .events-mobile-config-step__back::before{
    content:"←";
    display:inline-block;
    font-size:15px;
    line-height:1;
    transform:translateY(-.5px);
  }

  .events-mobile-config-step__summary{
    display:grid;
    grid-template-columns:95px minmax(0, 1fr) 95px;
    grid-template-areas:"image copy date";
    gap:10px;
    align-items:start;
    margin-bottom:12px;
  }

  .events-mobile-config-step__image-button{
    grid-area:image;
    position:relative;
    display:block;
    width:95px;
    height:104px;
    align-self:start;
    cursor:pointer;
  }

  .events-mobile-config-step__image-button::after{
    content:"";
    position:absolute;
    top:7px;
    right:7px;
    z-index:2;
    width:24px;
    height:24px;
    border:1px solid rgba(236,220,189,.42);
    border-radius:999px;
    background:
      rgba(15,17,19,.72)
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M9 4H4v5' stroke='%23fff5e4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M15 4h5v5' stroke='%23fff5e4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M20 15v5h-5' stroke='%23fff5e4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4 15v5h5' stroke='%23fff5e4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
      center / 14px 14px
      no-repeat;
    box-shadow:0 4px 14px rgba(0,0,0,.28);
    pointer-events:none;
  }

  .events-mobile-config-step__image-button:focus-visible{
    outline:2px solid rgba(31,122,109,.95);
    outline-offset:2px;
  }

  .events-mobile-config-step__image{
    display:block;
    width:95px;
    height:104px;
    border-radius:9px;
    object-fit:cover;
    object-position:center;
    background:rgba(0,0,0,.22);
  }

  .events-mobile-config-step__summary-copy{
    grid-area:copy;
    display:grid;
    gap:5px;
    min-width:0;
    align-self:start;
    padding-top:1px;
  }

  .events-mobile-config-step__title{
    margin:0;
    overflow:hidden;
    color:#f4f2ee;
    font-size:17px;
    font-weight:680;
    line-height:1.12;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }

  .events-mobile-config-step__venue{
    margin:0;
    overflow:hidden;
    color:rgba(244,242,238,.68);
    font-size:12px;
    line-height:1.2;
    font-weight:650;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }

  .events-mobile-config-step__meta{
    margin:0;
    color:rgba(244,242,238,.66);
    font-size:12px;
    line-height:1.25;
  }

  body[data-events-mobile-poster-viewer-active="true"]{
    overflow:hidden !important;
  }

  .events-mobile-poster-viewer{
    position:fixed;
    inset:0;
    z-index:95;
    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;
  }

  .events-mobile-poster-viewer[hidden]{
    display:none !important;
  }

  .events-mobile-poster-viewer__backdrop{
    position:absolute;
    inset:0;
    z-index:0;
    display:block;
    width:100%;
    height:100%;
    border:0;
    padding:0;
    background:transparent;
  }

  .events-mobile-poster-viewer__panel{
    position:relative;
    z-index:1;
    width:min(100%, 430px);
    max-height:100%;
    overflow:hidden;
    border:1px solid rgba(236,220,189,.18);
    border-radius:14px;
    background:#090a0b;
    box-shadow:0 24px 70px rgba(0,0,0,.52);
  }

  .events-mobile-poster-viewer__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;
  }

  .events-mobile-poster-viewer__close:focus-visible{
    outline:2px solid rgba(31,122,109,.95);
    outline-offset:2px;
  }

  .events-mobile-poster-viewer__image{
    display:block;
    width:100%;
    height:auto;
    max-height:78svh;
    object-fit:contain;
    background:#090a0b;
  }

  .events-mobile-config-step__date-card{
    grid-area:date;
    position:relative;
    display:grid;
    grid-template-rows:24px minmax(0, 1fr) 24px;
    width:95px;
    min-width:95px;
    height:104px;
    overflow:hidden;
    border:1px solid rgba(236,220,189,.30);
    border-radius:9px;
    background:rgba(15,17,19,.46);
    color:rgba(255,249,238,.96);
    box-sizing:border-box;
    cursor:pointer;
  }

  .events-mobile-config-step__date-card:focus-within{
    border-color:rgba(31,122,109,.78);
    background:rgba(15,17,19,.62);
  }

  .events-mobile-config-step__date-card-top{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    padding:0 6px;
    border-bottom:1px solid rgba(236,220,189,.18);
    background:rgba(31,122,109,.24);
    pointer-events:none;
  }

  .events-mobile-config-step__date-card-month{
    overflow:hidden;
    color:rgba(255,249,238,.96);
    font-size:11px;
    line-height:1;
    font-weight:800;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
  }

  .events-mobile-config-step__date-card-body{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    pointer-events:none;
  }

  .events-mobile-config-step__date-card-day{
    color:rgba(255,249,238,.98);
    font-size:40px;
    line-height:.92;
    font-weight:620;
    letter-spacing:-.05em;
  }

  .events-mobile-config-step__date-card-bottom{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    gap:4px;
    align-items:center;
    min-width:0;
    padding:0 6px;
    border-top:1px solid rgba(236,220,189,.14);
    pointer-events:none;
  }

  .events-mobile-config-step__date-card-weekday{
    overflow:hidden;
    color:rgba(255,245,228,.68);
    font-size:10.5px;
    line-height:1;
    font-weight:700;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .events-mobile-config-step__date-card-time{
    color:rgba(255,249,238,.92);
    font-size:11.5px;
    line-height:1;
    font-weight:760;
    white-space:nowrap;
  }

  .events-mobile-config-step__date-select{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    cursor:pointer;
  }

  .events-mobile-config-step__fields{
    display:grid;
    gap:9px;
    min-height:0;
    overflow:auto;
    padding-bottom:10px;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  .events-mobile-config-step__variant-tabs{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:2px;
    padding:2px;
    border:1px solid rgba(236,220,189,.30);
    border-radius:8px;
    background:rgba(15,17,19,.34);
  }

  .events-mobile-config-step__variant-option{
    min-height:36px;
    padding:0 6px;
    border:0;
    border-radius:6px;
    background:transparent;
    color:rgba(255,245,228,.72);
    box-shadow:none;
    font:inherit;
    font-size:12.5px;
    line-height:1.1;
    font-weight:700;
    text-align:center;
  }

  .events-mobile-config-step__variant-option[aria-pressed="true"]{
    background:rgba(31,122,109,.72);
    color:rgba(255,249,238,.98);
    box-shadow:none;
  }

  .events-mobile-config-step__variant-option:focus-visible{
    outline:2px solid rgba(31,122,109,.95);
    outline-offset:2px;
  }

  .events-mobile-config-step__row{
    display:grid;
    gap:9px;
    align-items:start;
  }

  .events-mobile-config-step__row--top{
    grid-template-columns:minmax(0, 1fr);
  }

  .events-mobile-config-step__field{
    display:grid;
    gap:6px;
    min-width:0;
  }

  .events-mobile-config-step__label,
  .events-mobile-config-step .services-events-panel__label{
    margin:0;
    color:rgba(255,245,228,.74);
    font-size:11.5px;
    line-height:1.2;
    font-weight:700;
  }

  .events-mobile-config-step__control,
  .events-mobile-config-step .services-events-panel__control{
    box-sizing:border-box;
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
    min-height:48px;
    height:48px;
    max-height:48px;
    padding:0 12px;
    border:1px solid rgba(236,220,189,.38);
    border-radius:9px;
    background:rgba(15,17,19,.46);
    color:rgba(255,249,238,.96);
    box-shadow:none;
    font:inherit;
    font-size:13px;
    line-height:48px;
    font-weight:650;
    color-scheme:dark;
  }

  .events-mobile-config-step__control:focus,
  .events-mobile-config-step .services-events-panel__control:focus{
    outline:none;
    border-color:rgba(31,122,109,.78);
    background:rgba(15,17,19,.62);
  }

  .events-mobile-config-step__route-group{
    display:grid;
    gap:6px;
    align-items:start;
  }

  .events-mobile-config-step__route-label{
    overflow:hidden;
    margin:0;
    color:rgba(255,245,228,.74);
    font-size:11.5px;
    line-height:1.2;
    font-weight:700;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .events-mobile-config-step__route-fields{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 72px;
    gap:9px;
    align-items:start;
  }

  .events-mobile-config-step__address{
    min-width:0;
  }

  .events-mobile-config-step__address .events-mobile-address-compact{
    position:relative !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:48px !important;
    height:48px !important;
    max-height:48px !important;
    overflow:visible !important;
  }

  .events-mobile-config-step__address .events-mobile-config-step__control--address{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:48px !important;
    height:48px !important;
    max-height:48px !important;
    padding:0 40px 0 38px !important;
    border:1px solid rgba(236,220,189,.38) !important;
    border-radius:9px !important;
    background-color:rgba(15,17,19,.46) !important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='10.8' cy='10.8' r='5.8' stroke='%23fff9ee' stroke-width='2'/%3E%3Cpath d='M15.2 15.2 20 20' stroke='%23fff9ee' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat:no-repeat !important;
    background-position:14px center !important;
    background-size:18px 18px !important;
    color:rgba(255,249,238,.96) !important;
    box-shadow:none !important;
    box-sizing:border-box !important;
    font:inherit !important;
    font-size:14px !important;
    line-height:48px !important;
    font-weight:650 !important;
    text-overflow:ellipsis !important;
    -webkit-appearance:none !important;
    appearance:none !important;
    cursor:text;
  }

  .events-mobile-config-step__address .events-mobile-config-step__control--address::placeholder{
    color:rgba(255,245,228,.58) !important;
    opacity:1 !important;
  }

  .events-mobile-config-step__address .events-mobile-config-step__control--address:focus{
    outline:none !important;
    border-color:rgba(31,122,109,.78) !important;
    background-color:rgba(15,17,19,.62) !important;
  }

  .events-mobile-config-step__address .place-autocomplete__clear{
    position:absolute !important;
    top:50% !important;
    right:8px !important;
    z-index:3 !important;
    width:30px !important;
    height:30px !important;
    transform:translateY(-50%) !important;
    border:0 !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.05) !important;
    color:rgba(255,245,228,.74) !important;
    box-shadow:none !important;
    font:inherit !important;
    font-size:18px !important;
    line-height:1 !important;
    font-weight:600 !important;
  }

  .events-mobile-config-step__address .place-autocomplete__clear[hidden]{
    display:none !important;
  }

  .events-mobile-config-step__address [data-events-mobile-address-compact-mount],
  .events-mobile-config-step__address .place-autocomplete__panel,
  .events-mobile-config-step__address .place-autocomplete__status{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }

  .events-mobile-config-step__field--time{
    width:72px;
    min-width:72px;
    max-width:72px;
    display:grid;
    grid-template-rows:48px;
    gap:0;
  }

  .events-mobile-config-step__time-wrap{
    position:relative;
    width:72px;
    min-width:72px;
    max-width:72px;
    height:48px;
    min-height:48px;
    max-height:48px;
  }

  .events-mobile-config-step__field--time .visually-hidden + .events-mobile-config-step__time-wrap{
    margin-top:0;
  }

  .events-mobile-config-step__field--time .events-mobile-config-step__control--time{
    width:72px;
    min-width:72px;
    max-width:72px;
    min-height:48px;
    height:48px;
    max-height:48px;
    padding:0 28px 0 8px;
    border:1px solid rgba(236,220,189,.38);
    border-radius:9px;
    background:rgba(15,17,19,.46);
    color:rgba(255,249,238,.96);
    box-shadow:none;
    box-sizing:border-box;
    font:inherit;
    font-size:13px;
    line-height:48px;
    font-weight:650;
    color-scheme:dark;
    -webkit-appearance:none;
    appearance:none;
  }

  .events-mobile-config-step__field--time .events-mobile-config-step__control--time:focus{
    outline:none;
    border-color:rgba(31,122,109,.78);
    background:rgba(15,17,19,.62);
  }

  .events-mobile-config-step__field--time .events-mobile-config-step__control--time:focus-visible{
    outline:2px solid rgba(31,122,109,.95);
    outline-offset:2px;
  }

  .events-mobile-config-step__field--time .events-mobile-config-step__control--time::-webkit-calendar-picker-indicator{
    position:absolute;
    right:0;
    width:24px;
    height:48px;
    opacity:0;
    cursor:pointer;
  }

  .events-mobile-config-step__field--time .events-mobile-config-step__control--time::-webkit-date-and-time-value{
    min-height:48px;
    height:48px;
    line-height:48px;
    text-align:left;
  }

  .events-mobile-config-step__time-overlay{
    position:absolute;
    top:0;
    left:8px;
    height:48px;
    color:rgba(255,245,228,.52);
    font-size:13px;
    line-height:48px;
    font-weight:650;
    pointer-events:none;
  }

  .events-mobile-config-step__time-wrap[data-events-mobile-time-state="value"] .events-mobile-config-step__time-overlay{
    display:none;
  }

  .events-mobile-config-step__time-wrap[data-events-mobile-time-state="empty"] .events-mobile-config-step__time-overlay{
    display:block;
  }

  .events-mobile-config-step__time-icon{
    position:absolute;
    top:50%;
    right:8px;
    width:16px;
    height:16px;
    transform:translateY(-50%);
    color:rgba(255,245,228,.68);
    pointer-events:none;
  }

  .events-mobile-config-step__time-icon svg{
    display:block;
    width:16px;
    height:16px;
  }

  .events-mobile-config-step__footer{
    display:grid;
    grid-template-columns:136px minmax(0, 1fr);
    grid-template-areas:
      "vehicle fare"
      "cta cta";
    gap:8px 10px;
    align-items:start;
    padding:8px 0 0;
    border-top:0;
    background:#0f1113;
  }

  .events-mobile-config-step__vehicle{
    grid-area:vehicle;
    align-self:start;
    justify-self:start;
    width:136px;
    max-width:136px;
    min-width:136px;
  }

  .events-mobile-config-step__vehicle-image{
    display:block;
    width:136px;
    height:108px;
    border-radius:9px;
    object-fit:cover;
    object-position:center 77%;
  }

  .events-mobile-config-step__fare{
    grid-area:fare;
    width:100%;
    min-width:0;
    max-width:none;
    min-height:112px;
    height:112px;
    max-height:112px;
    margin:0;
    padding:16px 12px;
    border:0;
    border-radius:0;
    background:
      linear-gradient(135deg, rgba(255,249,238,.04), rgba(31,122,109,.05) 48%, rgba(15,17,19,.60));
    background-color:transparent;
    box-shadow:none;
    display:grid;
    grid-template-rows:auto 1fr;
    row-gap:6px;
    align-items:center;
    justify-content:start;
    overflow:visible;
  }

  .events-mobile-config-step__fare[data-events-mobile-fare-state="pending"]{
    min-height:108px;
    height:108px;
    max-height:108px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 12px;
    background:transparent;
  }

  .events-mobile-config-step__fare-label{
    grid-row:1;
    align-self:end;
    justify-self:start;
    margin:0;
    color:rgba(247,226,170,.92);
    font-size:13px;
    line-height:1.1;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .events-mobile-config-step__fare-value{
    grid-row:2;
    align-self:center;
    justify-self:start;
    min-height:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    display:flex;
    align-items:baseline;
    gap:6px;
    color:rgba(255,249,238,.98);
    line-height:.96;
    white-space:normal;
  }

  .events-mobile-config-step__fare-amount{
    display:inline-block;
    color:rgba(255,249,238,.98);
    font-size:46px;
    line-height:.96;
    font-weight:500;
    letter-spacing:-.045em;
  }

  .events-mobile-config-step__fare-currency{
    display:inline-block;
    padding-bottom:0;
    color:rgba(61,158,122,.98);
    font-size:14px;
    line-height:1;
    font-weight:800;
    letter-spacing:.02em;
    transform:translateY(4px);
  }

  .events-mobile-config-step__fare-pending{
    margin:0 auto;
    width:100%;
    max-width:300px;
    color:rgba(255,245,228,.76);
    font-size:13px;
    line-height:1.35;
    font-weight:650;
    text-align:center;
  }

  .events-mobile-config-step__fare-pending[hidden],
  .events-mobile-config-step__fare-label[hidden],
  .events-mobile-config-step__fare-value[hidden]{
    display:none !important;
  }

  .events-mobile-config-step .events-mobile-config-step__cta.cta{
    grid-area:cta;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:50px;
    margin-top:0;
    padding:0 16px;
    border:0;
    border-radius:9px;
    background:rgba(31,122,109,.86);
    color:rgba(255,249,238,.98);
    box-shadow:none;
    font-size:14px;
    line-height:1;
    font-weight:800;
    transform:none;
    filter:none;
    white-space:nowrap;
  }

  .events-mobile-config-step .events-mobile-config-step__cta.cta:hover{
    background:rgba(31,122,109,.86);
    box-shadow:none;
    transform:none;
    filter:none;
  }

  .events-mobile-config-step .events-mobile-config-step__cta.cta[disabled],
  .events-mobile-config-step .events-mobile-config-step__cta.cta[aria-disabled="true"]{
    background:rgba(255,245,228,.14);
    color:rgba(255,245,228,.38);
    border:0;
    box-shadow:none;
    opacity:1;
    cursor:not-allowed;
    transform:none;
    filter:none;
  }

  .events-mobile-config-step .events-mobile-config-step__cta.cta:focus-visible{
    outline:2px solid rgba(255,249,238,.88);
    outline-offset:2px;
    box-shadow:none;
  }

  .events-mobile-config-step .events-mobile-config-step__cta.cta:active{
    transform:none;
    box-shadow:none;
    filter:none;
  }
}