/*
Theme Name: Rouwshop Child
Theme URI: https://growinglemon.nl/
Description: Heeft u vragen over het thema? Neem dan contact op met: hello@growinglemon.nl
Author: Growing Lemon
Author URI: https://growinglemon.nl/
Template: rouwshop
Version: 1.29
Text Domain: rouwshop-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* Add your custom styles here */

/* Links in blog content: underlined. Colour (#262626) and hover (#111111) come from the Elementor kit. */
.elementor-widget-theme-post-content a:not(.elementor-button):not(.wp-element-button),
.entry-content a:not(.elementor-button):not(.wp-element-button) {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Elementor renders uploaded SVGs inline with fill="currentColor" on the root,
   which fills line icons. Stroked shapes without their own fill stay outlined. */
.elementor svg [stroke]:not([fill]) {
	fill: none;
}

/* The inline SVG sits on the text baseline inside its wrapper; make it a block so it centres. */
.e-svg-base > svg {
	display: block;
}

/* ==========================================================================
   Header (Elementor template "Header")
   Layout and colours live in Elementor (global classes rs-*); only the
   behaviour Elementor cannot express is here. JS: assets/js/header.js
   ========================================================================== */

/* Mega menu: header.js toggles .is-open on the .rs-nav-item. */
.rs-nav-item.is-open > .rs-mega {
	display: flex;
}

.rs-nav-item.is-open > .rs-nav-link {
	text-decoration: underline;
}

/* Darken the page behind an open mega menu, mobile menu or search bar (below the panel only). */
.elementor-location-header .rs-mega,
.elementor-location-header details[open] > .rs-panel {
	box-shadow: 0 4px 34px rgba(0, 0, 0, 0.55), 0 0 0 100vmax rgba(10, 10, 10, 0.7);
	clip-path: inset(0 -100vmax -100vmax -100vmax);
}

/* Search submit button is the magnifier icon in front of the field. */
.elementor-location-header form .e-form-submit-button-base {
	background: url("/wp-content/uploads/icoon-zoeken.svg") center / 18px 18px no-repeat transparent;
}

/* Search field: no focus ring, border or autofill colour inside the rounded bar. */
.elementor-location-header #rs-zoeken:focus,
.elementor-location-header #rs-zoeken:focus-visible {
	border: 0;
	outline: none;
	box-shadow: none;
	background: transparent;
}

.elementor-location-header #rs-zoeken:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 40px #EEDCC8 inset;
	-webkit-text-fill-color: #1E1E1E;
}

/* Toggles and accordions are <details>: hide the native marker. */
.elementor summary {
	list-style: none;
}

.elementor summary::-webkit-details-marker {
	display: none;
}

/* Make the whole padded row clickable, not only the text. */
.rs-mega-link,
.rs-mega-cat,
.rs-mobile-link {
	position: relative;
}

.rs-mega-link > a::after,
.rs-mega-cat > a::after,
.rs-mobile-link > a::after {
	content: "";
	position: absolute;
	inset: 0;
}

/* ==========================================================================
   Sliders (global classes rs-slider-*). JS: assets/js/slider.js
   ========================================================================== */

.rs-slider-track::-webkit-scrollbar {
	display: none;
}

.rs-slider-btn[disabled] {
	opacity: 0.3;
	cursor: default;
}

/* On tablet/mobile the "next" button is filled caramel with a white arrow. */
@media (max-width: 1024px) {
	.rs-slider-next svg path {
		stroke: #fff;
	}
}

/* ==========================================================================
   FAQ accordion (global classes rs-faq-*)
   ========================================================================== */

/* The "+" icon turns into a cross when the question is open (Elementor rotates it 180deg by default). */
.rs-faq-item[open] > summary .e-accordion-item-icon-base svg {
	transform: rotate(45deg);
}

/* Smooth turn of the "+" while the answer slides open (faq.js). */
.rs-faq-item > summary .e-accordion-item-icon-base,
.rs-faq-item > summary .e-accordion-item-icon-base svg {
	transition: transform 0.3s ease;
}

/* ==========================================================================
   Product page (Elementor template "Product – Enkel")
   Layout lives in Elementor; this styles the WooCommerce widgets inside it.
   PHP: inc/product.php, JS: assets/js/product.js
   ========================================================================== */

/* Gallery: thumbnails in a column left of the main image. */
.single-product .woocommerce-product-gallery {
	position: relative;
}

.single-product .woocommerce-product-gallery:has(.flex-control-thumbs) {
	display: grid;
	grid-template-columns: 128px minmax(0, 1fr);
	gap: 20px;
	align-items: start;
}

.single-product .woocommerce-product-gallery .flex-viewport {
	grid-column: 2;
	grid-row: 1;
	border-radius: 10px;
}

.single-product .woocommerce-product-gallery__image img {
	aspect-ratio: 590 / 652;
	object-fit: cover;
	border-radius: 10px;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs {
	grid-column: 1;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

/* Inactive thumbnails are dimmed. */
.single-product .woocommerce-product-gallery .flex-control-thumbs img {
	display: block;
	width: 100%;
	aspect-ratio: 128 / 130;
	object-fit: cover;
	border-radius: 10px;
	opacity: 1 !important;
	filter: brightness(0.5);
	transition: filter 0.2s;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover {
	filter: none;
}

/* Arrows on the main image (enabled in inc/product.php). */
.single-product .woocommerce-product-gallery .flex-direction-nav {
	margin: 0;
	padding: 0;
	list-style: none;
}

.single-product .woocommerce-product-gallery .flex-direction-nav a {
	position: absolute;
	z-index: 2;
	top: 50%;
	width: 43px;
	height: 43px;
	transform: translateY(-50%);
	font-size: 0;
	color: transparent;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 6.5l5.5 5.5-5.5 5.5' fill='none' stroke='%23fff' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 43px 43px no-repeat;
	filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.35));
}

.single-product .woocommerce-product-gallery .flex-direction-nav .flex-prev {
	left: 158px;
	transform: translateY(-50%) scaleX(-1);
}

.single-product .woocommerce-product-gallery .flex-direction-nav .flex-next {
	right: 10px;
}

.single-product .woocommerce-product-gallery .flex-direction-nav .flex-disabled {
	opacity: 0.3;
	pointer-events: none;
}

/* The main image opens the lightbox itself; the magnifier is not in the design. */
.single-product .woocommerce-product-gallery__trigger {
	display: none;
}

@media (max-width: 767px) {
	.single-product .woocommerce-product-gallery:has(.flex-control-thumbs) {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	.single-product .woocommerce-product-gallery .flex-viewport {
		grid-column: 1;
	}

	.single-product .woocommerce-product-gallery .flex-control-thumbs {
		grid-row: 2;
		flex-direction: row;
		gap: 10px;
	}

	.single-product .woocommerce-product-gallery .flex-control-thumbs li {
		width: calc(25% - 7.5px) !important;
	}

	.single-product .woocommerce-product-gallery .flex-direction-nav .flex-prev {
		left: 10px;
	}
}

/* Short description: intro text with a checklist. */
.single-product .woocommerce-product-details__short-description p {
	margin: 0 0 10px;
}

.single-product .woocommerce-product-details__short-description ul {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin: 25px 0 0;
	padding: 0;
	list-style: none;
	font-size: 18px;
	line-height: 28px;
	color: #262626;
}

.single-product .woocommerce-product-details__short-description li {
	display: flex;
	align-items: center;
	gap: 10px;
}

.single-product .woocommerce-product-details__short-description li::before {
	content: "";
	flex: none;
	width: 14px;
	height: 11px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 11'%3E%3Cpath d='M1.5 5.5l3.75 3.75L12.5 1.75' fill='none' stroke='%23924D2E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Add to cart: quantity box, caramel button and the stock line below it. */
.single-product .elementor-widget-woocommerce-product-add-to-cart .elementor-add-to-cart {
	display: flex;
	flex-direction: column;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart::before,
.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart::after {
	display: none;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .quantity {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: space-between;
	width: 125px;
	height: 55px;
	margin: 0;
	padding: 0 14px;
	float: none;
	border: 1px solid #E7E5E4;
	border-radius: 10px;
	background-color: #F9F9F9;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .quantity .qty {
	width: 36px;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-family: "Poppins", sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: #000000;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .quantity .qty::-webkit-inner-spin-button,
.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .quantity .qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart .rs-qty-btn {
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	background: none;
	font-family: "Poppins", sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	color: #000000;
	cursor: pointer;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart .rs-qty-btn:hover,
.single-product .elementor-widget-woocommerce-product-add-to-cart .rs-qty-btn:focus-visible {
	color: #924D2E;
	background: none;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .single_add_to_cart_button.button {
	display: inline-flex;
	flex: 1 1 200px;
	align-items: center;
	justify-content: center;
	gap: 20px;
	min-height: 55px;
	margin: 0;
	padding: 0 20px;
	border: 0;
	border-radius: 10px;
	background-color: #924D2E;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
	color: #FFFFFF;
	transition: background-color 0.2s;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .single_add_to_cart_button.button:hover,
.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .single_add_to_cart_button.button:focus-visible {
	background-color: #783F26;
	color: #FFFFFF;
}

/* Cart icon in front of the button text. */
.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .single_add_to_cart_button.button::before {
	content: "";
	flex: none;
	width: 24px;
	height: 24px;
	background-color: currentColor;
	-webkit-mask: var(--rs-cart-icon) center / contain no-repeat;
	mask: var(--rs-cart-icon) center / contain no-repeat;
	--rs-cart-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 3h2.6l2.3 11.2a1.8 1.8 0 0 0 1.8 1.4h8.6a1.8 1.8 0 0 0 1.7-1.3L21 7H6' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='9.5' cy='19.75' r='1.5' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3Ccircle cx='17' cy='19.75' r='1.5' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E");
}

/* Variable products: "Formaat" dropdown, styled like the archive sort select (texts from inc/product.php). */
.single-product .elementor-widget-woocommerce-product-add-to-cart form.variations_form {
	display: block;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart table.variations {
	width: 100%;
	margin: 0 0 20px;
	border: 0;
	border-collapse: collapse;
	background: none;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart table.variations tr {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart table.variations tr + tr {
	margin-top: 16px;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart table.variations th,
.single-product .elementor-widget-woocommerce-product-add-to-cart table.variations td {
	display: block;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart table.variations label {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 21px;
	color: #262626;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart table.variations td.value {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
}

.woocommerce.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart table.variations select {
	flex: 1 1 100%;
	width: 100%;
	height: 55px;
	margin: 0;
	padding: 0 48px 0 16px;
	border: 1px solid rgba(146, 77, 46, 0.2);
	border-radius: 10px;
	background: rgba(221, 193, 170, 0.5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23262626' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 18px center / 12px 8px no-repeat;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: #262626;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.2s;
}

.woocommerce.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart table.variations select:hover {
	border-color: rgba(146, 77, 46, 0.5);
}

.woocommerce.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart table.variations select:focus-visible {
	outline: 2px solid #924D2E;
	outline-offset: 2px;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart .reset_variations {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	color: #924D2E;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Price and stock of the chosen size. */
.single-product .elementor-widget-woocommerce-product-add-to-cart .single_variation_wrap .woocommerce-variation:not(:empty) {
	margin: 0 0 20px;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart .woocommerce-variation-price .price {
	font-family: "Poppins", sans-serif;
	font-size: 22px;
	font-weight: 600;
	color: #262626;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart .woocommerce-variation-availability p.stock {
	margin: 8px 0 0;
}

/* Quantity + button row. Elementor sets flex-wrap: nowrap with a heavy :is() selector,
   so this needs the extra specificity, or the button runs off narrow screens. */
.woocommerce.single-product div.product .elementor-widget-woocommerce-product-add-to-cart form.cart.variations_form .woocommerce-variation-add-to-cart,
.woocommerce.single-product div.product .elementor-widget-woocommerce-product-add-to-cart form.cart:not(.grouped_form):not(.variations_form) {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* Mobile: button on its own line below the quantity, full width (no Elementor side margin). */
@media (max-width: 767px) {
	.woocommerce.single-product div.product .elementor-widget-woocommerce-product-add-to-cart form.cart .single_add_to_cart_button.button {
		flex-basis: 100%;
		margin: 0;
	}
}

/* "● Op voorraad  1 á 2 werkdagen bezorgd" (text from inc/product.php). */
.single-product .elementor-widget-woocommerce-product-add-to-cart .elementor-add-to-cart p.stock {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 10px;
	order: 2;
	margin: 20px 0 0;
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 21px;
	color: #1FC709;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart .stock::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: currentColor;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart .stock.out-of-stock {
	color: #B3261E;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart .stock .rs-delivery {
	font-weight: 400;
	color: #1E1E1E;
}

/* Description and specifications (inside the accordion). */
.single-product .elementor-widget-theme-post-content p:last-child {
	margin-bottom: 0;
}

.single-product .elementor-widget-woocommerce-product-additional-information h2 {
	display: none;
}

.single-product .elementor-widget-woocommerce-product-additional-information table.shop_attributes {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	line-height: 28px;
	color: #262626;
}

.single-product .elementor-widget-woocommerce-product-additional-information table.shop_attributes tr:nth-child(n) th,
.single-product .elementor-widget-woocommerce-product-additional-information table.shop_attributes tr:nth-child(n) td {
	padding: 15px 0;
	border: 0;
	border-bottom: 1px solid #DDC1AA;
	background: none;
	/* Keep label and value side by side, also on mobile. */
	display: table-cell;
	font-style: normal;
	font-weight: 400;
	text-align: left;
	vertical-align: top;
}

/* WooCommerce makes the rows blocks on small screens; keep a real two-column table. */
.single-product .elementor-widget-woocommerce-product-additional-information table.shop_attributes tr:nth-child(n) {
	display: table-row;
}

.single-product .elementor-widget-woocommerce-product-additional-information table.shop_attributes tr:nth-child(n) th {
	width: 340px;
	padding-right: 20px;
}

.single-product .elementor-widget-woocommerce-product-additional-information table.shop_attributes tr:last-child th,
.single-product .elementor-widget-woocommerce-product-additional-information table.shop_attributes tr:last-child td {
	border-bottom: 0;
}

.single-product .elementor-widget-woocommerce-product-additional-information table.shop_attributes td p {
	margin: 0;
	padding: 0;
}

@media (max-width: 767px) {
	.single-product .elementor-widget-woocommerce-product-additional-information table.shop_attributes {
		table-layout: fixed;
		font-size: 16px;
		line-height: 24px;
	}

	.single-product .elementor-widget-woocommerce-product-additional-information table.shop_attributes tr:nth-child(n) th,
	.single-product .elementor-widget-woocommerce-product-additional-information table.shop_attributes tr:nth-child(n) td {
		padding-top: 14px;
		padding-bottom: 14px;
	}

	/* Label muted on the left, value on the right. */
	.single-product .elementor-widget-woocommerce-product-additional-information table.shop_attributes tr:nth-child(n) th {
		width: 45%;
		padding-right: 16px;
		color: #6E6A66;
	}

	.single-product .elementor-widget-woocommerce-product-additional-information table.shop_attributes tr:nth-child(n) td {
		font-weight: 500;
		color: #1E1E1E;
		overflow-wrap: anywhere;
	}
}

/* ==========================================================================
   Reviews from Klantenvertellen ([rouwshop_reviews], inc/reviews.php)
   Uses the rs-slider classes for scrolling; the cards are styled here.
   ========================================================================== */

.rs-reviews {
	font-family: "Poppins", sans-serif;
	color: #1E1E1E;
}

.rs-reviews-summary {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
	margin: 0 auto 40px;
}

/* Narrow box so the logo sits right next to the two (balanced) lines. */
.rs-reviews-summary p {
	max-width: 480px;
	margin: 0;
	font-size: 18px;
	line-height: 28px;
	text-wrap: balance; /* lines of equal length */
}

/* The wordmark sits in the lower part of the logo (check mark on top),
   so lift it to line the words up with the text. */
.rs-reviews-logo {
	flex: none;
	transform: translateY(-14px);
	transition: opacity 0.2s;
}

.rs-reviews-logo:hover {
	opacity: 0.8;
}

.rs-reviews-logo img {
	display: block;
	width: 180px;
	height: auto;
}

.rs-reviews-score {
	font-size: 22px;
}

.rs-reviews .rs-reviews-track {
	display: flex;
	gap: 20px;
	padding: 4px 4px 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

.rs-review {
	display: flex;
	flex: 0 0 calc((100% - 40px) / 3);
	flex-direction: column;
	gap: 12px;
	padding: 28px;
	border-radius: 10px;
	background: #FFFFFF;
	box-shadow: 0 4px 24px rgba(30, 30, 30, 0.08);
	scroll-snap-align: start;
}

.rs-review-head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.rs-review-avatar {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #924D2E;
	font-size: 18px;
	font-weight: 500;
	color: #FFFFFF;
}

.rs-review-who {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.rs-review-name {
	font-size: 16px;
	font-weight: 600;
	line-height: 22px;
}

.rs-review-meta {
	font-size: 13px;
	line-height: 18px;
	color: rgba(30, 30, 30, 0.55);
}

.rs-review-stars {
	display: flex;
	gap: 3px;
}

.rs-review-star {
	width: 18px;
	height: 18px;
	fill: #E4D6C8;
}

.rs-review-star.is-full {
	fill: #F2B01E;
}

.rs-review-title {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
}

.rs-review-text {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	font-size: 15px;
	line-height: 24px;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
}

.rs-reviews .rs-reviews-controls {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 10px;
}

.rs-reviews .rs-slider-bar {
	position: relative;
	flex: 1;
	height: 2px;
	background: rgba(30, 30, 30, 0.15);
}

.rs-reviews .rs-slider-fill {
	position: absolute;
	top: 0;
	height: 100%;
	background: #1E1E1E;
	transition: left 0.2s, width 0.2s;
}

.rs-reviews .rs-slider-prev,
.rs-reviews .rs-slider-next {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(146, 77, 46, 0.3);
	border-radius: 50%;
	background: transparent;
	color: #1E1E1E;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
}

.rs-reviews .rs-slider-prev:hover:not([disabled]),
.rs-reviews .rs-slider-next:hover:not([disabled]) {
	border-color: #924D2E;
	background: #924D2E;
	color: #FFFFFF;
}

.rs-reviews .rs-slider-prev[disabled],
.rs-reviews .rs-slider-next[disabled] {
	opacity: 0.3;
	cursor: default;
}

.rs-reviews .rs-slider-prev svg,
.rs-reviews .rs-slider-next svg {
	width: 22px;
	height: 22px;
}

/* The rs-slider global classes only load on pages that use them (not on the product
   template), so the review slider positions its own arrows. The higher specificity
   also beats those classes where they do load (incl. their 180° rotation of "next"). */
.elementor .rs-reviews .rs-slider {
	position: relative;
}

.elementor .rs-reviews .rs-slider-prev,
.elementor .rs-reviews .rs-slider-next {
	transform: none;
}

/* Desktop: arrows beside the cards, centred on them.
   Card centre = half the slider minus the track's bottom padding, controls margin and bar (36px),
   plus the track's top padding (4px); minus half the button (22px). */
@media (min-width: 1025px) {
	.elementor .rs-reviews .rs-slider-prev,
	.elementor .rs-reviews .rs-slider-next {
		position: absolute;
		inset-block-start: calc(50% - 36px);
	}

	.elementor .rs-reviews .rs-slider-prev {
		inset-inline-start: -63px;
	}

	.elementor .rs-reviews .rs-slider-next {
		inset-inline-end: -63px;
	}
}

/* Tablet/mobile: arrows next to the progress bar, "next" filled caramel (white arrow above). */
@media (max-width: 1024px) {
	.elementor .rs-reviews .rs-slider-prev,
	.elementor .rs-reviews .rs-slider-next {
		position: static;
		flex: none;
	}

	.rs-reviews .rs-slider-next {
		border-color: #924D2E;
		background: #924D2E;
	}

	.rs-review {
		flex-basis: calc((100% - 20px) / 2);
	}
}

@media (max-width: 767px) {
	.rs-reviews-summary {
		flex-direction: column;
		gap: 16px;
		text-align: center;
	}

	.rs-reviews-summary p {
		font-size: 16px;
		line-height: 26px;
	}

	.rs-reviews-logo {
		transform: none;
	}

	.rs-reviews-logo img {
		width: 140px;
	}

	.rs-review {
		flex-basis: 85%;
		padding: 22px;
	}
}
