/* Shared mobile layout, loaded after the theme and storefront styles. */
@media (max-width: 1000px) {
  .kc-site-header { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .kc-category-bar { display: none; }
  .kc-menu-toggle { display: inline-flex !important; }
  .kc-menu-toggle, .kc-menu-close, .kc-cart-link, .kc-search button {
    width: 44px; min-width: 44px; height: 44px; padding: 10px;
    align-items: center; justify-content: center; flex-shrink: 0;
  }
  .kc-menu-toggle svg, .kc-menu-close svg, .kc-cart-link svg, .kc-search button svg { width: 22px; height: 22px; flex: 0 0 22px; }
  .kc-mobile-drawer { height: 100vh; height: 100dvh; z-index: 100050; justify-content: flex-start; }
  .kc-mobile-drawer[hidden] { display: none !important; }
  .kc-mobile-drawer__panel { height: 100%; min-height: 0; overflow-y: auto; overscroll-behavior: contain; width: min(360px, 88vw); padding: 18px; padding-bottom: max(18px, env(safe-area-inset-bottom)); }
  .kc-mobile-drawer__head { position: sticky; top: -18px; padding-block: 10px; background: #fff; z-index: 1; }
  .kc-mobile-nav-list { margin: 0; padding: 0; list-style: none; }
  .kc-mobile-nav-list a { min-height: 48px; font-size: 15px; }
  html.kc-drawer-open, .kc-drawer-open body { overflow: hidden; }
}
@media (max-width: 768px) {
  .kc-announcement { padding: 7px 12px; font-size: 11px; line-height: 1.7; white-space: normal; }
  .kc-header-row { gap: 10px; padding-block: 10px; }
  .kc-header-actions { gap: 6px; }
  .kc-header-row .kc-brand { min-width: 0; }
  .kc-header-row .kc-brand__copy strong { font-size: 23px; }
  .kv-header-search { min-width: 0; width: 100%; }
  .kc-search input, .kc-card__weight select, .woocommerce input.input-text, .woocommerce select, .woocommerce textarea, .select2-search__field { font-size: 16px !important; }
  .kc-container { width: calc(100% - 24px); }
  .main-page-wrapper { padding-top: 20px; }
  .site-content, .wd-content-layout > *, .kc-card, .kc-card__body { min-width: 0; }
  .kc-card h3, .product_title, .entry-title, .kc-content-page h1 { overflow-wrap: anywhere; }
  .kc-card__media img { width: 100%; height: auto; object-fit: contain; }
  .kv-section-heading { flex-wrap: wrap; gap: 10px; }
  .kv-section-heading > a { font-size: 13px; min-height: 44px; display: inline-flex; align-items: center; }
  .kv-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kv-product-grid .kc-card__link { white-space: normal; min-height: 44px; }
  .kc-card--inline .kc-card__weight { margin-inline: 12px; gap: 8px; }
  .kc-card--inline .kc-card__body > h3 { padding: 16px 12px 12px; font-size: 17px; }
  .kc-commerce-masthead { padding: 20px 16px; margin-bottom: 24px; gap: 20px; }
  .kc-commerce-masthead h1, .single-product .product_title { font-size: 28px; line-height: 1.5; }
  .kc-commerce-masthead p { font-size: 14px; }
  .kc-commerce-steps { width: 100%; }
  .kc-commerce-steps li { min-width: 0; font-size: 12px; }
  .woocommerce-cart .cart-content-wrapper { display: flex; flex-direction: column; gap: 24px; }
  .woocommerce-cart .cart-content-wrapper > * { width: 100%; max-width: 100%; flex-basis: auto; }
  .woocommerce-cart .cart-totals-inner { padding: 16px; }
  .woocommerce-cart .product-name { overflow-wrap: anywhere; }
  .woocommerce .quantity :is(input.qty, input.plus, input.minus) { min-width: 38px; height: 44px; padding: 0; }
  .woocommerce-cart .coupon { display: flex; flex-direction: column; gap: 10px; width: 100%; padding: 12px !important; }
  .woocommerce-cart .coupon :is(input, button) { width: 100% !important; margin: 0 !important; min-height: 46px; }
  .woocommerce-cart .checkout-button, .woocommerce button.button { white-space: normal; line-height: 1.6; }
  .woocommerce-checkout form.checkout { grid-template-columns: minmax(0,1fr); grid-template-areas: 'customer' 'summary'; }
  .woocommerce-checkout .checkout-order-review { position: static !important; padding: 16px; }
  .woocommerce-checkout #customer_details { padding: 16px; }
  .woocommerce-checkout .form-row { width: 100% !important; float: none; padding-inline: 0; }
  .woocommerce-checkout .select2-container { width: 100% !important; max-width: 100%; }
  .woocommerce-checkout .shop_table { table-layout: fixed; width: 100%; }
  .woocommerce-checkout .shop_table :is(td,th) { overflow-wrap: anywhere; padding-inline: 6px; }
  .woocommerce-checkout .shop_table .product-total { width: 38%; }
  .woocommerce-checkout #payment { padding: 12px; }
  .single-product .product-image-summary-inner { grid-template-columns: minmax(0,1fr) !important; gap: 20px; }
  .single-product .product-image-summary .summary-inner { padding: 16px; }
  .single-product .woocommerce-variation-add-to-cart { flex-wrap: wrap; }
  .single-product .single_add_to_cart_button { flex-basis: 100%; width: 100%; }
  .single-product .kc-pdp-media__frame { max-width: 100%; }
  .single-product .kc-pdp-media__image { object-fit: contain; }
  .kc-footer__grid { gap: 24px; }
  .kc-footer a { overflow-wrap: anywhere; }
  .kc-footer nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .entry-content :is(img,video,iframe), .kc-content-page :is(img,video,iframe) { max-width: 100%; }
  .entry-content :is(pre,.wp-block-table) { max-width: 100%; overflow-x: auto; }
}
@media (max-width: 600px) {
  .kv-hero { display: flex; flex-direction: column-reverse; min-height: 0; }
  .kv-hero picture { position: static; display: block; width: 100%; }
  .kv-hero picture img { display: block; position: static; width: 100%; height: auto; object-fit: contain; }
  .kv-hero-copy { position: static; width: 100%; padding: 20px; background: #e7eddf; }
  .kv-hero-copy p { font-size: 14px; }
  .kv-hero-copy > span { font-size: 12px; }
  .kv-promo { overflow: hidden; }
  .kv-promo h2 { font-size: 18px; }
}
@media (max-width: 360px) {
  .kv-product-grid { grid-template-columns: minmax(0,1fr); }
  .kv-categories { grid-template-columns: minmax(0,1fr); }
  .kc-header-row .kc-brand__copy strong { font-size: 21px; }
  .kc-commerce-steps li { font-size: 11px; }
}
@media (max-width: 768px) {
  .kc-policy-nav { display: flex; flex-wrap: wrap; gap: 8px; overflow: visible; }
  .kc-policy-nav a { min-height: 44px; white-space: normal; display: inline-flex; align-items: center; justify-content: center; flex: 1 1 120px; text-align: center; }
  .kc-policy-hero h1, .kc-editorial-hero h1 { font-size: clamp(26px, 8vw, 36px); }
  .kc-policy-hero, .kc-editorial-hero { padding: 24px 16px; }
  .single-product .product-image-summary { margin-bottom: 24px; }
  .kc-product-facts { margin-block: 24px; padding: 20px 16px; }
}
@media (max-width: 600px) {
  .products.wd-grid-g { grid-template-columns: minmax(0, 1fr) !important; --wd-col: 1 !important; }
  .products.wd-grid-g .kc-product-grid-item { width: 100%; max-width: 100%; }
  .kc-filter-panel { max-height: 88dvh; padding-bottom: max(16px, env(safe-area-inset-bottom)); }
  .kc-filter-panel :is(select, input) { font-size: 16px; min-height: 44px; }
}
@media (max-width: 768px) {
  .page .wd-content-layout { padding-top: 12px; }
  .kc-content-page { padding-top: 8px; }
  .kc-content-page__hero { padding: 24px 16px; }
  .kc-content-page__hero h1 { font-size: clamp(26px, 8vw, 36px); }
}
