/* Central Tech Premium v1.0.31 — viewport containment and horizontal-overflow repair. */
html {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
}

body {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    overflow-x: hidden;
    overflow-x: clip;
}

*, *::before, *::after { box-sizing: border-box; }

/* Keep all principal theme regions inside the browser viewport. */
#page,
.site,
.site-content,
.lux-page,
.lux-main,
.lux-nav,
.lux-header,
.lux-footer,
.lux-container,
.lux-section,
.lux-hero,
.lux-banner,
.woocommerce,
.woocommerce-page {
    max-width: 100%;
}

.lux-container,
.lux-nav-inner,
.lux-header-inner,
.ct-footer-inner {
    margin-left: auto;
    margin-right: auto;
}

/* Flex/grid children are allowed to shrink instead of widening the page. */
.lux-nav-inner > *,
.lux-header-inner > *,
.lux-hero-grid > *,
.lux-section-head > *,
.ct-footer-grid > *,
.woocommerce div.product > *,
.woocommerce-checkout .col2-set > *,
.woocommerce-cart-form,
.woocommerce-checkout-review-order {
    min-width: 0;
}

img,
picture,
video,
iframe,
svg,
canvas {
    max-width: 100%;
}

img,
picture,
video,
canvas { height: auto; }

/* Prevent decorative artwork from contributing to document width. */
.lux-hero,
.lux-hero-art,
.lux-art-panel,
.lux-banner,
.lux-promo-banner,
.lux-home-banner,
.lux-section,
.single-product div.product,
.woocommerce ul.products li.product {
    contain: paint;
}

/* Grids must shrink at laptop widths rather than preserve oversized content. */
.woocommerce ul.products,
.lux-product-grid,
.lux-category-grid,
.lux-trust-grid,
.ct-payment-grid,
.ct-footer-grid {
    width: 100%;
    max-width: 100%;
}

.woocommerce ul.products li.product,
.woocommerce ul.products li.product a,
.woocommerce ul.products li.product .price,
.ct-price-box,
.ct-koko,
.ct-koko span {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

/* Wide WooCommerce tables scroll inside their own panel, never the whole page. */
.woocommerce-cart-form,
.woocommerce-checkout-review-order,
.woocommerce-order-details,
.woocommerce-MyAccount-content {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.woocommerce table.shop_table {
    width: 100%;
    max-width: 100%;
}

/* Keep desktop category dropdown within the visible screen near the right edge. */
@media (min-width: 1051px) {
    .ctp-category-menu { position: relative; }
    .ctp-category-dropdown {
        left: 0;
        right: auto;
        width: min(720px, calc(100vw - 32px));
        max-width: calc(100vw - 32px);
    }
}

/* Laptop-specific containment and balanced page gutters. */
@media (min-width: 761px) and (max-width: 1440px) {
    .lux-container,
    .lux-nav-inner,
    .lux-header-inner,
    .ct-footer-inner {
        width: min(calc(100% - 36px), var(--lux-width));
        max-width: calc(100% - 36px);
    }

    .lux-hero-grid,
    .lux-section,
    .lux-banner,
    .woocommerce .products,
    .woocommerce div.product {
        max-width: 100%;
    }
}

@media (max-width: 1050px) {
    .ctp-mobile-menu {
        width: min(420px, 100%);
        max-width: 100%;
    }
}

@media (max-width: 760px) {
    .lux-container,
    .lux-nav-inner,
    .lux-header-inner,
    .ct-footer-inner {
        max-width: calc(100% - 16px);
    }

    .woocommerce table.shop_table td,
    .woocommerce table.shop_table th {
        overflow-wrap: anywhere;
    }
}

/* v1.0.37 — responsive live product search */
.lux-header-search form{position:relative}
.ctp-live-search-results{
 position:absolute;z-index:10050;top:calc(100% + 8px);left:0;right:0;
 overflow:hidden;max-height:min(520px,70vh);overflow-y:auto;
 background:#fff;border:1px solid rgba(20,20,28,.1);border-radius:14px;
 box-shadow:0 18px 45px rgba(20,15,35,.18);text-align:left;
}
.ctp-live-search-results[hidden]{display:none!important}
.ctp-live-search-status{padding:16px;color:#6d6878;font-size:13px;text-align:center}
.ctp-live-search-item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;color:#201b28!important;text-decoration:none!important;border-bottom:1px solid #f0edf3;transition:background .15s ease}
.ctp-live-search-item:last-of-type{border-bottom:0}
.ctp-live-search-item:hover,.ctp-live-search-item.is-active{background:#f7f2fb;color:#5c237d!important}
.ctp-live-search-image{width:58px;height:58px;border-radius:10px;object-fit:contain;background:#f7f7f8}
.ctp-live-search-copy{min-width:0}
.ctp-live-search-name{display:block;font-size:13px;font-weight:600;line-height:1.35;white-space:normal;overflow-wrap:anywhere;color:inherit}
.ctp-live-search-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:5px}
.ctp-live-search-price{font-size:12px;font-weight:700;color:#6e2c91}
.ctp-live-search-price del{opacity:.55;font-weight:500}.ctp-live-search-price ins{text-decoration:none}
.ctp-live-search-stock{font-size:10px;color:#34835c;white-space:nowrap}
.ctp-live-search-all{display:block;padding:12px;text-align:center;background:#faf8fc;color:#6e2c91!important;font-size:12px;font-weight:700;text-decoration:none!important;border-top:1px solid #eee9f2}
.ctp-live-search-all:hover{background:#f0e6f6}
@media(max-width:700px){.ctp-live-search-results{position:fixed;top:auto;left:10px;right:10px;max-height:58vh}.ctp-live-search-item{grid-template-columns:50px minmax(0,1fr)}.ctp-live-search-image{width:50px;height:50px}}
