/* Touch device forced into a desktop layout (Chrome/Samsung Internet "Desktop site").
   The browser lays the page out at ~980px and scales it down onto a ~6" screen, so
   every control ends up roughly half its intended physical size while text stays
   readable. This file scales the tap targets back up for that case only:
     pointer:coarse            -> finger, not mouse
     900-1200px                -> desktop layout viewport (mobile browsers use 980px)
     max-resolution:1.9dppx    -> heavily zoomed-out phone; retina tablets (2dppx+)
                                  and real desktops are left untouched
*/
@media (pointer:coarse) and (min-width:900px) and (max-width:1200px) and (max-resolution:1.9dppx){

  /* ---- header ---- */
  .topbar,.topbar.scrolled{padding-top:14px!important;padding-bottom:14px!important;}
  .brand{font-size:23px;gap:15px;}
  .brand img{width:64px;height:64px;}
  .brand small{font-size:14px;}
  .top-nav a{font-size:20px;padding:12px 20px;}
  .top-right>.btn-primary{padding:17px 32px!important;font-size:22px!important;}
  .lang-switch{margin-inline-start:18px;}
  .lang-btn{font-size:20px;padding:14px 22px;}
  .lang-btn .chev{width:13px;height:13px;}
  .lang-menu{min-width:270px;border-radius:18px;padding:12px;}
  .lang-opt{font-size:20px;padding:14px 18px;border-radius:12px;}
  .lang-opt .flag,.lang-btn .flag{width:30px;height:auto;}

  /* ---- burger ---- */
  .nav-burger{width:80px!important;height:80px!important;border-radius:20px;margin-inline-start:14px;}
  .nav-burger .nb-box{width:36px;height:26px;}
  .nav-burger .nb-box span{height:4px;}
  .nav-burger .nb-box span:nth-child(2){top:11px;}
  .nav-burger .nb-box span:nth-child(3){top:22px;}
  body.mnav-open .nav-burger .nb-box span:nth-child(1){top:11px;}
  body.mnav-open .nav-burger .nb-box span:nth-child(3){top:11px;}

  /* ---- slide-in nav ---- */
  .mnav-panel{width:min(72vw,600px);padding:150px 28px 40px;}
  .mnav-links a{font-size:26px;padding:21px 24px;border-radius:16px;}
  .mnav-lang-label{font-size:16px;margin:26px 0 10px;padding:0 24px;}
  .mnav-langs a{font-size:23px;padding:17px 24px;border-radius:16px;}
  .mnav-langs a .flag{width:30px;height:auto;}

  /* ---- buttons and pills in the page ---- */
  .btn{padding:23px 42px!important;font-size:25px!important;gap:15px;}
  .btn .icon{width:31px;height:31px;}
  .pill{padding:18px 30px;font-size:21px;gap:14px;}
  .pill .icon{width:27px;height:27px;}
  .pill-row{gap:20px;}
  .chip{padding:16px 28px;font-size:21px;gap:12px;}
  .chip .icon{width:24px;height:24px;}

  /* ---- floating controls ---- */
  .top-float{width:84px;height:84px;left:30px;bottom:30px;}
  .top-float .icon{width:33px;height:33px;}
  #sbf-dock.sbf-fixed{right:26px;bottom:26px;gap:22px;}
  #sbf-dock.sbf-fixed .sbf-cluster{width:88px;height:88px;}
  #sbf-dock.sbf-inline{gap:44px;}
  #sbf-dock.sbf-inline .sbf-cluster{width:100px;height:100px;}
  .sbf-bubble svg,#sbf-dock.sbf-inline .sbf-bubble svg{width:40px;height:40px;}
  #sbf-anchor{min-height:118px;}
  .sbf-tip{font-size:16px;padding:8px 14px;}

  /* ---- contact rows on the home page ---- */
  .contact-item{padding:21px 25px;gap:19px;}
  .contact-item .ic-wrap{width:60px;height:60px;border-radius:16px;}
  .contact-item .ic-wrap .icon{width:29px;height:29px;}
  .contact-item b{font-size:21px;}
  .contact-item span{font-size:18px;}

  /* ---- modals ---- */
  .course-modal{max-width:800px;}
  .course-modal-close{width:60px;height:60px;font-size:32px;top:22px;right:22px;}
  [dir=rtl] .course-modal-close{right:auto;left:22px;}
  .info-modal-media .course-modal-close{top:18px;right:18px;}
  [dir=rtl] .info-modal-media .course-modal-close{right:auto;left:18px;}

  /* ---- booking / contact form controls ---- */
  .field input,.field select,.field textarea{font-size:21px!important;padding:16px 18px!important;border-radius:14px;}
  .field textarea{min-height:150px;}
  .bi-people input{width:112px!important;font-size:21px!important;padding:12px 14px!important;}
  .chk-field{padding:18px 20px;gap:16px;}
  .chk-field input{width:30px;height:30px;}
  .chk-field .chk-text b{font-size:20px;}
  .chk-field .chk-text span{font-size:17px;}
  .cp-chip{padding:12px 20px;gap:12px;border-radius:22px;}
  .cp-chip input{width:26px;height:26px;}
  .cp-chip span{font-size:19px;}
  .cp-chip .cp-info{width:32px;height:32px;font-size:16px;}
  .cp-group-label{font-size:15px;}
  .captcha-row .captcha-question{min-width:96px;padding:16px 18px;font-size:21px;}
  .captcha-refresh{width:60px;height:60px;font-size:24px;}
  .cal-nav{width:52px;height:52px;font-size:22px;}
  .cal-month-label{font-size:21px;}
  .cal-weekdays span{font-size:15px;}
  .cal-day{font-size:19px;border-radius:12px;}
  .date-chip{padding:10px 14px 10px 20px;font-size:18px;}
  .date-chip .chip-x{font-size:20px;}
  .pay-card{padding:18px 20px;}
  .pay-card b{font-size:19px;}
  .pay-card span{font-size:16px;}

  /* ---- the taller header needs more room below it ---- */
  .band-hero{padding-top:190px;}
}
