/**
 * WooCommerce Single Product Styles
 * Styling for the single product page matching hpdecor.ru reference design
 */

/* ========================================
   Breadcrumbs (Single Product)
======================================== */
.single-product-breadcrumbs {
    max-width: 1240px;
    margin: 0 auto 20px;
    padding: 20px 20px 0;
}

.single-product-breadcrumbs .woocommerce-breadcrumb {
    font-size: 13px;
    color: rgba(0, 0, 0, 0.6);
    margin: 0;
    padding: 0;
    font-family: var(--font-main);
}

.single-product-breadcrumbs .woocommerce-breadcrumb a {
    color: rgba(0, 0, 0, 0.6);
    text-decoration: none;
    transition: color 0.2s ease;
}

.single-product-breadcrumbs .woocommerce-breadcrumb a:hover {
    color: #262626;
}

/* ========================================
   WooCommerce Product Gallery (FlexSlider)
======================================== */
.woocommerce-product-gallery {
    opacity: 1 !important;
    position: relative;
}

/* Hide custom hpdecor-thumbs - we use native FlexSlider thumbnails */
.woocommerce-product-gallery .hpdecor-thumbs {
    display: none !important;
}

/* FlexSlider main viewport */
.woocommerce-product-gallery .flex-viewport {
    width: 100%;
    margin-bottom: 15px;
}

/* Zoom trigger button */
.woocommerce-product-gallery__trigger {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
    background: #fff;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

/* Bootstrap Grid Support */
.row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}

.row::after {
    content: "";
    display: table;
    clear: both;
}

[class*="col-"] {
    position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
}

.col-xs-12,
.col-12 {
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

@media (min-width: 768px) {
    .col-sm-6 {
        width: 50%;
        float: left;
    }
}

@media (min-width: 992px) {
    .col-md-6 {
        width: 50%;
        float: left;
    }
}

/* Main Product Layout */
.la-p-single-wrap {
    margin: 0 auto;
    padding: 40px 0;
    max-width: 1240px;
}

.la-single-product-page {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

.product-main-image {
    flex: 1 1 50%;
    padding: 0 15px;
    margin-bottom: 30px;
}

.product--summary {
    flex: 1 1 50%;
    padding: 0 15px;
    margin-bottom: 30px;
}

/* Remove extra wrappers padding */
.p---large,
.la-custom-pright {
    padding: 0;
}

/* Gallery Container */
.woocommerce-product-gallery {
    margin-bottom: 20px;
    position: relative;
}

/* Thumbnails */
.flex-control-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    list-style: none;
    padding: 0;
    margin: 15px 0 0;
}

.flex-control-thumbs li {
    flex: 0 0 80px;
    width: 80px;
    height: 80px;
    cursor: pointer;
}

.flex-control-thumbs li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.6;
    transition: all 0.3s ease;
    border: 1px solid #e5e5e5;
}

.flex-control-thumbs li img:hover,
.flex-control-thumbs li img.flex-active {
    opacity: 1;
    border-color: #826251;
}

/* Product Summary */
.summary.entry-summary {
    padding-top: 0;
}

/* Product Title */
.woocommerce div.product .product_title,
.woocommerce div.product .product_name,
.product--summary .product_title {
    font-family: 'Playfair Display', serif;
    font-size: 36px;
    font-weight: 400;
    color: #262626;
    margin-bottom: 15px;
    line-height: 1.2;
}

/* Product Price */
.woocommerce div.product span.price,
.woocommerce div.product p.price,
.product--summary .price {
    font-family: 'Libre Franklin', sans-serif;
    font-size: 28px;
    font-weight: 400;
    color: #262626 !important;
    margin: 20px 0;
    display: block;
}

.woocommerce div.product span.price ins,
.woocommerce div.product p.price ins {
    text-decoration: none;
    color: #262626 !important;
}

.woocommerce div.product span.price del,
.woocommerce div.product p.price del {
    color: #999;
    margin-right: 10px;
    font-size: 24px;
}

/* Product Description */
.woocommerce div.product .woocommerce-product-details__short-description,
.product--summary .woocommerce-product-details__short-description {
    font-family: 'Libre Franklin', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #4a4a4a;
    margin: 25px 0;
}

.woocommerce div.product .woocommerce-product-details__short-description p {
    margin-bottom: 15px;
}

/* Add to Cart Area */
.woocommerce div.product .cart,
.product--summary .cart {
    margin: 30px 0;
    display: flex;
    align-items: center;
    gap: 15px;
}

.woocommerce div.product .quantity {
    margin-right: 10px;
}

.woocommerce div.product .quantity input.qty {
    width: 60px;
    padding: 10px;
    text-align: center;
    border: 1px solid #ddd;
}

.woocommerce div.product .single_add_to_cart_button,
.product--summary .single_add_to_cart_button {
    padding: 16px 50px !important;
    background-color: #000 !important;
    color: #fff !important;
    border: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.woocommerce div.product .single_add_to_cart_button:hover,
.product--summary .single_add_to_cart_button:hover {
    background-color: #826251 !important;
}

/* ========================================
   Variable Product Variations
======================================== */
/* Hide main price for variable products - show only selected variation price */
.woocommerce div.product.product-type-variable > .summary > .price,
.woocommerce div.product.product-type-variable .summary > .price,
.woocommerce div.product.product-type-variable p.price:not(.woocommerce-variation-price .price) {
    display: none !important;
}

/* Variable product form - vertical layout, reorder: button first, then variations */
.woocommerce div.product form.cart.variations_form {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Move single_variation_wrap (quantity + button) above variations using order */
.woocommerce div.product form.cart.variations_form .single_variation_wrap {
    order: 1;
}

.woocommerce div.product form.cart.variations_form .variations {
    order: 2;
}

/* Variations table */
.woocommerce div.product form.cart .variations {
    width: auto;
    max-width: 300px;
    margin-bottom: 10px;
    margin-top: 15px;
    border: none;
}

.woocommerce div.product form.cart .variations tbody {
    display: block;
}

.woocommerce div.product form.cart .variations tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 15px;
}

/* Hide "Комплектация" and other labels */
.woocommerce div.product form.cart .variations th.label {
    display: none !important;
}

.woocommerce div.product form.cart .variations th.label label {
    display: none !important;
}

.woocommerce div.product form.cart .variations td.value {
    display: block;
    width: 100%;
    padding: 0;
}

.woocommerce div.product form.cart .variations select {
    width: 300px !important;
    max-width: 300px !important;
    padding: 12px 40px 12px 15px;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    font-size: 14px;
    color: #262626;
    background-color: #fff;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23262626' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
}

.woocommerce div.product form.cart .variations .reset_variations {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    color: #999;
}

/* Single variation wrap - contains price and add to cart */
.woocommerce div.product form.cart .single_variation_wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Variation price display */
.woocommerce div.product form.cart .woocommerce-variation.single_variation {
    margin-bottom: 10px;
}

.woocommerce div.product form.cart .woocommerce-variation-price {
    margin-bottom: 0;
}

.woocommerce div.product form.cart .woocommerce-variation-price .price {
    font-size: 28px !important;
    font-weight: 400 !important;
    color: #262626 !important;
}

/* Add to cart area - quantity and button on same line, left aligned */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart .variations_button {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 15px !important;
    flex-wrap: nowrap;
    margin-top: 0;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart .quantity,
.woocommerce div.product form.cart .variations_button .quantity {
    margin: 0 !important;
    flex-shrink: 0;
}

/* Product Meta */
.woocommerce div.product .product_meta,
.product--summary .product_meta {
    border-top: 1px solid #eee;
    padding-top: 20px;
    margin-top: 30px;
    font-family: 'Libre Franklin', sans-serif;
    font-size: 14px;
    color: #777;
}

.woocommerce div.product .product_meta>span,
.product--summary .product_meta>span {
    display: block;
    margin-bottom: 8px;
}

.woocommerce div.product .product_meta a,
.product--summary .product_meta a {
    color: #262626;
    text-decoration: none;
    transition: color 0.3s ease;
}

.woocommerce div.product .product_meta a:hover,
.product--summary .product_meta a:hover {
    color: #826251;
}

/* Product Tabs */
.woocommerce-tabs {
    margin-top: 60px;
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
}

.woocommerce-tabs ul.tabs,
.wc-tabs {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0 0 30px;
    border-bottom: 1px solid #eee;
}

.woocommerce-tabs ul.tabs li,
.wc-tabs li {
    margin-right: 30px;
}

.woocommerce-tabs ul.tabs li a,
.wc-tabs li a {
    display: block;
    padding: 15px 0;
    color: #777;
    text-decoration: none;
    font-family: 'Libre Franklin', sans-serif;
    font-size: 16px;
    font-weight: 500;
    position: relative;
    transition: color 0.3s ease;
}

.woocommerce-tabs ul.tabs li a:hover,
.wc-tabs li a:hover {
    color: #262626;
}

.woocommerce-tabs ul.tabs li.active a,
.wc-tabs li.active a {
    color: #262626;
}

.woocommerce-tabs ul.tabs li.active a::after,
.wc-tabs li.active a::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #262626;
}

.woocommerce-tabs .panel,
.wc-tab {
    padding: 20px 0;
    font-family: 'Libre Franklin', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #4a4a4a;
}

.woocommerce-tabs .panel h2,
.wc-tab h2 {
    font-family: 'Playfair Display', serif;
    font-size: 24px;
    font-weight: 400;
    color: #262626;
    margin-bottom: 20px;
}

.woocommerce-tabs .panel p,
.wc-tab p {
    margin-bottom: 15px;
}

/* Related Products */
.related.products,
.upsells.products {
    margin-top: 60px;
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
}

.related.products h2,
.upsells.products h2 {
    font-family: 'Playfair Display', serif;
    font-size: 28px;
    font-weight: 400;
    color: #262626;
    margin-bottom: 30px;
    text-align: center;
}

/* Related Products Grid - 4 columns */
.related.products ul.products,
.upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 30px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Remove ::before pseudo-element that breaks grid */
.related.products ul.products::before,
.related.products ul.products::after,
.upsells.products ul.products::before,
.upsells.products ul.products::after {
    display: none !important;
    content: none !important;
}

.related.products ul.products li.product,
.upsells.products ul.products li.product {
    margin: 0;
    padding: 0;
    text-align: center;
}

/* Product Card Styles - Same as Catalog */
.related.products .product_item--inner,
.upsells.products .product_item--inner {
    position: relative;
}

.related.products .product_item--thumbnail,
.upsells.products .product_item--thumbnail {
    position: relative;
    overflow: hidden;
    margin-bottom: 15px;
    background: #f8f8f8;
}

.related.products .product_item--thumbnail-holder,
.upsells.products .product_item--thumbnail-holder {
    position: relative;
    overflow: hidden;
}

/* Product Images Container - Square aspect ratio like catalog */
.related.products .product-images-container,
.upsells.products .product-images-container {
    position: relative !important;
    width: 100% !important;
    height: 0 !important;
    padding-bottom: 100% !important; /* 1:1 Aspect Ratio */
    background: #fdfdfd !important;
    display: block !important;
    overflow: hidden !important;
}

/* Modern browsers with aspect-ratio support */
@supports (aspect-ratio: 1/1) {
    .related.products .product-images-container,
    .upsells.products .product-images-container {
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        padding-bottom: 0 !important;
    }
}

.related.products .product-images-container .woocommerce-loop-product__link,
.upsells.products .product-images-container .woocommerce-loop-product__link {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
}

.related.products .product-images-container img,
.upsells.products .product-images-container img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important; /* Same as catalog - fully visible */
    transition: opacity 0.5s ease !important;
}

/* Hover image overlay */
.related.products .product-images-container .hover-image-overlay,
.upsells.products .product-images-container .hover-image-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.5s ease, visibility 0.5s ease !important;
    z-index: 2 !important;
}

.related.products li.product:hover .hover-image-overlay,
.upsells.products li.product:hover .hover-image-overlay {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fallback for old structure without .product-images-container */
.related.products .product_item--thumbnail-holder img,
.upsells.products .product_item--thumbnail-holder img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: opacity 0.3s ease;
}

/* Second image hover effect */
.related.products .thumb-has-effect .product_item--thumbnail-holder .wp-alt-image,
.upsells.products .thumb-has-effect .product_item--thumbnail-holder .wp-alt-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.related.products .thumb-has-effect:hover .product_item--thumbnail-holder .wp-alt-image,
.upsells.products .thumb-has-effect:hover .product_item--thumbnail-holder .wp-alt-image {
    opacity: 1;
}

.related.products .thumb-has-effect:hover .product_item--thumbnail-holder img,
.upsells.products .thumb-has-effect:hover .product_item--thumbnail-holder img {
    opacity: 0;
}

/* Product Info - Same as Catalog (left aligned) */
.related.products .product_item--info,
.upsells.products .product_item--info {
    text-align: left !important;
    width: 100% !important;
    margin-top: 0 !important;
}

.related.products .woocommerce-loop-product__title,
.upsells.products .woocommerce-loop-product__title {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #262626 !important;
    margin: 0 0 8px !important;
    line-height: 1.3 !important;
    text-align: left !important;
}

.related.products .woocommerce-loop-product__title a,
.upsells.products .woocommerce-loop-product__title a {
    color: inherit !important;
    text-decoration: none !important;
}

.related.products .price,
.upsells.products .price {
    font-family: 'Libre Franklin', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-size: 14px !important;
    color: rgba(0, 0, 0, 0.7) !important;
    font-weight: 400 !important;
    margin: 0 0 7px !important;
    display: block !important;
    text-align: left !important;
}

/* Add to Cart Button - EXACT SAME AS CATALOG */
.related.products .product_item--action,
.upsells.products .product_item--action {
    text-align: center;
    margin-top: 10px;
}

/* Button inside product-images-container - positioned like catalog */
.related.products .product-images-container .add_to_cart_button,
.related.products .product-images-container .button,
.upsells.products .product-images-container .add_to_cart_button,
.upsells.products .product-images-container .button {
    position: absolute !important;
    top: 15px !important;
    right: -60px !important; /* Hidden by default */
    opacity: 0 !important;
    z-index: 10 !important;
    background: #fff !important;
    width: 44px !important;
    height: 44px !important;
    line-height: 44px !important;
    text-align: center !important;
    padding: 0 !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
    font-size: 0 !important;
    color: transparent !important;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    border: none !important;
    overflow: hidden !important;
}

/* Show button on hover over the PRODUCT item */
.related.products li.product:hover .product-images-container .add_to_cart_button,
.related.products li.product:hover .product-images-container .button,
.upsells.products li.product:hover .product-images-container .add_to_cart_button,
.upsells.products li.product:hover .product-images-container .button {
    opacity: 1 !important;
    right: 15px !important;
}

/* Fallback for buttons outside container */
.related.products .add_to_cart_button,
.related.products .button,
.upsells.products .add_to_cart_button,
.upsells.products .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    background: #fff !important;
    color: transparent !important;
    border-radius: 50% !important;
    font-size: 0 !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    padding: 0 !important;
    line-height: 44px !important;
    text-align: center !important;
}

/* SVG Shopping Bag Icon - Same as catalog */
.related.products .add_to_cart_button::before,
.related.products .button::before,
.upsells.products .add_to_cart_button::before,
.upsells.products .button::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 20px !important;
    height: 20px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23262626' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'%3E%3C/path%3E%3Cline x1='3' y1='6' x2='21' y2='6'%3E%3C/line%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'%3E%3C/path%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

.related.products .add_to_cart_button:hover,
.related.products .button:hover,
.upsells.products .add_to_cart_button:hover,
.upsells.products .button:hover {
    background: #262626 !important;
    transform: scale(1.05) !important;
}

.related.products .add_to_cart_button:hover::before,
.related.products .button:hover::before,
.upsells.products .add_to_cart_button:hover::before,
.upsells.products .button:hover::before {
    filter: invert(1) brightness(2) !important;
}

.related.products .added_to_cart,
.upsells.products .added_to_cart {
    display: inline-block;
    margin-left: 10px;
    font-size: 12px;
    color: #826251;
}


/* Responsive grid for related products */
@media (max-width: 1024px) {

    .related.products ul.products,
    .upsells.products ul.products {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {

    /* Related products - single column on mobile for better visibility */
    .related.products ul.products,
    .upsells.products ul.products {
        grid-template-columns: 1fr !important;
        gap: 25px !important;
    }

    .related.products,
    .upsells.products {
        padding: 0 15px;
    }

    .related.products h2,
    .upsells.products h2 {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .related.products .woocommerce-loop-product__title,
    .upsells.products .woocommerce-loop-product__title {
        font-size: 18px !important;
    }

    .related.products .price,
    .upsells.products .price {
        font-size: 16px !important;
    }

    /* Show add to cart button always on mobile (no hover) */
    .related.products .product-images-container .add_to_cart_button,
    .related.products .product-images-container .button,
    .upsells.products .product-images-container .add_to_cart_button,
    .upsells.products .product-images-container .button {
        opacity: 1 !important;
        right: 15px !important;
    }
}

@media (max-width: 480px) {

    .related.products ul.products,
    .upsells.products ul.products {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .related.products h2,
    .upsells.products h2 {
        font-size: 20px;
    }

    .related.products .woocommerce-loop-product__title,
    .upsells.products .woocommerce-loop-product__title {
        font-size: 16px !important;
    }
}

/* Tabs in Right Column (wc_tabs_at_bottom) */
.wc_tabs_at_bottom .woocommerce-tabs {
    margin-top: 30px;
    margin-bottom: 0;
    max-width: 100%;
    padding: 0;
}

.wc_tabs_at_bottom .wc-tabs {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    border-bottom: 1px solid #eee;
}

.wc_tabs_at_bottom .wc-tabs li {
    margin-right: 20px;
}

.wc_tabs_at_bottom .wc-tabs li a {
    display: block;
    padding: 10px 0;
    color: #777;
    text-decoration: none;
    font-family: 'Libre Franklin', sans-serif;
    font-size: 14px;
    font-weight: 500;
    position: relative;
    transition: color 0.3s ease;
}

.wc_tabs_at_bottom .wc-tabs li a:hover {
    color: #262626;
}

.wc_tabs_at_bottom .wc-tabs li.active a {
    color: #262626;
}

.wc_tabs_at_bottom .wc-tabs li.active a::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #262626;
}

.wc_tabs_at_bottom .wc-tab {
    padding: 15px 0;
    font-family: 'Libre Franklin', sans-serif;
    font-size: 14px;
    line-height: 1.7;
    color: #4a4a4a;
}

.wc_tabs_at_bottom .wc-tab h2 {
    font-family: 'Playfair Display', serif;
    font-size: 20px;
    font-weight: 400;
    color: #262626;
    margin-bottom: 15px;
}

.wc_tabs_at_bottom .wc-tab p {
    margin-bottom: 12px;
}

/* Responsive */
@media (max-width: 767px) {
    .la-single-product-page {
        flex-direction: column;
    }

    .product-main-image,
    .product--summary {
        flex: 1 1 100%;
        width: 100%;
    }

    .col-sm-6,
    .col-md-6 {
        width: 100%;
        float: none;
    }

    /* Product page container padding */
    .la-p-single-wrap {
        padding: 20px 15px;
    }

    .single-product-breadcrumbs {
        padding: 15px 15px 0;
        margin-bottom: 15px;
    }

    .woocommerce div.product .product_title,
    .woocommerce div.product .product_name,
    .product--summary .product_title {
        font-size: 24px;
        line-height: 1.3;
    }

    .woocommerce div.product span.price,
    .woocommerce div.product p.price,
    .product--summary .price {
        font-size: 22px;
        margin: 15px 0;
    }

    /* Variation price on mobile */
    .woocommerce div.product form.cart .woocommerce-variation-price .price {
        font-size: 22px !important;
    }

    .woocommerce div.product .single_add_to_cart_button,
    .product--summary .single_add_to_cart_button {
        padding: 14px 30px !important;
        width: 100%;
        font-size: 13px !important;
    }

    /* Variable product form - full width on mobile */
    .woocommerce div.product form.cart .variations {
        max-width: 100%;
        width: 100%;
    }

    .woocommerce div.product form.cart .variations select {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Quantity and button wrapper on mobile */
    .woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
    .woocommerce div.product form.cart .variations_button {
        flex-wrap: wrap !important;
        width: 100%;
    }

    .woocommerce div.product form.cart .quantity {
        margin-bottom: 10px;
    }

    /* Short description on mobile */
    .woocommerce div.product .woocommerce-product-details__short-description,
    .product--summary .woocommerce-product-details__short-description {
        font-size: 14px;
        line-height: 1.7;
        margin: 15px 0;
    }

    .woocommerce-tabs ul.tabs,
    .wc-tabs {
        flex-wrap: wrap;
    }

    .woocommerce-tabs ul.tabs li,
    .wc-tabs li {
        margin-right: 20px;
        margin-bottom: 10px;
    }

    .woocommerce-tabs {
        padding: 0 15px;
        margin-top: 40px;
    }

    .flex-control-thumbs li {
        flex: 0 0 60px;
        width: 60px;
        height: 60px;
    }

    .flex-control-thumbs {
        gap: 10px;
    }

    /* Product meta on mobile */
    .woocommerce div.product .product_meta,
    .product--summary .product_meta {
        font-size: 13px;
        padding-top: 15px;
        margin-top: 20px;
    }
}

@media (max-width: 480px) {

    .woocommerce div.product .product_title,
    .woocommerce div.product .product_name,
    .product--summary .product_title {
        font-size: 20px;
    }

    .woocommerce div.product span.price,
    .woocommerce div.product p.price,
    .product--summary .price {
        font-size: 20px;
    }

    .woocommerce div.product form.cart .woocommerce-variation-price .price {
        font-size: 20px !important;
    }

    .woocommerce div.product .woocommerce-product-details__short-description,
    .product--summary .woocommerce-product-details__short-description {
        font-size: 13px;
    }

    .woocommerce-tabs .panel,
    .wc-tab {
        font-size: 14px;
    }

    /* Thumbnails even smaller on very small screens */
    .flex-control-thumbs li {
        flex: 0 0 50px;
        width: 50px;
        height: 50px;
    }

    /* Breadcrumbs font size */
    .single-product-breadcrumbs .woocommerce-breadcrumb {
        font-size: 11px;
    }

    /* Add to cart button full width */
    .woocommerce div.product .single_add_to_cart_button,
    .product--summary .single_add_to_cart_button {
        padding: 12px 20px !important;
    }
}