PluginProbe
ShopBuilder – WooCommerce Builder For Elementor / 2.6.0
ShopBuilder – WooCommerce Builder For Elementor v2.6.0
3.4.2 3.4.1 3.4.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 All 63 releases
← All changes | app/Elementor/Helper/ControlSelectors.php +94 -175 3.4.22.6.0 View file →
@@ -9,9 +9,8 @@
9 9 */
10 10
11 11 namespace RadiusTheme\SB\Elementor\Helper;
12 12
13 -use RadiusTheme\SB\Elementor\Widgets\Archive\ProductFilters;
14 13 use RadiusTheme\SB\Elementor\Widgets\General\{AdvancedHeading,
15 14 DropCaps,
16 15 ShopBuilderButton,
17 16 CallToAction,
@@ -282,9 +281,9 @@
282 281 'arrows_border_color' => '{{WRAPPER}} .rtsb-carousel-slider .rtsb-slider-btn',
283 282 'arrows_hover_color' => '{{WRAPPER}} .rtsb-carousel-slider .rtsb-slider-btn:hover',
284 283 'arrows_hover_bg_color' => '{{WRAPPER}} .rtsb-carousel-slider .rtsb-slider-btn:hover',
285 284 'arrows_hover_border_color' => '{{WRAPPER}} .rtsb-carousel-slider .rtsb-slider-btn:hover',
286 - 'dots_gap' => '{{WRAPPER}} .rtsb-slider-pagination .swiper-pagination-bullet',
285 + 'dots_gap' => '{{WRAPPER}} .rtsb-carousel-slider .swiper-wrapper',
287 286 'dots_size' => '{{WRAPPER}} .rtsb-slider-pagination .swiper-pagination-bullet',
288 287 'dot_color' => '{{WRAPPER}} .rtsb-slider-pagination .swiper-pagination-bullet',
289 288 'dot_active_color' => '{{WRAPPER}} .rtsb-slider-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active',
290 289 // Pagination.
@@ -327,9 +326,9 @@
327 326 */
328 327 private static function general_widget_selectors(): array {
329 328 $selectors = [
330 329 'rtsb-product-breadcrumbs' => [
331 - 'breadcrumbs_align' => '{{WRAPPER}} .rtsb-breadcrumb .woocommerce-breadcrumb',
330 + 'breadcrumbs_align' => '{{WRAPPER}} .rtsb-breadcrumb',
332 331 'text_color' => '{{WRAPPER}} .rtsb-breadcrumb .woocommerce-breadcrumb',
333 332 'link_color' => '{{WRAPPER}} .rtsb-breadcrumb .woocommerce-breadcrumb a',
334 333 'link_hover_color' => '{{WRAPPER}} .rtsb-breadcrumb .woocommerce-breadcrumb a:hover',
335 334 'item_spacing' => '{{WRAPPER}} .rtsb-breadcrumb .woocommerce-breadcrumb .breadcrumb-separator',
@@ -426,14 +425,14 @@
426 425 'table_header_typo' => '{{WRAPPER}} .rtsb-wishlist-content table thead th',
427 426 'table_header_align' => '{{WRAPPER}} .rtsb-wishlist-content table thead th',
428 427 'table_header_color' => '{{WRAPPER}} .rtsb-wishlist-content table thead th',
429 428 'table_header_bg_color' => '{{WRAPPER}} .rtsb-wishlist-content table thead th',
430 - 'table_item_typo' => '{{WRAPPER}} .rtsb-wishlist-content table td,{{WRAPPER}} .rtsb-wishlist-content table td a,{{WRAPPER}} .rtsb-wishlist-content table td .rtsb-partial-pay-avail-note span,{{WRAPPER}} .rtsb-wishlist-content table td .rtsb-bis-out-of-stock-message,{{WRAPPER}} .rtsb-wishlist-content table td .rtsb-bis-out-of-stock-details-message,{{WRAPPER}} .rtsb-wishlist-content table td .rtsb-bis-privacy-checkbox label span',
429 + 'table_item_typo' => '{{WRAPPER}} .rtsb-wishlist-content table td,{{WRAPPER}} .rtsb-wishlist-content table td a',
431 430 'table_item_align' => '{{WRAPPER}} .rtsb-wishlist-content table td',
432 - 'table_item_color' => '{{WRAPPER}} .rtsb-wishlist-content table td,{{WRAPPER}} .rtsb-wishlist-content table td a,{{WRAPPER}} .rtsb-wishlist-content table td .rtsb-partial-pay-avail-note span,{{WRAPPER}} .rtsb-wishlist-content table td .rtsb-bis-out-of-stock-message,{{WRAPPER}} .rtsb-wishlist-content table td .rtsb-bis-out-of-stock-details-message,{{WRAPPER}} .rtsb-wishlist-content table td .rtsb-bis-privacy-checkbox label span',
431 + 'table_item_color' => '{{WRAPPER}} .rtsb-wishlist-content table td,{{WRAPPER}} .rtsb-wishlist-content table td a',
433 432 'table_item_bg_color' => '{{WRAPPER}} .rtsb-wishlist-content table td',
434 - 'column_width' => '{{WRAPPER}} .rtsb-wishlist-content table thead th,{{WRAPPER}} .rtsb-wishlist-content table tbody td',
435 - 'table_item_text_decoration' => '{{WRAPPER}} .rtsb-wishlist-content table td, {{WRAPPER}} .rtsb-wishlist-content table td a, {{WRAPPER}} .rtsb-wishlist-content table td a span, {{WRAPPER}} .rtsb-wishlist-content table td .rtsb-partial-pay-avail-note span, {{WRAPPER}} .rtsb-wishlist-content table td .rtsb-bis-out-of-stock-message, {{WRAPPER}} .rtsb-wishlist-content table td .rtsb-bis-out-of-stock-details-message, {{WRAPPER}} .rtsb-wishlist-content table td .rtsb-bis-privacy-checkbox label span',
433 + 'header_cell_width' => '{{WRAPPER}} .rtsb-wishlist-content table thead th',
434 + 'item_cell_width' => '{{WRAPPER}} .rtsb-wishlist-content table tbody td',
436 435 ],
437 436 'rtsb-advanced-heading' => AdvancedHeading\Selectors::get_selectors(),
438 437 'rtsb-dropcaps' => DropCaps\Selectors::get_selectors(),
439 438 'rtsb-shopbuilder-button' => ShopBuilderButton\Selectors::get_selectors(),
@@ -461,18 +460,8 @@
461 460 *
462 461 * @return array
463 462 */
464 463 private static function product_widget_selectors(): array {
465 - // Swatch size belongs to the Variation Swatches plugin once it is active: it
466 - // prints its own Color & Image width/height rule, which this widget's size
467 - // controls would outrank (element-scoped Elementor CSS, and these controls
468 - // carry a default so they always print). Dropping the plugin's terms from
469 - // the size selectors leaves that setting in charge, while the controls keep
470 - // sizing ShopBuilder's own markup — the dropdowns and the built-in module.
471 - $swatch_size_target = defined( 'RTWPVS_VERSION' )
472 - ? ''
473 - : '.rtwpvs {{WRAPPER}} .rtwpvs-terms-wrapper .rtwpvs-term:not(.rtwpvs-radio-term), ';
474 -
475 464 $selectors = [
476 465 'rtsb-related-product' => array_merge(
477 466 self::products_loop_default_selector(),
478 467 self::carousel_selector(),
@@ -545,14 +534,9 @@
545 534 'rtsb-product-additional-info' => [
546 535 'heading_typography' => '{{WRAPPER}} .rtsb-product-additional-information h2',
547 536 'heading_color' => '{{WRAPPER}} .rtsb-product-additional-information h2',
548 537 'heading_margin' => '{{WRAPPER}} .rtsb-product-additional-information h2',
549 - // Target the label + value cells (and the value's <p>) directly, by their WooCommerce
550 - // classes, so Content Typography (font-weight, text-transform, …) reliably overrides the
551 - // theme's higher-specificity `.woocommerce-js table.shop_attributes th` (0,2,2) rule and
552 - // applies UNIFORMLY. Styling only `.shop_attributes` (the table) let the theme's direct
553 - // th/cell rules win the cascade, so labels and values ended up styled inconsistently.
554 - 'content_typography' => '{{WRAPPER}} .shop_attributes th.woocommerce-product-attributes-item__label, {{WRAPPER}} .shop_attributes td.woocommerce-product-attributes-item__value, {{WRAPPER}} .shop_attributes td.woocommerce-product-attributes-item__value p',
538 + 'content_typography' => '{{WRAPPER}} .shop_attributes',
555 539 'content_color' => '{{WRAPPER}} .shop_attributes',
556 540 'content_border' => '{{WRAPPER}} .shop_attributes td, {{WRAPPER}} .shop_attributes th',
557 541 'content_padding' => '{{WRAPPER}} .shop_attributes td, {{WRAPPER}} .shop_attributes th',
558 542 ],
@@ -601,30 +585,23 @@
601 585 'qunatity_padding' => '{{WRAPPER}} .rtsb-product-add-to-cart .quantity input',
602 586 'quantity_wrapper_background_color' => '{{WRAPPER}} .rtsb-product-add-to-cart .quantity .rtsb-quantity-box-group',
603 587 'qunatity_wrapper_padding' => '{{WRAPPER}} .rtsb-product-add-to-cart .quantity .rtsb-quantity-box-group',
604 588 'quantity_wrapper_radius' => '{{WRAPPER}} .rtsb-product-add-to-cart .quantity .rtsb-quantity-box-group',
605 - 'variation_padding' => '{{WRAPPER}} .rtsb-product-add-to-cart .variations select, .rtwpvs {{WRAPPER}} .rtwpvs-terms-wrapper .rtwpvs-term:not(.rtwpvs-radio-term).rtwpvs-button-term, {{WRAPPER}} .rtsb-product-add-to-cart .rtsb-terms-wrapper .rtsb-term:not(.rtsb-radio-term).rtsb-button-term',
589 + 'variation_padding' => '{{WRAPPER}} .rtsb-product-add-to-cart .variations select, .rtwpvs {{WRAPPER}} .rtwpvs-terms-wrapper .rtwpvs-term:not(.rtwpvs-radio-term).rtwpvs-button-term',
606 590 'variation_label_margin' => '{{WRAPPER}} .rtsb-product-add-to-cart table.variations tr .label label',
607 591 'variation_item_margin' => '{{WRAPPER}} .rtsb-product-add-to-cart table.variations tr:not(:last-child) .value',
608 - 'variation_border' => '{{WRAPPER}} .rtsb-product-add-to-cart .variations select, {{WRAPPER}} .rtsb-product-add-to-cart .rtsb-terms-wrapper .rtsb-term:not(.rtsb-radio-term)',
592 + 'variation_border' => '{{WRAPPER}} .rtsb-product-add-to-cart .variations select',
609 593 'price_typography' => '.single-product {{WRAPPER}} .single_variation .price',
610 594 'price_color' => '.single-product {{WRAPPER}} .single_variation :is(.price, .price .amount, .price ins)',
611 595 'price_margin' => '.single-product {{WRAPPER}} .single_variation :is(.price, .price .amount, .price ins)',
612 - 'variation_height' => $swatch_size_target . '{{WRAPPER}} .rtsb-product-add-to-cart .variations select, {{WRAPPER}} .rtsb-product-add-to-cart .rtsb-terms-wrapper .rtsb-term:not(.rtsb-radio-term)',
613 - 'variation_width' => $swatch_size_target . '{{WRAPPER}} .rtsb-product-add-to-cart .variations select, {{WRAPPER}} .rtsb-product-add-to-cart .rtsb-terms-wrapper .rtsb-term:not(.rtsb-radio-term)',
614 - 'variation_border_radius' => '.rtwpvs {{WRAPPER}} .rtwpvs-terms-wrapper .rtwpvs-term:not(.rtwpvs-radio-term), {{WRAPPER}} .rtsb-product-add-to-cart .variations select, {{WRAPPER}} .rtsb-product-add-to-cart .rtsb-terms-wrapper .rtsb-term:not(.rtsb-radio-term)',
596 + 'variation_height' => '.rtwpvs {{WRAPPER}} .rtwpvs-terms-wrapper .rtwpvs-term:not(.rtwpvs-radio-term), {{WRAPPER}} .rtsb-product-add-to-cart .variations select',
597 + 'variation_width' => '.rtwpvs {{WRAPPER}} .rtwpvs-terms-wrapper .rtwpvs-term:not(.rtwpvs-radio-term), {{WRAPPER}} .rtsb-product-add-to-cart .variations select',
598 + 'variation_border_radius' => '.rtwpvs {{WRAPPER}} .rtwpvs-terms-wrapper .rtwpvs-term:not(.rtwpvs-radio-term), {{WRAPPER}} .rtsb-product-add-to-cart .variations select',
615 599 'variation_label_typography' => '{{WRAPPER}} .rtsb-product-add-to-cart table.variations tr .label label',
616 600 'variation_stock_typography' => '{{WRAPPER}} .rtsb-product-add-to-cart .woocommerce-variation-availability .stock',
617 601 'variation_label_color' => '{{WRAPPER}} .rtsb-product-add-to-cart table.variations tr .label label',
618 602 'variation_stock_color' => '{{WRAPPER}} .rtsb-product-add-to-cart .woocommerce-variation-availability .stock',
619 603 'variation_outofstock_color' => '{{WRAPPER}} .rtsb-product-add-to-cart .woocommerce-variation-availability .stock.out-of-stock',
620 - 'variation_swatch_border_color' => '{{WRAPPER}} .rtsb-product-add-to-cart',
621 - 'variation_swatch_selected_color' => '{{WRAPPER}} .rtsb-product-add-to-cart',
622 - 'variation_checkmark_bg_color' => '{{WRAPPER}} .rtsb-product-add-to-cart',
623 - 'variation_checkmark_size' => '{{WRAPPER}} .rtsb-product-add-to-cart',
624 - 'variation_checkmark_icon_size' => '{{WRAPPER}} .rtsb-product-add-to-cart',
625 - 'variation_clear_margin' => '{{WRAPPER}} .rtsb-product-add-to-cart .reset_variations',
626 - 'variation_clear_padding' => '{{WRAPPER}} .rtsb-product-add-to-cart .reset_variations',
627 604
628 605 ],
629 606 'rtsb-product-categories' => [
630 607 'align' => '{{WRAPPER}} .rtsb-product-categories',
@@ -650,14 +627,19 @@
650 627 ],
651 628
652 629 'rtsb-product-image' => [
653 630 'image_width' => '{{WRAPPER}} .rtsb-product-images .woocommerce-product-gallery__image a > img',
654 - 'image_border' => '{{WRAPPER}} .rtwpvg-wrapper .rtwpvg-slider-wrapper,{{WRAPPER}} .rtsb-product-images .woocommerce-product-gallery__image, {{WRAPPER}} .rtsb-product-images .product-vg-gallery',
655 631 'image_border_radius' => '{{WRAPPER}} .rtsb-product-images .woocommerce-product-gallery__image',
656 632 'gallery_thumbs_column' => '{{WRAPPER}} div.images .flex-control-thumbs li',
657 - 'thumb_border' => '{{WRAPPER}} .rtsb-vg-main-slider-wrapper .rtsb-vs-thumb-item, {{WRAPPER}} .rtsb-product-images div.images .flex-control-thumbs li img, {{WRAPPER}} .rtsb-product-images .rtwpvg-thumbnail-wrapper .rtwpvg-thumbnail-slider .rtwpvg-thumbnail-image, {{WRAPPER}} .rtsb-product-images .rtwpvg-grid-wrapper .rtwpvg-grid-layout .rtwpvg-gallery-image',
658 - 'thumbs_border_radius' => '{{WRAPPER}} .rtsb-vg-main-slider-wrapper :is(.rtsb-vs-thumb-item, .rtsb-vs-thumb-item img), {{WRAPPER}} .rtsb-product-images div.images .flex-control-thumbs li img, {{WRAPPER}} .rtsb-product-images .rtwpvg-thumbnail-wrapper .rtwpvg-thumbnail-slider :is(.rtwpvg-thumbnail-image, img), {{WRAPPER}} .rtsb-product-images .rtwpvg-grid-wrapper .rtwpvg-grid-layout :is(.rtwpvg-gallery-image, img)',
659 - 'gallery_thumbs_padding' => '{{WRAPPER}} .rtsb-vg-main-slider-wrapper .rtsb-vs-thumb-item, {{WRAPPER}} .rtsb-product-images div.images .flex-control-thumbs li img, {{WRAPPER}} .rtsb-product-images .rtwpvg-thumbnail-wrapper .rtwpvg-thumbnail-slider .rtwpvg-thumbnail-image, {{WRAPPER}} .rtsb-product-images .rtwpvg-grid-wrapper .rtwpvg-grid-layout .rtwpvg-gallery-image',
633 + // 'gallery_thumbs_column_gap' => '{{WRAPPER}} div.images .flex-control-thumbs',
634 + // 'gallery_image_gap_with_main' => [
635 + // 'margin-top' => '{{WRAPPER}} div.images .flex-control-thumbs',
636 + // 'rtwpvg-thumb-mb' => '{{WRAPPER}} .rtsb-product-images .rtwpvg-has-product-thumbnail .rtwpvg-thumbnail-position-bottom .rtwpvg-slider-wrapper',
637 + // 'rtwpvg-thumb-ml' => '{{WRAPPER}} .rtsb-product-images .rtwpvg-has-product-thumbnail .rtwpvg-thumbnail-position-left .rtwpvg-slider-wrapper',
638 + // 'rtwpvg-thumb-mr' => '{{WRAPPER}} .rtsb-product-images .rtwpvg-has-product-thumbnail .rtwpvg-thumbnail-position-right .rtwpvg-slider-wrapper',
639 + // ],
640 + 'thumb_border' => '{{WRAPPER}} .rtsb-product-images div.images .flex-control-thumbs li img, {{WRAPPER}} .rtsb-product-images .rtwpvg-thumbnail-image img, {{WRAPPER}} .rtsb-product-images .rtwpvg-grid-layout .rtwpvg-gallery-image',
641 + 'thumbs_border_radius' => '{{WRAPPER}} .rtsb-product-images div.images .flex-control-thumbs li img, {{WRAPPER}} .rtsb-product-images :is( .rtwpvg-thumbnail-image, img), {{WRAPPER}} .rtsb-product-images .rtwpvg-grid-layout .rtwpvg-gallery-image',
660 642 'flash_sale_typography' => '{{WRAPPER}} .rtsb-product-images .onsale',
661 643 'product_flash_sale_color' => '{{WRAPPER}} .rtsb-product-images .onsale',
662 644 'flash_sale_bg_color' => '{{WRAPPER}} .rtsb-product-images .onsale',
663 645 'flash_sale_badge_width' => '{{WRAPPER}} .rtsb-product-images .onsale',
@@ -688,13 +670,12 @@
688 670 ],
689 671 'rtsb-product-meta' => [
690 672 'meta_layout' => '{{WRAPPER}} .rtsb-product-meta .product_meta',
691 673 'align' => '{{WRAPPER}} .product_meta',
692 - 'row_gap' => '{{WRAPPER}} .rtsb-product-meta .product_meta',
693 - 'column_gap' => '{{WRAPPER}} .rtsb-product-meta .product_meta',
674 + 'gap' => '{{WRAPPER}} .rtsb-product-meta .product_meta',
694 675 'meta_padding' => '{{WRAPPER}} .rtsb-product-meta .product_meta :is(.sku_wrapper, .posted_in, .tagged_as)',
695 - 'label_typo' => '{{WRAPPER}} .rtsb-product-meta .product_meta .rtsb-meta-label',
696 - 'meta_label_color' => '{{WRAPPER}} .rtsb-product-meta .product_meta .rtsb-meta-label',
676 + 'label_typo' => '{{WRAPPER}} .rtsb-product-meta .product_meta :is(.sku_wrapper, .posted_in, .tagged_as)',
677 + 'meta_label_color' => '{{WRAPPER}} .rtsb-product-meta .product_meta :is(.sku_wrapper, .posted_in, .tagged_as)',
697 678 'value_typo' => '{{WRAPPER}} .rtsb-product-meta .product_meta :is(.sku, .posted_in a, .tagged_as a)',
698 679 'meta_value_color' => '{{WRAPPER}} .rtsb-product-meta .product_meta :is(.sku, .posted_in a, .tagged_as a)',
699 680 'meta_value_hover_color' => '{{WRAPPER}} .rtsb-product-meta .product_meta :is(.posted_in a, .tagged_as a):hover',
700 681 ],
@@ -732,20 +713,20 @@
732 713 'meta_value_color' => '{{WRAPPER}} .rtsb-product-sku .sku-value',
733 714 'meta_value_hover_color' => '{{WRAPPER}} .rtsb-product-sku .sku-value:hover',
734 715 ],
735 716 'rtsb-product-stock' => [
736 - 'stock_text_typography' => '{{WRAPPER}} .rtsb-product-stock .stock .rtsb-stock-text',
737 - 'in_stock_color' => '{{WRAPPER}} .rtsb-product-stock .stock.in-stock .rtsb-stock-text',
738 - 'outof_stock_color' => '{{WRAPPER}} .rtsb-product-stock .stock.out-of-stock .rtsb-stock-text',
739 - 'backorder_stock_color' => '{{WRAPPER}} .rtsb-product-stock .stock.available-on-backorder .rtsb-stock-text',
717 + 'stock_text_typography' => '{{WRAPPER}} .rtsb-product-stock .stock',
718 + 'in_stock_color' => '{{WRAPPER}} .rtsb-product-stock .stock.in-stock',
719 + 'outof_stock_color' => '{{WRAPPER}} .rtsb-product-stock .stock.out-of-stock',
720 + 'backorder_stock_color' => '{{WRAPPER}} .rtsb-product-stock .stock.available-on-backorder',
740 721 'icon_size' => [
741 722 'icon' => '{{WRAPPER}} .rtsb-product-stock .stock i',
742 723 'svg' => '{{WRAPPER}} .rtsb-product-stock .stock svg',
743 724 ],
744 - 'icon_gap' => '{{WRAPPER}} .rtsb-product-stock .stock :is(i, svg)',
745 - 'stock_alignment' => '{{WRAPPER}} .rtsb-product-stock > .stock',
746 - 'stock_padding' => '{{WRAPPER}} .rtsb-product-stock > .stock',
747 - 'stock_margin' => '{{WRAPPER}} .rtsb-product-stock > .stock',
725 + 'icon_gap' => '{{WRAPPER}} .rtsb-product-stock .stock i',
726 + 'stock_alignment' => '{{WRAPPER}} .rtsb-product-stock p',
727 + 'stock_padding' => '{{WRAPPER}} .rtsb-product-stock p',
728 + 'stock_margin' => '{{WRAPPER}} .rtsb-product-stock p',
748 729 ],
749 730 'rtsb-product-tabs' => array_merge(
750 731 self::reviews_settings_selecotor(),
751 732 [
@@ -770,9 +751,9 @@
770 751 'tab_title_typography' => '.rtsb-builder-content {{WRAPPER}} .rtsb-product-tabs .woocommerce-tabs .wc-tab h2',
771 752 'tab_title_gap' => '.rtsb-builder-content {{WRAPPER}} .rtsb-product-tabs .woocommerce-tabs .wc-tab h2',
772 753 'tab_content_title_color' => '.rtsb-builder-content {{WRAPPER}} .rtsb-product-tabs .woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child, {{WRAPPER}} .rtsb-product-tabs .woocommerce-tabs .woocommerce-Tabs-panel .woocommerce-Reviews-title',
773 754
774 - 'additional_info_typography' => '.rtsb-builder-content {{WRAPPER}} .rtsb-product-tabs .woocommerce-tabs .wc-tab .shop_attributes :is(th, td, td p)',
755 + 'additional_info_typography' => '.rtsb-builder-content {{WRAPPER}} .rtsb-product-tabs .woocommerce-tabs .wc-tab .shop_attributes',
775 756 'attributes_gap' => '.rtsb-builder-content {{WRAPPER}} .rtsb-product-tabs table.shop_attributes td,{{WRAPPER}} .rtsb-product-tabs table.shop_attributes th',
776 757 ]
777 758 ),
778 759 'rtsb-product-title' => [
@@ -790,48 +771,30 @@
790 771 'align' => '{{WRAPPER}}',
791 772 'text_color' => '{{WRAPPER}} :is(.rtsb-short-description , p)',
792 773 'text_shadow' => '{{WRAPPER}} .rtsb-short-description, {{WRAPPER}} .rtsb-short-description p',
793 774 ],
794 - // The widget badge lives inside `{{WRAPPER}} .rtsb-product-onsale`; the Badges
795 - // module also renders group badges on the main product gallery (above-image
796 - // position). Style both from the same controls by pairing the widget selector
797 - // with a gallery-scoped selector for the module group badges. The gallery
798 - // scope (`.woocommerce-product-gallery`/`.rtsb-product-images`) keeps related
799 - // product card badges untouched.
800 775 'rtsb-product-onsale' => [
801 - 'flash_sale_typography' => '{{WRAPPER}} .rtsb-product-onsale :is(.onsale, .rtsb-tag-fill, .rtsb-tag-outline), :is(.woocommerce-product-gallery, .rtsb-product-images) .rtsb-badge-group-style :is(.rtsb-tag-fill, .rtsb-tag-outline)',
802 - 'product_flash_sale_color' => '{{WRAPPER}} .rtsb-product-onsale :is(.onsale, .rtsb-tag-fill, .rtsb-tag-outline), :is(.woocommerce-product-gallery, .rtsb-product-images) .rtsb-badge-group-style :is(.rtsb-tag-fill, .rtsb-tag-outline)',
803 - 'flash_sale_bg_color' => '{{WRAPPER}} .rtsb-product-onsale :is(.onsale, .rtsb-tag-fill, .rtsb-tag-outline), :is(.woocommerce-product-gallery, .rtsb-product-images) .rtsb-badge-group-style :is(.rtsb-tag-fill, .rtsb-tag-outline)',
804 - 'flash_sale_border_color' => '{{WRAPPER}} .rtsb-product-onsale :is(.onsale, .rtsb-tag-fill, .rtsb-tag-outline), {{WRAPPER}} .rtsb-tag-outline.angle-right::after, :is(.woocommerce-product-gallery, .rtsb-product-images) .rtsb-badge-group-style :is(.rtsb-tag-fill, .rtsb-tag-outline)',
805 - 'flash_sale_badge_width' => '{{WRAPPER}} .rtsb-product-onsale :is(.onsale, .rtsb-tag-fill, .rtsb-tag-outline), :is(.woocommerce-product-gallery, .rtsb-product-images) .rtsb-badge-group-style :is(.rtsb-tag-fill, .rtsb-tag-outline)',
806 - 'flash_sale_badge_height' => '{{WRAPPER}} .rtsb-product-onsale :is(.onsale, .rtsb-tag-fill, .rtsb-tag-outline), :is(.woocommerce-product-gallery, .rtsb-product-images) .rtsb-badge-group-style :is(.rtsb-tag-fill, .rtsb-tag-outline)',
807 - 'flash_sale_badge_border_radius' => '{{WRAPPER}} .rtsb-product-onsale :is(.onsale, .rtsb-tag-fill, .rtsb-tag-outline), :is(.woocommerce-product-gallery, .rtsb-product-images) .rtsb-badge-group-style :is(.rtsb-tag-fill, .rtsb-tag-outline)',
776 + 'flash_sale_typography' => '{{WRAPPER}} .rtsb-product-onsale :is(.onsale, .rtsb-tag-fill, .rtsb-tag-outline)',
777 + 'product_flash_sale_color' => '{{WRAPPER}} .rtsb-product-onsale :is(.onsale, .rtsb-tag-fill, .rtsb-tag-outline)',
778 + 'flash_sale_bg_color' => '{{WRAPPER}} .rtsb-product-onsale :is(.onsale, .rtsb-tag-fill, .rtsb-tag-outline)',
779 + 'flash_sale_border_color' => '{{WRAPPER}} .rtsb-product-onsale :is(.onsale, .rtsb-tag-fill, .rtsb-tag-outline), {{WRAPPER}} .rtsb-tag-outline.angle-right::after',
780 + 'flash_sale_badge_width' => '{{WRAPPER}} .rtsb-product-onsale :is(.onsale, .rtsb-tag-fill, .rtsb-tag-outline)',
781 + 'flash_sale_badge_height' => '{{WRAPPER}} .rtsb-product-onsale :is(.onsale, .rtsb-tag-fill, .rtsb-tag-outline)',
782 + 'flash_sale_badge_border_radius' => '{{WRAPPER}} .rtsb-product-onsale :is(.onsale, .rtsb-tag-fill, .rtsb-tag-outline)',
808 783 'product_badges' => [
809 - // Match BOTH the free wrapper (.rtsb-product-onsale, from
810 - // templates/elementor/single-product/product-badges.php) AND the pro wrapper
811 - // (.rtsb-product-badges-widgets, from the pro template override). Scoping only to
812 - // `.rtsb-product-onsale` made every badge style control (typography/color/bg/
813 - // border/padding/margin) silently no-op on pro sites, where that div is absent.
814 - // `:is()` matches the most specific arg, preserving the original (0,3,0) specificity.
815 - // Padding/margin also target the Badges-module group badges on the product gallery.
816 - 'typography' => '{{WRAPPER}} :is(.rtsb-product-onsale, .rtsb-product-badges-widgets) :is(.rtsb-tag-fill, .rtsb-tag-outline)',
817 - 'color' => '{{WRAPPER}} :is(.rtsb-product-onsale, .rtsb-product-badges-widgets) :is(.rtsb-tag-fill,.rtsb-tag-outline)',
818 - 'bg_color' => '{{WRAPPER}} :is(.rtsb-product-onsale, .rtsb-product-badges-widgets) :is(.rtsb-tag-fill,.rtsb-tag-outline)',
819 - 'border_color' => '{{WRAPPER}} :is(.rtsb-product-onsale, .rtsb-product-badges-widgets) :is(.rtsb-tag-fill,.rtsb-tag-outline),{{WRAPPER}} .rtsb-tag-outline.angle-right::after',
820 - 'border_radius' => '{{WRAPPER}} :is(.rtsb-product-onsale, .rtsb-product-badges-widgets) :is(.rtsb-tag-fill,.rtsb-tag-outline)',
821 - 'padding' => '{{WRAPPER}} :is(.rtsb-product-onsale, .rtsb-product-badges-widgets) :is(.rtsb-tag-fill,.rtsb-tag-outline), :is(.woocommerce-product-gallery, .rtsb-product-images) .rtsb-badge-group-style :is(.rtsb-tag-fill, .rtsb-tag-outline)',
822 - 'margin' => '{{WRAPPER}} :is(.rtsb-product-onsale, .rtsb-product-badges-widgets) :is(.rtsb-tag-fill,.rtsb-tag-outline), :is(.woocommerce-product-gallery, .rtsb-product-images) .rtsb-badge-group-style :is(.rtsb-tag-fill, .rtsb-tag-outline)',
784 + 'typography' => '{{WRAPPER}} .rtsb-product-onsale :is(.rtsb-tag-fill, .rtsb-tag-outline)',
785 + 'color' => '{{WRAPPER}} .rtsb-product-onsale :is(.rtsb-tag-fill,.rtsb-tag-outline)',
786 + 'bg_color' => '{{WRAPPER}} .rtsb-product-onsale :is(.rtsb-tag-fill,.rtsb-tag-outline)',
787 + 'border_color' => '{{WRAPPER}} .rtsb-product-onsale :is(.rtsb-tag-fill,.rtsb-tag-outline),{{WRAPPER}} .rtsb-tag-outline.angle-right::after',
788 + 'border_radius' => '{{WRAPPER}} .rtsb-product-onsale :is(.rtsb-tag-fill,.rtsb-tag-outline)',
789 + 'padding' => '{{WRAPPER}} .rtsb-product-onsale :is(.rtsb-tag-fill,.rtsb-tag-outline)',
790 + 'margin' => '{{WRAPPER}} .rtsb-product-onsale :is(.rtsb-tag-fill,.rtsb-tag-outline)',
823 791 'position_x' => '',
824 792 'position_y' => '',
825 793 ],
826 794 'badges_module' => [
827 - // Compound (no descendant combinator): `.rtsb-badge-group-style` and `.rtsb-promotion`
828 - // are emitted on the SAME element by BadgesFrontEnd::group_badges_html(). The pro
829 - // single-product template drops the outer `.rtsb-promotion` wrapper, so a descendant
830 - // selector matches nothing and the Direction/Alignment controls silently no-op.
831 - 'direction' => '{{WRAPPER}} .rtsb-promotion.rtsb-badge-group-style',
832 - 'alignment' => '{{WRAPPER}} .rtsb-promotion.rtsb-badge-group-style',
833 - 'alignment_wrap' => '{{WRAPPER}} .rtsb-badge-container .rtsb-promotion:not(.rtsb-badge-group-style)',
795 + 'direction' => '{{WRAPPER}} .rtsb-promotion .rtsb-badge-group-style',
796 + 'alignment' => '{{WRAPPER}} .rtsb-promotion .rtsb-badge-group-style',
834 797 ],
835 798 ],
836 799 ];
837 800
@@ -886,8 +849,9 @@
886 849 'mode_button_align' => '{{WRAPPER}}',
887 850 'mode_button_height' => '{{WRAPPER}} .rtsb-archive-view-mode a',
888 851 'mode_button_width' => '{{WRAPPER}} .rtsb-archive-view-mode a',
889 852 'mode_button_gap' => '{{WRAPPER}} .rtsb-archive-view-mode',
853 + 'mode_button_color' => '{{WRAPPER}} .rtsb-archive-view-mode a',
890 854 'mode_button_bg_color' => '{{WRAPPER}} .rtsb-archive-view-mode a',
891 855 'text_color' => '{{WRAPPER}} .rtsb-archive-view-mode a',
892 856 'mode_button_border' => '{{WRAPPER}} .rtsb-archive-view-mode a',
893 857 'mode_button_bg_hover_color' => '{{WRAPPER}} .rtsb-archive-view-mode a:hover,{{WRAPPER}} .rtsb-archive-view-mode a.active',
@@ -897,12 +861,9 @@
897 861 ],
898 862 'rtsb-archive-result-count' => [
899 863 'align' => '{{WRAPPER}}',
900 864 'text_color' => '{{WRAPPER}}',
901 - // Also target the inner <p> (woocommerce_result_count output): text-decoration
902 - // is not inherited and does not draw through the descendant block, so it must
903 - // hit the text element directly. Other typography keeps working via the div.
904 - 'typo' => '{{WRAPPER}} .rtsb-archive-result-count, {{WRAPPER}} .rtsb-archive-result-count .woocommerce-result-count',
865 + 'typo' => '{{WRAPPER}} .rtsb-archive-result-count',
905 866 'text_shadow' => '{{WRAPPER}} .rtsb-archive-result-count',
906 867 ],
907 868 'rtsb-products-ordering' => [
908 869 'typo' => '{{WRAPPER}} .rtsb-archive-catalog-ordering :is( .woocommerce-ordering, select )',
@@ -917,9 +878,8 @@
917 878 'text_hover_color' => '{{WRAPPER}} .rtsb-archive-catalog-ordering .woocommerce-ordering .orderby:hover',
918 879 'orderby_border_hover_color' => '{{WRAPPER}} .rtsb-archive-catalog-ordering .woocommerce-ordering .orderby:hover',
919 880 'orderby_radius' => '{{WRAPPER}} .rtsb-archive-catalog-ordering .woocommerce-ordering .orderby',
920 881 ],
921 - 'rtsb-product-filters' => ProductFilters\Selectors::get_selectors(),
922 882 ];
923 883
924 884 return apply_filters( 'rtsb/elements/elementor/widget/archive/selectors', $selectors );
925 885 }
@@ -956,9 +916,9 @@
956 916 'rtsb-product-cart-totals' => [
957 917 'show_title' => '{{WRAPPER}} .rtsb-cart-totals h2',
958 918 'table_min_width' => '.rtsb-builder-content {{WRAPPER}} .rtsb-table-horizontal-scroll-on-mobile table.shop_table',
959 919 // Title Style.
960 - 'title_align' => '{{WRAPPER}} .rtsb-cart-totals h2',
920 + 'title_align' => '{{WRAPPER}}',
961 921 'title_typo' => '{{WRAPPER}} .rtsb-cart-totals h2',
962 922 'title_color' => '{{WRAPPER}} .rtsb-cart-totals h2',
963 923 'title_text_stroke' => '{{WRAPPER}} .rtsb-cart-totals h2',
964 924 'title_text_shadow' => '{{WRAPPER}} .rtsb-cart-totals h2',
@@ -1012,9 +972,9 @@
1012 972 'coupon_input_width' => '{{WRAPPER}} .woocommerce-cart-form .coupon input',
1013 973 'coupon_padding' => '{{WRAPPER}} .woocommerce-cart-form .coupon input',
1014 974 'coupon_border_radius' => '{{WRAPPER}} .woocommerce-cart-form .coupon input',
1015 975 'coupon_input_border' => '{{WRAPPER}} .woocommerce-cart-form .coupon .input-text',
1016 - 'input_text_color' => '{{WRAPPER}} .woocommerce-cart-form input, {{WRAPPER}} .woocommerce-cart-form input::placeholder',
976 + 'input_text_color' => '{{WRAPPER}} .woocommerce-cart-form input',
1017 977 'input_bg_color' => '{{WRAPPER}} .woocommerce-cart-form input',
1018 978
1019 979 'return_shop_button_typography' => '{{WRAPPER}} .return-to-shop .button',
1020 980 'return_shop_button_height' => '{{WRAPPER}} .return-to-shop .button',
@@ -1046,8 +1006,9 @@
1046 1006 'cart_icon_color' => '{{WRAPPER}} .woocommerce table.shop_table tbody tr td.product-remove a',
1047 1007 'cart_icon_bg_color' => '{{WRAPPER}} .woocommerce table.shop_table tbody tr td.product-remove a',
1048 1008 'cart_icon_hover_color' => '{{WRAPPER}} .woocommerce table.shop_table tbody tr td.product-remove a:hover',
1049 1009 'cart_icon_hover_bg_color' => '{{WRAPPER}} .woocommerce table.shop_table tbody tr td.product-remove a:hover',
1010 + // 'table_content_column_padding' => '{{WRAPPER}} .rtsb-cart-table table.shop_table tr td',
1050 1011 'table_column_header_padding' => '{{WRAPPER}} .woocommerce table.shop_table thead tr th',
1051 1012 'cart_element_alignment' => '#rtsb-builder-content {{WRAPPER}} .woocommerce table.shop_table th, #rtsb-builder-content {{WRAPPER}} .woocommerce table.shop_table td, #rtsb-builder-content {{WRAPPER}} .woocommerce table.shop_table .table-column-wrapper .product-attributes-wrapper .product-attributes li',
1052 1013 'cart_table_border' => '{{WRAPPER}} .woocommerce table.shop_table',
1053 1014
@@ -1078,14 +1039,14 @@
1078 1039 'th' => '{{WRAPPER}} .shop_table.cart tr th',
1079 1040 'td' => '{{WRAPPER}} .shop_table.cart tr td',
1080 1041 ],
1081 1042
1082 - 'clear_cart_button_bg_color' => '{{WRAPPER}} .woocommerce-cart-form .button.rtsb-clear-cart-items',
1083 - 'clear_cart_button_text_color' => '{{WRAPPER}} .woocommerce-cart-form .button.rtsb-clear-cart-items',
1084 - 'clear_cart_button_border_color' => '{{WRAPPER}} .woocommerce-cart-form .button.rtsb-clear-cart-items',
1085 - 'clear_cart_button_bg_color_hover' => '{{WRAPPER}} .woocommerce-cart-form .button.rtsb-clear-cart-items:hover',
1086 - 'clear_cart_button_text_color_hover' => '{{WRAPPER}} .woocommerce-cart-form .button.rtsb-clear-cart-items:hover',
1087 - 'clear_cart_button_border_color_hover' => '{{WRAPPER}} .woocommerce-cart-form .button.rtsb-clear-cart-items:hover',
1043 + 'clear_cart_button_bg_color' => '{{WRAPPER}} .woocommerce-cart-form .rtsb-clear-cart-items',
1044 + 'clear_cart_button_text_color' => '{{WRAPPER}} .woocommerce-cart-form .rtsb-clear-cart-items',
1045 + 'clear_cart_button_border_color' => '{{WRAPPER}} .woocommerce-cart-form .rtsb-clear-cart-items',
1046 + 'clear_cart_button_bg_color_hover' => '{{WRAPPER}} .woocommerce-cart-form .rtsb-clear-cart-items:hover',
1047 + 'clear_cart_button_text_color_hover' => '{{WRAPPER}} .woocommerce-cart-form .rtsb-clear-cart-items:hover',
1048 + 'clear_cart_button_border_color_hover' => '{{WRAPPER}} .woocommerce-cart-form .rtsb-clear-cart-items:hover',
1088 1049
1089 1050 // Table.
1090 1051 'table_row_border' => '.rtsb-builder-content {{WRAPPER}} .rtsb-cart-table table.shop_table :is( thead, tbody ) tr',
1091 1052
@@ -1266,8 +1227,9 @@
1266 1227 'title_text_shadow' => '#rtsb-builder-content {{WRAPPER}} .rtsb-checkout-order-review #order_review_heading',
1267 1228 'title_margin' => '#rtsb-builder-content {{WRAPPER}} .rtsb-checkout-order-review #order_review_heading',
1268 1229 'title_padding' => '#rtsb-builder-content {{WRAPPER}} .rtsb-checkout-order-review #order_review_heading',
1269 1230 'title_border' => '#rtsb-builder-content {{WRAPPER}} .rtsb-checkout-order-review #order_review_heading',
1231 + // Table Settings.
1270 1232 'table_wrapper_border' => '#rtsb-builder-content {{WRAPPER}} #order_review',
1271 1233 'table_wrapper_padding' => '#rtsb-builder-content {{WRAPPER}} #order_review',
1272 1234 'table_wrapper_margin' => '#rtsb-builder-content {{WRAPPER}} #order_review',
1273 1235 'table_border' => '{{WRAPPER}} #order_review table :is( td, th )',
@@ -1274,35 +1236,17 @@
1274 1236 'label_typo' => '{{WRAPPER}} #order_review thead th',
1275 1237 'label_color' => '{{WRAPPER}} #order_review thead th',
1276 1238 'label_bg_color' => '{{WRAPPER}} #order_review thead th',
1277 1239 'label_item_padding' => '{{WRAPPER}} #order_review thead th',
1278 - // Table Body.
1240 + // Table Body
1279 1241 'body_text_typo' => '{{WRAPPER}} #order_review tbody td',
1280 1242 'body_text_color' => '{{WRAPPER}} #order_review tbody td',
1281 1243 'body_item_padding' => '{{WRAPPER}} #order_review tbody td',
1282 1244 'table_body_bg_color' => '{{WRAPPER}} #order_review tbody td',
1283 - // Counter.
1245 + // Counter
1284 1246 'counter_text_color' => '{{WRAPPER}} .product-quantity',
1285 1247 'counter_style' => '{{WRAPPER}} .product-quantity',
1286 - // Quantity selector.
1287 - 'qty_align' => '{{WRAPPER}} .rtsb-order-review-quantity',
1288 - 'qty_wrapper_margin' => '{{WRAPPER}} .rtsb-order-review-quantity',
1289 - 'qty_box_border' => '{{WRAPPER}} .rtsb-order-review-quantity .rtsb-order-qty-group',
1290 - 'qty_box_radius' => '{{WRAPPER}} .rtsb-order-review-quantity .rtsb-order-qty-group',
1291 - 'qty_box_bg_color' => '{{WRAPPER}} .rtsb-order-review-quantity .rtsb-order-qty-group',
1292 - 'qty_box_height' => '{{WRAPPER}} .rtsb-order-review-quantity :is( .rtsb-order-qty-btn, .rtsb-order-qty-input )',
1293 - 'qty_input_width' => '{{WRAPPER}} .rtsb-order-review-quantity .rtsb-order-qty-input',
1294 - 'qty_input_typo' => '{{WRAPPER}} .rtsb-order-review-quantity .rtsb-order-qty-input',
1295 - 'qty_input_color' => '{{WRAPPER}} .rtsb-order-review-quantity .rtsb-order-qty-input',
1296 - 'qty_input_bg_color' => '{{WRAPPER}} .rtsb-order-review-quantity .rtsb-order-qty-input',
1297 - 'qty_input_border_color' => '{{WRAPPER}} .rtsb-order-review-quantity .rtsb-order-qty-input',
1298 - 'qty_btn_width' => '{{WRAPPER}} .rtsb-order-review-quantity .rtsb-order-qty-btn',
1299 - 'qty_icon_size' => '{{WRAPPER}} .rtsb-order-review-quantity .rtsb-order-qty-btn svg',
1300 - 'qty_btn_color' => '{{WRAPPER}} .rtsb-order-review-quantity .rtsb-order-qty-btn',
1301 - 'qty_btn_bg_color' => '{{WRAPPER}} .rtsb-order-review-quantity .rtsb-order-qty-btn',
1302 - 'qty_btn_hover_color' => '{{WRAPPER}} .rtsb-order-review-quantity .rtsb-order-qty-btn:hover',
1303 - 'qty_btn_hover_bg_color' => '{{WRAPPER}} .rtsb-order-review-quantity .rtsb-order-qty-btn:hover',
1304 - // Table Footer.
1248 + // Table Footer
1305 1249 'table_footer_label_typo' => '{{WRAPPER}} #order_review tfoot :is( th, td )',
1306 1250 'table_footer_label_color' => '{{WRAPPER}} #order_review tfoot th',
1307 1251 'table_footer_text_color' => '{{WRAPPER}} #order_review tfoot td',
1308 1252 'table_footer_label_bg_color' => '{{WRAPPER}} #order_review tfoot :is( th, td )',
@@ -1508,14 +1452,15 @@
1508 1452 'slider_layout9' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-slider-layout9',
1509 1453 ],
1510 1454 'image_width' => [
1511 1455 'image' => '{{WRAPPER}} .rtsb-product .rtsb-list-item .rtsb-product-img, {{WRAPPER}} .rtsb-elementor-container .rtsb-list-layout6 .rtsb-content-left',
1456 + // 'content' => '{{WRAPPER}} .rtsb-product .rtsb-list-item .rtsb-product-content',
1512 1457 ],
1513 1458 'v_action_btn_width' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-list-layout3 .rtsb-product .rtsb-action-buttons.after-content',
1514 1459 'image_gap' => '{{WRAPPER}} .rtsb-product .rtsb-list-item,{{WRAPPER}} .rtsb-elementor-container .rtsb-list-layout6 .rtsb-product .rtsb-list-item .rtsb-product-content',
1515 1460 'grid_alignment' => [
1516 1461 'text_align' => '{{WRAPPER}} .rtsb-elementor-container, {{WRAPPER}} .rtsb-elementor-container .rtsb-grid-layout3 .rtsb-product-content, {{WRAPPER}} .rtsb-elementor-container .rtsb-grid-layout4 .rtsb-product-content',
1517 - 'justify_content' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product-category, {{WRAPPER}} .rtsb-elementor-container .rtsb-category-list, {{WRAPPER}} .rtsb-elementor-container .price-wrapper, {{WRAPPER}} .rtsb-elementor-container [class*=list-layout] .rtsb-product-category, {{WRAPPER}} .rtsb-elementor-container .rtwpvs-archive-variation-wrapper, {{WRAPPER}} .rtsb-elementor-container .product-rating, {{WRAPPER}} .rtsb-elementor-container .category-title-with-count, {{WRAPPER}} .rtsb-elementor-container .rtsb-grid-layout3 .rtsb-product-content .rtsb-product-category,{{WRAPPER}} .rtsb-elementor-container .rtsb-grid-layout4 .rtsb-product-content .rtsb-product-category,{{WRAPPER}} .rtsb-grid-layout4 .rtsb-content-footer.show-cart-text .rtsb-action-button-list',
1462 + 'justify_content' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product-category, {{WRAPPER}} .rtsb-elementor-container .rtsb-category-list, {{WRAPPER}} .rtsb-elementor-container .price-wrapper, {{WRAPPER}} .rtsb-elementor-container [class*=list-layout] .rtsb-product-category, {{WRAPPER}} .rtsb-elementor-container .rtwpvs-archive-variation-wrapper, {{WRAPPER}} .rtsb-elementor-container .product-rating, {{WRAPPER}} .rtsb-elementor-container .category-title-with-count, {{WRAPPER}} .rtsb-elementor-container .rtsb-grid-layout3 .rtsb-product-content .rtsb-product-category,{{WRAPPER}} .rtsb-elementor-container .rtsb-grid-layout4 .rtsb-product-content .rtsb-product-category,{{WRAPPER}} .rtsb-grid-layout4 .rtsb-content-footer.has-cart-text .rtsb-action-button-list',
1518 1463 ],
1519 1464 ],
1520 1465 'color_scheme' => [
1521 1466 'primary_color' => '{{WRAPPER}}',
@@ -1528,9 +1473,9 @@
1528 1473 'bg_color' => '{{WRAPPER}} .rtsb-elementor-container [class*=category-single-layout] .rtsb-category-grid .single-category-area .product-count, {{WRAPPER}} .rtsb-elementor-container [class*=rtsb-category-layout] .rtsb-category-grid .category-wrapper .product-count',
1529 1474 'hover_color' => '{{WRAPPER}} .rtsb-elementor-container [class*=category-single-layout] .rtsb-category-grid:hover .single-category-area .product-count, {{WRAPPER}} .rtsb-elementor-container [class*=rtsb-category-layout] .rtsb-category-grid:hover .category-wrapper .product-count',
1530 1475 'hover_bg_color' => '{{WRAPPER}} .rtsb-elementor-container [class*=category-single-layout] .rtsb-category-grid:hover .single-category-area .product-count, {{WRAPPER}} .rtsb-elementor-container [class*=rtsb-category-layout] .rtsb-category-grid:hover .category-wrapper .product-count',
1531 1476 'border' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-category-grid .product-count',
1532 - 'border_hover_color' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-category-grid .product-count:hover',
1477 + 'border_hover_color' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-category-grid:hover .product-count',
1533 1478 'border_radius' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-category-grid .product-count',
1534 1479 'padding' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-category-grid .product-count',
1535 1480 'margin' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-category-grid .product-count',
1536 1481 ],
@@ -1577,11 +1522,10 @@
1577 1522 'content_border_hover_color' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product-content:hover, {{WRAPPER}} .rtsb-elementor-container .rtsb-row:not(.rtsb-category-layout2) .rtsb-category-content:hover, {{WRAPPER}} .rtsb-elementor-container .rtsb-category-layout2 .category-title-with-image:hover',
1578 1523 'content_border_radius' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product-content, {{WRAPPER}} .rtsb-elementor-container .rtsb-row:not(.rtsb-category-layout2) .rtsb-category-content, {{WRAPPER}} .rtsb-elementor-container .rtsb-category-layout2 .category-title-with-image',
1579 1524 ],
1580 1525 'badges_module' => [
1581 - 'direction' => '{{WRAPPER}} .rtsb-promotion .rtsb-badge-group-style',
1582 - 'alignment' => '{{WRAPPER}} .rtsb-promotion .rtsb-badge-group-style',
1583 - 'alignment_wrap' => '{{WRAPPER}} .rtsb-badge-container .rtsb-promotion:not(.rtsb-badge-group-style)',
1526 + 'direction' => '{{WRAPPER}} .rtsb-promotion .rtsb-badge-group-style',
1527 + 'alignment' => '{{WRAPPER}} .rtsb-promotion .rtsb-badge-group-style',
1584 1528 ],
1585 1529 ]
1586 1530 );
1587 1531 }
@@ -1644,16 +1588,12 @@
1644 1588 'typography' => '{{WRAPPER}} .rtsb-elementor-container .product-title',
1645 1589 'alignment' => '{{WRAPPER}} .rtsb-elementor-container .product-title',
1646 1590 'color' => '{{WRAPPER}} .rtsb-elementor-container .product-title',
1647 1591 'bg_color' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product-title-wrapper,{{WRAPPER}} .rtsb-elementor-container .product-title',
1648 - // Layout 2 (grid/slider) reveals a hover button that overlays the title wrapper and captures :hover, so the
1649 - // wrapper's own :hover never fires; the extra `.rtsb-product:hover .product-title-with-btn` clause re-applies the
1650 - // hover text/bg/border color on product-card hover. NOTE: layout 2 fades the title text out on hover, so the
1651 - // hover *text* color is not visibly noticeable there — the wrapper background and border remain visible.
1652 - 'hover_color' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product-title-wrapper:hover .product-title, {{WRAPPER}} .rtsb-elementor-container .rtsb-product:hover .product-title-with-btn .product-title',
1653 - 'hover_bg_color' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product-title-wrapper:hover,{{WRAPPER}} .rtsb-elementor-container .product-title:hover, {{WRAPPER}} .rtsb-elementor-container .rtsb-product:hover .product-title-with-btn .rtsb-product-title-wrapper',
1592 + 'hover_color' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product-title-wrapper:hover .product-title',
1593 + 'hover_bg_color' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product-title-wrapper:hover,{{WRAPPER}} .rtsb-elementor-container .product-title:hover',
1654 1594 'border' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product-title-wrapper',
1655 - 'border_hover_color' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product-title-wrapper:hover, {{WRAPPER}} .rtsb-elementor-container .rtsb-product:hover .product-title-with-btn .rtsb-product-title-wrapper',
1595 + 'border_hover_color' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product-title-wrapper:hover',
1656 1596 'padding' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product-title-wrapper,{{WRAPPER}} .rtsb-elementor-container .product-title',
1657 1597 'margin' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product-title-wrapper,{{WRAPPER}} .rtsb-elementor-container .product-title',
1658 1598 ],
1659 1599 'short_description' => array_fill_keys(
@@ -1670,32 +1610,28 @@
1670 1610 ),
1671 1611 'action_buttons' => [
1672 1612 'action_btn_alignment' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product .rtsb-action-buttons.horizontal-floating-btn .rtsb-action-button-list',
1673 1613 'action_btn_gap' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-action-button-list',
1674 - 'icon_gap' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-action-btn.has-text',
1675 1614 ],
1676 1615 'product_price' => [
1677 - 'typography' => '{{WRAPPER}} .rtsb-elementor-container .price-wrapper .price > .woocommerce-Price-amount, {{WRAPPER}} .rtsb-elementor-container .price-wrapper del',
1678 - 'sale_typography' => '{{WRAPPER}} .rtsb-elementor-container .price-wrapper ins',
1679 - 'regular_text_decoration' => '{{WRAPPER}} .rtsb-elementor-container .price-wrapper .price > .woocommerce-Price-amount, {{WRAPPER}} .rtsb-elementor-container .price-wrapper del',
1680 - 'sale_text_decoration' => '{{WRAPPER}} .rtsb-elementor-container .price-wrapper ins',
1681 - 'alignment' => '{{WRAPPER}} .rtsb-elementor-container .product-price',
1682 - 'color' => '{{WRAPPER}} .rtsb-elementor-container .price-wrapper :is( ins, ins span bdi)',
1683 - 'regular_color' => '{{WRAPPER}} .rtsb-elementor-container .price-wrapper :is( bdi, del bdi), {{WRAPPER}} .rtsb-elementor-container.products .price-wrapper del',
1684 - 'crossed_regular_color' => '{{WRAPPER}} .rtsb-elementor-container .price-wrapper :is(del bdi), {{WRAPPER}} .rtsb-elementor-container.products .price-wrapper del',
1685 - 'border' => '{{WRAPPER}} .rtsb-elementor-container .price-wrapper',
1686 - 'border_hover_color' => '{{WRAPPER}} .rtsb-elementor-container .price-wrapper:hover',
1687 - 'padding' => '{{WRAPPER}} .rtsb-elementor-container .product-price',
1688 - 'margin' => '{{WRAPPER}} .rtsb-elementor-container .product-price',
1616 + 'typography' => '{{WRAPPER}} .rtsb-elementor-container .price-wrapper, {{WRAPPER}} .rtsb-elementor-container .price-wrapper ins .woocommerce-Price-amount, {{WRAPPER}}.elementor-element .rtsb-elementor-container.products .price-wrapper > p',
1617 + 'sale_typography' => '{{WRAPPER}} .rtsb-elementor-container.products .price-wrapper del',
1618 + 'alignment' => '{{WRAPPER}} .rtsb-elementor-container .product-price',
1619 + 'color' => '{{WRAPPER}} .rtsb-elementor-container .price-wrapper :is( ins, ins span bdi)',
1620 + 'regular_color' => '{{WRAPPER}} .rtsb-elementor-container .price-wrapper :is( bdi, del bdi), {{WRAPPER}} .rtsb-elementor-container.products .price-wrapper del',
1621 + 'crossed_regular_color' => '{{WRAPPER}} .rtsb-elementor-container .price-wrapper :is(del bdi), {{WRAPPER}} .rtsb-elementor-container.products .price-wrapper del',
1622 + 'border' => '{{WRAPPER}} .rtsb-elementor-container .price-wrapper',
1623 + 'border_hover_color' => '{{WRAPPER}} .rtsb-elementor-container .price-wrapper:hover',
1624 + 'padding' => '{{WRAPPER}} .rtsb-elementor-container .product-price',
1625 + 'margin' => '{{WRAPPER}} .rtsb-elementor-container .product-price',
1689 1626 ],
1690 1627 'product_rating' => [
1691 - 'typography' => '{{WRAPPER}} .rtsb-elementor-container .star-rating',
1692 - 'alignment' => '{{WRAPPER}} .rtsb-elementor-container .product-rating',
1693 - 'color' => '{{WRAPPER}} .rtsb-elementor-container :is(.star-rating span):before',
1694 - 'bg_color' => '{{WRAPPER}} .rtsb-elementor-container :is(.star-rating):before',
1695 - 'padding' => '{{WRAPPER}} .rtsb-elementor-container .star-rating',
1696 - 'spacing_preset2' => '{{WRAPPER}} .rtsb-elementor-container .product-rating.preset2, {{WRAPPER}} .rtsb-elementor-container .product-rating.preset2 .inner-wrapper',
1697 - 'margin' => '{{WRAPPER}} .rtsb-elementor-container .product-rating',
1628 + 'typography' => '{{WRAPPER}} .rtsb-elementor-container .star-rating',
1629 + 'alignment' => '{{WRAPPER}} .rtsb-elementor-container .product-rating',
1630 + 'color' => '{{WRAPPER}} .rtsb-elementor-container :is(.star-rating span):before',
1631 + 'bg_color' => '{{WRAPPER}} .rtsb-elementor-container :is(.star-rating):before',
1632 + 'padding' => '{{WRAPPER}} .rtsb-elementor-container .star-rating',
1633 + 'margin' => '{{WRAPPER}} .rtsb-elementor-container .product-rating',
1698 1634 ],
1699 1635 'product_categories' => [
1700 1636 'typography' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-category-list li > a',
1701 1637 'alignment' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product-content .rtsb-product-category',
@@ -1709,22 +1645,8 @@
1709 1645 'padding' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-category-list li > a',
1710 1646 'margin' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-category-list li > a',
1711 1647 'wrapper_margin' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product-category',
1712 1648 ],
1713 - 'product_brands' => [
1714 - 'typography' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-brand-list li > a',
1715 - 'alignment' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-product-content .rtsb-brand-category',
1716 - 'color' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-brand-list li > a',
1717 - 'bg_color' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-brand-list li > a',
1718 - 'hover_color' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-brand-list li > a:hover',
1719 - 'hover_bg_color' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-brand-list li > a:hover',
1720 - 'border' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-brand-list li > a',
1721 - 'border_hover_color' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-brand-list li > a:hover',
1722 - 'border_radius' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-brand-list li > a',
1723 - 'padding' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-brand-list li > a',
1724 - 'margin' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-brand-list li > a',
1725 - 'wrapper_margin' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-brand-category',
1726 - ],
1727 1649 'pagination' => [
1728 1650 'typography' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-pagination ul.pagination-list li a, {{WRAPPER}} .rtsb-elementor-container .rtsb-pagination ul.pagination-list li span, {{WRAPPER}} .rtsb-elementor-container .rtsb-pagination-wrap .rtsb-load-more button, {{WRAPPER}} .rtsb-elementor-container .rtsb-archive-pagination-wrap .rtsb-load-more button',
1729 1651 'alignment' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-pagination ul.pagination-list, {{WRAPPER}} .rtsb-elementor-container .rtsb-pagination-wrap, {{WRAPPER}} .rtsb-elementor-container .rtsb-archive-pagination-wrap',
1730 1652 'width' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-pagination ul.pagination-list li a, {{WRAPPER}} .rtsb-elementor-container .rtsb-pagination ul.pagination-list li span, {{WRAPPER}} .rtsb-elementor-container .rtsb-pagination-wrap .rtsb-load-more button, {{WRAPPER}} .rtsb-elementor-container .rtsb-archive-pagination-wrap .rtsb-load-more button',
@@ -1748,8 +1670,12 @@
1748 1670 'icon_size' => [
1749 1671 'font_size' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-cart .rtsb-action-btn .icon',
1750 1672 'width' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-cart .rtsb-action-btn .icon svg',
1751 1673 ],
1674 + 'cart_icon_spacing' => [
1675 + 'margin_left' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-action-button-list .rtsb-cart .rtsb-action-btn.icon-left .icon + .text',
1676 + 'margin_right' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-action-button-list .rtsb-cart .rtsb-action-btn.icon-right .icon + .text',
1677 + ],
1752 1678 'cart_width' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-cart .rtsb-action-btn',
1753 1679 'cart_height' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-cart .rtsb-action-btn',
1754 1680 'color' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-cart .rtsb-action-btn',
1755 1681 'bg_color' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-cart .rtsb-action-btn',
@@ -1814,17 +1740,10 @@
1814 1740 'padding' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-quick-view .rtsb-action-btn',
1815 1741 'margin' => '{{WRAPPER}} .rtsb-elementor-container .rtsb-quick-view .rtsb-action-btn',
1816 1742 ],
1817 1743 'hover_icon_button' => [
1818 - // Include `.text` (the label span): the button is display:inline-flex, so its
1819 - // `.text` child is a flex item and `text-decoration` set on the <a> does NOT
1820 - // propagate to it (the Text Decoration control would silently do nothing).
1821 - // Other typography props inherit fine; decoration must hit `.text` directly.
1822 - 'typography' => '{{WRAPPER}} .rtsb-elementor-container .product-title-with-btn .btn-wrap a, {{WRAPPER}} .rtsb-elementor-container .product-title-with-btn .btn-wrap a .text',
1823 - 'icon_size' => [
1824 - 'font_size' => '{{WRAPPER}} .rtsb-elementor-container .product-title-with-btn .btn-wrap a .icon',
1825 - 'svg' => '{{WRAPPER}} .rtsb-elementor-container .product-title-with-btn .btn-wrap a .icon svg',
1826 - ],
1744 + 'typography' => '{{WRAPPER}} .rtsb-elementor-container .product-title-with-btn .btn-wrap a',
1745 + 'icon_size' => '{{WRAPPER}} .rtsb-elementor-container .product-title-with-btn .btn-wrap a .icon',
1827 1746 'hover_icon_spacing' => '{{WRAPPER}} .rtsb-elementor-container .product-title-with-btn .btn-wrap a .text + .icon',
1828 1747 'color' => '{{WRAPPER}} .rtsb-elementor-container .product-title-with-btn .btn-wrap a',
1829 1748 'bg_color' => '{{WRAPPER}} .rtsb-elementor-container .product-title-with-btn .btn-wrap a',
1830 1749 'icon_color' => '{{WRAPPER}} .rtsb-elementor-container .product-title-with-btn .btn-wrap a .icon',