/* ============================================================
   Rynaslub — woocommerce.css
   Tailored overrides for WooCommerce templates we don't replace.
   ============================================================ */

/* Loop products grid mirrors theme grid */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.4em, 2.5vw, 2.4em);
	list-style: none;
	margin: 0; padding: 0;
}
@media (max-width: 1024px) { .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px)  { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .woocommerce ul.products { grid-template-columns: 1fr; } }
.woocommerce ul.products li.product {
	margin: 0 !important;
	width: 100% !important;
	float: none !important;
	clear: none !important;
}
.woocommerce ul.products li.product .price { font-family: var(--ff-display); font-style: italic; color: var(--gold-deep); font-weight: 500; }

/* Product gallery (single) */
.woocommerce div.product div.images { margin-bottom: 0; }
.woocommerce-product-gallery {
	border-radius: var(--radius-lg);
	overflow: hidden;
}
.woocommerce-product-gallery__image img { border-radius: var(--radius-lg); }
.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	margin-top: 12px;
	padding: 0;
}
.woocommerce div.product div.images .flex-control-thumbs li { width: 100%; margin: 0; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: var(--radius); border: 1px solid var(--line); }

/* Single product layout */
.rs-product__layout {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: clamp(2em, 5vw, 4em);
	padding-top: 1em;
	padding-bottom: 4em;
	align-items: flex-start;
}
@media (max-width: 880px) { .rs-product__layout { grid-template-columns: 1fr; } }

.rs-product__summary { position: sticky; top: 100px; }
.rs-product__short {
	color: var(--ink-soft);
	font-size: 1.05rem;
	margin: 0.6em 0 1.4em;
}
.rs-product__price {
	font-family: var(--ff-display);
	font-style: italic;
	font-size: 2rem;
	color: var(--gold-deep);
	font-weight: 500;
	margin: 0.4em 0 1.4em;
}
.rs-product__price del { color: var(--ink-mute); margin-right: 0.4em; }

/* Single product add to cart row */
.woocommerce div.product form.cart {
	display: flex;
	gap: 0.8em;
	align-items: center;
	margin-bottom: 2em;
}
.woocommerce div.product form.cart .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--ink);
	border-radius: var(--radius);
	overflow: hidden;
}
.woocommerce div.product form.cart .quantity input[type="number"] {
	width: 64px;
	height: 52px;
	text-align: center;
	border: 0;
	background: transparent;
	font: inherit;
	color: var(--ink);
}
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background: var(--gold-deep);
	color: var(--bg);
	padding: 1em 2em;
	border: 1px solid var(--gold-deep);
	border-radius: var(--radius);
	font-weight: 600;
	letter-spacing: 0.04em;
	font-size: 0.92rem;
	transition: all var(--dur) var(--ease);
	text-shadow: none;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--ink);
	border-color: var(--ink);
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
	background: var(--ink);
	color: var(--bg);
	border-color: var(--ink);
}
.woocommerce a.button.alt:hover {
	background: var(--gold-deep);
	border-color: var(--gold-deep);
}

/* Product meta */
.woocommerce div.product .product_meta {
	font-size: 0.85rem;
	color: var(--ink-soft);
	border-top: 1px solid var(--line);
	padding-top: 1.4em;
}
.woocommerce div.product .product_meta > span { display: block; padding: 0.2em 0; }
.woocommerce div.product .product_meta a { color: var(--gold-deep); }

.rs-product__usp {
	list-style: none;
	padding: 0;
	margin: 1.6em 0 0;
	display: flex;
	flex-direction: column;
	gap: 0.6em;
	color: var(--ink-soft);
	font-size: 0.92rem;
}
.rs-product__usp span { color: var(--gold); margin-right: 0.4em; }

/* Tabs styling fallback (if theme doesn't override tabs.php) */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--line);
	padding: 0; margin: 0 0 2em;
	list-style: none;
	display: flex;
	gap: 1em;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: none;
	border: 0;
	border-radius: 0;
	margin: 0;
	padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 1em 0;
	border-bottom: 1px solid transparent;
	font-weight: 600;
	color: var(--ink-soft);
	font-size: 0.92rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	border-bottom-color: var(--gold-deep);
	color: var(--ink);
}

/* Single product details split */
.rs-product__details {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: clamp(2em, 4vw, 4em);
	padding: 3em 0;
	border-top: 1px solid var(--line);
}
@media (max-width: 880px) { .rs-product__details { grid-template-columns: 1fr; } }

/* Related products */
.related.products,
.upsells.products {
	padding-top: 4em;
}
.related.products > h2,
.upsells.products > h2 {
	font-family: var(--ff-display);
	font-style: italic;
	font-weight: 500;
	font-size: 2rem;
	margin: 0 0 1.4em;
	color: var(--ink);
}

/* Cart */
.woocommerce table.shop_table {
	border: 0;
	border-collapse: collapse;
	background: var(--bg-alt);
}
.woocommerce table.shop_table th {
	font-family: var(--ff-body);
	font-size: 0.78rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ink-soft);
	font-weight: 600;
	padding: 1em;
	border-bottom: 1px solid var(--line);
}
.woocommerce table.shop_table td {
	padding: 1.4em 1em;
	border-bottom: 1px solid var(--line);
	font-size: 0.95rem;
}
.woocommerce-cart-form__cart-item .product-name a { color: var(--ink); font-weight: 600; }
.woocommerce-cart-form__cart-item .product-thumbnail img { width: 80px; height: 80px; object-fit: cover; border-radius: var(--radius); }

.woocommerce a.remove {
	color: var(--rose-deep) !important;
	font-weight: 700;
}
.woocommerce a.remove:hover { background: var(--bg-blush); color: var(--ink) !important; }

.woocommerce .cart_totals h2,
.woocommerce-checkout #order_review_heading {
	font-family: var(--ff-display);
	font-style: italic;
	font-weight: 500;
	font-size: 1.6rem;
	margin: 0 0 1em;
}

/* Checkout */
.woocommerce form .form-row label { display: block; font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 0.4em; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	width: 100%;
	padding: 0.85em 1em;
	background: var(--bg-alt);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	font: inherit;
	color: var(--ink);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	outline: 0;
	border-color: var(--gold-deep);
}
.woocommerce-checkout #payment {
	background: var(--bg-cream);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	padding: 2em;
}
.woocommerce-checkout #payment ul.payment_methods { padding: 0; }
.woocommerce-checkout #payment div.payment_box { background: var(--bg-alt); border-radius: var(--radius); }

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	background: var(--bg-cream);
	border-top: 0;
	border-left: 3px solid var(--gold-deep);
	color: var(--ink);
	padding: 1.2em 1.4em;
	border-radius: var(--radius);
	margin-bottom: 1.4em;
}
.woocommerce-error { border-left-color: var(--rose-deep); background: var(--bg-blush); }

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none; padding: 0; margin: 0;
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: var(--bg-alt);
}
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--line); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 0.9em 1.2em; font-weight: 500; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--bg-cream); color: var(--gold-deep); }

/* Empty cart */
.rs-empty-cart {
	background: var(--bg-cream);
	padding: 2em;
	border-radius: var(--radius-lg);
	font-family: var(--ff-display);
	font-style: italic;
	font-size: 1.2rem;
	color: var(--ink);
	text-align: center;
}

/* Shop hero */
.rs-shop-hero {
	background: linear-gradient(180deg, var(--bg-blush) 0%, var(--bg) 100%);
	padding: clamp(3em, 6vw, 5em) 0 clamp(2em, 4vw, 3em);
	margin-bottom: 2em;
}
.rs-shop-hero__inner { max-width: 720px; }
.rs-shop-hero__desc { max-width: 560px; }

/* Quantity inputs minus/plus (default WC) */
.quantity .qty {
	-moz-appearance: textfield;
}

/* Star ratings */
.woocommerce .star-rating { color: var(--gold-deep); font-size: 0.9em; }
.woocommerce p.stars a:before,
.woocommerce p.stars a:hover ~ a:before { color: var(--gold); }
.woocommerce p.stars a.active:before,
.woocommerce p.stars:hover a:before { color: var(--gold-deep); }
