/**
 * WP EasyCart Elementor: product information widgets ( module product-info, 6.0.2 ).
 *
 * Title, Rating, Description, Short Description, Specifications, Tabs, Reviews, Breadcrumbs, Meta, Related Products and
 * Share Buttons. Colours come from the site kit ( --e-global-color-* ) and the shared WP EasyCart variables ( --wpec-* ), each
 * with a fallback; the widgets' Style controls override them per widget. Loaded only with these widgets.
 *
 * Round 11: a Style control's selector always outweighs the rule here it overrides, whatever order the stylesheets load in:
 * the controls name one class more ( {{WRAPPER}} .wpec-pi-tabs .wpec-pi-tabs__tab ), hover and focus variants of the resets
 * sit in :where() so they weigh no more than the plain rule, and some values come from variables the controls set.
 */

/* Stars: one element masked with five stars; the fill is the exact rating. */
.wpec-pi-stars {
	--wpec-pi-s: var( --wpec-pi-star-size, 18px );
	--wpec-pi-g: var( --wpec-pi-star-gap, 2px );
	--wpec-pi-star-mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.1 6.6 7.1.9-5.2 4.9 1.3 7.1L12 18l-6.3 3.5 1.3-7.1L1.8 9.5l7.1-.9z'/%3E%3C/svg%3E" );
	--wpec-pi-star-outline: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.6l2.6 5.5 6 .8-4.4 4.1 1.1 5.9L12 17l-5.3 2.9 1.1-5.9-4.4-4.1 6-.8z' fill='none' stroke='%23000' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E" );
	position: relative;
	display: inline-block;
	flex: none;
	width: calc( 5 * ( var( --wpec-pi-s ) + var( --wpec-pi-g ) ) );
	height: var( --wpec-pi-s );
	vertical-align: middle;
	background: var( --wpec-pi-star-empty, #d5d5d5 );
	-webkit-mask: var( --wpec-pi-star-mask ) 0 0 / calc( var( --wpec-pi-s ) + var( --wpec-pi-g ) ) var( --wpec-pi-s ) repeat-x;
	mask: var( --wpec-pi-star-mask ) 0 0 / calc( var( --wpec-pi-s ) + var( --wpec-pi-g ) ) var( --wpec-pi-s ) repeat-x;
}
.wpec-pi-stars::before { content: ""; position: absolute; top: 0; bottom: 0; inset-inline-start: 0; width: var( --wpec-pi-fill, 0% ); background: var( --wpec-pi-star, #f5b301 ); }
[dir="rtl"] .wpec-pi-stars { transform: scaleX( -1 ); }
[dir="rtl"] .wpec-pi-stars::before { inset-inline-start: auto; left: 0; }
/* Outlined empty stars: the outline and the fill each carry their own mask. */
.wpec-pi-stars.wpec-pi-stars--outline { background: none; -webkit-mask: none; mask: none; }
.wpec-pi-stars--outline::after { content: ""; position: absolute; inset: 0; background: var( --wpec-pi-star-empty, var( --wpec-pi-star, #f5b301 ) ); -webkit-mask: var( --wpec-pi-star-outline ) 0 0 / calc( var( --wpec-pi-s ) + var( --wpec-pi-g ) ) var( --wpec-pi-s ) repeat-x; mask: var( --wpec-pi-star-outline ) 0 0 / calc( var( --wpec-pi-s ) + var( --wpec-pi-g ) ) var( --wpec-pi-s ) repeat-x; }
.wpec-pi-stars--outline::before { z-index: 1; -webkit-mask: var( --wpec-pi-star-mask ) 0 0 / calc( var( --wpec-pi-s ) + var( --wpec-pi-g ) ) var( --wpec-pi-s ) repeat-x; mask: var( --wpec-pi-star-mask ) 0 0 / calc( var( --wpec-pi-s ) + var( --wpec-pi-g ) ) var( --wpec-pi-s ) repeat-x; }
/* An icon the merchant picked: five copies, the filled row clipped to the rating. */
.wpec-pi-stars.wpec-pi-stars--icon { display: inline-flex; width: auto; height: auto; background: none; -webkit-mask: none; mask: none; font-size: var( --wpec-pi-s ); line-height: 1; }
.wpec-pi-stars--icon::before { content: none; display: none; }
.wpec-pi-stars__row { display: inline-flex; white-space: nowrap; }
.wpec-pi-stars__row--empty { color: var( --wpec-pi-star-empty, #d5d5d5 ); }
.wpec-pi-stars__row--full { position: absolute; top: 0; inset-inline-start: 0; overflow: hidden; width: var( --wpec-pi-fill, 0% ); color: var( --wpec-pi-star, #f5b301 ); }
[dir="rtl"] .wpec-pi-stars__row--full { inset-inline-start: auto; left: 0; }
.wpec-pi-stars__icon { display: inline-flex; flex: none; margin-inline-end: var( --wpec-pi-g ); }
.wpec-pi-stars__icon i, .wpec-pi-stars__icon svg { width: 1em; height: 1em; font-size: inherit; line-height: 1; }
.wpec-pi-stars__icon svg { fill: currentColor; }

/* Icons from Elementor's icon picker. */
.wpec-pi-svg-icon { display: inline-block; width: 1em; height: 1em; vertical-align: -.125em; }

/* Title. */
.wpec-pi-title { margin: 0; }
.wpec-pi-title a { color: inherit; text-decoration: none; }

/* Rating. */
.wpec-pi-rating { display: flex; flex-wrap: wrap; align-items: center; }
.wpec-pi-rating__inner { display: inline-flex; align-items: center; gap: var( --wpec-pi-rating-gap, 8px ); color: inherit; text-decoration: none; }
a.wpec-pi-rating__inner { cursor: pointer; }
a.wpec-pi-rating__inner:hover .wpec-pi-rating__text, a.wpec-pi-rating__inner:focus .wpec-pi-rating__text { text-decoration: underline; }
.wpec-pi-rating__text { display: inline-flex; gap: .35em; font-size: .9em; }
:where( .wpec-pi-rating__average ) { font-weight: 600; }

/* Description, short description, specifications. */
.wpec-pi-description > :last-child, .wpec-pi-short-description > :last-child, .wpec-pi-specifications > :last-child { margin-bottom: 0; }
.wpec-pi-description img, .wpec-pi-specifications img { max-width: 100%; height: auto; }
.wpec-pi-specifications table { width: 100%; border-collapse: collapse; margin: 0 0 1em; }
.wpec-pi-specifications th, .wpec-pi-specifications td { padding: 8px 12px; border: var( --wpec-pi-table-border-w, 1px ) solid var( --wpec-pi-table-border, var( --wpec-border-color, #e2e2e2 ) ); text-align: start; vertical-align: top; background: var( --wpec-pi-table-bg, transparent ); }
/* Round 11: the stripe covers header cells in a row too ( a row that starts with a th was left half striped ). */
.wpec-pi-specifications tr:nth-child( even ) > td, .wpec-pi-specifications tr:nth-child( even ) > th { background: var( --wpec-pi-table-stripe, var( --wpec-pi-table-bg, transparent ) ); }
:where( .wpec-pi-specifications ) th, :where( .wpec-pi-specifications--first-col tr ) > td:first-child { font-weight: 600; }

/* Read more ( Description, Short Description ): folded by CSS from the start, so nothing jumps as the page loads. */
.wpec-pi-collapse__content { position: relative; }
.wpec-pi-collapse.is-collapsed .wpec-pi-collapse__content { max-height: var( --wpec-pi-collapse-h, 200px ); overflow: hidden; }
.wpec-pi-collapse--fade.is-collapsed .wpec-pi-collapse__content::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 3em; pointer-events: none; background: linear-gradient( to bottom, transparent, var( --wpec-pi-collapse-fade, var( --e-global-color-background, #fff ) ) ); }
.wpec-pi-collapse.is-short .wpec-pi-collapse__content { max-height: none; }
.wpec-pi-collapse.is-short .wpec-pi-collapse__content::after, .wpec-pi-collapse.is-short .wpec-pi-collapse__actions { display: none; }
.wpec-pi-collapse__actions { margin-top: .75em; }
.wpec-pi-collapse .wpec-pi-collapse__toggle,
.wpec-pi-collapse .wpec-pi-collapse__toggle:where( :hover, :focus ) { display: inline; margin: 0; padding: 0; min-height: 0; background: none; border: 0; border-radius: 0; box-shadow: none; color: var( --e-global-color-accent, inherit ); font: inherit; font-weight: 600; letter-spacing: inherit; text-decoration: underline; text-transform: none; cursor: pointer; }
.wpec-pi-collapse .wpec-pi-collapse__toggle:focus-visible { outline: 2px solid var( --e-global-color-accent, currentColor ); outline-offset: 2px; }

/* Tabs: layout per device comes from CSS variables the Layout control sets; product-info.js reads --wpec-pi-tabs-mode. */
.wpec-pi-tabs {
	--wpec-pi-tabs-mode: tabs;
	--wpec-pi-tabs-line: var( --wpec-pi-tabs-border, var( --wpec-border-color, #e2e2e2 ) );
	display: flex;
	flex-direction: var( --wpec-pi-tabs-dir, column );
	align-items: stretch;
	width: 100%;
}
.wpec-pi-tabs__list { display: var( --wpec-pi-tabs-list-display, flex ); flex-direction: var( --wpec-pi-tabs-list-dir, row ); flex-wrap: wrap; flex: 0 0 var( --wpec-pi-tabs-list-width, auto ); gap: 0 4px; margin: 0; padding: 0; list-style: none; border-style: solid; border-color: var( --wpec-pi-tabs-line ); border-width: 0; border-block-end-width: var( --wpec-pi-list-line-b, var( --wpec-pi-tabs-list-bb, 1px ) ); border-inline-end-width: var( --wpec-pi-list-line-e, var( --wpec-pi-tabs-list-be, 0px ) ); }
/* Two classes, so themes' list styles never win; the widget's Style controls use three ( .wpec-pi-tabs .wpec-pi-tabs__tab
   after {{WRAPPER}} ), so they always do. */
.wpec-pi-tabs .wpec-pi-tabs__tab { position: relative; display: flex; flex-direction: var( --wpec-pi-tab-dir, row ); align-items: center; gap: var( --wpec-pi-tab-icon-gap, 8px ); margin: 0; padding: 12px 18px; list-style: none; cursor: pointer; color: var( --wpec-muted-color, inherit ); font-weight: 600; line-height: 1.3; background: transparent; border-style: solid; border-color: transparent; border-width: 0; border-block-end-width: var( --wpec-pi-ind-below, var( --wpec-pi-tabs-ind-b, 2px ) ); border-block-start-width: var( --wpec-pi-ind-above, 0px ); border-inline-start-width: var( --wpec-pi-ind-side, var( --wpec-pi-tabs-ind-s, 0px ) ); user-select: none; }
.wpec-pi-tabs .wpec-pi-tabs__tab::before, .wpec-pi-tabs .wpec-pi-tabs__tab::after { display: none; }
.wpec-pi-tabs .wpec-pi-tabs__tab.is-active { color: var( --e-global-color-primary, inherit ); border-color: var( --wpec-pi-tabs-accent, var( --e-global-color-accent, currentColor ) ); }
.wpec-pi-tabs .wpec-pi-tabs__tab:focus-visible { outline: 2px solid var( --wpec-pi-tabs-accent, var( --e-global-color-accent, currentColor ) ); outline-offset: 2px; }
.wpec-pi-tabs__list > li[hidden] { display: none !important; }
/* Tab icons ( round 11 ): before, after or above the name. */
.wpec-pi-tabs__icon { display: inline-flex; flex: none; align-items: center; justify-content: center; order: var( --wpec-pi-tab-icon-order, 0 ); font-size: var( --wpec-pi-tab-icon, 1.1em ); line-height: 1; }
.wpec-pi-tabs__icon i, .wpec-pi-tabs__icon svg { width: 1em; height: 1em; font-size: inherit; line-height: 1; }
.wpec-pi-tabs__icon svg { fill: currentColor; }
.wpec-pi-tabs__label { order: 1; }
/* Boxed and pill tabs ( round 11 ): the tab row's divider goes; each tab is a box or a pill. */
.wpec-pi-tabs--boxed, .wpec-pi-tabs--pills { --wpec-pi-list-line-b: 0px; --wpec-pi-list-line-e: 0px; }
.wpec-pi-tabs--boxed .wpec-pi-tabs__list, .wpec-pi-tabs--pills .wpec-pi-tabs__list { gap: 8px; }
.wpec-pi-tabs--boxed .wpec-pi-tabs__tab { border: 1px solid var( --wpec-pi-tabs-line ); border-radius: var( --wpec-radius, 6px ); }
.wpec-pi-tabs--boxed .wpec-pi-tabs__tab.is-active { border-color: var( --wpec-pi-tabs-accent, var( --e-global-color-accent, currentColor ) ); box-shadow: inset 0 0 0 1px var( --wpec-pi-tabs-accent, var( --e-global-color-accent, currentColor ) ); }
.wpec-pi-tabs--pills .wpec-pi-tabs__tab { border: 0; border-radius: 999px; padding: 8px 18px; }
.wpec-pi-tabs--pills .wpec-pi-tabs__tab.is-active { background: rgba( 0, 0, 0, .07 ); }
@supports ( color: color-mix( in srgb, red 50%, blue ) ) {
	.wpec-pi-tabs--pills .wpec-pi-tabs__tab.is-active { background: color-mix( in srgb, var( --wpec-pi-tabs-accent, var( --e-global-color-accent, #1d1d1d ) ) 14%, transparent ); }
}
.wpec-pi-tabs__panels { flex: 1 1 auto; min-width: 0; }
/* Extension panels before the script adopts them: closed, unless an extension tab opens first ( its own panel shows ). */
.wpec-pi-tabs:not( .wpec-pi-tabs--ext-first ) > .wpec-pi-tabs__panels > div:not( .wpec-pi-tabs__panel ) { display: none; }
.wpec-pi-tabs__panel { display: none; padding: 24px 0; }
.wpec-pi-tabs__panel.is-open { display: block; }
.wpec-pi-tabs__panel:focus-visible { outline: 2px solid var( --wpec-pi-tabs-accent, var( --e-global-color-accent, currentColor ) ); outline-offset: 4px; }
/* Accordion rows: the resets beat themes' button styles; hover and focus never outweigh a Style control. */
.wpec-pi-tabs .wpec-pi-tabs__acc,
.wpec-pi-tabs .wpec-pi-tabs__acc:where( :hover, :focus ) { display: var( --wpec-pi-tabs-acc-display, none ); align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin: 0; padding: 14px 0; min-height: 0; background: none; box-shadow: none; border: 0; border-bottom: 1px solid var( --wpec-pi-tabs-line ); border-radius: 0; color: inherit; font: inherit; font-weight: 600; letter-spacing: inherit; text-align: start; text-transform: none; line-height: 1.3; cursor: pointer; }
.wpec-pi-tabs .wpec-pi-tabs__acc:focus-visible { outline: 2px solid var( --wpec-pi-tabs-accent, var( --e-global-color-accent, currentColor ) ); outline-offset: 2px; }
.wpec-pi-tabs__panel + .wpec-pi-tabs__acc { margin-block-start: var( --wpec-pi-acc-gap, 0px ); }
.wpec-pi-tabs__acc .wpec-pi-tabs__icon { order: var( --wpec-pi-tab-icon-order, 0 ); }
.wpec-pi-tabs__acc-label { flex: 1 1 auto; order: 1; }
.wpec-pi-tabs__acc::after { content: ""; flex: none; order: var( --wpec-pi-acc-marker-order, 3 ); width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate( 45deg ) translateY( -3px ); }
.wpec-pi-tabs__acc[aria-expanded="true"]::after { transform: rotate( -135deg ) translateY( -1px ); }
/* The merchant's own accordion icons ( round 11 ): the arrow goes; one icon turns over, or two swap. */
.wpec-pi-tabs--acc-icons .wpec-pi-tabs__acc::after { content: none; display: none; }
.wpec-pi-tabs__acc-icons[hidden] { display: none !important; }
.wpec-pi-tabs__acc-marker { display: inline-flex; flex: none; align-items: center; order: var( --wpec-pi-acc-marker-order, 3 ); font-size: var( --wpec-pi-acc-icon, 1em ); line-height: 1; color: var( --wpec-pi-acc-icon-color, currentColor ); }
.wpec-pi-tabs__acc[aria-expanded="true"] .wpec-pi-tabs__acc-marker { color: var( --wpec-pi-acc-icon-open-color, var( --wpec-pi-acc-icon-color, currentColor ) ); }
.wpec-pi-tabs__acc-marker .wpec-pi-tabs__acc-icon { display: inline-flex; }
.wpec-pi-tabs__acc-marker i, .wpec-pi-tabs__acc-marker svg { width: 1em; height: 1em; font-size: inherit; line-height: 1; }
.wpec-pi-tabs__acc-marker svg { fill: currentColor; }
.wpec-pi-tabs--acc-swap .wpec-pi-tabs__acc[aria-expanded="true"] .wpec-pi-tabs__acc-icon--closed,
.wpec-pi-tabs--acc-swap .wpec-pi-tabs__acc[aria-expanded="false"] .wpec-pi-tabs__acc-icon--open { display: none; }
.wpec-pi-tabs--acc-icons:not( .wpec-pi-tabs--acc-swap ) .wpec-pi-tabs__acc[aria-expanded="true"] .wpec-pi-tabs__acc-icon--closed { transform: rotate( 180deg ); }
.wpec-pi-tabs--acc-icons:not( .wpec-pi-tabs--acc-swap ) .wpec-pi-tabs__acc[aria-expanded="false"] .wpec-pi-tabs__acc-icon--open { transform: rotate( 180deg ); }
@media ( prefers-reduced-motion: no-preference ) {
	.wpec-pi-tabs__acc::after, .wpec-pi-tabs__acc-icon { transition: transform .2s ease; }
	.wpec-pi-tabs .wpec-pi-tabs__tab, .wpec-pi-tabs .wpec-pi-tabs__acc { transition: color var( --wpec-pi-tabs-transition, .15s ) ease, background-color var( --wpec-pi-tabs-transition, .15s ) ease, border-color var( --wpec-pi-tabs-transition, .15s ) ease; }
	.wpec-pi-tabs--anim-fade .wpec-pi-tabs__panel.is-open { animation: wpec-pi-fade var( --wpec-pi-tabs-anim, 250ms ) ease both; }
	.wpec-pi-tabs--anim-slide .wpec-pi-tabs__panel.is-open { animation: wpec-pi-slide var( --wpec-pi-tabs-anim, 300ms ) ease both; }
}
@keyframes wpec-pi-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes wpec-pi-slide { from { opacity: 0; transform: translateY( 8px ); } to { opacity: 1; transform: none; } }

/* WP EasyCart Tabs draws the area ( "Use the WP EasyCart Tabs design" ): no float or top margin from the product page's area. */
.wpec-pi-tabs-area.ec_details_extra_area { float: none; width: 100%; margin-top: 0; }

/* Reviews. */
.wpec-pi-reviews { --wpec-pi-star-size: 16px; display: flex; flex-direction: column; gap: 24px; }
@media ( min-width: 1025px ) {
	.wpec-pi-reviews { --wpec-pi-reviews-cols: minmax( 0, 3fr ) minmax( 0, 2fr ); }
}
:where( .wpec-pi-reviews__summary ) { display: flex; flex-wrap: wrap; gap: 24px 40px; align-items: center; padding: 20px; border: 1px solid var( --wpec-border-color, #e2e2e2 ); border-radius: var( --wpec-radius, 8px ); }
.wpec-pi-reviews__average { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 150px; }
.wpec-pi-reviews__score { font-size: 40px; font-weight: 700; line-height: 1; }
/* The summary's stars are a quarter larger than the reviews' and follow the widget's Stars › Size. */
.wpec-pi-reviews__average .wpec-pi-stars { --wpec-pi-s: calc( var( --wpec-pi-star-size, 16px ) * 1.25 ); }
:where( .wpec-pi-reviews__based ) { font-size: .875em; color: var( --wpec-muted-color, inherit ); opacity: .85; }
.wpec-pi-reviews__bars { display: flex; flex-direction: column; gap: 4px; flex: 1 1 240px; max-width: 420px; }
.wpec-pi-reviews .wpec-pi-reviews__bar,
.wpec-pi-reviews .wpec-pi-reviews__bar:where( :hover, :focus ) { display: grid; grid-template-columns: 3em minmax( 0, 1fr ) 3em; align-items: center; gap: 10px; width: 100%; margin: 0; padding: 3px 4px; min-height: 0; background: none; border: 0; border-radius: 4px; box-shadow: none; color: inherit; font: inherit; font-size: .875em; line-height: 1.4; text-align: start; text-transform: none; letter-spacing: normal; cursor: default; }
.wpec-pi-reviews button.wpec-pi-reviews__bar:not( [disabled] ) { cursor: pointer; }
.wpec-pi-reviews button.wpec-pi-reviews__bar:not( [disabled] ):hover, .wpec-pi-reviews .wpec-pi-reviews__bar[aria-pressed="true"] { background: rgba( 0, 0, 0, .05 ); }
.wpec-pi-reviews .wpec-pi-reviews__bar[aria-pressed="true"] { font-weight: 700; }
.wpec-pi-reviews .wpec-pi-reviews__bar[disabled] { opacity: .55; }
.wpec-pi-reviews .wpec-pi-reviews__bar:focus-visible { outline: 2px solid var( --wpec-pi-focus, var( --e-global-color-accent, currentColor ) ); outline-offset: 1px; }
.wpec-pi-reviews__bar-label { display: inline-flex; align-items: center; gap: 3px; white-space: nowrap; }
.wpec-pi-reviews__bar-star { display: inline-block; width: 12px; height: 12px; background: var( --wpec-pi-star, #f5b301 ); -webkit-mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.1 6.6 7.1.9-5.2 4.9 1.3 7.1L12 18l-6.3 3.5 1.3-7.1L1.8 9.5l7.1-.9z'/%3E%3C/svg%3E" ) center / contain no-repeat; mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.1 6.6 7.1.9-5.2 4.9 1.3 7.1L12 18l-6.3 3.5 1.3-7.1L1.8 9.5l7.1-.9z'/%3E%3C/svg%3E" ) center / contain no-repeat; }
.wpec-pi-reviews__bar-track { display: block; height: var( --wpec-pi-bar-h, 8px ); overflow: hidden; border-radius: 4px; background: var( --wpec-pi-bar-bg, rgba( 0, 0, 0, .08 ) ); }
.wpec-pi-reviews__bar-fill { display: block; height: 100%; border-radius: 4px; background: var( --wpec-pi-bar, var( --wpec-pi-star, #f5b301 ) ); }
.wpec-pi-reviews__bar-count { text-align: end; opacity: .75; }
.wpec-pi-reviews__body { display: grid; grid-template-columns: var( --wpec-pi-reviews-cols, minmax( 0, 1fr ) ); gap: 32px; align-items: start; }
.wpec-pi-reviews--single .wpec-pi-reviews__body { grid-template-columns: minmax( 0, 1fr ); }
.wpec-pi-reviews__heading { margin: 0 0 16px; font-size: 1.25em; }
.wpec-pi-reviews__filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 16px; font-size: .9em; }
.wpec-pi-reviews__filter[hidden] { display: none; }
.wpec-pi-reviews .wpec-pi-reviews__filter-clear,
.wpec-pi-reviews .wpec-pi-reviews__filter-clear:where( :hover, :focus ) { margin: 0; padding: 0; min-height: 0; background: none; border: 0; box-shadow: none; color: var( --e-global-color-accent, inherit ); font: inherit; text-decoration: underline; text-transform: none; cursor: pointer; }
.wpec-pi-reviews__list { display: flex; flex-direction: column; gap: 16px; margin: 0; padding: 0; list-style: none; }
.wpec-pi-review { margin: 0; padding: 0 0 16px; list-style: none; border-bottom: 1px solid var( --wpec-border-color, #e2e2e2 ); }
.wpec-pi-review[hidden] { display: none; }
/* "Reviews shown at first": the rest stay folded until the script pages them ( without it, "Show more reviews" reloads with all ). */
.wpec-pi-reviews--paged .wpec-pi-review--more { display: none; }
.wpec-pi-reviews__more-wrap { margin-top: 16px; }
.wpec-pi-reviews__more-wrap[hidden] { display: none; }
.wpec-pi-reviews .wpec-pi-reviews__more,
.wpec-pi-reviews .wpec-pi-reviews__more:where( :visited, :focus ) { display: inline-flex; align-items: center; justify-content: center; margin: 0; padding: var( --wpec-pi-more-padding, 10px 20px ); color: var( --wpec-pi-more-color, inherit ); background: var( --wpec-pi-more-bg, transparent ); border: 1px solid var( --wpec-pi-more-border, var( --wpec-border-color, #c9c9c9 ) ); border-radius: var( --wpec-pi-more-radius, var( --wpec-radius, 4px ) ); box-shadow: none; font: inherit; font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer; }
.wpec-pi-reviews .wpec-pi-reviews__more:hover { color: var( --wpec-pi-more-hover-color, var( --wpec-pi-more-color, inherit ) ); background: var( --wpec-pi-more-hover-bg, rgba( 0, 0, 0, .04 ) ); }
.wpec-pi-reviews .wpec-pi-reviews__more:focus-visible { outline: 2px solid var( --wpec-pi-focus, var( --e-global-color-accent, currentColor ) ); outline-offset: 2px; }
.wpec-pi-review__head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 6px; }
:where( .wpec-pi-review__title ) { font-weight: 600; }
.wpec-pi-review__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 8px; font-size: .85em; color: var( --wpec-muted-color, inherit ); }
.wpec-pi-review__meta .ec_review_verified { margin: 0; }
:where( .wpec-pi-review__name ) { font-weight: 600; }
.wpec-pi-review__avatar { display: inline-flex; flex: none; }
.wpec-pi-review__avatar img { display: block; width: var( --wpec-pi-avatar, 40px ); height: var( --wpec-pi-avatar, 40px ); margin: 0; border-radius: var( --wpec-pi-avatar-radius, 50% ); object-fit: cover; }
.wpec-pi-review__text { line-height: 1.6; }
.wpec-pi-reviews__empty { margin: 0; }

/* Review form. */
:where( .wpec-pi-review-form ) { position: relative; padding: 20px; border: 1px solid var( --wpec-border-color, #e2e2e2 ); border-radius: var( --wpec-radius, 8px ); }
.wpec-pi-review-form__title { margin: 0 0 14px; font-size: 1.25em; }
.wpec-pi-review-form__form { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.wpec-pi-review-form__field { display: flex; flex-direction: column; gap: 6px; }
.wpec-pi-review-form__label { display: block; margin: 0; padding: 0; font-weight: 600; font-size: .9em; }
.wpec-pi-review-form .wpec-pi-review-form__input { display: block; box-sizing: border-box; width: 100%; max-width: 100%; margin: 0; padding: 10px 12px; font: inherit; color: inherit; background-color: #fff; border: 1px solid var( --wpec-border-color, #c9c9c9 ); border-radius: var( --wpec-radius, 4px ); box-shadow: none; }
.wpec-pi-review-form .wpec-pi-review-form__textarea { min-height: 120px; resize: vertical; }
.wpec-pi-review-form .wpec-pi-review-form__input:focus { outline: 2px solid var( --wpec-pi-focus, var( --e-global-color-accent, #2271b1 ) ); outline-offset: 0; }
.wpec-pi-rate { margin: 0; padding: 0; border: 0; min-width: 0; }
.wpec-pi-rate__stars { position: relative; display: inline-flex; gap: 4px; }
.wpec-pi-review-form .wpec-pi-rate__input,
.wpec-pi-review-form .wpec-pi-rate__input.ec_product_details_star_on_ele { position: absolute !important; width: 1px !important; height: 1px !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; clip: rect( 0, 0, 0, 0 ) !important; border: 0 !important; opacity: 0; transform: none !important; }
.wpec-pi-rate__star { display: inline-block; width: var( --wpec-pi-rate-size, 28px ); height: var( --wpec-pi-rate-size, 28px ); margin: 0; cursor: pointer; background: var( --wpec-pi-rate-off, var( --wpec-pi-star-empty, #d5d5d5 ) ); -webkit-mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.1 6.6 7.1.9-5.2 4.9 1.3 7.1L12 18l-6.3 3.5 1.3-7.1L1.8 9.5l7.1-.9z'/%3E%3C/svg%3E" ) center / contain no-repeat; mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.1 6.6 7.1.9-5.2 4.9 1.3 7.1L12 18l-6.3 3.5 1.3-7.1L1.8 9.5l7.1-.9z'/%3E%3C/svg%3E" ) center / contain no-repeat; }
.wpec-pi-rate__star.is-on, .wpec-pi-rate__star.is-hover, .wpec-pi-rate__input:checked + .wpec-pi-rate__star { background: var( --wpec-pi-rate-on, var( --wpec-pi-star, #f5b301 ) ); }
.wpec-pi-rate__stars.is-hovering .wpec-pi-rate__star:not( .is-hover ) { background: var( --wpec-pi-rate-off, var( --wpec-pi-star-empty, #d5d5d5 ) ); }
.wpec-pi-rate__input:focus-visible + .wpec-pi-rate__star { outline: 2px solid var( --wpec-pi-focus, var( --e-global-color-accent, #2271b1 ) ); outline-offset: 2px; }
.wpec-pi-review-form__message { display: none; margin: 0 0 12px; padding: 10px 12px; border-radius: var( --wpec-radius, 4px ); font-size: .9em; }
.wpec-pi-review-form__message--error { color: var( --wpec-pi-msg-error, var( --wpec-error-color, #a00 ) ); background: var( --wpec-pi-msg-error-bg, rgba( 170, 0, 0, .06 ) ); border: 1px solid var( --wpec-pi-msg-error, var( --wpec-error-color, #e4b3b3 ) ); }
.wpec-pi-review-form__message--working { background: rgba( 0, 0, 0, .04 ); }
.wpec-pi-review-form__message--success { color: var( --wpec-pi-msg-ok, var( --wpec-success-color, #1b5e20 ) ); background: var( --wpec-pi-msg-ok-bg, #e8f5e9 ); border: 1px solid var( --wpec-pi-msg-ok, #a5d6a7 ); }
.wpec-pi-review-form__done { display: none; }
/* The button's resets beat themes' button styles; hover and focus never outweigh a Style control ( border, shadow, padding ). */
.wpec-pi-review-form .wpec-pi-review-form__button,
.wpec-pi-review-form .wpec-pi-review-form__button:where( :focus ) { display: inline-flex; align-items: center; justify-content: center; margin: 0; padding: 12px 24px; min-height: 0; color: var( --wpec-pi-button-color, var( --wpec-button-color, #fff ) ); background: var( --wpec-pi-button-bg, var( --wpec-button-bg, var( --e-global-color-accent, #1d1d1d ) ) ); border: 0; border-radius: var( --wpec-pi-button-radius, var( --wpec-button-radius, 4px ) ); box-shadow: none; line-height: 1.2; text-decoration: none; cursor: pointer; }
.wpec-pi-review-form .wpec-pi-review-form__button:where( :hover ) { color: var( --wpec-pi-button-hover-color, var( --wpec-button-hover-color, var( --wpec-pi-button-color, var( --wpec-button-color, #fff ) ) ) ); background: var( --wpec-pi-button-hover-bg, var( --wpec-button-hover-bg, var( --wpec-pi-button-bg, var( --wpec-button-bg, var( --e-global-color-accent, #1d1d1d ) ) ) ) ); }
.wpec-pi-review-form .wpec-pi-review-form__button:focus-visible { outline: 2px solid var( --wpec-pi-focus, var( --e-global-color-accent, #2271b1 ) ); outline-offset: 2px; }
.wpec-pi-review-form .wpec-pi-review-form__button[disabled] { opacity: .6; cursor: default; }
.wpec-pi-review-form__signin-note { margin: 0 0 12px; }
.wpec-pi-review-form__notice, .wpec-pi-review-form__banner { margin-bottom: 14px; }
@media ( prefers-reduced-motion: no-preference ) {
	.wpec-pi-review-form .wpec-pi-review-form__button { transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
}

/* Breadcrumbs. */
.wpec-pi-breadcrumbs__list { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin: 0; padding: 0; list-style: none; }
.wpec-pi-breadcrumbs__item { display: inline-flex; align-items: center; margin: 0; padding: 0; list-style: none; }
.wpec-pi-breadcrumbs__item::before, .wpec-pi-breadcrumbs__item::after { display: none; }
.wpec-pi-breadcrumbs__link { color: inherit; text-decoration: none; }
.wpec-pi-breadcrumbs__link:hover, .wpec-pi-breadcrumbs__link:focus { text-decoration: underline; }
.wpec-pi-breadcrumbs__sep { margin-inline: var( --wpec-pi-crumb-gap, 8px ); opacity: .6; }
.wpec-pi-breadcrumbs__current { opacity: .8; }
.wpec-pi-breadcrumbs__icon, .wpec-pi-breadcrumbs__sep--icon { display: inline-flex; align-items: center; font-size: var( --wpec-pi-crumb-icon, 1em ); line-height: 1; }
.wpec-pi-breadcrumbs__icon i, .wpec-pi-breadcrumbs__icon svg, .wpec-pi-breadcrumbs__sep--icon i, .wpec-pi-breadcrumbs__sep--icon svg { width: 1em; height: 1em; font-size: inherit; line-height: 1; }
.wpec-pi-breadcrumbs__icon svg, .wpec-pi-breadcrumbs__sep--icon svg { fill: currentColor; }
.wpec-pi-breadcrumbs__icon + .wpec-pi-breadcrumbs__text { margin-inline-start: .35em; }
.wpec-pi-breadcrumbs__link, .wpec-pi-breadcrumbs__current { align-items: center; }

/* Product meta. */
.wpec-pi-meta { display: block; }
.wpec-pi-meta__item { display: block; margin: 0 0 var( --wpec-pi-meta-gap, 6px ); }
.wpec-pi-meta__item:last-child { margin-bottom: 0; }
.wpec-pi-meta--inline .wpec-pi-meta__item { display: inline-block; margin: 0 var( --wpec-pi-meta-gap, 20px ) 4px 0; margin-inline: 0 var( --wpec-pi-meta-gap, 20px ); }
.wpec-pi-meta--inline .wpec-pi-meta__item:last-child { margin-inline-end: 0; }
.wpec-pi-meta--divided .wpec-pi-meta__item { margin-inline-end: 0; }
.wpec-pi-meta__sep { display: inline-block; margin-inline: calc( var( --wpec-pi-meta-gap, 20px ) / 2 ); opacity: .6; }
:where( .wpec-pi-meta__label ) { font-weight: 600; }
.wpec-pi-meta__value a { text-decoration: none; }
.wpec-pi-meta__value a:hover, .wpec-pi-meta__value a:focus { text-decoration: underline; }
.wpec-pi-meta__icon { display: inline-flex; align-items: center; margin-inline-end: var( --wpec-pi-meta-icon-gap, 6px ); font-size: var( --wpec-pi-meta-icon, 1em ); line-height: 1; vertical-align: -.125em; color: var( --wpec-pi-meta-icon-color, currentColor ); }
.wpec-pi-meta__icon i, .wpec-pi-meta__icon svg { width: 1em; height: 1em; font-size: inherit; line-height: 1; }
.wpec-pi-meta__icon svg { fill: currentColor; }
.wpec-pi-meta__logo { display: inline-block; width: auto; max-width: 100%; height: var( --wpec-pi-meta-logo, 1.6em ); vertical-align: middle; object-fit: contain; }

/* Related products: the store's own cards do the rest. */
.wpec-pi-related__heading { margin: 0 0 20px; }
.wpec-pi-related .ec_product_shortcode { float: none; width: 100%; }
.ec-img-mode-fixed .wpec-pi-related :is( .ec_image_container_none, .ec_image_container_border, .ec_image_container_shadow ) img { object-fit: cover; }

/* Share buttons. */
.wpec-pi-share { --wpec-pi-share-size-used: var( --wpec-pi-share-size, 36px ); display: flex; flex-wrap: wrap; align-items: center; gap: var( --wpec-pi-share-gap, 8px ); }
.wpec-pi-share__label { margin-inline-end: 4px; font-weight: 600; }
.wpec-pi-share .wpec-pi-share__btn,
.wpec-pi-share .wpec-pi-share__btn:where( :hover, :focus ) { --wpec-pi-share-brand: #555; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: var( --wpec-pi-share-size-used ); height: var( --wpec-pi-share-size-used ); margin: 0; padding: 0; color: var( --wpec-pi-share-color, #fff ); background: var( --wpec-pi-share-bg, var( --wpec-pi-share-brand ) ); border: 0; border-radius: 50%; box-shadow: none; font: inherit; font-size: .875em; line-height: 1; text-decoration: none; text-transform: none; letter-spacing: normal; cursor: pointer; }
.wpec-pi-share .wpec-pi-share__btn[hidden] { display: none; }
:where( .wpec-pi-share ) .wpec-pi-share__btn--facebook { --wpec-pi-share-brand: #1877f2; }
:where( .wpec-pi-share ) .wpec-pi-share__btn--x { --wpec-pi-share-brand: #000; }
:where( .wpec-pi-share ) .wpec-pi-share__btn--pinterest { --wpec-pi-share-brand: #e60023; }
:where( .wpec-pi-share ) .wpec-pi-share__btn--linkedin { --wpec-pi-share-brand: #0a66c2; }
:where( .wpec-pi-share ) .wpec-pi-share__btn--email { --wpec-pi-share-brand: #5f6368; }
:where( .wpec-pi-share ) .wpec-pi-share__btn--copy { --wpec-pi-share-brand: #5f6368; }
:where( .wpec-pi-share ) .wpec-pi-share__btn--whatsapp { --wpec-pi-share-brand: #25d366; }
:where( .wpec-pi-share ) .wpec-pi-share__btn--telegram { --wpec-pi-share-brand: #229ed9; }
:where( .wpec-pi-share ) .wpec-pi-share__btn--reddit { --wpec-pi-share-brand: #ff4500; }
:where( .wpec-pi-share ) .wpec-pi-share__btn--threads { --wpec-pi-share-brand: #000; }
:where( .wpec-pi-share ) .wpec-pi-share__btn--bluesky { --wpec-pi-share-brand: #1185fe; }
:where( .wpec-pi-share ) .wpec-pi-share__btn--sms { --wpec-pi-share-brand: #5f6368; }
:where( .wpec-pi-share ) .wpec-pi-share__btn--print { --wpec-pi-share-brand: #5f6368; }
:where( .wpec-pi-share ) .wpec-pi-share__btn--native { --wpec-pi-share-brand: #5f6368; }
.wpec-pi-share--brand .wpec-pi-share__btn:hover, .wpec-pi-share--brand .wpec-pi-share__btn:focus-visible { filter: brightness( .9 ); }
.wpec-pi-share--custom .wpec-pi-share__btn:hover, .wpec-pi-share--custom .wpec-pi-share__btn:focus-visible { color: var( --wpec-pi-share-hover-color, var( --wpec-pi-share-color, #fff ) ); background: var( --wpec-pi-share-hover-bg, var( --wpec-pi-share-bg, var( --wpec-pi-share-brand ) ) ); }
.wpec-pi-share .wpec-pi-share__btn:focus-visible { outline: 2px solid var( --e-global-color-accent, currentColor ); outline-offset: 2px; }
.wpec-pi-share--rounded .wpec-pi-share__btn, .wpec-pi-share--rounded .wpec-pi-share__btn:where( :hover, :focus ) { border-radius: 6px; }
.wpec-pi-share--square .wpec-pi-share__btn, .wpec-pi-share--square .wpec-pi-share__btn:where( :hover, :focus ) { border-radius: 0; }
.wpec-pi-share--view-icon_text .wpec-pi-share__btn, .wpec-pi-share--view-text .wpec-pi-share__btn,
.wpec-pi-share--view-icon_text .wpec-pi-share__btn:where( :hover, :focus ), .wpec-pi-share--view-text .wpec-pi-share__btn:where( :hover, :focus ) { padding: var( --wpec-pi-share-pad, 0 14px ); border-radius: calc( var( --wpec-pi-share-size-used ) / 2 ); }
.wpec-pi-share--view-icon_text.wpec-pi-share--rounded .wpec-pi-share__btn, .wpec-pi-share--view-text.wpec-pi-share--rounded .wpec-pi-share__btn { border-radius: 6px; }
.wpec-pi-share--view-icon_text.wpec-pi-share--square .wpec-pi-share__btn, .wpec-pi-share--view-text.wpec-pi-share--square .wpec-pi-share__btn { border-radius: 0; }
.wpec-pi-share--plain .wpec-pi-share__btn, .wpec-pi-share--plain .wpec-pi-share__btn:where( :hover, :focus ) { min-width: 0; padding: 0 2px; background: transparent; }
.wpec-pi-share--plain.wpec-pi-share--brand .wpec-pi-share__btn { color: var( --wpec-pi-share-brand ); }
.wpec-pi-share--plain.wpec-pi-share--custom .wpec-pi-share__btn { color: var( --wpec-pi-share-color, #777 ); }
.wpec-pi-share--plain.wpec-pi-share--custom .wpec-pi-share__btn:hover, .wpec-pi-share--plain.wpec-pi-share--custom .wpec-pi-share__btn:focus-visible { color: var( --wpec-pi-share-hover-color, var( --wpec-pi-share-color, #333 ) ); background: transparent; }
.wpec-pi-share__icon { display: inline-flex; align-items: center; justify-content: center; font-size: var( --wpec-pi-share-icon, 16px ); line-height: 1; }
.wpec-pi-share__icon i, .wpec-pi-share__icon svg { width: 1em; height: 1em; font-size: inherit; line-height: 1; }
.wpec-pi-share__icon svg { fill: currentColor; }
.wpec-pi-share__btn.is-copied { filter: none; outline: 2px solid var( --wpec-success-color, #1b5e20 ); outline-offset: 2px; }
@media ( prefers-reduced-motion: no-preference ) {
	.wpec-pi-share__btn { transition: filter .15s ease, background-color .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease; }
	.wpec-pi-share--hover-grow .wpec-pi-share__btn:hover, .wpec-pi-share--hover-grow .wpec-pi-share__btn:focus-visible { transform: scale( 1.1 ); }
	.wpec-pi-share--hover-lift .wpec-pi-share__btn:hover, .wpec-pi-share--hover-lift .wpec-pi-share__btn:focus-visible { transform: translateY( -3px ); }
}
