.gecpr-reviews,.gecpr-form-shell,.gecpr-chooser,.gecpr-order-review{--gecpr-accent:#e638d7;--gecpr-star:#ffc400;--gecpr-ink:inherit;--gecpr-muted:color-mix(in srgb,currentColor 68%,transparent);--gecpr-line:color-mix(in srgb,currentColor 18%,transparent);--gecpr-surface:color-mix(in srgb,currentColor 7%,transparent);color:inherit;background:transparent;font:inherit;box-sizing:border-box}.gecpr-reviews *,.gecpr-form-shell *,.gecpr-chooser *,.gecpr-order-review *{box-sizing:border-box}.gecpr-overall{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(280px,1.25fr);gap:36px;padding:28px;border:1px solid var(--gecpr-line);border-radius:20px;background:var(--gecpr-surface);margin:0 0 18px;box-shadow:none}.gecpr-average{display:flex;gap:18px;align-items:center}.gecpr-average>strong{font-size:3.5rem;line-height:1;letter-spacing:-.06em}.gecpr-average span{display:block;color:var(--gecpr-muted);font-size:.9rem}.gecpr-stars{color:var(--gecpr-star);letter-spacing:.08em;font-size:1.05rem}.gecpr-bars{display:grid;gap:7px}.gecpr-bars>div{display:grid;grid-template-columns:42px 1fr 34px;gap:10px;align-items:center;font-size:.82rem}.gecpr-bars i{height:7px;background:color-mix(in srgb,currentColor 14%,transparent);border-radius:99px;overflow:hidden}.gecpr-bars b{display:block;height:100%;background:var(--gecpr-star);border-radius:99px}.gecpr-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 2px 18px}.gecpr-filter{display:flex;gap:8px;flex-wrap:wrap}.gecpr-filter button{appearance:none;background:transparent;color:inherit;border:1px solid var(--gecpr-line);border-radius:999px;padding:8px 13px;font:inherit;font-size:.86rem;cursor:pointer}.gecpr-filter button.is-active{background:currentColor;color:Canvas;border-color:currentColor}.gecpr-grid{display:grid;grid-template-columns:repeat(var(--gecpr-cols,2),minmax(0,1fr));gap:var(--gecpr-gap,22px);align-items:start}.gecpr-card{overflow:hidden;background:var(--gecpr-surface);color:inherit;border:1px solid var(--gecpr-line);border-radius:18px;box-shadow:none}.gecpr-card[hidden]{display:none}.gecpr-media{display:grid;gap:3px;background:color-mix(in srgb,currentColor 10%,transparent)}.gecpr-media-1{grid-template-columns:1fr}.gecpr-media-2{grid-template-columns:1fr 1fr}.gecpr-media-3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.gecpr-media-3 .gecpr-image:first-child{grid-row:1/3}.gecpr-image{display:block;min-height:0;overflow:hidden}.gecpr-image img{display:block;width:100%;height:100%;min-height:320px;max-height:620px;object-fit:cover;transition:transform .25s ease}.gecpr-media-2 .gecpr-image img,.gecpr-media-3 .gecpr-image img{min-height:260px}.gecpr-image:hover img{transform:scale(1.02)}.gecpr-card-body{padding:22px}.gecpr-card h3{margin:8px 0 10px;font-size:1.15rem;line-height:1.25}.gecpr-content{color:inherit;opacity:.88;line-height:1.65}.gecpr-content p:last-child{margin-bottom:0}.gecpr-meta{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:18px;padding-top:15px;border-top:1px solid var(--gecpr-line);font-size:.82rem;color:var(--gecpr-muted)}.gecpr-verified{color:#147a45;font-weight:650}.gecpr-product{display:flex;align-items:center;gap:10px;margin-top:14px;color:inherit;text-decoration:none;font-size:.86rem}.gecpr-product img{width:46px;height:46px;border-radius:8px;object-fit:cover}.gecpr-pagination ul{display:flex;justify-content:center;gap:7px;list-style:none;padding:24px 0 0}.gecpr-pagination a,.gecpr-pagination span{display:block;padding:8px 12px;border:1px solid #ddd;border-radius:9px;background:#fff;color:#222}.gecpr-empty{padding:32px;text-align:center;background:var(--gecpr-surface);border:1px solid var(--gecpr-line);border-radius:16px}.gecpr-form-shell{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(360px,1.22fr);gap:28px;align-items:start}.gecpr-form-intro{padding:30px;border-radius:22px;background:#f6f4f6;color:#171717;position:sticky;top:24px}.gecpr-kicker{display:inline-block;font-size:.76rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#9d168f;margin-bottom:9px}.gecpr-form-intro h2{margin:0 0 12px;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.05}.gecpr-form-intro p{color:#555;line-height:1.6}.gecpr-steps{display:grid;gap:12px;margin-top:25px}.gecpr-steps span{display:flex;align-items:center;gap:10px}.gecpr-steps b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#171717;color:#fff}.gecpr-form{background:#fff;color:#171717;border:1px solid var(--gecpr-line);border-radius:22px;padding:28px;box-shadow:0 12px 38px rgba(0,0,0,.06)}.gecpr-form-product{display:flex;gap:15px;align-items:center;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid #eee}.gecpr-form-product img{width:78px;height:78px;object-fit:cover;border-radius:12px}.gecpr-form-product small,.gecpr-form-product strong{display:block}.gecpr-form label{display:block;font-weight:700;margin-bottom:7px}.gecpr-form input[type=text],.gecpr-form input[type=email],.gecpr-form select,.gecpr-form textarea{width:100%;max-width:100%;background:#fff!important;color:#171717!important;border:1px solid #d5d5d5!important;border-radius:11px!important;padding:13px 14px!important;box-shadow:none!important}.gecpr-form textarea{resize:vertical}.gecpr-form p{margin:0 0 18px}.gecpr-upload{position:relative;margin:4px 0 16px}.gecpr-upload>label{display:flex;min-height:145px;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:22px;border:2px dashed #c7c7c7;border-radius:14px;background:#fafafa;cursor:pointer}.gecpr-upload>label span{display:block;color:#666;font-size:.85rem;margin-top:5px}.gecpr-upload-input{position:absolute;inset:0;width:100%;height:145px;opacity:0;cursor:pointer}.gecpr-previews{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:9px}.gecpr-previews img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.gecpr-consent{font-size:.78rem;color:#6b6b6b;line-height:1.5}.gecpr-submit{width:100%;min-height:50px;border-radius:11px!important;font-weight:750!important}.gecpr-chooser{padding:28px;border-radius:22px;background:#fff}.gecpr-chooser .gecpr-form-intro{position:static}.gecpr-product-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:18px}.gecpr-product-choice a{display:flex;gap:13px;align-items:center;padding:13px;border:1px solid var(--gecpr-line);border-radius:14px;color:#171717;text-decoration:none;background:#fff}.gecpr-product-choice img{width:72px;height:72px;object-fit:cover;border-radius:10px}.gecpr-product-choice small{display:block;color:#9d168f;margin-top:4px}.gecpr-order-review{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:24px;margin:25px 0;border:1px solid var(--gecpr-line);border-radius:18px;background:#fff}.gecpr-order-review h2{margin:0 0 6px}.gecpr-order-review p{margin:0;color:#555}.gecpr-order-review-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.gecpr-widget-error{padding:14px;border:1px solid #e1b4dc;border-radius:10px;background:#fff5fd;color:#6e155f}
@media(max-width:767px){.gecpr-grid{grid-template-columns:repeat(var(--gecpr-cols-mobile,1),minmax(0,1fr))}.gecpr-overall,.gecpr-form-shell{grid-template-columns:1fr}.gecpr-form-intro{position:static}.gecpr-toolbar,.gecpr-order-review{align-items:flex-start;flex-direction:column}.gecpr-product-choice{grid-template-columns:1fr}.gecpr-image img{min-height:260px}.gecpr-hide-mobile{display:none!important}}
/* 1.3.2: explicit, accessible review upload control. */
.gecpr-review-form{margin:0}.gecpr-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gecpr-signed-in{font-size:.88rem;color:#666}.gecpr-upload{position:relative;margin:8px 0 20px;padding:18px;border:1px solid #ddd;border-radius:14px;background:#fafafa}.gecpr-upload-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.gecpr-upload-heading strong,.gecpr-upload-heading span{display:block}.gecpr-upload-heading span{font-size:.82rem;color:#666}.gecpr-upload-button{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;width:auto;margin:0!important;padding:12px 18px;border:0;border-radius:10px;background:#171717;color:#fff!important;font-weight:750!important;cursor:pointer}.gecpr-upload-button:hover{opacity:.88}.gecpr-upload-input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.gecpr-upload-input:focus+.gecpr-file-status,.gecpr-upload:focus-within .gecpr-upload-button{outline:3px solid color-mix(in srgb,var(--gecpr-accent) 45%,transparent);outline-offset:3px}.gecpr-file-status{margin:10px 0 0!important;font-size:.82rem;color:#666}.gecpr-previews{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.gecpr-previews figure{margin:0;min-width:0}.gecpr-previews img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px}.gecpr-previews figcaption{overflow:hidden;margin-top:4px;font-size:.68rem;color:#666;text-overflow:ellipsis;white-space:nowrap}@media(max-width:767px){.gecpr-form-row{grid-template-columns:1fr}.gecpr-upload-heading{display:block}.gecpr-upload-heading span{margin-top:4px}.gecpr-upload-button{width:100%}.gecpr-previews{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* 1.3.3: native WooCommerce review form upload. */
#review_form .gecpr-native-upload,.woocommerce-Reviews .gecpr-native-upload{display:block;margin:20px 0!important;padding:18px!important;border:1px solid color-mix(in srgb,currentColor 22%,transparent)!important;border-radius:14px;background:color-mix(in srgb,currentColor 6%,transparent)!important;color:inherit}.gecpr-native-upload .gecpr-upload-heading span,.gecpr-native-upload .gecpr-file-status{color:inherit;opacity:.72}.gecpr-native-upload .gecpr-upload-button{background:var(--gecpr-accent,#d900a5)!important;color:#fff!important;text-decoration:none!important}.gecpr-native-upload .gecpr-previews{grid-template-columns:repeat(5,minmax(70px,110px))}

/* 1.3.6: enhance WooCommerce's native product reviews without replacing them. */
.gecpr-native-review-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,240px));gap:10px;margin:16px 0 6px}.gecpr-native-review-images a{display:block;overflow:hidden;border-radius:12px;background:color-mix(in srgb,currentColor 8%,transparent)}.gecpr-native-review-images img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .2s ease}.gecpr-native-review-images a:hover img{transform:scale(1.025)}#review_form form.comment-form{max-width:none}#review_form .comment-form-rating,#review_form .comment-form-comment{margin-bottom:18px}#review_form .gecpr-native-upload{clear:both}#review_form .gecpr-native-upload .gecpr-upload-button{min-width:210px}

/* 1.3.7: consistent renderer inside classic/category-specific WooCommerce tabs. */
.gecpr-native-tab>.gecpr-native-tab-list>.woocommerce-Reviews-title{margin:0 0 22px}.gecpr-native-tab .gecpr-reviews{margin-bottom:36px}.gecpr-native-tab-form{margin-top:38px;padding-top:34px;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent)}.gecpr-native-tab-form #review_form{max-width:none}.gecpr-native-tab-form .gecpr-form-shell{width:100%}.gecpr-native-tab .gecpr-toolbar strong{font-size:1rem}.gecpr-native-tab .gecpr-product{display:none}

/* WooCommerce product tab: form only, review cards are rendered by shortcode elsewhere. */
.gecpr-native-form-only{width:100%;max-width:none;margin:0;padding:0;background:transparent;border:0}
.gecpr-native-form-only .gecpr-form-shell{width:100%;max-width:none;margin:0}
.gecpr-native-form-only .gecpr-form-intro{position:static}
.woocommerce-Tabs-panel--reviews .gecpr-native-form-only>h2,
.woocommerce-Tabs-panel--reviews .gecpr-native-form-only .woocommerce-Reviews-title{display:none!important}
@media(max-width:1024px){.gecpr-native-form-only .gecpr-form-shell{grid-template-columns:1fr}}

/* 1.4.0: reliable rating picker and removable image previews. */
.gecpr-rating-field{margin:0 0 18px}
.gecpr-star-picker{display:inline-flex;gap:3px;align-items:center;margin:2px 0 0}
.gecpr-star-choice{appearance:none!important;-webkit-appearance:none!important;width:auto!important;min-width:0!important;height:auto!important;margin:0!important;padding:0 2px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#d2d2d2!important;font:700 27px/1 sans-serif!important;text-decoration:none!important;cursor:pointer;transition:color .15s ease,transform .15s ease}
.gecpr-star-choice:hover,.gecpr-star-choice:focus-visible,.gecpr-star-choice.is-active{color:#8250b5!important}
.gecpr-star-choice:hover{transform:translateY(-1px)}
.gecpr-star-choice:focus-visible{outline:2px solid #8250b5!important;outline-offset:3px}
.gecpr-rating-select{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;opacity:0!important}
.gecpr-previews .gecpr-preview{position:relative;margin:0;min-width:0;padding:0;background:transparent}
.gecpr-previews .gecpr-preview img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border:1px solid #ddd;border-radius:10px;background:#eee}
.gecpr-previews .gecpr-preview figcaption{overflow:hidden;margin-top:6px;color:#555!important;font-size:.72rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.gecpr-remove-image{position:absolute!important;z-index:2;top:6px;right:6px;display:grid!important;place-items:center;width:28px!important;min-width:28px!important;height:28px!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.85)!important;border-radius:50%!important;background:rgba(20,20,20,.86)!important;color:#fff!important;font:700 20px/1 sans-serif!important;box-shadow:0 2px 8px rgba(0,0,0,.25)!important;cursor:pointer}
.gecpr-remove-image:hover,.gecpr-remove-image:focus-visible{background:#000!important;transform:none!important}
.gecpr-upload-button,.gecpr-upload-button span{color:#fff!important}
.gecpr-form .gecpr-upload-heading strong{color:#171717!important}
.gecpr-form .gecpr-upload-heading span,.gecpr-form .gecpr-file-status{color:#666!important;opacity:1!important}
@media(max-width:767px){.gecpr-star-choice{font-size:30px!important}.gecpr-previews{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* 1.4.1: suppress WooCommerce's legacy p.stars picker when the custom accessible picker is active. */
.gecpr-rating-field p.stars,
.gecpr-rating-field .stars{display:none!important;visibility:hidden!important;width:0!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}

/* v1.4.2: keep the upload action legible against aggressive theme button styles. */
.gecpr-form label.gecpr-upload-button,
.gecpr-form label.gecpr-upload-button:hover,
.gecpr-form label.gecpr-upload-button:focus,
.gecpr-native-upload label.gecpr-upload-button,
.gecpr-native-upload label.gecpr-upload-button:hover,
.gecpr-native-upload label.gecpr-upload-button:focus {
  display: inline-flex !important;
  background-color: #171717 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #171717 !important;
  opacity: 1 !important;
}
.gecpr-form label.gecpr-upload-button *,
.gecpr-native-upload label.gecpr-upload-button * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
/* v1.5.0: upload label must stay readable in Elementor/theme contexts. */
.gecpr-upload .gecpr-upload-button,
.gecpr-upload .gecpr-upload-button:link,
.gecpr-upload .gecpr-upload-button:visited,
.gecpr-upload .gecpr-upload-button:hover,
.gecpr-upload .gecpr-upload-button:focus {
  background:#171717 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:none !important;
  opacity:1 !important;
  filter:none !important;
}

/* Reviews borrowed from another product only fill sparse detail pages. */
.gecpr-related-label {
	display: inline-flex;
	align-items: center;
	margin: 0 0 10px;
	padding: 5px 9px;
	border: 1px solid currentColor;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .04em;
	text-transform: uppercase;
	opacity: .72;
}

/* Shop response attached to its review instead of being counted as a review. */
.gecpr-replies{margin:18px 0 0;padding-top:14px;border-top:1px solid rgba(127,127,127,.24)}
.gecpr-reply{padding:12px 14px;border-radius:10px;background:rgba(127,127,127,.10);font-size:.92em}
.gecpr-reply strong{display:block;margin-bottom:4px}
.gecpr-reply p:last-child{margin-bottom:0}

/* v1.6.3: compact product review preview and linked review invitation. */
.gecpr-first-review{
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	gap:8px 14px;
	margin:0 0 18px;
	padding:16px 18px;
	border:1px solid rgba(127,127,127,.28);
	border-radius:14px;
	background:rgba(127,127,127,.08);
}
.gecpr-first-review-link{font-size:1.05em;font-weight:700;text-decoration:underline;text-underline-offset:3px;color:inherit}
.gecpr-first-review-link:hover,.gecpr-first-review-link:focus{color:var(--e-global-color-accent,#e500a4);text-decoration-thickness:2px}
.gecpr-first-review span{opacity:.78}
