/* CRF Tuning mobile platform hardening v112 - 2026-08-17 */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  -webkit-tap-highlight-color:transparent;
}
html,body{max-width:100%;overflow-x:hidden;}
body{min-width:0;}
main,section,header,footer,nav,form,fieldset,.container{min-width:0;max-width:100%;}
img,picture,video,canvas,svg,iframe{max-width:100%;height:auto;}
img{display:block;}
button,input,select,textarea{font:inherit;max-width:100%;}
button,.btn,a[role="button"],input[type="button"],input[type="submit"],input[type="reset"]{
  touch-action:manipulation;
}
[class*="grid"] > *,[class*="layout"] > *,[class*="row"] > *, .card,.glass{min-width:0;}
pre,code,.crf-code{overflow-wrap:anywhere;word-break:break-word;}

@supports (padding:max(0px)){
  body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);}
  .whatsapp{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));}
}

@media (max-width:900px){
  .container{width:calc(100% - 24px)!important;max-width:1180px!important;}
  .topbar .container{gap:8px!important;padding:8px 0!important;font-size:.84rem!important;}
  .nav .container{width:calc(100% - 24px)!important;}
  .nav .navlinks{max-height:calc(100dvh - 92px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;}
  .nav .navlinks a,.nav .navlinks .btn{min-height:48px!important;}
  .section{padding:52px 0!important;}
  .section-title{margin-bottom:30px!important;}
  .section-title h2{font-size:clamp(1.8rem,8vw,2.7rem)!important;overflow-wrap:anywhere;}
  h1{font-size:clamp(2.15rem,11vw,3.7rem)!important;line-height:1!important;overflow-wrap:anywhere;}
  h2,h3{overflow-wrap:anywhere;}
  .card,.glass,.lookup-card,.booking-panel,.review-wrap{max-width:100%!important;}
  .hero{min-height:auto!important;padding:48px 0!important;}
  .hero-grid{gap:26px!important;}
  .hero p{font-size:1rem!important;}
  .hero-actions{gap:10px!important;}
  .price-card-grid,.payment-card-grid,.paypal-grid,.kess-shop-grid,.kess-products-small,.kess-product-grid,.crf-clone-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .whatsapp{max-width:calc(100vw - 24px)!important;padding:13px 16px!important;right:12px!important;bottom:12px!important;white-space:normal!important;text-align:center!important;}
  .kess-basket,.kess-basket-panel,.checkout-summary,.order-summary-card,.crf-order-summary{position:relative!important;top:auto!important;}
  .filterbar,.badges,.hero-actions{max-width:100%;}
  .filterbar{overflow-x:auto!important;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
}

@media (max-width:700px){
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{
    font-size:16px!important; /* prevents iOS focus zoom */
    min-height:48px;
  }
  input[type="date"],input[type="time"],input[type="datetime-local"]{min-width:0!important;width:100%!important;}
  textarea{min-height:120px;resize:vertical;}
  .form-row,.booking-grid,.shop-layout,.kess-shop-layout,.kess-sales-grid,.kess-info-grid,.crf-fast-file-grid,.crf-vehicle-fields{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .card,.glass,.lookup-card,.booking-panel,.review-wrap{padding:20px!important;border-radius:20px!important;}
  .stats,.gallery,.trust,.footer-grid,.cards{grid-template-columns:minmax(0,1fr)!important;}
  .result-grid{grid-template-columns:minmax(0,1fr)!important;}
  .metric{padding:14px!important;}
  .metric strong,.price{overflow-wrap:anywhere;}
  .hero-actions .btn,.checkout-actions .btn,form > .btn,form .crf-submit-row .btn{
    width:100%!important;max-width:100%!important;min-height:48px!important;
  }
  .btn{min-height:46px;padding:12px 18px;white-space:normal;text-align:center;line-height:1.25;}
  table{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
  th,td{padding:12px!important;white-space:normal;}
  .gains-table{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
  .basket-row{gap:10px!important;align-items:flex-start!important;flex-wrap:wrap!important;}
  .basket-row button{min-width:44px;min-height:44px;}
  .checkout-actions{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;}
  .crf-status-row{gap:10px!important;}
  .crf-status-main{min-width:0!important;align-items:flex-start!important;}
  .project-card img,.build img{max-width:100%!important;}
  iframe{width:100%!important;}
}

@media (max-width:430px){
  .container,.nav .container{width:calc(100% - 20px)!important;}
  .topbar .container{display:block!important;text-align:center!important;}
  .topbar .container > * + *{margin-top:3px;}
  .brand{font-size:1.13rem!important;letter-spacing:.055em!important;}
  .mobile-menu-toggle{min-width:72px!important;padding:9px 12px!important;}
  .nav .navlinks{padding:10px!important;border-radius:15px!important;}
  h1{font-size:clamp(2rem,11vw,3rem)!important;}
  .section{padding:42px 0!important;}
  .card,.glass,.lookup-card,.booking-panel,.review-wrap{padding:17px!important;border-radius:18px!important;}
  .btn{width:100%;max-width:100%;}
  .hero-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;}
  .badge{max-width:100%;white-space:normal;text-align:center;}
  .whatsapp{font-size:.9rem!important;}
}

/* Landscape phones: keep the header usable when vertical space is tight. */
@media (max-height:500px) and (max-width:950px) and (orientation:landscape){
  .nav .navlinks{max-height:calc(100dvh - 78px)!important;}
  .hero{padding:30px 0!important;}
  .section{padding:38px 0!important;}
}
