/* NAKIMA v24.1.25 — Android simple booking
   Deliberately boring and robust: the FULL-SCREEN BACKDROP is the only scroller.
   No nested modal scrolling, no fixed footer, no wizard. */
@media (max-width: 768px){
  html, body{min-height:100%;}

  body.v241-ready .nk-simple-booking-backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:9999!important;
    display:block!important;
    width:100%!important;
    height:100vh!important;
    height:100dvh!important;
    padding:0!important;
    margin:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:auto!important;
    touch-action:pan-y!important;
    background:#fffafc!important;
  }

  body.v241-ready .nk-simple-booking-modal{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-height:100%!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fffafc!important;
  }

  /* Kill every previous mobile booking enhancement if an old cached script injected it. */
  body.v241-ready .nk-simple-booking-modal>.nk-booking-progress,
  body.v241-ready .nk-simple-booking-modal>.nk-booking-mobile-actions{
    display:none!important;
  }

  body.v241-ready .nk-simple-booking-modal>.modal-head{
    position:relative!important;
    top:auto!important;
    z-index:1!important;
    display:flex!important;
    align-items:center!important;
    padding:max(14px,env(safe-area-inset-top)) 14px 10px!important;
    border-bottom:1px solid #efdee5!important;
    background:#fffafc!important;
  }
  body.v241-ready .nk-simple-booking-modal>.modal-head .eyebrow{display:none!important}
  body.v241-ready .nk-simple-booking-modal>.modal-head h2{
    margin:0!important;
    font-size:21px!important;
    line-height:1.15!important;
  }
  body.v241-ready .nk-simple-booking-modal>.modal-head>button{
    width:42px!important;
    height:42px!important;
    padding:0!important;
    border:1px solid #ead5de!important;
    border-radius:12px!important;
    background:#fff!important;
  }

  body.v241-ready .nk-simple-booking-modal .nk-simple-intro{
    margin:0!important;
    padding:10px 14px 2px!important;
    color:#8a6877!important;
    font-size:12px!important;
    line-height:1.4!important;
  }

  body.v241-ready .nk-simple-booking-modal>form.booking-form{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:10px 12px calc(22px + env(safe-area-inset-bottom))!important;
    overflow:visible!important;
    touch-action:auto!important;
    background:#fffafc!important;
  }

  body.v241-ready .nk-simple-booking-modal>form.booking-form>*{
    min-width:0!important;
    width:100%!important;
    margin:0!important;
  }

  body.v241-ready .nk-simple-booking-modal .nk-simple-field,
  body.v241-ready .nk-simple-booking-modal .customer-lookup,
  body.v241-ready .nk-simple-booking-modal .service-multi,
  body.v241-ready .nk-simple-booking-modal .booking-total,
  body.v241-ready .nk-simple-booking-modal label:not(.check){
    display:grid!important;
    gap:6px!important;
    padding:10px!important;
    border:1px solid #ead9e0!important;
    border-radius:14px!important;
    color:#59424c!important;
    background:#fff!important;
    box-shadow:none!important;
    font-size:12px!important;
    font-weight:800!important;
  }

  body.v241-ready .nk-simple-booking-modal input:not([type="checkbox"]):not([type="radio"]),
  body.v241-ready .nk-simple-booking-modal select,
  body.v241-ready .nk-simple-booking-modal textarea{
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    padding:10px 11px!important;
    border:1px solid #dfcdd5!important;
    border-radius:11px!important;
    outline:none!important;
    color:#35242b!important;
    background:#fff!important;
    font-size:16px!important;
  }

  body.v241-ready .nk-simple-booking-modal .phone-field{
    display:grid!important;
    grid-template-columns:108px minmax(0,1fr)!important;
    gap:7px!important;
  }
  body.v241-ready .nk-simple-booking-modal .field-help{
    margin:0!important;
    color:#9a7c89!important;
    font-size:10px!important;
    font-weight:500!important;
  }

  /* Customer search results expand naturally: no second scrollbar. */
  body.v241-ready .nk-simple-booking-modal .customer-matches{
    position:static!important;
    display:grid!important;
    max-height:none!important;
    margin-top:6px!important;
    overflow:visible!important;
    border:1px solid #ead8df!important;
    border-radius:11px!important;
    box-shadow:none!important;
  }
  body.v241-ready .nk-simple-booking-modal .customer-matches button{
    min-height:46px!important;
    padding:8px 10px!important;
  }

  /* The original checkbox list remains in the DOM for React state, but Android sees one select. */
  body.v241-ready .nk-simple-booking-modal .service-multi-list{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    white-space:nowrap!important;
    border:0!important;
  }
  body.v241-ready .nk-simple-booking-modal .service-multi-title{display:none!important}
  body.v241-ready .nk-simple-booking-modal .nk-simple-service-label{
    display:block!important;
    color:#59424c!important;
    font-size:12px!important;
    font-weight:800!important;
  }

  body.v241-ready .nk-simple-booking-modal .nk-booking-birthday-field{display:none!important}

  body.v241-ready .nk-simple-booking-modal label.check{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    min-height:52px!important;
    padding:10px 12px!important;
    border:1px solid #ead9e0!important;
    border-radius:14px!important;
    background:#fff!important;
    font-size:12px!important;
    font-weight:750!important;
  }
  body.v241-ready .nk-simple-booking-modal label.check input{
    width:22px!important;
    height:22px!important;
    flex:0 0 22px!important;
  }

  body.v241-ready .nk-simple-booking-modal .nk-simple-notes-toggle{
    min-height:44px!important;
    padding:9px 12px!important;
    border:1px dashed #d8bcc8!important;
    border-radius:12px!important;
    color:#75495c!important;
    background:#fff8fb!important;
    text-align:left!important;
    font-size:12px!important;
    font-weight:800!important;
  }
  body.v241-ready .nk-simple-booking-modal .nk-simple-notes-hidden{display:none!important}
  body.v241-ready .nk-simple-booking-modal textarea{min-height:80px!important;resize:vertical!important}

  body.v241-ready .nk-simple-booking-modal .booking-total{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    background:#fff3f8!important;
    border-color:#e7bfd0!important;
  }
  body.v241-ready .nk-simple-booking-modal .booking-total span{font-size:11px!important;color:#795969!important}
  body.v241-ready .nk-simple-booking-modal .booking-total b{font-size:18px!important;color:#803857!important}

  body.v241-ready .nk-simple-booking-modal .error{
    padding:10px 12px!important;
    border:1px solid #efc8d0!important;
    border-radius:12px!important;
    color:#9b2f43!important;
    background:#fff1f3!important;
  }

  /* Most important Android change: actions are NORMAL document flow, never fixed/sticky. */
  body.v241-ready .nk-simple-booking-modal .form-actions{
    position:static!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
    padding:4px 0 0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.v241-ready .nk-simple-booking-modal .form-actions .primary-action{
    order:-1!important;
    min-height:54px!important;
    border-radius:14px!important;
    font-size:15px!important;
    font-weight:900!important;
  }
  body.v241-ready .nk-simple-booking-modal .form-actions .secondary{
    min-height:46px!important;
    border-radius:12px!important;
  }
}

@media (max-width: 380px){
  body.v241-ready .nk-simple-booking-modal .phone-field{grid-template-columns:1fr!important}
}
