.elementor-8200 .elementor-element.elementor-element-a80eebd{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:55px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8200 .elementor-element.elementor-element-3144f0e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:60px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8200 .elementor-element.elementor-element-e98a46b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;}.elementor-8200 .elementor-element.elementor-element-e98a46b .woocommerce-breadcrumb{color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:14px;font-weight:400;text-align:center;}.elementor-8200 .elementor-element.elementor-element-e98a46b .woocommerce-breadcrumb > a{color:var( --e-global-color-primary );}.elementor-8200 .elementor-element.elementor-element-19de899{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.woocommerce .elementor-widget-woocommerce-product-related.elementor-wc-products .products > h2{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price del {font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-woocommerce-product-related.elementor-wc-products .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-8200 .elementor-element.elementor-element-d998259.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-8200 .elementor-element.elementor-element-d998259.elementor-wc-products ul.products li.product span.onsale{display:block;}@media(min-width:768px){.elementor-8200 .elementor-element.elementor-element-a80eebd{--width:100%;}.elementor-8200 .elementor-element.elementor-element-3144f0e{--content-width:1440px;}.elementor-8200 .elementor-element.elementor-element-19de899{--content-width:1440px;}}@media(max-width:1024px){.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-size:var( --e-global-typography-primary-font-size );}.woocommerce .elementor-widget-woocommerce-product-related.elementor-wc-products .products > h2{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price del {font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-woocommerce-product-related.elementor-wc-products .added_to_cart{font-size:var( --e-global-typography-accent-font-size );}.elementor-8200 .elementor-element.elementor-element-d998259.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:767px){.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-size:var( --e-global-typography-primary-font-size );}.woocommerce .elementor-widget-woocommerce-product-related.elementor-wc-products .products > h2{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price del {font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-woocommerce-product-related.elementor-wc-products .added_to_cart{font-size:var( --e-global-typography-accent-font-size );}.elementor-8200 .elementor-element.elementor-element-d998259.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}/* Start custom CSS for container, class: .elementor-element-a80eebd *//* --- 1. RESET & VARS --- */
:root {
    --pdp-black: #000000;
    --pdp-white: #ffffff;
    --pdp-gray: #e5e5e5;
    --pdp-bg-gray: #f9f9f9;
    --pdp-text-gray: #666666;
    --pdp-font: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

#custom-pdp * { box-sizing: border-box; }

#custom-pdp {
    font-family: var(--pdp-font);
    font-size: 12px;
    color: var(--pdp-black);
    width: 100%;
    max-width: 100%;
    line-height: 1.4;
    transition: opacity 0.3s;
}

/* --- 2. MOBILE LAYOUT (Normal Stack) --- */
@media (max-width: 1023px) {
    #custom-pdp {
        display: flex;
        flex-direction: column;
        gap: 30px;
        padding-bottom: 50px;
    }
    .pdp-image-viewport {
        position: relative;
        width: 100%;
        aspect-ratio: 3/4; /* Maintain 3:4 on mobile */
        background: #f4f4f4;
        overflow: hidden;
    }
    .pdp-info-column { padding: 0 20px; }
}

/* --- 3. DESKTOP LAYOUT (100vh Split Screen) --- */
@media (min-width: 1024px) {
    #custom-pdp {
        display: grid;
        /* THE REQUEST: 1/3 Image (approx 35%), 2/3 Details (approx 65%) */
        grid-template-columns: 35% 65%; 
        gap: 0; /* Clean split, add gap via padding if needed */
        
        /* THE FIX: Lock container to viewport height */
        height: 100vh;
        overflow: hidden; 
        align-items: start;
        margin: 0 auto;
        padding: 0;
    }

    /* Left Column: Fixed Full Height */
    .pdp-gallery-column {
        height: 100%;
        width: 100%;
        position: relative;
        background: #f4f4f4;
    }

    .pdp-gallery-wrapper, 
    .pdp-image-viewport {
        height: 100%;
        width: 100%;
    }

    /* Image Scaling Logic */
    .pdp-image-viewport img {
        width: 100%;
        height: 100%;
        /* Critical: Forces image to cover the 1/3 x 100vh area */
        object-fit: cover; 
        object-position: center;
        display: block;
    }

    /* Right Column: Independent Scroll */
    .pdp-info-column {
        height: 100%;
        overflow-y: auto; /* Enables scrolling for details only */
        padding: 40px 60px; /* Generous spacing inside details */
        
        /* Hide Scrollbar for clean UI */
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .pdp-info-column::-webkit-scrollbar { display: none; }
}

/* --- 4. UI ELEMENTS (Unchanged Styles) --- */

/* Arrows */
.pdp-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px; height: 40px;
    background: transparent; border: none; cursor: pointer;
    z-index: 20;
    display: flex; align-items: center; justify-content: center;
    color: #000; opacity: 0; transition: opacity 0.2s;
}
.pdp-image-viewport:hover .pdp-nav-btn { opacity: 1; }
.pdp-nav-btn.left { left: 10px; }
.pdp-nav-btn.right { right: 10px; }

/* Counter */
.pdp-counter {
    position: absolute; bottom: 20px; left: 20px;
    font-size: 11px; font-weight: 500;
    color: #000; pointer-events: none;
}

/* Info Elements */
.pdp-header-row {
    display: flex; justify-content: space-between; align-items: flex-start;
    margin-bottom: 30px;
}
#pdpTitle {
    font-size: 14px; font-weight: 700; text-transform: uppercase;
    margin: 0; max-width: 70%;
}
.pdp-price { font-size: 14px; font-weight: 400; }

.pdp-selection-header {
    display: flex; justify-content: space-between; margin-bottom: 12px;
    font-size: 11px; font-weight: 700; text-transform: uppercase;
}
.pdp-selection-value { font-weight: 400; margin-left: 8px; }
.pdp-link-btn { color: #888; text-decoration: underline; font-weight: 400; font-size: 10px; text-transform: capitalize; }

.pdp-selection-section { margin-bottom: 30px; }
.pdp-color-grid { display: flex; gap: 10px; flex-wrap: wrap; }
.pdp-swatch {
    width: 50px; height: 65px; border: 1px solid var(--pdp-gray);
    padding: 2px; cursor: pointer; background: #fff;
}
.pdp-swatch.active { border: 1px solid #000; }

.pdp-size-grid {
    display: grid; grid-template-columns: repeat(6, 1fr);
    border-top: 1px solid var(--pdp-gray); border-left: 1px solid var(--pdp-gray);
}
.pdp-size-item {
    height: 50px; display: flex; align-items: center; justify-content: center;
    border-right: 1px solid var(--pdp-gray); border-bottom: 1px solid var(--pdp-gray);
    cursor: pointer; font-size: 11px; font-weight: 600; text-transform: uppercase;
    transition: background 0.1s;
}
.pdp-size-item:hover { background: #f9f9f9; }
.pdp-size-item.active { background: #000; color: #fff; border-color: #000; }

.pdp-actions { display: flex; gap: 10px; margin-top: 15px; margin-bottom: 15px; }
.pdp-add-btn {
    flex: 1; background: #000; color: #fff; border: none; height: 50px;
    font-size: 12px; font-weight: 700; letter-spacing: 1px;
    text-transform: uppercase; cursor: pointer; transition: background 0.2s;
}
.pdp-add-btn:hover { background: #333; }
.pdp-add-btn:disabled { opacity: 1; cursor: not-allowed; }

.pdp-wishlist-wrapper {
    width: 50px; height: 50px; border: 1px solid var(--pdp-gray);
    display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.pdp-wishlist-wrapper:hover { border-color: #000; }

.pdp-badges-container {
    background: var(--pdp-bg-gray); padding: 15px;
    display: flex; flex-direction: column; gap: 8px;
    font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px;
    margin-bottom: 30px;
}
.pdp-badge { display: flex; align-items: center; gap: 8px; }
.badge-dot { width: 6px; height: 6px; border-radius: 50%; }
.badge-dot.green { background: #10b981; }
.badge-icon {
    border: 1px solid #ccc; width: 14px; height: 14px;
    display: flex; align-items: center; justify-content: center;
    font-size: 9px; border-radius: 50%; color: #666;
}

.pdp-accordions { margin-top: 10px; }
.pdp-details { border-bottom: 0; }
.pdp-details summary {
    list-style: none; padding: 15px 0;
    font-size: 11px; font-weight: 600; text-transform: uppercase;
    cursor: pointer; display: flex; justify-content: space-between; align-items: center;
}
.pdp-details summary::-webkit-details-marker { display: none; }
.plus-icon { position: relative; width: 8px; height: 8px; }
.plus-icon::before, .plus-icon::after {
    content: ''; position: absolute; background: #000;
    top: 50%; left: 50%; transform: translate(-50%, -50%);
}
.plus-icon::before { width: 100%; height: 1px; }
.plus-icon::after { width: 1px; height: 100%; }
.pdp-details[open] .plus-icon::after { transform: translate(-50%, -50%) rotate(90deg); opacity: 0; }

.pdp-accordion-content { padding-bottom: 20px; color: #666; font-size: 12px; line-height: 1.6; }
.pdp-msg { font-size: 11px; font-weight: 600; text-align: center; }
.pdp-msg.success { color: #10b981; padding: 10px 0; }
.pdp-msg.error { color: #ef4444; padding: 10px 0; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3144f0e *//* Container: Horizontal Scroll & Full Height */
.gallery-strip-container {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    width: 100%;
    height: 100vh; /* Strictly 100% Viewport Height */
    gap: 0;
    
    /* Smooth Scrolling */
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    
    /* Hide Scrollbars */
    scrollbar-width: none; /* Firefox */
    -webkit-overflow-scrolling: touch;
}

.gallery-strip-container::-webkit-scrollbar { 
    display: none; /* Chrome/Safari */
}

/* Image Item Wrapper */
.gallery-item {
    flex: 0 0 auto;
    height: 100%;   /* Fill the 100vh container */
    aspect-ratio: 3/4; /* Force 3:4 Aspect Ratio */
    width: auto;
    position: relative;
    scroll-snap-align: start;
    border-right: 1px solid #fff; /* Optional separator */
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (max-width: 768px) {
    .gallery-item {
        width: 100vw; /* On mobile, maybe full width? */
        height: auto;
        aspect-ratio: 3/4;
    }
    .gallery-strip-container {
        height: auto; /* Allow auto height on mobile */
    }
}/* End custom CSS */