/* responsive.css - mobile layout overrides */
img,svg,video{max-width:100%;}
body{overflow-x:clip;}
input,select,textarea{max-width:100%;}

@media (max-width:900px){
  .nav-wrap{padding:12px 18px !important; flex-wrap:wrap; gap:10px !important;}
  .logo{margin-left:0 !important;}
  .links{order:3; width:100%; justify-content:center; flex-wrap:wrap; gap:8px 18px !important;}
  .package-grid,.gal-grid,.reviews-grid,.pkg-grid{
    grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)) !important;
  }
  .sig-grid,.custom-panel,.enquiry-grid{
    grid-template-columns:1fr !important; flex-direction:column !important;
  }
}

@media (max-width:640px){
  input,select,textarea{font-size:16px !important;}

  /* spacing */
  .package-section,.section,.enquiry-section,.auth-section{
    padding-left:16px !important; padding-right:16px !important;
  }
  .package-hero,.page-hero,.enquiry-hero,.auth-hero{padding:70px 18px 50px !important;}
  .enquiry-panel,.auth-panel{padding:26px 18px !important;}
  .btn-row{flex-direction:column; align-items:stretch;}

  /* forms stack */
  .form-row{grid-template-columns:1fr !important;}
  .mode-pick{flex-direction:column;}
  .contact-list{flex-direction:column; align-items:center;}
  .contact-list li{white-space:normal !important;}

  /* nav toggle */
  .seal-toggle{gap:8px !important;}
  .seal-label{font-size:.6rem !important; letter-spacing:.06em !important;}

  /* modals and overlays */
  .modal-backdrop{padding:10px !important;}
  .modal,.event-modal-card,.bill-card{padding:22px 16px !important; overflow-x:auto;}
  .selection-bar{width:calc(100% - 24px) !important; gap:10px !important;}

  /* admin dashboard */
  header{flex-wrap:wrap; gap:8px;}
  header .who{gap:8px !important; font-size:.8rem !important;}
  .tabs{
    overflow-x:auto; flex-wrap:nowrap !important; padding:14px 12px 0 !important;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;
  }
  .tabs::-webkit-scrollbar{display:none;}
  .tab{white-space:nowrap; flex-shrink:0; padding:9px 16px !important;}
  main{padding:0 10px 40px !important;}
  .panel{padding:18px 14px !important;}
  .panel-head{align-items:stretch !important;}
  .search-box{max-width:100% !important; width:100%; flex-basis:100%;}
  .subtabs{overflow-x:auto;}
  .subtab{white-space:nowrap;}
  .modal-actions{flex-wrap:wrap;}
  .toast{left:12px; right:12px; bottom:12px;}
}

@media (max-width:480px){
  #adminEmailLabel{display:none;}
  .logo{font-size:1.1rem !important;}
}
