/* Kenoz One 12.0.3 — mobile account, registration and checkout guardrails. */
html:has(body.k1-page-account),
html:has(body.k1-page-checkout){
  height:auto!important;
  min-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto!important;
  scroll-behavior:auto!important;
}
body.k1-page-account,
body.k1-page-checkout{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:auto!important;
}
body.k1-page-account :is(#page,.site,.site-content,#content,#primary,.content-area,.site-main,.entry-content),
body.k1-page-checkout :is(#page,.site,.site-content,#content,#primary,.content-area,.site-main,.entry-content){
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  touch-action:pan-y!important;
}
body.k1-page-account .k1-engine-stage,
body.k1-page-account .k1-engine-main,
body.k1-page-account .k1-engine-surface{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  touch-action:pan-y!important;
}
body.k1-page-account :is(#qlwapp,.qlwapp,.qlwapp-container){display:none!important}

/* Login and registration stay readable and never create a side-scroll. */
body.k1-page-account .woocommerce,
body.k1-page-account #customer_login,
body.k1-page-account .u-columns,
body.k1-page-account .woocommerce-MyAccount-content,
body.k1-page-account .woocommerce-MyAccount-navigation{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body.k1-page-account #customer_login{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
body.k1-page-account #customer_login>.u-column1,
body.k1-page-account #customer_login>.u-column2{
  float:none!important;
  width:100%!important;
  margin:0!important;
  padding:22px!important;
  border:1px solid #dce6ec!important;
  border-radius:20px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
body.k1-page-account :is(input.input-text,input[type=email],input[type=password],input[type=text],select,textarea){
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/* Recommended products below checkout must be full cards, never thin columns. */
body.k1-page-checkout :is(.cross-sells,.upsells,.related.products,[class*=recommend]){
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
body.k1-page-checkout :is(.cross-sells,.upsells,.related.products,[class*=recommend]) ul.products{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  max-width:100%!important;
  margin:16px 0!important;
  padding:0!important;
}
body.k1-page-checkout :is(.cross-sells,.upsells,.related.products,[class*=recommend]) ul.products:before,
body.k1-page-checkout :is(.cross-sells,.upsells,.related.products,[class*=recommend]) ul.products:after{display:none!important}
body.k1-page-checkout :is(.cross-sells,.upsells,.related.products,[class*=recommend]) li.product{
  float:none!important;
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr)!important;
  align-content:start!important;
  gap:6px 12px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:12px!important;
  border:1px solid #dfe7ec!important;
  border-radius:17px!important;
  background:#fff!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
body.k1-page-checkout :is(.cross-sells,.upsells,.related.products,[class*=recommend]) li.product a:first-child{
  display:contents!important;
}
body.k1-page-checkout :is(.cross-sells,.upsells,.related.products,[class*=recommend]) li.product img{
  grid-column:1!important;
  grid-row:1 / span 5!important;
  width:92px!important;
  height:92px!important;
  margin:0!important;
  border-radius:13px!important;
  object-fit:contain!important;
}
body.k1-page-checkout :is(.cross-sells,.upsells,.related.products,[class*=recommend]) li.product :is(h2,h3,.woocommerce-loop-product__title,.price,.button){
  grid-column:2!important;
  min-width:0!important;
  margin:0!important;
  overflow-wrap:anywhere!important;
}
body.k1-page-checkout :is(.cross-sells,.upsells,.related.products,[class*=recommend]) li.product .button{
  align-self:end!important;
  width:100%!important;
  min-height:42px!important;
  padding:9px!important;
  white-space:normal!important;
}

@media(max-width:760px){
  body.k1-page-account .k1-engine-bg{position:absolute!important}
  body.k1-page-account .k1-engine-stage{padding:10px 0 42px!important}
  body.k1-page-account .k1-engine-hero{
    grid-template-columns:1fr!important;
    min-height:0!important;
    padding:20px 16px!important;
    border-radius:22px!important;
  }
  body.k1-page-account .k1-engine-hero__brand{display:none!important}
  body.k1-page-account .k1-engine-hero h1{font-size:2rem!important;margin:8px 0!important}
  body.k1-page-account .k1-engine-surface{margin-top:14px!important;padding:14px 10px!important}
  body.k1-page-account #customer_login{grid-template-columns:1fr!important}
  body.k1-page-account #customer_login>.u-column1,
  body.k1-page-account #customer_login>.u-column2{padding:16px!important}
  body.k1-page-account .woocommerce-account .woocommerce{
    display:block!important;
    width:100%!important;
  }
  body.k1-page-account .woocommerce-MyAccount-navigation{
    margin:0 0 14px!important;
    padding:8px!important;
  }
  body.k1-page-account .woocommerce-MyAccount-content{
    min-height:0!important;
    padding:16px 12px!important;
  }
  body.k1-page-checkout :is(.cross-sells,.upsells,.related.products,[class*=recommend]) ul.products{
    grid-template-columns:1fr!important;
  }
  body.k1-page-checkout .kenoz-floating-actions{bottom:88px!important}
}

@media(max-width:390px){
  body.k1-page-account .k1-engine-main{width:calc(100% - 12px)!important}
  body.k1-page-account .k1-engine-surface{border-radius:18px!important}
  body.k1-page-checkout :is(.cross-sells,.upsells,.related.products,[class*=recommend]) li.product{
    grid-template-columns:78px minmax(0,1fr)!important;
    padding:10px!important;
  }
  body.k1-page-checkout :is(.cross-sells,.upsells,.related.products,[class*=recommend]) li.product img{
    width:78px!important;
    height:78px!important;
  }
}
