/* Final responsive layer shared by every public frontend page. */
html, body { max-width: 100%; overflow-x: clip; }
img, svg, video, iframe { max-width: 100%; }

.zp_drawer_category_link {
    min-height: 72px;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) 18px;
    gap: 12px;
    align-items: center;
    padding: 9px 16px;
    border-bottom: 1px solid #e7e7e7;
    color: #181818;
}

.zp_drawer_category_image {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    background: #f4f4f4;
}

.zp_drawer_category_image img { width: 100%; height: 100%; padding: 3px; object-fit: contain; }
.zp_drawer_category_image i { color: #ffa300; }
.zp_drawer_category_copy { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.zp_drawer_category_copy strong { font-size: 11px; line-height: 1.25; font-weight: 900; text-transform: uppercase; }
.zp_drawer_category_copy small { color: #f19a00; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.zp_drawer_category_link > i { color: #999; font-size: 10px; }

@media (max-width: 920px) {
    :root { --zp_mobile_gutter: 16px; }

    .zp_container_wide,
    .zp_search_results_container {
        width: calc(100% - (var(--zp_mobile_gutter) * 2)) !important;
        max-width: none !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .zp_top_bar { min-height: 34px; }
    .zp_topbar_inner { min-height: 34px; justify-content: center; }
    .zp_topbar_socials { width: auto; }
    .zp_topbar_socials .zp_topbar_icon { display: none; }
    .zp_topbar_link { font-size: 10px; }

    .zp_header_grid {
        min-height: 68px !important;
        grid-template-columns: 42px minmax(0, 1fr) auto !important;
        gap: 7px !important;
    }

    .zp_mobile_left { align-items: center !important; }
    .zp_menu_label { display: none !important; }
    .zp_hamburger { width: 38px !important; height: 38px !important; border: 1px solid #ddd; background: #fff; }
    .zp_logo_img { width: min(170px, 48vw) !important; max-height: 48px; object-fit: contain; }
    .zp_header_actions { gap: 5px !important; }
    .zp_info_toggle { width: 36px !important; height: 36px !important; }
    .zp_mobile_lang_switcher { height: 36px !important; }
    .zp_main_header { border-bottom: 3px solid #ffa300; }

    .zp_drawer_panel { width: min(410px, 92vw); }
    .zp_drawer_tabs { position: sticky; top: 0; z-index: 2; background: #fff; }
    .zp_drawer_section[data-section="cats"] { max-height: calc(100dvh - 120px); overflow-y: auto; overscroll-behavior: contain; }

    .zp_page_hero,
    .zp_category_head,
    .zp_support_hero,
    .zp_warranty_hero,
    .zp_shop_retail_hero,
    .zp_trade_hero {
        min-height: 0 !important;
        padding-top: 36px !important;
        padding-bottom: 34px !important;
    }

    .zp_page_hero {
        background: #181818 !important;
    }

    .zp_page_hero::after { width: 360px; height: 360px; right: -190px; border-width: 56px; }
    .zp_page_title,
    .zp_category_title,
    .zp_support_hero h1,
    .zp_warranty_hero h1,
    .zp_shop_retail_hero h1,
    .zp_trade_hero h1 {
        max-width: 100%;
        font-size: clamp(29px, 9vw, 42px) !important;
        line-height: 1.02 !important;
        overflow-wrap: anywhere;
    }

    .zp_page_intro,
    .zp_category_intro,
    .zp_support_hero p,
    .zp_warranty_hero p,
    .zp_shop_retail_hero p,
    .zp_trade_hero p { font-size: 13px !important; line-height: 1.6 !important; }

    .zp_home_hero {
        padding: 34px 0 !important;
        background:
            linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.88)),
            url("https://www.tolsentools.com/wp-content/uploads/2025/10/TOLSEN-banner.jpg.webp") center / cover no-repeat !important;
    }

    .zp_home_hero_grid { grid-template-columns: 1fr !important; gap: 22px !important; }
    .zp_home_hero_title { font-size: clamp(32px, 10vw, 46px) !important; }
    .zp_home_hero_panel { padding: 17px !important; }

    .zp_category_page { padding-top: 0 !important; }
    .zp_category_head,
    .zp_category_head_detail { grid-template-columns: 1fr !important; grid-template-rows: auto !important; gap: 20px !important; }
    .zp_category_head_detail .zp_category_head_content,
    .zp_category_head_media,
    .zp_category_head_detail .zp_category_back { grid-column: 1 !important; grid-row: auto !important; }
    .zp_category_head_media { width: min(100%, 360px) !important; height: 190px !important; justify-self: center; }
    .zp_category_back { width: 100% !important; }
    .zp_category_selected { grid-template-columns: 1fr !important; }
    .zp_category_grid,
    .zp_product_grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
    .zp_product_card { min-width: 0; }

    .zp_product_details_grid,
    .zp_product_main_grid,
    .zp_product_summary_grid,
    .zp_product_specs_grid { grid-template-columns: 1fr !important; }
    .zp_product_gallery,
    .zp_product_summary { min-width: 0; }
    .zp_product_title { font-size: clamp(27px, 8vw, 40px) !important; overflow-wrap: anywhere; }
    .zp_product_actions,
    .zp_product_cart_form { align-items: stretch !important; flex-direction: column !important; }
    .zp_product_action,
    .zp_product_cart_submit { width: 100% !important; }

    .zp_catalog_command_grid,
    .zp_toolmatch_stage,
    .zp_catalog_section_head,
    .zp_info_intro .zp_container_wide,
    .zp_document_layout,
    .zp_service_support,
    .zp_cart_layout,
    .zp_checkout_layout { grid-template-columns: 1fr !important; }

    .zp_catalog_stats { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .zp_catalog_stats > div { min-width: 0; padding: 12px !important; }
    .zp_catalog_stats strong { font-size: 20px !important; }
    .zp_catalog_stats span { font-size: 8px !important; }
    .zp_toolmatch_intro { grid-template-columns: 64px minmax(0, 1fr) !important; }
    .zp_toolmatch_mark { width: 64px !important; height: 64px !important; font-size: 39px !important; }
    .zp_toolmatch_modes { border-right: 0 !important; }
    .zp_toolmatch_recommendations { grid-template-columns: 1fr !important; }
    .zp_toolmatch_product_grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }

    .zp_faq_group { grid-template-columns: 1fr !important; }
    .zp_document_index { position: static !important; }
    .zp_service_steps { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .zp_info_cta .zp_container_wide { min-height: 0; padding-top: 30px; padding-bottom: 30px; }

    .zp_cart_page,
    .zp_checkout_page { padding-top: 30px !important; padding-bottom: 40px !important; }
    .zp_cart_page_head,
    .zp_checkout_head { align-items: stretch !important; flex-direction: column !important; gap: 18px !important; }
    .zp_cart_page_continue,
    .zp_checkout_back { width: 100% !important; }
    .zp_cart_item { grid-template-columns: 92px minmax(0, 1fr) !important; }
    .zp_cart_item_side { grid-column: 1 / -1; align-items: center !important; flex-direction: row !important; justify-content: space-between; }
    .zp_checkout_grid { grid-template-columns: 1fr !important; }

    .zp_footer_inner { grid-template-columns: 1fr !important; text-align: center; }
    .zp_footer_links { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .zp_footer_copy { justify-self: center !important; text-align: center !important; }
}

@media (max-width: 620px) {
    :root { --zp_mobile_gutter: 12px; }
    .zp_topbar_link[href^="tel:"] span { display: inline !important; }
    .zp_mobile_lang_switcher { display: none !important; }
    .zp_header_grid { grid-template-columns: 40px minmax(0, 1fr) 38px !important; }
    .zp_logo_img { width: min(155px, 52vw) !important; }

    .zp_home_category_grid,
    .zp_home_product_grid,
    .zp_home_news_grid,
    .zp_page_card_grid,
    .zp_category_grid,
    .zp_product_grid,
    .zp_catalog_category_grid,
    .zp_catalog_product_grid { grid-template-columns: 1fr !important; }

    .zp_catalog_stats { grid-template-columns: 1fr !important; }
    .zp_catalog_stats > div { min-height: 70px !important; border-left: 0 !important; border-top: 1px solid rgba(255,255,255,.14); }
    .zp_toolmatch_intro { grid-template-columns: 52px minmax(0, 1fr) !important; gap: 13px !important; }
    .zp_toolmatch_mark { width: 52px !important; height: 52px !important; font-size: 32px !important; }
    .zp_toolmatch_intro h2 { font-size: clamp(27px, 9vw, 36px) !important; }
    .zp_toolmatch_product_grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .zp_toolmatch_browser_head { grid-template-columns: 1fr !important; }

    .zp_service_steps,
    .zp_service_checklist ul,
    .zp_info_stats .zp_container_wide { grid-template-columns: 1fr !important; }
    .zp_info_cta .zp_container_wide { align-items: stretch !important; flex-direction: column !important; }
    .zp_info_cta a { width: 100%; justify-content: center; }

    .zp_product_related_grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .zp_cart_item { grid-template-columns: 72px minmax(0, 1fr) !important; padding: 12px !important; }
    .zp_cart_item_media { width: 72px !important; height: 72px !important; }
    .zp_checkout_option_grid { grid-template-columns: 1fr !important; }

    .zp_footer_links { grid-template-columns: 1fr !important; }
}

@media (max-width: 390px) {
    .zp_toolmatch_product_grid,
    .zp_product_related_grid { grid-template-columns: 1fr !important; }
    .zp_page_title,
    .zp_category_title { font-size: 28px !important; }
}
