/* =========================================================
   Root Reboot — WooCommerce shop + single product styling
   Loaded on shop / product / cart / checkout pages only.
   ========================================================= */

/* Force full-width layout — remove any leftover sidebar/narrow wrapper */
#primary,
.content-area,
#content,
.site-content,
main#main {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
	display: block !important;
	flex: 1 1 100% !important;
}

body.single-product,
body.woocommerce-page,
body.woocommerce-shop {
	display: block !important;
}

/* Hide the default sidebar widgets (Search / Pages / Archives / Categories)
   entirely. We target WordPress core's own widget classes directly —
   these class names are always present on every WP site regardless of
   the theme's specific wrapper markup. */
#secondary,
.widget-area,
aside.widget-area,
.widget,
.widget_search,
.widget_pages,
.widget_archive,
.widget_categories,
.widget_recent_entries,
.widget_recent_comments,
.widget_meta,
.widget_calendar,
.widget_tag_cloud,
.widget_rss,
.widget_nav_menu {
	display: none !important;
	visibility: hidden !important;
}

.woocommerce-product-gallery,
.woocommerce-product-gallery__wrapper {
	width: 100% !important;
}

.woocommerce-product-gallery__image img {
	opacity: 1 !important;
}

.woocommerce {
	font-family: "Cairo", system-ui, sans-serif !important;
	color: var(--ink) !important;
	width: min(1160px, 92%) !important;
	margin: 0 auto !important;
	padding: 20px 0 60px !important;
}

.woocommerce-breadcrumb {
	font-size: 0.85rem !important;
	opacity: 0.8;
	margin-bottom: 18px;
}

.woocommerce-breadcrumb a {
	color: var(--brown) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

/* Shop archive grid */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 20px !important;
	list-style: none;
	padding: 0 !important;
	margin: 0 !important;
}

.woocommerce ul.products li.product {
	background: rgba(255, 255, 255, 0.75) !important;
	border: 1px solid rgba(202, 160, 110, 0.4) !important;
	border-radius: var(--radius) !important;
	box-shadow: var(--shadow) !important;
	padding: 18px !important;
	text-align: center !important;
	transition: transform 0.2s ease !important;
	width: 100% !important;
	max-width: 100% !important;
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-4px) !important;
}

.woocommerce ul.products li.product img {
	border-radius: 12px !important;
	max-height: 220px !important;
	object-fit: contain !important;
	margin-bottom: 10px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 1rem !important;
	font-weight: 800 !important;
	color: var(--brown-deep) !important;
	margin: 6px 0 !important;
}

.woocommerce ul.products li.product .price {
	color: var(--brown-deep) !important;
	font-weight: 800 !important;
	font-size: 1.1rem !important;
}

.woocommerce ul.products li.product .price del {
	opacity: 0.5;
	font-weight: 400 !important;
	font-size: 0.9rem !important;
}

.woocommerce ul.products li.product .onsale {
	background: var(--gold) !important;
	color: var(--brown-deep) !important;
	font-weight: 800 !important;
	border-radius: 999px !important;
	top: 10px !important;
	right: 10px !important;
	left: auto !important;
}

.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit,
.woocommerce input.button {
	background: var(--brown-deep) !important;
	color: var(--white) !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 10px 20px !important;
	font-weight: 800 !important;
	font-family: inherit !important;
	box-shadow: var(--shadow) !important;
	transition: transform 0.2s ease, background 0.2s ease !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--brown) !important;
	transform: translateY(-1px) !important;
}

/* Single product page */
.woocommerce div.product {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) !important;
	gap: 40px !important;
	align-items: start;
	width: 100% !important;
	max-width: 100% !important;
}

.woocommerce div.product .woocommerce-product-gallery {
	background: radial-gradient(circle at 50% 30%, rgba(255, 255, 255, 0.85), rgba(231, 209, 172, 0.4)) !important;
	border-radius: var(--radius) !important;
	border: 1px solid rgba(202, 160, 110, 0.4) !important;
	box-shadow: var(--shadow) !important;
	padding: 24px !important;
}

.woocommerce div.product .woocommerce-product-gallery img {
	border-radius: 12px !important;
}

.woocommerce div.product .product_title {
	font-size: clamp(24px, 3.4vw, 32px) !important;
	color: var(--brown-deep) !important;
	margin: 0 0 10px !important;
	line-height: 1.25 !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--brown-deep) !important;
	font-size: 1.6rem !important;
	font-weight: 800 !important;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
	opacity: 0.5;
	font-weight: 400 !important;
	font-size: 1rem !important;
	margin-inline-end: 8px;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	margin: 14px 0 !important;
	line-height: 1.8 !important;
	font-size: 1rem !important;
}

.woocommerce div.product .woocommerce-product-details__short-description h3,
.woocommerce div.product .woocommerce-Tabs-panel h3 {
	color: var(--brown-deep) !important;
	font-size: 1.05rem !important;
	margin: 18px 0 6px !important;
}

.woocommerce div.product form.cart {
	background: rgba(255, 255, 255, 0.8) !important;
	border: 1px solid rgba(202, 160, 110, 0.45) !important;
	border-radius: 18px !important;
	box-shadow: var(--shadow) !important;
	padding: 18px !important;
	display: flex !important;
	align-items: center;
	gap: 14px !important;
	flex-wrap: wrap;
	margin-top: 16px;
}

.woocommerce div.product form.cart .quantity {
	margin: 0 !important;
}

.woocommerce div.product form.cart .qty {
	width: 64px !important;
	border-radius: 10px !important;
	border: 1px solid rgba(202, 160, 110, 0.5) !important;
	padding: 8px !important;
	text-align: center !important;
	font-family: inherit !important;
}

.woocommerce div.product .single_add_to_cart_button {
	background: var(--brown-deep) !important;
	color: var(--white) !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 12px 24px !important;
	font-weight: 800 !important;
	font-size: 1rem !important;
	box-shadow: var(--shadow) !important;
	transition: transform 0.2s ease, background 0.2s ease !important;
	white-space: nowrap !important;
	flex-shrink: 0 !important;
	width: auto !important;
	min-width: max-content !important;
}

.woocommerce div.product .single_add_to_cart_button:hover {
	background: var(--brown) !important;
	transform: translateY(-1px) !important;
}

/* Tabs (description / additional info / reviews) */
.woocommerce div.product .woocommerce-tabs {
	margin-top: 40px;
	grid-column: 1 / -1;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	list-style: none;
	display: flex !important;
	gap: 8px !important;
	padding: 0 !important;
	margin: 0 0 16px !important;
	border-bottom: 1px solid rgba(202, 160, 110, 0.4);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: inline-block !important;
	padding: 10px 18px !important;
	color: var(--brown) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	border-radius: 12px 12px 0 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	background: rgba(255, 255, 255, 0.85) !important;
	color: var(--brown-deep) !important;
}

.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
	background: rgba(255, 255, 255, 0.75) !important;
	border: 1px solid rgba(202, 160, 110, 0.4) !important;
	border-radius: var(--radius) !important;
	padding: 20px !important;
	line-height: 1.8 !important;
}

/* Related products */
.related.products {
	grid-column: 1 / -1;
	margin-top: 40px;
}

.related.products > h2 {
	text-align: center !important;
	color: var(--brown-deep) !important;
	font-weight: 800 !important;
	margin-bottom: 16px;
}

.related.products ul.products,
.related.products ul.products.columns-4,
.related.products ul.products.columns-2,
.related.products ul.products.columns-3 {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 8px !important;
}

.related.products ul.products li.product,
.related.products ul.products.columns-4 li.product,
.related.products ul.products.columns-2 li.product,
.related.products ul.products.columns-3 li.product {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

.related.products ul.products li.product {
	padding: 8px !important;
	width: 100% !important;
	max-width: 100% !important;
}

.related.products ul.products li.product img {
	max-height: 70px !important;
	margin-bottom: 6px !important;
}

.related.products ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.75rem !important;
	line-height: 1.3 !important;
	margin: 4px 0 !important;
}

.related.products ul.products li.product .price {
	font-size: 0.8rem !important;
}

.related.products ul.products li.product .button {
	padding: 6px 10px !important;
	font-size: 0.75rem !important;
}

/* Cart + checkout pages */
.woocommerce table.shop_table {
	border-collapse: collapse;
	width: 100% !important;
	background: rgba(255, 255, 255, 0.75) !important;
	border-radius: var(--radius) !important;
	overflow: hidden;
	box-shadow: var(--shadow) !important;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 12px !important;
	border-bottom: 1px solid rgba(202, 160, 110, 0.3);
	text-align: right !important;
}

@media (max-width: 700px) {
	.woocommerce table.shop_table thead {
		display: none !important;
	}

	.woocommerce table.shop_table,
	.woocommerce table.shop_table tbody {
		display: block !important;
		width: 100% !important;
	}

	.woocommerce table.shop_table tr {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		gap: 6px 14px !important;
		width: 100% !important;
		margin-bottom: 14px !important;
		border: 1px solid rgba(202, 160, 110, 0.35) !important;
		border-radius: 14px !important;
		padding: 10px !important;
	}

	.woocommerce table.shop_table td {
		display: flex !important;
		align-items: center !important;
		gap: 6px !important;
		border: none !important;
		padding: 2px !important;
		width: auto !important;
		min-height: 0 !important;
		text-align: right !important;
		overflow: visible !important;
		white-space: normal !important;
	}

	.woocommerce table.shop_table td[data-title]:not(:empty)::before {
		content: attr(data-title);
		font-weight: 800;
		color: var(--brown-deep);
	}

	.woocommerce table.shop_table td.product-thumbnail {
		width: 100% !important;
		justify-content: center !important;
	}

	.woocommerce table.shop_table td.product-thumbnail::before {
		content: none;
	}

	.woocommerce table.shop_table td.product-thumbnail img {
		max-width: 90px;
		margin: 0 auto;
	}

	.woocommerce table.shop_table td.product-remove {
		width: 100% !important;
		justify-content: center !important;
	}

	.woocommerce table.shop_table td.product-remove::before {
		content: none;
	}
}

.woocommerce #payment,
.woocommerce-checkout-review-order {
	background: rgba(255, 255, 255, 0.75) !important;
	border: 1px solid rgba(202, 160, 110, 0.4) !important;
	border-radius: var(--radius) !important;
	padding: 20px !important;
	box-shadow: var(--shadow) !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
	border-radius: 10px !important;
	border: 1px solid rgba(202, 160, 110, 0.5) !important;
	padding: 10px !important;
	font-family: inherit !important;
}

@media (max-width: 860px) {
	.woocommerce div.product {
		grid-template-columns: 1fr !important;
	}

	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.related.products ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 520px) {
	.woocommerce ul.products {
		grid-template-columns: 1fr !important;
	}

	.related.products ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs {
		flex-wrap: wrap;
	}
}

/* Thank-you / order-received page */
.woocommerce-order-received .woocommerce-thankyou-order-received {
	background: rgba(255, 255, 255, 0.8) !important;
	border: 1px solid rgba(202, 160, 110, 0.45) !important;
	border-radius: var(--radius) !important;
	box-shadow: var(--shadow) !important;
	padding: 24px !important;
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	color: var(--brown-deep) !important;
	text-align: center !important;
	margin-bottom: 30px !important;
}

.woocommerce-order-received .rr-thankyou-note {
	text-align: center;
	max-width: 560px;
	margin: 0 auto 30px;
	font-size: 1rem;
	line-height: 1.8;
	color: var(--ink);
}

.woocommerce-order-received .rr-thankyou-note a {
	color: var(--brown);
	font-weight: 800;
	text-decoration: none;
}

.woocommerce-order-received ul.order_details {
	background: rgba(255, 255, 255, 0.75) !important;
	border: 1px solid rgba(202, 160, 110, 0.4) !important;
	border-radius: var(--radius) !important;
	padding: 20px !important;
	list-style: none !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 20px !important;
	justify-content: center !important;
}

.woocommerce-order-received ul.order_details li {
	text-align: center !important;
}

.woocommerce-order-received ul.order_details li strong {
	display: block;
	color: var(--brown-deep) !important;
	font-size: 1.05rem !important;
}

