/* ShopCraft Single Product Builder – isolated, responsive WooCommerce styles. */
.rcew-spb,
.rcew-spb * { box-sizing: border-box; }
.rcew-spb {
    --rcew-spb-left: 52%;
    --rcew-spb-thumb-size: 76px;
    --rcew-spb-thumb-gap: 10px;
    --rcew-spb-image-fit: contain;
    width: 100%;
    margin-inline: auto;
    color: #172033;
}
.rcew-spb-main {
    display: grid;
    grid-template-columns: minmax(0, var(--rcew-spb-left)) minmax(0, calc(100% - var(--rcew-spb-left)));
    align-items: start;
    width: 100%;
}
.rcew-spb-column,
.rcew-spb-full {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.rcew-spb-full { margin-top: 54px; }
.rcew-spb-element { min-width: 0; }
.rcew-spb-element:empty { display: none; }
.rcew-spb-notice,
.rcew-spb-empty {
    padding: 18px 20px;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    color: #64748b;
    background: #f8fafc;
}

/* WooCommerce gallery normalization. */
.rcew-spb .woocommerce-product-gallery {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    opacity: 1 !important;
    position: relative;
}
.rcew-spb .woocommerce-product-gallery__wrapper { margin: 0; }
.rcew-spb .woocommerce-product-gallery__image { overflow: hidden; }
.rcew-spb .woocommerce-product-gallery__image a { display: block; }
.rcew-spb .woocommerce-product-gallery__image img {
    display: block;
    width: 100%;
    max-width: 100%;
    object-fit: var(--rcew-spb-image-fit);
    background: #fff;
}
.rcew-spb .woocommerce-product-gallery .flex-control-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--rcew-spb-thumb-gap);
    margin: var(--rcew-spb-thumb-gap) 0 0;
    padding: 0;
    list-style: none;
}
.rcew-spb .woocommerce-product-gallery .flex-control-thumbs li {
    float: none !important;
    width: var(--rcew-spb-thumb-size) !important;
    margin: 0 !important;
}
.rcew-spb .woocommerce-product-gallery .flex-control-thumbs img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    cursor: pointer;
    opacity: .62;
    border: 1px solid transparent;
    border-radius: 8px;
    transition: opacity .2s ease, border-color .2s ease, transform .2s ease;
}
.rcew-spb .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.rcew-spb .woocommerce-product-gallery .flex-control-thumbs img:hover {
    opacity: 1;
    border-color: currentColor;
    transform: translateY(-1px);
}
.rcew-spb .woocommerce-product-gallery__trigger {
    position: absolute;
    z-index: 8;
    top: 14px;
    right: 14px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0 !important;
    border-radius: 999px;
    background: rgba(255,255,255,.92);
    color: #111827;
    box-shadow: 0 8px 24px rgba(15,23,42,.12);
    text-indent: -9999px;
}
.rcew-spb .woocommerce-product-gallery__trigger::before {
    content: "";
    width: 15px;
    height: 15px;
    border: 2px solid currentColor;
    border-radius: 999px;
}
.rcew-spb .woocommerce-product-gallery__trigger::after {
    content: "";
    position: absolute;
    width: 8px;
    height: 2px;
    background: currentColor;
    transform: translate(8px,8px) rotate(45deg);
    border-radius: 2px;
}

/* Product content. */
.rcew-spb-breadcrumbs { font-size: 13px; color: #64748b; }
.rcew-spb-breadcrumbs a { color: inherit; text-decoration: none; }
.rcew-spb-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.rcew-spb-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: #1d4ed8;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}
.rcew-spb-badge--sale { background: #dc2626; }
.rcew-spb-badge--featured { background: #7c3aed; }
.rcew-spb-title { margin: 0; font-size: clamp(30px, 4vw, 56px); line-height: 1.08; }
.rcew-spb-element--price .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: 0; font-size: 28px; font-weight: 750; }
.rcew-spb-element--price del { opacity: .55; font-size: .72em; }
.rcew-spb-element--price ins { text-decoration: none; }
.rcew-spb-stock { display: inline-flex; width: max-content; font-weight: 650; }
.rcew-spb-stock--in-stock { color: #15803d; }
.rcew-spb-stock--out-of-stock { color: #b91c1c; }
.rcew-spb .woocommerce-product-rating { display: flex; align-items: center; gap: 12px; margin: 0; }
.rcew-spb .star-rating { float: none; margin: 0; }
.rcew-spb .woocommerce-review-link { color: inherit; font-size: 14px; }
.rcew-spb .woocommerce-product-details__short-description > :first-child,
.rcew-spb-description-content > :first-child { margin-top: 0; }
.rcew-spb .woocommerce-product-details__short-description > :last-child,
.rcew-spb-description-content > :last-child { margin-bottom: 0; }
.rcew-spb .product_meta { display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.rcew-spb .product_meta a { color: inherit; }
.rcew-spb-trust { display: flex; align-items: center; gap: 10px; padding: 13px 15px; border: 1px solid #e2e8f0; border-radius: 10px; background: #f8fafc; }
.rcew-spb-trust-icon { display: inline-flex; flex: 0 0 auto; }
.rcew-spb-trust-icon svg { width: 18px; height: 18px; }
.rcew-spb-share { display: flex; flex-wrap: wrap; gap: 8px; }
.rcew-spb-share-link { display: inline-flex; padding: 8px 12px; border: 1px solid #dbe2ea; border-radius: 999px; color: inherit; text-decoration: none; font-size: 13px; }
.rcew-spb-share-link:hover { border-color: currentColor; }
.rcew-spb-divider { width: 100%; margin: 0; border: 0; border-top: 1px solid #e2e8f0; }
.rcew-spb-custom-heading { margin: 0; }

/* Native WooCommerce variation/cart form, kept fully controllable by Elementor. */
.rcew-spb-element--add_to_cart form.cart { margin: 0 !important; }
.rcew-spb-element--add_to_cart .variations { width: 100%; margin: 0 0 16px; border: 0; }
.rcew-spb-element--add_to_cart .variations th,
.rcew-spb-element--add_to_cart .variations td { display: block; width: 100%; padding: 0 0 8px; border: 0; text-align: left; }
.rcew-spb-element--add_to_cart .variations select { width: 100%; min-height: 0; }
.rcew-spb-element--add_to_cart .reset_variations { display: inline-block; margin-top: 7px; }
.rcew-spb-element--add_to_cart .woocommerce-variation { margin-bottom: 12px; }
.rcew-spb-element--add_to_cart .woocommerce-variation-add-to-cart,
.rcew-spb-element--add_to_cart form.cart:not(.variations_form):not(.grouped_form) {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 10px;
}
.rcew-spb-element--add_to_cart .quantity { float: none !important; margin: 0 !important; flex: 0 0 auto; }
.rcew-spb-element--add_to_cart .qty { width: 100% !important; height: 100%; min-height: 0; text-align: center; }
.rcew-spb-element--add_to_cart .single_add_to_cart_button,
.rcew-spb-element--add_to_cart .button {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: row;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
    border-style: solid;
    border-width: 0;
    cursor: pointer;
}
.rcew-spb-cart-width-full .rcew-spb-element--add_to_cart .single_add_to_cart_button,
.rcew-spb-cart-width-full .rcew-spb-element--add_to_cart .button { flex: 1 1 100%; width: 100%; }
.rcew-spb-native-button-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.rcew-spb-native-button-icon svg { width: 1em; height: 1em; fill: currentColor; }
.rcew-spb-native-button-text { display: inline-block; }
.rcew-spb-element--add_to_cart .group_table { width: 100%; }
.rcew-spb-element--add_to_cart .group_table td { vertical-align: middle; padding: 8px; }

/* Tabs, descriptions, attributes and reviews. */
.rcew-spb .woocommerce-tabs { width: 100%; }
.rcew-spb .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin: 0 0 24px !important;
    padding: 0 !important;
    border: 0 !important;
}
.rcew-spb .woocommerce-tabs ul.tabs::before,
.rcew-spb .woocommerce-tabs ul.tabs li::before,
.rcew-spb .woocommerce-tabs ul.tabs li::after { display: none !important; }
.rcew-spb .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 0 8px !important;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
}
.rcew-spb .woocommerce-tabs ul.tabs li a { padding: 0 !important; text-decoration: none; }
.rcew-spb .woocommerce-tabs .panel { margin: 0 !important; }
.rcew-spb table.shop_attributes { width: 100%; border-collapse: collapse; }
.rcew-spb table.shop_attributes th,
.rcew-spb table.shop_attributes td { padding: 12px 14px; border: 1px solid #e2e8f0; text-align: left; }
.rcew-spb #reviews #comments ol.commentlist { padding: 0; list-style: none; }
.rcew-spb #reviews #comments ol.commentlist li { margin-bottom: 18px; }
.rcew-spb #reviews #comments ol.commentlist img.avatar { width: 46px; border-radius: 999px; }
.rcew-spb #review_form input:not([type="submit"]),
.rcew-spb #review_form textarea { width: 100%; }

/* Main page presets. */
.rcew-spb--modern-split .rcew-spb-column--right {
    padding: clamp(22px, 4vw, 52px);
    border: 1px solid #e6ebf2;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(15,23,42,.08);
}
.rcew-spb--sticky-details .rcew-spb-column--right { position: sticky; top: 32px; }
.rcew-spb--vertical-thumbnails .woocommerce-product-gallery { display: grid; grid-template-columns: var(--rcew-spb-thumb-size) minmax(0,1fr); gap: var(--rcew-spb-thumb-gap); }
.rcew-spb--vertical-thumbnails .woocommerce-product-gallery .flex-viewport,
.rcew-spb--vertical-thumbnails .woocommerce-product-gallery__wrapper { grid-column: 2; grid-row: 1; }
.rcew-spb--vertical-thumbnails .woocommerce-product-gallery .flex-control-thumbs {
    grid-column: 1;
    grid-row: 1;
    flex-direction: column;
    flex-wrap: nowrap;
    margin: 0;
    max-height: 680px;
    overflow: auto;
}
.rcew-spb--horizontal-thumbnails .woocommerce-product-gallery .flex-control-thumbs { justify-content: center; }
.rcew-spb--gallery-grid .woocommerce-product-gallery .flex-viewport { overflow: visible !important; height: auto !important; }
.rcew-spb--gallery-grid .woocommerce-product-gallery__wrapper {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
    width: 100% !important;
    transform: none !important;
}
.rcew-spb--gallery-grid .woocommerce-product-gallery__image {
    display: block !important;
    float: none !important;
    width: auto !important;
}
.rcew-spb--gallery-grid .woocommerce-product-gallery .flex-control-thumbs { display: none; }
.rcew-spb--fullwidth-gallery .rcew-spb-main,
.rcew-spb--product-story .rcew-spb-main,
.rcew-spb--product-landing .rcew-spb-main { grid-template-columns: minmax(0,1fr); }
.rcew-spb--fullwidth-gallery .rcew-spb-column--right,
.rcew-spb--product-story .rcew-spb-column--right,
.rcew-spb--product-landing .rcew-spb-column--right { width: min(820px,100%); margin-inline: auto; padding-top: 36px; }
.rcew-spb--minimal-luxury { color: #26231f; }
.rcew-spb--minimal-luxury .rcew-spb-main { column-gap: clamp(50px,8vw,130px); }
.rcew-spb--minimal-luxury .rcew-spb-title { font-family: Georgia, 'Times New Roman', serif; font-weight: 500; letter-spacing: -.025em; }
.rcew-spb--minimal-luxury .rcew-spb-column--right { padding-block: 6vw; }
.rcew-spb--conversion-pro .rcew-spb-column--right { padding: 30px; border: 1px solid #dbe4ee; border-radius: 16px; background: #fff; box-shadow: 0 16px 45px rgba(15,23,42,.08); }
.rcew-spb--conversion-pro .rcew-spb-element--add_to_cart { padding: 18px; border-radius: 12px; background: #f7fafc; }
.rcew-spb--marketplace-pro .rcew-spb-column--right { gap: 12px; }
.rcew-spb--marketplace-pro .rcew-spb-element { padding-bottom: 12px; border-bottom: 1px solid #edf0f4; }
.rcew-spb--marketplace-pro .rcew-spb-element--add_to_cart { padding: 18px; border: 1px solid #dce3ec; background: #fbfcfe; }
.rcew-spb--tech-specification { color: #dce8ff; background: #07111f; padding: clamp(20px,4vw,56px); }
.rcew-spb--tech-specification a { color: #72a7ff; }
.rcew-spb--tech-specification .rcew-spb-column--right { padding: 28px; border: 1px solid #1d3555; border-radius: 18px; background: #0b1728; }
.rcew-spb--tech-specification .rcew-spb-trust { border-color: #1d3555; background: #0f2037; }
.rcew-spb--beauty-editorial { padding: clamp(18px,4vw,52px); background: #fbf4f2; color: #4a3432; }
.rcew-spb--beauty-editorial .rcew-spb-column--right { padding: clamp(20px,4vw,50px); background: rgba(255,255,255,.68); backdrop-filter: blur(14px); }
.rcew-spb--beauty-editorial .rcew-spb-title { font-family: Georgia, 'Times New Roman', serif; font-weight: 500; }
.rcew-spb--product-story .rcew-spb-element--gallery { width: min(1100px,100%); margin-inline: auto; }
.rcew-spb--product-story .rcew-spb-column--right { text-align: center; }
.rcew-spb--product-story .rcew-spb-badges,
.rcew-spb--product-story .woocommerce-product-rating,
.rcew-spb--product-story .rcew-spb-element--price .price,
.rcew-spb--product-story .rcew-spb-stock,
.rcew-spb--product-story .rcew-spb-trust { margin-inline: auto; justify-content: center; }
.rcew-spb--product-landing { background: linear-gradient(135deg,#f8fafc,#eef4ff); padding: clamp(22px,5vw,72px); border-radius: 24px; }
.rcew-spb--product-landing .rcew-spb-column--right { text-align: center; }
.rcew-spb--product-landing .rcew-spb-title { font-size: clamp(38px,7vw,84px); }
.rcew-spb--product-landing .rcew-spb-badges,
.rcew-spb--product-landing .woocommerce-product-rating,
.rcew-spb--product-landing .rcew-spb-element--price .price,
.rcew-spb--product-landing .rcew-spb-stock,
.rcew-spb--product-landing .rcew-spb-trust { margin-inline: auto; justify-content: center; }
.rcew-spb--immersive-tech { color: #eef5ff; padding: clamp(22px,5vw,70px); background: radial-gradient(circle at 18% 8%,#183760 0,#08111e 48%,#03070d 100%); border-radius: 28px; }
.rcew-spb--immersive-tech a { color: #79b4ff; }
.rcew-spb--immersive-tech .rcew-spb-title { font-size: clamp(38px,6vw,76px); background: linear-gradient(90deg,#fff,#72a7ff); -webkit-background-clip: text; color: transparent; }
.rcew-spb--immersive-tech .rcew-spb-column--right { padding: 34px; border: 1px solid rgba(121,180,255,.24); border-radius: 22px; background: rgba(8,17,30,.72); backdrop-filter: blur(16px); }
.rcew-spb--immersive-tech .rcew-spb-trust { border-color: rgba(121,180,255,.25); background: rgba(121,180,255,.08); }

/* Recommendation grids and cards. */
.rcew-spb-recommendation { width: 100%; }
.rcew-spb-section-title { margin: 0 0 26px; font-size: clamp(24px,3vw,36px); }
.rcew-spb-product-grid {
    display: grid;
    grid-template-columns: repeat(var(--rcew-spb-columns,4), minmax(0,1fr));
    align-items: stretch;
}
.rcew-spb-product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.rcew-spb-product-card:hover { transform: translateY(-3px); box-shadow: 0 16px 35px rgba(15,23,42,.11); }
.rcew-spb-card-media { position: relative; overflow: hidden; }
.rcew-spb-card-image { display: block; background: #f8fafc; }
.rcew-spb-card-image img { display: block; width: 100%; height: 260px; object-fit: contain; transition: transform .35s ease; }
.rcew-spb-product-card:hover .rcew-spb-card-image img { transform: scale(1.025); }
.rcew-spb-card-body { display: flex; flex: 1 1 auto; flex-direction: column; align-items: stretch; gap: 9px; padding: 18px; }
.rcew-spb-card-title { margin: 0; font-size: 17px; line-height: 1.35; }
.rcew-spb-card-title a { color: #111827; text-decoration: none; }
.rcew-spb-card-category { color: #64748b; font-size: 12px; }
.rcew-spb-card-rating .star-rating { margin: 0; }
.rcew-spb-card-price { margin-top: auto; color: #111827; font-weight: 750; }
.rcew-spb-card-price del { opacity: .52; font-size: .82em; }
.rcew-spb-card-price ins { text-decoration: none; }
.rcew-spb-card-stock { font-size: 12px; font-weight: 650; }
.rcew-spb-card-stock.is-in-stock { color: #15803d; }
.rcew-spb-card-stock.is-out-of-stock { color: #b91c1c; }
.rcew-spb-card-badge { position: absolute; z-index: 3; top: 12px; left: 12px; padding: 6px 9px; border-radius: 999px; background: #dc2626; color: #fff; font-size: 11px; font-weight: 800; }
.rcew-spb-card-view {
    position: absolute;
    z-index: 4;
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    padding: 8px;
    border-radius: 999px;
    background: #fff;
    color: #111827;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(15,23,42,.12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);
    transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
}
.rcew-spb-product-card:hover .rcew-spb-card-view,
.rcew-spb-card-view:focus-visible { opacity: 1; visibility: visible; transform: none; }
.rcew-spb-card-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100%;
    min-height: 0 !important;
    height: auto !important;
    margin: 5px 0 0 !important;
    border: 0;
    background: #0f172a;
    color: #fff;
    text-align: center;
    text-decoration: none !important;
}
.rcew-spb-card-button .elementor-button-content-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto;
    margin: 0 !important;
}
.rcew-spb-card-button .elementor-button-icon { display: inline-flex; align-items: center; justify-content: center; margin: 0 !important; }
.rcew-spb-card-button .elementor-button-icon svg { width: 1em; height: 1em; fill: currentColor; }
.rcew-spb-card-button .elementor-button-text { flex: 0 0 auto; }

/* 15 recommendation-card presets. */
.rcew-spb-cards--classic-shop .rcew-spb-product-card { border-radius: 10px; }
.rcew-spb-cards--soft-background .rcew-spb-product-card { border: 0; background: #f5f7fb; }
.rcew-spb-cards--soft-background .rcew-spb-card-image { margin: 12px 12px 0; border-radius: 10px; background: #fff; }
.rcew-spb-cards--dark-premium .rcew-spb-product-card { border-color: #263348; background: #0f172a; color: #dce6f7; }
.rcew-spb-cards--dark-premium .rcew-spb-card-title a,
.rcew-spb-cards--dark-premium .rcew-spb-card-price { color: #fff; }
.rcew-spb-cards--dark-premium .rcew-spb-card-image { background: #172033; }
.rcew-spb-cards--dark-premium .rcew-spb-card-button { background: #3b82f6; }
.rcew-spb-cards--horizontal-card .rcew-spb-product-card { display: grid; grid-template-columns: 42% minmax(0,1fr); }
.rcew-spb-cards--horizontal-card .rcew-spb-card-image,
.rcew-spb-cards--horizontal-card .rcew-spb-card-image img { height: 100%; min-height: 220px; }
.rcew-spb-cards--compact-store .rcew-spb-card-image img { height: 180px; }
.rcew-spb-cards--compact-store .rcew-spb-card-body { gap: 5px; padding: 12px; }
.rcew-spb-cards--compact-store .rcew-spb-card-title { font-size: 14px; }
.rcew-spb-cards--conversion-pro .rcew-spb-product-card { border: 2px solid #dce5f0; }
.rcew-spb-cards--conversion-pro .rcew-spb-card-price { font-size: 20px; }
.rcew-spb-cards--conversion-pro .rcew-spb-card-button { padding-block: 14px; background: #0b6bcb; }
.rcew-spb-cards--fashion-luxe .rcew-spb-product-card { border: 0; border-radius: 0; text-align: center; }
.rcew-spb-cards--fashion-luxe .rcew-spb-card-image img { height: 380px; object-fit: cover; }
.rcew-spb-cards--fashion-luxe .rcew-spb-card-body { align-items: center; }
.rcew-spb-cards--fashion-luxe .rcew-spb-card-title { font-family: Georgia, 'Times New Roman', serif; font-size: 19px; }
.rcew-spb-cards--marketplace-pro .rcew-spb-product-card { border-radius: 6px; }
.rcew-spb-cards--marketplace-pro .rcew-spb-card-body { gap: 6px; padding: 14px; }
.rcew-spb-cards--marketplace-pro .rcew-spb-card-button { width: auto; align-self: flex-start; }
.rcew-spb-cards--tech-showcase .rcew-spb-product-card { border-color: #cfe0f5; background: linear-gradient(180deg,#f4f9ff,#fff); }
.rcew-spb-cards--tech-showcase .rcew-spb-card-image { background: radial-gradient(circle,#fff,#eaf3ff); }
.rcew-spb-cards--tech-showcase .rcew-spb-card-button { background: #102a43; }
.rcew-spb-cards--grocery-fresh .rcew-spb-product-card { border-color: #cfe8d2; background: #f6fff7; }
.rcew-spb-cards--grocery-fresh .rcew-spb-card-button { background: #16803b; }
.rcew-spb-cards--beauty-boutique .rcew-spb-product-card { border: 0; background: #fff6f7; text-align: center; }
.rcew-spb-cards--beauty-boutique .rcew-spb-card-body { align-items: center; }
.rcew-spb-cards--beauty-boutique .rcew-spb-card-title { font-family: Georgia, 'Times New Roman', serif; }
.rcew-spb-cards--beauty-boutique .rcew-spb-card-button { background: #8d5360; }
.rcew-spb-cards--deal-spotlight .rcew-spb-product-card { border: 2px solid #f0b429; background: #fffdf4; }
.rcew-spb-cards--deal-spotlight .rcew-spb-card-badge { background: #f59e0b; color: #111827; }
.rcew-spb-cards--deal-spotlight .rcew-spb-card-price { color: #b45309; font-size: 20px; }
.rcew-spb-cards--floating-cart .rcew-spb-card-body { padding-top: 32px; }
.rcew-spb-cards--floating-cart .rcew-spb-card-button { position: absolute; left: 18px; right: 18px; top: calc(var(--rcew-card-image-height,260px) - 22px); width: auto; border-radius: 999px; box-shadow: 0 10px 28px rgba(15,23,42,.2); }
.rcew-spb-cards--nordic-smart .rcew-spb-product-card { border: 0; border-radius: 0; background: #f7f7f3; }
.rcew-spb-cards--nordic-smart .rcew-spb-card-button { width: auto; align-self: flex-start; padding-inline: 0; border-bottom: 1px solid currentColor; background: transparent; color: #111827; border-radius: 0; }
.rcew-spb-cards--glass-panel .rcew-spb-product-card { overflow: visible; border: 0; background: transparent; }
.rcew-spb-cards--glass-panel .rcew-spb-card-media { border-radius: 16px; }
.rcew-spb-cards--glass-panel .rcew-spb-card-body { position: relative; z-index: 2; margin: -40px 14px 14px; border: 1px solid rgba(255,255,255,.55); border-radius: 14px; background: rgba(255,255,255,.82); backdrop-filter: blur(14px); box-shadow: 0 16px 30px rgba(15,23,42,.1); }

@media (max-width: 1024px) {
    .rcew-spb-main { grid-template-columns: minmax(0,var(--rcew-spb-left)) minmax(0,calc(100% - var(--rcew-spb-left))); }
    .rcew-spb--vertical-thumbnails .woocommerce-product-gallery { grid-template-columns: 64px minmax(0,1fr); }
}
@media (max-width: 767px) {
    .rcew-spb-main { grid-template-columns: minmax(0,1fr) !important; row-gap: 30px; }
    .rcew-spb-column--right { position: static !important; }
    .rcew-spb-full { margin-top: 38px; }
    .rcew-spb--vertical-thumbnails .woocommerce-product-gallery { display: block; }
    .rcew-spb--vertical-thumbnails .woocommerce-product-gallery .flex-control-thumbs { flex-direction: row; margin-top: var(--rcew-spb-thumb-gap); max-height: none; overflow-x: auto; }
    .rcew-spb--gallery-grid .woocommerce-product-gallery__wrapper { grid-template-columns: minmax(0,1fr); }
    .rcew-spb-element--add_to_cart .woocommerce-variation-add-to-cart,
    .rcew-spb-element--add_to_cart form.cart:not(.variations_form):not(.grouped_form) { align-items: stretch; }
    .rcew-spb-element--add_to_cart .quantity { flex: 0 0 86px; }
    .rcew-spb-element--add_to_cart .single_add_to_cart_button { flex: 1 1 auto; }
    .rcew-spb-cards--horizontal-card .rcew-spb-product-card { grid-template-columns: 38% minmax(0,1fr); }
    .rcew-spb-cards--horizontal-card .rcew-spb-card-image img { min-height: 190px; }
}
.rcew-spb-card-view svg { display: block; width: 1em; height: 1em; fill: currentColor; }
