/*!
Theme Name: BTech
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: BTech-Yuri
Author URI: https://www.kadencewp.com/
Description: Child theme for BTech BtoB store based on Kadence.
Version: 1.0.0
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: btech-kadence-child
*/

/* Theme customization starts here
-------------------------------------------------------------- */
/* =========================================================
   WooCommerce — Product cards: Homepage slider (.prod-main)
   ========================================================= */


/* ================================
   Slider cards — base layout
   ================================ */

/* =========================================================
   WooCommerce — Product cards: Homepage slider (.prod-main)
   ========================================================= */


/* ================================
   Slider cards — base layout
   ================================ */

/* Product card base */
.prod-main ul.products li.product {
    display: flex;
    flex-direction: column;
    padding: 10px;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
    border: 1px solid transparent;
    border-radius: 10px;
}

/* Product card hover effect */
.prod-main ul.products li.product:hover {
    border-color: #dcdcdc;
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
    transform: translateY(-3px);
}

/* Product grid spacing */
.prod-main ul.products {
    gap: 1rem;
    row-gap: 20px;
}

/* Keep image area aligned */
.prod-main ul.products li.product .woocommerce-product-thumbnail,
.prod-main ul.products li.product a.woocommerce-LoopProduct-link {
    display: flex;
    justify-content: center;
}

/* Product image */
.prod-main ul.products li.product a img {
    width: 60% !important;
}

/* Inner card padding */
.prod-main ul.products li.product .entry-content-wrap {
    padding: 0.1rem;
}

/* Product details area */
.prod-main ul.products li.product .product-details {
    display: flex;
    flex-direction: column;
    height: auto !important;
}

/* Keep title at the top */
.prod-main ul.products li.product .woocommerce-loop-product__title {
    margin-bottom: 1px !important;
}

/* Excerpt spacing */
.prod-main ul.products li.product .product-excerpt {
    margin-top: 1px !important;
}

/* Price always stays near the bottom */
.prod-main ul.products li.product .product-details .price {
    margin-top: 5px !important;
    padding-top: 1px !important;
    text-align: center;
    margin-bottom: 0.1em !important;
}

/* Button area always stays at the bottom */
.prod-main ul.products li.product .product-action-wrap {
    margin-top: 1px !important;
    padding-top: 0 !important;
}

/* Hide price suffix in slider cards */
.prod-main ul.products li.product .woocommerce-price-suffix {
    display: none;
}

/* Prevent long product titles from overflowing */
.prod-main h2.woocommerce-loop-product__title {
    word-wrap: break-word;
}


/* ================================
   Slider cards — inline add to cart + quantity
   ================================ */

/* Container: qty + add to cart in one row */
.prod-main .lp-loop-cart-inline {
    display: flex;
    gap: 4px;
    width: 100%;
    flex-direction: row-reverse;
    margin-bottom: 0;
    padding-bottom: 0px;
}

/* Add to cart button */
.prod-main .lp-loop-cart-inline .lp-loop-ajax-btn {
    flex: 1 1 auto;
    white-space: nowrap;
}

/* Quantity input */
.prod-main .lp-loop-qty-input {
    width: 50px;
    height: 40px !important;
    text-align: center;
    border: 1px solid #000 !important;
    border-radius: 3px;
    font-size: 14px;
    -moz-appearance: number-input;
}

/* WebKit: keep number spinners visible */
.prod-main .lp-loop-qty-input::-webkit-inner-spin-button,
.prod-main .lp-loop-qty-input::-webkit-outer-spin-button {
    -webkit-appearance: auto;
    margin: 0;
}

/* Force visible number spinners */
.prod-main .lp-loop-cart-inline .lp-loop-qty-input[type="number"] {
    -webkit-appearance: number-input !important;
    appearance: auto !important;
    -moz-appearance: number-input !important;
}

/* Chrome / Edge / Safari */
.prod-main .lp-loop-cart-inline .lp-loop-qty-input[type="number"]::-webkit-inner-spin-button,
.prod-main .lp-loop-cart-inline .lp-loop-qty-input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: inner-spin-button !important;
    appearance: auto !important;
    opacity: 1 !important;
    display: block !important;
    margin: 0 !important;
}

/* Mobile */
@media (max-width: 480px) {
    .prod-main .lp-loop-cart-inline {
        gap: 6px;
    }

    .prod-main .lp-loop-qty-input {
        width: 56px;
    }
}


/* ================================
   Slider cards — stock labels
   ================================ */

/* Base stock label */
.prod-main .lp-stock-label {
    display: inline-block;
    padding: 1px 10px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 3px;
    line-height: 1.4;
    text-align: center;
    margin: 5px auto auto auto;
}

/* Out of stock */
.prod-main .lp-out-of-stock {
    background: #f8d7da;
    color: #842029;
}

/* Low / coming soon */
.prod-main .lp-low-stock {
    background: #fff3cd;
    color: #664d03;
}

/* In stock */
.prod-main .lp-in-stock {
    background: #d1e7dd;
    color: #0f5132;
}


/* ================================
   Slider cards — brand logo / brand text
   ================================ */

/* Brand logo under product image */
.prod-main ul.products li.product .lp-loop-brand {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 32px;
    margin: 0 0 -4px;
    text-align: center;
    z-index: 2;
}

.prod-main ul.products li.product .lp-loop-brand__link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

/* Reset square image behavior for brand logos / badges */
.prod-main ul.products li.product .lp-loop-brand__img,
.prod-main ul.products li.product .lp-loop-brand-under__img,
.prod-main ul.products li.product .lp-brand-bottom__img,
.prod-main ul.products li.product .lp-brand-badge__img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 36px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
    display: block !important;
}

/* Text fallback instead of logo */
.prod-main ul.products li.product .lp-loop-brand__text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 24px;
    padding: 0 8px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    color: #333;
    background: rgba(0,0,0,.04);
    border-radius: 4px;
}

/* Empty brand placeholder keeps spacing consistent */
.prod-main ul.products li.product .lp-loop-brand--empty {
    display: flex;
    min-height: 32px;
    margin: 1px 0 0;
    visibility: hidden;
    pointer-events: none;
}


/* ================================
   Slider cards — SKU box
   ================================ */

.prod-main .lp-sku-box {
    margin: 6px 0 8px;
    font-size: 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.prod-main .lp-sku-box .product-meta {
    color: #666;
    display: flex;
    align-items: center;
    gap: 6px;
    line-height: 1.3;
    min-height: 1.2em;
}

.prod-main .lp-sku-val,
.prod-main .lp-man-val {
    color: #333;
    direction: rtl;
}

/* Copy button */
.prod-main .lp-copy-btn {
    border: 1px solid rgba(0,0,0,.25);
    background: #fff;
    color: #000;
    border-radius: 6px;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
}

.prod-main .lp-copy-btn:hover {
    background: #000;
    color: #fff;
}

/* Copy icon */
.prod-main .lp-copy-ico {
    width: 16px;
    height: 16px;
    fill: currentColor;
}


/* ================================
   Slider cards — arrows
   ================================ */

/* RTL arrows offset */
.prod-main .kb-splide.splide--rtl > .splide__arrows .splide__arrow--prev {
    right: -42px;
}

.prod-main .kb-splide.splide--rtl > .splide__arrows .splide__arrow--next {
    left: -42px;
}
@media (max-width: 767px) {
    .prod-main .kb-splide.splide--rtl > .splide__arrows .splide__arrow--prev {
        right: -12px;
    }
}
@media (max-width: 767px) {
    .prod-main .kb-splide.splide--rtl > .splide__arrows .splide__arrow--next {
        left: -12px;
    }
}


/* =========================================================
   WooCommerce — Product cards: Global
   Works everywhere standard WooCommerce product cards appear
   ========================================================= */


/* ================================
   Product cards — base layout
   ================================ */

/* Product card base */
ul.products li.product {
    transition: all 0.25s ease;
    border: 1px solid transparent;
    border-radius: 10px;
}

/* Product card hover effect */
ul.products li.product:hover {
    border: 1px solid #dcdcdc;
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
    transform: translateY(-3px);
}

/* Keep image area aligned */
.woocommerce ul.products li.product .woocommerce-product-thumbnail,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    display: flex;
    justify-content: center;
}

/* Product image */
.woocommerce ul.products li.product a img {
    width: 80%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    object-position: center;
    background: #fff;
    display: block;
}

/* Product grid spacing */
ul.products {
    gap: 1rem;
    row-gap: 20px;
}

/* Inner card padding */
.woocommerce ul.products li.product .entry-content-wrap {
    padding: 0.1rem 0.1rem 0.1rem;
}

/* Product card layout */
ul.products li.product {
    display: flex;
    flex-direction: column;
}

/* Product details area */
ul.products li.product .product-details {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Keep title at the top */
ul.products li.product .woocommerce-loop-product__title {
    margin-bottom: 1px !important;
}

/* Excerpt spacing */
ul.products li.product .product-excerpt {
    margin-top: 1px !important;
}

/* Price always stays near the bottom */
ul.products li.product .product-details .price {
    margin-top: auto !important;
    padding-top: 1px !important;
    text-align: center;
    margin-bottom: 0.1em !important;
}

/* Button area always stays at the bottom */
ul.products li.product .product-action-wrap {
    margin-top: 1px !important;
    padding-top: 0 !important;
}

/* Hide price suffix in product cards */
ul.products li.product .woocommerce-price-suffix {
    display: none;
}

/* Prevent long product titles from overflowing */
h2.woocommerce-loop-product__title {
    word-wrap: break-word;
    overflow-wrap: break-word;
}


/* ================================
   Product cards — inline add to cart + quantity
   ================================ */

/* Container: qty + add to cart in one row */
.lp-loop-cart-inline {
    display: flex;
    gap: 4px;
    width: 100%;
    flex-direction: row-reverse;
}

/* Add to cart button */
.lp-loop-cart-inline .lp-loop-ajax-btn {
    flex: 1 1 auto;
    white-space: nowrap;
}

/* Quantity input */
.lp-loop-qty-input {
    width: 50px;
    height: 40px !important;
    text-align: center;
    border: 1px solid #000 !important;
    border-radius: 3px;
    font-size: 14px;
    -moz-appearance: number-input;
}

/* WebKit: keep number spinners visible */
.lp-loop-qty-input::-webkit-inner-spin-button,
.lp-loop-qty-input::-webkit-outer-spin-button {
    -webkit-appearance: auto;
    margin: 0;
}

/* Force visible number spinners */
.lp-loop-cart-inline .lp-loop-qty-input[type="number"] {
    -webkit-appearance: number-input !important;
    appearance: auto !important;
    -moz-appearance: number-input !important;
}

/* Chrome / Edge / Safari */
.lp-loop-cart-inline .lp-loop-qty-input[type="number"]::-webkit-inner-spin-button,
.lp-loop-cart-inline .lp-loop-qty-input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: inner-spin-button !important;
    appearance: auto !important;
    opacity: 1 !important;
    display: block !important;
    margin: 0 !important;
}

/* Mobile */
@media (max-width: 480px) {
    .lp-loop-cart-inline {
        gap: 6px;
    }

    .lp-loop-qty-input {
        width: 56px;
    }
}


/* ================================
   Product cards — stock labels
   ================================ */

/* Base stock label */
.lp-stock-label {
    display: inline-block;
    padding: 1px 10px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 3px;
    line-height: 1.4;
    text-align: center;
    margin: 5px auto auto auto;
}

/* Out of stock */
.lp-out-of-stock {
    background: #f8d7da;
    color: #842029;
}

/* Low / coming soon */
.lp-low-stock {
    background: #fff3cd;
    color: #664d03;
}

/* In stock */
.lp-in-stock {
    background: #d1e7dd;
    color: #0f5132;
}


/* ================================
   Product cards — brand logo / brand text
   ================================ */

/* Brand logo under product image */
ul.products li.product .lp-loop-brand {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 32px;
    margin: 0 0 -4px;
    text-align: center;
    z-index: 2;
}

ul.products li.product .lp-loop-brand__link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

/* Reset square image behavior for brand logos / badges */
ul.products li.product .lp-loop-brand__img,
ul.products li.product .lp-loop-brand-under__img,
ul.products li.product .lp-brand-bottom__img,
ul.products li.product .lp-brand-badge__img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 36px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
    display: block !important;
}

/* Text fallback instead of logo */
ul.products li.product .lp-loop-brand__text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 24px;
    padding: 0 8px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    color: #333;
    background: rgba(0,0,0,.04);
    border-radius: 4px;
}

/* Empty brand placeholder keeps spacing consistent */
ul.products li.product .lp-loop-brand--empty {
    display: flex;
    min-height: 32px;
    margin: 1px 0 0;
    visibility: hidden;
    pointer-events: none;
}

@media (max-width: 768px) {
    .woocommerce ul.products li.product a img {
        width: 50%;
    }
}

/* =========================================================
   WooCommerce — Product cards: Related / Upsells
   Single product page
   ========================================================= */


/* ================================
   Related / Upsells cards — base layout
   ================================ */

/* Base card */
.woocommerce .related ul.products li.product,
.woocommerce .upsells ul.products li.product {
    display: flex;
    flex-direction: column;
    border: 1px solid transparent;
    border-radius: 10px;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
    transform: scale(0.9);
    transform-origin: top center;
}

/* Hover */
.woocommerce .related ul.products li.product:hover,
.woocommerce .upsells ul.products li.product:hover {
    border-color: #dcdcdc;
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
    transform: scale(0.9) translateY(-3px);
}

/* Grid spacing */
.woocommerce .related ul.products,
.woocommerce .upsells ul.products {
    justify-content: center;
    gap: 20px;
}

/* Image/link alignment */
.woocommerce .related ul.products li.product .woocommerce-product-thumbnail,
.woocommerce .related ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce .upsells ul.products li.product .woocommerce-product-thumbnail,
.woocommerce .upsells ul.products li.product a.woocommerce-LoopProduct-link {
    display: flex;
    justify-content: center;
}

/* Product image */
.woocommerce .related ul.products li.product a img,
.woocommerce .upsells ul.products li.product a img {
    width: 50%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    object-position: center;
    background: #fff;
    display: block;
    margin: 0 auto;
}

/* Inner content */
.woocommerce .related ul.products li.product .entry-content-wrap,
.woocommerce .upsells ul.products li.product .entry-content-wrap {
    padding: 0.1rem;
}

/* Product details area */
.woocommerce .related ul.products li.product .product-details,
.woocommerce .upsells ul.products li.product .product-details {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Title */
.woocommerce .related ul.products li.product .woocommerce-loop-product__title,
.woocommerce .upsells ul.products li.product .woocommerce-loop-product__title {
    margin-bottom: 1px !important;
    word-wrap: break-word;
}

/* Excerpt */
.woocommerce .related ul.products li.product .product-excerpt,
.woocommerce .upsells ul.products li.product .product-excerpt {
    margin-top: 1px !important;
}

/* Price */
.woocommerce .related ul.products li.product .product-details .price,
.woocommerce .upsells ul.products li.product .product-details .price {
    margin-top: auto !important;
    padding-top: 1px !important;
    text-align: center;
    margin-bottom: 0.1em !important;
}

/* Hide VAT / price suffix */
.woocommerce .related ul.products li.product .woocommerce-price-suffix,
.woocommerce .upsells ul.products li.product .woocommerce-price-suffix {
    display: none;
}

/* Button area */
.woocommerce .related ul.products li.product .product-action-wrap,
.woocommerce .upsells ul.products li.product .product-action-wrap {
    margin-top: 1px !important;
    padding-top: 0 !important;
}


/* ================================
   Related / Upsells cards — brand logo / brand text
   ================================ */

/* Brand block */
.woocommerce .related ul.products li.product .lp-loop-brand,
.woocommerce .upsells ul.products li.product .lp-loop-brand {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 32px;
    margin: 0 0 -4px;
    text-align: center;
    z-index: 2;
}

.woocommerce .related ul.products li.product .lp-loop-brand__link,
.woocommerce .upsells ul.products li.product .lp-loop-brand__link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

/* Brand logos */
.woocommerce .related ul.products li.product .lp-loop-brand__img,
.woocommerce .related ul.products li.product .lp-loop-brand-under__img,
.woocommerce .related ul.products li.product .lp-brand-bottom__img,
.woocommerce .related ul.products li.product .lp-brand-badge__img,
.woocommerce .upsells ul.products li.product .lp-loop-brand__img,
.woocommerce .upsells ul.products li.product .lp-loop-brand-under__img,
.woocommerce .upsells ul.products li.product .lp-brand-bottom__img,
.woocommerce .upsells ul.products li.product .lp-brand-badge__img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 24px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
    display: block !important;
}

/* Brand text fallback */
.woocommerce .related ul.products li.product .lp-loop-brand__text,
.woocommerce .upsells ul.products li.product .lp-loop-brand__text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 24px;
    padding: 0 8px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    color: #333;
    background: rgba(0,0,0,.04);
    border-radius: 4px;
}

/* Empty brand placeholder */
.woocommerce .related ul.products li.product .lp-loop-brand--empty,
.woocommerce .upsells ul.products li.product .lp-loop-brand--empty {
    display: flex;
    min-height: 32px;
    margin: 1px 0 0;
    visibility: hidden;
    pointer-events: none;
}


/* ================================
   Related / Upsells cards — stock labels
   ================================ */

.woocommerce .related .lp-stock-label,
.woocommerce .upsells .lp-stock-label {
    display: inline-block;
    padding: 1px 10px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 3px;
    line-height: 1.4;
    text-align: center;
    margin: 5px auto auto auto;
}

.woocommerce .related .lp-out-of-stock,
.woocommerce .upsells .lp-out-of-stock {
    background: #f8d7da;
    color: #842029;
}

.woocommerce .related .lp-low-stock,
.woocommerce .upsells .lp-low-stock {
    background: #fff3cd;
    color: #664d03;
}

.woocommerce .related .lp-in-stock,
.woocommerce .upsells .lp-in-stock {
    background: #d1e7dd;
    color: #0f5132;
}


/* ================================
   Related / Upsells cards — SKU box
   ================================ */

.woocommerce .related .lp-sku-box,
.woocommerce .upsells .lp-sku-box {
    margin: 6px 0 8px;
    font-size: 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.woocommerce .related .lp-sku-box .product-meta,
.woocommerce .upsells .lp-sku-box .product-meta {
    color: #666;
    display: flex;
    align-items: center;
    gap: 6px;
    line-height: 1.3;
    min-height: 1.2em;
}

.woocommerce .related .lp-sku-val,
.woocommerce .related .lp-man-val,
.woocommerce .upsells .lp-sku-val,
.woocommerce .upsells .lp-man-val {
    color: #333;
    direction: rtl;
}

.woocommerce .related .lp-copy-btn,
.woocommerce .upsells .lp-copy-btn {
    border: 1px solid rgba(0,0,0,.25);
    background: #fff;
    color: #000;
    border-radius: 6px;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
}

.woocommerce .related .lp-copy-btn:hover,
.woocommerce .upsells .lp-copy-btn:hover {
    background: #000;
    color: #fff;
}

.woocommerce .related .lp-copy-ico,
.woocommerce .upsells .lp-copy-ico {
    width: 16px;
    height: 16px;
    fill: currentColor;
}



/* =========================================================
   WooCommerce — Login / My Account / B2B access form
   ========================================================= */


/* ================================
   Account / login — messages and inputs
   ================================ */

/* B2B notice message */
.b2b-login-notice {
    color: #b10000;
}

/* RTL fix — show password icon position */
.show-password-input {
    left: 10px;
    right: auto !important;
}

/* Password input padding */
.woocommerce form .password-input input[type=password] {
    padding-right: 0.5em;
}


/* ================================
   Account / login — form layout
   ================================ */

/* Login form layout */
.woocommerce-account .woocommerce .woocommerce-form-login {
    width: min(520px, 50%);
    margin: 0 auto;
    padding: 22px;
    border: 1px solid #e6e6e6;
    border-radius: 12px;
    background: #fff;
}

/* Mobile */
@media (max-width: 768px) {
    .woocommerce-account .woocommerce .woocommerce-form-login {
        width: 100%;
    }
}

/* B2B request access title */
.wc-request-access-link + h2 {
    text-align: center;
    margin: 18px 0 18px 0 !important;
    font-size: 26px;
    font-weight: 600;
}