/**
 * Single-product page styling — Orevea Theme
 * Matches the official approved template mockup 3 (3-column layout).
 *
 * @package Orevea
 */

/* ================================================================
   CONTAINER & 3-COLUMN TOP LAYOUT
   ================================================================ */
.orevea-product-page {
    max-width: 1400px;
    margin: 0 auto;
    padding: 16px 24px 80px;
}

.orevea-product-page__top-row {
    display: grid;
    grid-template-columns: 460px 1fr 320px;
    gap: 36px;
    align-items: start;
    margin-bottom: 44px;
}

/* Reset WooCommerce default 48% float on images & summary */
.woocommerce div.product div.images,
.woocommerce-page div.product div.images,
.orevea-product-page__gallery,
.woocommerce-product-gallery {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.woocommerce div.product div.summary,
.woocommerce-page div.product div.summary,
.orevea-product-page__summary {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* ================================================================
   1. GALLERY (LEFT COLUMN)
   ================================================================ */
.orevea-product-page__gallery {
    position: relative;
    width: 100%;
}

.woocommerce-product-gallery {
    position: relative;
    width: 100%;
}

.woocommerce-product-gallery__wrapper {
    background: #ffffff;
    border: 1px solid rgba(58, 36, 32, .08);
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    aspect-ratio: 1 / 1;
    box-shadow: 0 4px 20px rgba(58, 36, 32, .04);
    padding: 20px;
    box-sizing: border-box;
}

.woocommerce-product-gallery__image {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.woocommerce-product-gallery__image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Sale Flash Badge */
.woocommerce-product-gallery .onsale {
    position: absolute;
    top: 14px;
    left: 14px;
    background: #d32f2f;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 4px;
    z-index: 5;
    text-transform: uppercase;
}

/* Thumbnails */
.flex-control-thumbs {
    display: flex;
    gap: 10px;
    margin-top: 14px;
    padding: 0;
    list-style: none;
    overflow-x: auto;
}

.flex-control-thumbs li {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    border: 1px solid rgba(58, 36, 32, .12);
    background: #ffffff;
    overflow: hidden;
    cursor: pointer;
    flex: none;
    transition: border-color .2s ease;
}

.flex-control-thumbs li img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.flex-control-thumbs li img.flex-active,
.flex-control-thumbs li:hover {
    border-color: #6b2e2a;
}

/* ================================================================
   2. BUYBOX & SUMMARY (CENTER COLUMN)
   ================================================================ */
.orevea-product-page__summary {
    display: flex;
    flex-direction: column;
}

.orevea-single-product__brand {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #8b7355;
    margin-bottom: 6px;
}

.orevea-product-page__summary .product_title {
    font-family: var(--orevea-font-display, 'Outfit', sans-serif);
    font-size: clamp(22px, 2.4vw, 28px);
    font-weight: 700;
    line-height: 1.25;
    color: #241411;
    margin: 0 0 10px;
}

/* Star Rating */
.orevea-product-page__summary .woocommerce-product-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    margin-bottom: 12px;
}

.orevea-product-page__summary .star-rating {
    color: #f5a623;
    font-size: 12px;
}

.orevea-product-page__summary .woocommerce-review-link {
    color: #7b6e66;
    text-decoration: none;
}

/* Price & Savings */
.orevea-product-page__summary p.price,
.orevea-product-page__summary span.price {
    font-size: 24px;
    font-weight: 700;
    color: #1a1a1a;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 8px;
}

.orevea-product-page__summary p.price del,
.orevea-product-page__summary span.price del {
    color: #999;
    font-weight: 400;
    font-size: 16px;
}

.orevea-product-page__summary p.price ins,
.orevea-product-page__summary span.price ins {
    text-decoration: none;
    color: #d32f2f;
}

.orevea-single-product__savings {
    display: inline-block;
    background: #ffebee;
    color: #d32f2f;
    font-size: 11.5px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 4px;
    margin-bottom: 14px;
}

/* Short Description */
.orevea-product-page__summary .woocommerce-product-details__short-description {
    font-size: 13.5px;
    color: #55483f;
    line-height: 1.65;
    margin-bottom: 14px;
}

/* Stock & Delivery */
.orevea-single-product__stock-delivery {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 12px 0 16px !important;
    padding: 12px 16px !important;
    background: #f4f9f5 !important;
    border-radius: 10px !important;
    border-left: 3.5px solid #2e7d32 !important;
}

.orevea-stock-status.in-stock {
    color: #2e7d32 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.orevea-delivery-est {
    font-size: 12px !important;
    color: #55483f !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* Variations: Buttons/Pills */
.orevea-product-page__summary table.variations {
    width: 100%;
    margin-bottom: 16px;
    border-collapse: collapse;
}

.orevea-product-page__summary table.variations label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #241411;
}

.orevea-product-page__summary table.variations select {
    padding: 8px 14px;
    border: 1px solid rgba(58, 36, 32, .18);
    border-radius: 8px;
    font-size: 13px;
    outline: none;
}

/* Quantity & Add to Cart Row */
.orevea-product-page__summary form.cart {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 18px 0 20px !important;
    width: 100% !important;
}

.orevea-product-page__summary .quantity {
    margin: 0 !important;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
}

.orevea-product-page__summary .quantity .qty {
    width: 76px !important;
    height: 48px !important;
    border: 1.5px solid rgba(58, 36, 32, .18) !important;
    border-radius: 10px !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    outline: none !important;
    background: #fbfbf9 !important;
    color: #241411 !important;
}

.orevea-product-page__summary .single_add_to_cart_button {
    flex: 1 !important;
    height: 48px !important;
    background: #241411 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    padding: 0 28px !important;
}

.orevea-product-page__summary .single_add_to_cart_button:hover {
    background: #6b2e2a !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(107, 46, 42, .25) !important;
}

/* Loyalty Points */
.orevea-single-product__loyalty,
.orevea-product-page__summary .woocommerce-points-rewards,
.orevea-product-page__summary .points-rewards-message,
.orevea-product-page__summary .wps_wpr_earn_points,
.orevea-product-page__summary .wps_wpr_points_message {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #8b7355 !important;
    background: #fdfaf3 !important;
    border: 1px dashed #d5be9b !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    margin: 14px 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    clear: both !important;
}

/* Mini Trust Bar */
.orevea-product-page__trust-bar {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px 14px !important;
    background: #fbf9f5 !important;
    border: 1px solid rgba(58, 36, 32, .08) !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    margin: 16px 0 !important;
    clear: both !important;
}

.orevea-trust-bar-item {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    color: #55483f !important;
    line-height: 1.25 !important;
}

.orevea-trust-bar-icon {
    font-size: 15px !important;
    flex-shrink: 0 !important;
}

.orevea-product-page__summary .product_meta {
    font-size: 12px;
    color: #8c827a;
    display: flex;
    flex-direction: column;
    gap: 4px;
    border-top: 1px solid rgba(58, 36, 32, .06);
    padding-top: 14px;
    margin-top: 10px;
}

.orevea-product-page__summary .product_meta a {
    color: #241411;
    text-decoration: none;
}

.orevea-product-page__summary .product_meta a:hover {
    color: #6b2e2a;
}

/* ================================================================
   3. REASSURANCE & CROSS-SELLS SIDEBAR (RIGHT COLUMN)
   ================================================================ */
.orevea-product-page__sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.orevea-product-sidebar-card {
    background: #ffffff;
    border: 1px solid rgba(58, 36, 32, .08);
    border-radius: 14px;
    padding: 22px;
    box-shadow: 0 4px 16px rgba(58, 36, 32, .03);
}

.orevea-reassurance-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.orevea-reassurance-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.orevea-reassurance-icon {
    font-size: 18px;
    line-height: 1.2;
    flex: none;
}

.orevea-reassurance-text {
    display: flex;
    flex-direction: column;
    line-height: 1.35;
}

.orevea-reassurance-text strong {
    font-size: 12.5px;
    color: #241411;
}

.orevea-reassurance-text span {
    font-size: 11px;
    color: #7b6e66;
    margin-top: 2px;
}

/* Cross-sells in sidebar */
.orevea-product-sidebar-title {
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #241411;
    margin: 0 0 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(58, 36, 32, .08);
}

.orevea-sidebar-products {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 12px;
}

.orevea-sidebar-product-item {
    display: flex;
    gap: 10px;
    align-items: center;
}

.orevea-sidebar-product-thumb {
    width: 52px;
    height: 52px;
    background: #fbf9f5;
    border-radius: 8px;
    overflow: hidden;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(58, 36, 32, .06);
}

.orevea-sidebar-product-thumb img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.orevea-sidebar-product-info {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.orevea-sidebar-product-brand {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    color: #8b7355;
}

.orevea-sidebar-product-name {
    font-size: 12px;
    font-weight: 500;
    margin: 0;
    line-height: 1.25;
}

.orevea-sidebar-product-name a {
    color: #241411;
    text-decoration: none;
}

.orevea-sidebar-product-name a:hover {
    color: #6b2e2a;
}

.orevea-sidebar-product-price {
    font-size: 12px;
    font-weight: 700;
    color: #d32f2f;
    margin-top: 2px;
}

.orevea-sidebar-more-link {
    font-size: 11.5px;
    font-weight: 600;
    color: #8b7355;
    text-decoration: none;
    display: inline-block;
}

.orevea-sidebar-more-link:hover {
    color: #6b2e2a;
}

/* ================================================================
   4. LUXURY PRODUCT TABS & REVIEWS (DESCRIPTION & AVIS)
   ================================================================ */
.woocommerce div.product .woocommerce-tabs,
.woocommerce-tabs {
    border-top: 1px solid rgba(58, 36, 32, .08);
    padding-top: 40px;
    margin-bottom: 48px;
    clear: both;
}

/* Reset WC native tab styling (pseudo elements, grey boxes & borders) */
.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce-tabs ul.tabs {
    display: flex !important;
    gap: 10px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 24px !important;
    border: none !important;
    background: transparent !important;
    overflow-x: auto !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce-tabs ul.tabs li a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 24px !important;
    background: #ffffff !important;
    border: 1px solid rgba(58, 36, 32, .12) !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    color: #6d5d54 !important;
    text-decoration: none !important;
    transition: all .2s ease !important;
    box-shadow: 0 2px 8px rgba(58, 36, 32, .02) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce-tabs ul.tabs li a:hover {
    background: #fbf9f5 !important;
    color: #241411 !important;
    border-color: rgba(58, 36, 32, .25) !important;
    transform: translateY(-1px) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li.active a {
    background: #241411 !important;
    color: #ffffff !important;
    border-color: #241411 !important;
    box-shadow: 0 4px 14px rgba(36, 20, 17, .18) !important;
}

/* Tab Panel Container */
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce-tabs .panel {
    background: #ffffff !important;
    border: 1px solid rgba(58, 36, 32, .08) !important;
    border-radius: 16px !important;
    padding: 36px 40px !important;
    box-shadow: 0 4px 20px rgba(58, 36, 32, .03) !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    color: #55483f !important;
}

/* Description Panel Content */
.woocommerce-Tabs-panel--description h2 {
    font-family: var(--orevea-font-display, 'Outfit', sans-serif) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #241411 !important;
    margin: 0 0 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(58, 36, 32, .06) !important;
}

.woocommerce-Tabs-panel--description p {
    margin: 0 0 16px !important;
    line-height: 1.8 !important;
    color: #4a3e38 !important;
}

.woocommerce-Tabs-panel--description ul,
.woocommerce-Tabs-panel--description ol {
    margin: 12px 0 20px 20px !important;
    padding: 0 !important;
    color: #4a3e38 !important;
    line-height: 1.75 !important;
}

.woocommerce-Tabs-panel--description li {
    margin-bottom: 6px !important;
}

/* ================================================================
   REVIEWS & RATINGS TAB (AVIS)
   ================================================================ */
#reviews {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

#reviews #comments {
    width: 100%;
}

#reviews #comments h2.woocommerce-Reviews-title {
    font-family: var(--orevea-font-display, 'Outfit', sans-serif) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #241411 !important;
    margin: 0 0 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(58, 36, 32, .06) !important;
}

#reviews .woocommerce-noreviews {
    background: #fbf9f5;
    border: 1px solid rgba(58, 36, 32, .08);
    border-radius: 12px;
    padding: 24px;
    color: #7b6e66;
    font-size: 14px;
    text-align: center;
    margin-bottom: 24px;
}

/* Review comments list */
#reviews .commentlist {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 32px !important;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

#reviews .commentlist li.review {
    background: #fbf9f5;
    border: 1px solid rgba(58, 36, 32, .08);
    border-radius: 12px;
    padding: 20px 24px;
    position: relative;
}

#reviews .commentlist li.review img.avatar {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 1px solid rgba(58, 36, 32, .1);
    float: left;
    margin-right: 16px;
}

#reviews .commentlist li.review .comment-text {
    margin-left: 60px;
}

#reviews .commentlist li.review .star-rating {
    float: right;
    color: #f5a623;
    font-size: 13px;
}

#reviews .commentlist li.review .meta {
    font-size: 13px;
    color: #7b6e66;
    margin-bottom: 10px;
}

#reviews .commentlist li.review .meta strong {
    color: #241411;
    font-size: 14px;
    font-weight: 700;
}

#reviews .commentlist li.review .description {
    font-size: 13.5px;
    line-height: 1.65;
    color: #4a3e38;
}

/* Review Form Styling */
#review_form_wrapper {
    background: #fbf9f5;
    border: 1px solid rgba(58, 36, 32, .09);
    border-radius: 14px;
    padding: 28px 32px;
    margin-top: 10px;
}

#review_form #reply-title {
    font-family: var(--orevea-font-display, 'Outfit', sans-serif) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #241411 !important;
    margin: 0 0 12px !important;
    display: block;
}

#review_form .comment-notes {
    font-size: 12.5px;
    color: #8c827a;
    margin-bottom: 16px;
}

/* Interactive Star Rating in Form */
#review_form .comment-form-rating {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

#review_form .comment-form-rating label {
    font-size: 13px;
    font-weight: 700;
    color: #241411;
    margin: 0;
}

#review_form .stars {
    margin: 0;
}

#review_form .stars a {
    color: #d5be9b;
    font-size: 16px;
    text-decoration: none;
    transition: color .2s ease;
}

#review_form .stars a:hover,
#review_form .stars a.active {
    color: #f5a623;
}

/* Inputs & Textarea */
#review_form .comment-form-comment,
#review_form .comment-form-author,
#review_form .comment-form-email {
    margin-bottom: 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

#review_form label {
    font-size: 13px;
    font-weight: 600;
    color: #241411;
}

#review_form textarea,
#review_form input[type="text"],
#review_form input[type="email"] {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 16px;
    border: 1px solid rgba(58, 36, 32, .18);
    border-radius: 10px;
    font-size: 13.5px;
    background: #ffffff;
    color: #241411;
    outline: none;
    transition: all .2s ease;
}

#review_form textarea:focus,
#review_form input:focus {
    border-color: #6b2e2a;
    box-shadow: 0 0 0 3px rgba(107, 46, 42, .08);
}

#review_form textarea {
    min-height: 110px;
    resize: vertical;
}

#review_form .form-submit input#submit {
    background: #241411 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 13px 32px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
    margin-top: 8px !important;
}

#review_form .form-submit input#submit:hover {
    background: #6b2e2a !important;
    box-shadow: 0 6px 18px rgba(107, 46, 42, .25) !important;
    transform: translateY(-1px) !important;
}

/* ================================================================
   ADDITIONAL ATTRIBUTES TAB
   ================================================================ */
.woocommerce-Tabs-panel--additional_information table.shop_attributes {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid rgba(58, 36, 32, .08);
    border-radius: 12px;
    overflow: hidden;
}

.woocommerce-Tabs-panel--additional_information table.shop_attributes th {
    background: #fbf9f5;
    padding: 14px 20px;
    font-size: 13px;
    font-weight: 700;
    color: #241411;
    width: 30%;
    border-bottom: 1px solid rgba(58, 36, 32, .06);
}

.woocommerce-Tabs-panel--additional_information table.shop_attributes td {
    padding: 14px 20px;
    font-size: 13.5px;
    color: #55483f;
    border-bottom: 1px solid rgba(58, 36, 32, .06);
}

.woocommerce-Tabs-panel--additional_information table.shop_attributes tr:last-child th,
.woocommerce-Tabs-panel--additional_information table.shop_attributes tr:last-child td {
    border-bottom: none;
}

/* ================================================================
   5. RELATED & UPSELLS PRODUCTS (GRID RESETS)
   ================================================================ */
.related.products,
.upsells.products {
    border-top: 1px solid rgba(58, 36, 32, .08);
    padding-top: 36px;
    margin-top: 40px;
}

.related.products h2,
.upsells.products h2 {
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 24px;
    color: #241411;
    letter-spacing: .04em;
}

.woocommerce .related ul.products,
.woocommerce-page .related ul.products,
.woocommerce .upsells ul.products,
.woocommerce-page .upsells ul.products,
.related.products ul.products,
.upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    width: 100% !important;
    clear: both !important;
}

.woocommerce .related ul.products::before,
.woocommerce .related ul.products::after,
.woocommerce .upsells ul.products::before,
.woocommerce .upsells ul.products::after {
    display: none !important;
}

.woocommerce .related ul.products li.product,
.woocommerce-page .related ul.products li.product,
.woocommerce .upsells ul.products li.product,
.woocommerce-page .upsells ul.products li.product,
.related.products ul.products li.product,
.upsells.products ul.products li.product {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    display: flex !important;
}

.related.products ul.products li.product .orevea-product-card,
.upsells.products ul.products li.product .orevea-product-card {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* ================================================================
   RESPONSIVE BREAKPOINTS
   ================================================================ */
@media (max-width: 1280px) {
    .orevea-product-page__top-row {
        grid-template-columns: 380px 1fr 280px;
        gap: 24px;
    }
    .related.products ul.products,
    .upsells.products ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1024px) {
    .orevea-product-page__top-row {
        grid-template-columns: 1fr 1fr;
    }
    .orevea-product-page__sidebar {
        grid-column: span 2;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .related.products ul.products,
    .upsells.products ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    .orevea-product-page__top-row {
        grid-template-columns: 1fr;
    }
    .orevea-product-page__sidebar {
        grid-column: span 1;
        grid-template-columns: 1fr;
    }
    .related.products ul.products,
    .upsells.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }
}
