/* =======================
   Responsive Adjustments
   ======================= */
@media (max-width:899.98px){
  .fs-grid>*{ grid-column:1 / -1 !important; }
}

@media (max-width:480px){
  .place-chip{
    padding:.55rem .65rem;
    gap:.6rem;
  }
  .place-chip__name{ font-size:.9rem; }
  .place-chip__addr{
    font-size:.82rem;
    -webkit-line-clamp:2;
    line-clamp:2;
  }
}

@media (max-width:480px){
  .stepper{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    gap:6px;
    padding-bottom:6px;
    scroll-snap-type:x proximity;
  }
  .stepper__item{
    flex:0 0 auto;
    min-width:118px;
    padding:8px 10px;
    font-size:.9rem;
    white-space:nowrap;
    scroll-snap-align:start;
  }
  .stepper__item[data-state="active"]{
    box-shadow:0 2px 10px rgba(0,0,0,.12);
  }
  .stepper__num{ display:none; }

  .yn-toggle{ gap:4px; }
  .yn-toggle button{
    min-width:64px;
    padding:10px 12px;
    font-size:14px;
  }

  #bukasForm input[type="text"],
  #bukasForm input[type="email"],
  #bukasForm input[type="number"],
  #bukasForm input[type="date"],
  #bukasForm input[type="time"],
  #bukasForm select,
  #bukasForm textarea{
    font-size:16px;
  }

  #bukasForm fieldset{ padding:14px 12px 18px; }
  .block-actions{ gap:8px; }
}

@supports (-webkit-touch-callout:none){
  #bukasForm input,
  #bukasForm select,
  #bukasForm textarea{ font-size:16px; }
}

/* =======================
   App-like Mobile Layout
   ======================= */
@media (max-width:768px){
  body{
    margin:0 !important;
    padding:0 !important;
    padding-top:100px !important;
    background:#fcfcfa;
    min-height:100vh;
  }

  #bukasForm{
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    width:100%;
  }

  .form-head{
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    width:100%;
    box-sizing:border-box;
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:100 !important;
    background:#fff !important;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(0,0,0,0.08) !important;
    box-shadow:0 1px 3px rgba(0,0,0,0.05) !important;
    padding:12px 16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px;
  }

  .stepper{ margin-top:4px !important; }

  .form-head h2{
    font-size:1.2rem !important;
    margin:0 !important;
    flex:1;
  }

  .lang-switcher{ gap:4px !important; }
  .lang-switcher button{
    padding:6px 10px !important;
    font-size:12px !important;
  }

  #bukasForm fieldset{
    margin-left:0 !important;
    margin-right:0 !important;
    margin-top:10px;
    margin-bottom:10px;
    border-left:none !important;
    border-right:none !important;
    border-radius:12px !important;
    padding:14px 14px 18px !important;
    background:#f9fafb !important;
    border:1px solid #e5e7eb !important;
    box-shadow:0 1px 3px rgba(15,23,42,0.06) !important;
  }

  .form-block{
    padding-left:0 !important;
    padding-right:0 !important;
    padding-bottom:80px !important;
    padding-top:4px;
  }

  #bukasForm legend{
    font-size:.95rem !important;
    font-weight:700 !important;
    color:#111827 !important;
    padding:0 4px !important;
    margin-bottom:4px !important;
  }

  #bukasForm label{
    font-size:.9rem !important;
    margin:.15rem 0 !important;
    row-gap:1px !important;
    grid-template-rows:auto auto !important;
  }

  .fs-grid{ row-gap:6px !important; }

  #bukasForm input[type="text"],
  #bukasForm input[type="email"],
  #bukasForm input[type="number"],
  #bukasForm input[type="date"],
  #bukasForm input[type="time"],
  #bukasForm select,
  #bukasForm textarea{
    height:44px;
    min-height:44px;
    padding:10px 12px;
    border-radius:10px;
    border:1px solid #d1d5db;
    background:#ffffff;
    font-size:15px;
    line-height:1.2;
    box-shadow:0 1px 1px rgba(15,23,42,0.03);
    transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease, transform .08s ease;
  }

  #bukasForm textarea{
    min-height:90px;
    height:auto;
  }

  #bukasForm input:focus,
  #bukasForm select:focus,
  #bukasForm textarea:focus{
    outline:none;
    border-color:#c8b782;
    box-shadow:0 0 0 1px rgba(200,183,130,0.9), 0 0 0 4px rgba(200,183,130,0.25);
    background:#ffffff;
    transform:translateY(-1px);
  }

  #bukasForm small.hint,
  #bukasForm .muted{
    font-size:.82rem !important;
    line-height:1.3 !important;
  }

  .block-actions{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    padding:12px 16px;
    gap:10px;
    background:linear-gradient(to top,rgba(252,252,250,0.95),rgba(252,252,250,0));
    backdrop-filter:blur(6px);
  }

  .block-actions .btn-prev,
  .block-actions .btn-next{
    width:100%;
    flex:1;
  }

  .form-block{
    margin-bottom:80px;
  }

  .toast-card{
    width:min(90%,420px);
  }
}


