/* ==========================================================================
   Hayarid — WooCommerce styles
   Loaded only when WooCommerce is active. RTL-first.
   ========================================================================== */

.woo-page { padding-block: 2rem 3rem; }

/* Layout: content + optional sidebar */
.woo-layout { display: block; }
.woo-layout:has(.woo-sidebar) {
	display: grid; grid-template-columns: 1fr 280px; gap: 2.2rem; align-items: start;
}
.woo-sidebar {
	background: var(--c-surface); border: 1px solid var(--c-line);
	border-radius: 16px; padding: 1.4rem;
}
.woo-sidebar .widget-title { font-size: 1.05rem; color: var(--c-ink); margin-bottom: .8rem; }

/* Page title */
.woocommerce-products-header__title,
.woo-page .entry-title,
.product_title {
	font-size: clamp(1.6rem, 3vw, 2.2rem); color: var(--c-ink); margin-bottom: 1rem;
}

/* Breadcrumb */
.woocommerce-breadcrumb {
	font-size: .9rem; color: var(--c-muted); margin-bottom: 1.2rem;
}
.woocommerce-breadcrumb a { color: var(--c-primary); }

/* Result count + ordering toolbar */
.woocommerce-result-count { color: var(--c-muted); font-size: .92rem; }
.woocommerce-ordering select {
	padding: .55em 2em .55em 1em; border: 1px solid var(--c-line);
	border-radius: 999px; font-family: inherit; background: var(--c-surface);
}

/* ---- Product loop grid ---- */
ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.4rem; margin: 0 0 2rem; padding: 0; list-style: none;
}
ul.products::before, ul.products::after { content: none !important; }
ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important;
	background: var(--c-surface); border: 1px solid var(--c-line);
	border-radius: 16px; overflow: hidden;
	display: flex; flex-direction: column;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
ul.products li.product:hover {
	transform: translateY(-4px); box-shadow: 0 14px 34px rgba(43,60,107,.10);
	border-color: var(--c-secondary);
}
ul.products li.product a img {
	width: 100%; aspect-ratio: 1/1; object-fit: cover; margin: 0;
}
ul.products li.product .woocommerce-loop-product__title {
	font-size: 1.05rem; font-weight: 700; color: var(--c-ink);
	padding: .9rem 1rem .2rem; margin: 0;
}
ul.products li.product .price {
	display: block; padding: 0 1rem; color: var(--c-primary); font-weight: 800; font-size: 1.1rem;
}
ul.products li.product .price del { color: var(--c-muted); font-weight: 400; margin-inline-start: .4em; }
ul.products li.product .price ins { text-decoration: none; color: var(--c-secondary); }
ul.products li.product .star-rating { margin: .4rem 1rem; font-size: .85rem; }
ul.products li.product .button {
	margin: auto 1rem 1.1rem; text-align: center;
}

/* Sale flash */
span.onsale {
	background: var(--c-accent); color: var(--c-primary-dark);
	font-weight: 700; border-radius: 999px; min-height: auto;
	min-width: auto; padding: .25em .9em; line-height: 1.6; top: 12px; right: 12px; left: auto; margin: 0;
}

/* ---- Buttons (WooCommerce) ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	background: var(--c-primary); color: #fff;
	border-radius: 999px; font-weight: 700; font-family: inherit;
	padding: .75em 1.6em; border: none; transition: background .15s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
	background: var(--c-primary-darker); color: #fff;
}
.woocommerce .button.added::after { display: none; }

/* ---- Single product ---- */
.single-product div.product {
	display: grid; grid-template-columns: 1fr 1fr; gap: 2.6rem; align-items: start;
}
.single-product div.product .woocommerce-product-gallery { margin: 0; }
.single-product div.product .woocommerce-product-gallery img { border-radius: 16px; }
.single-product div.product .summary { margin: 0; }
.single-product div.product .price {
	color: var(--c-primary); font-weight: 800; font-size: 1.6rem;
}
.single-product div.product .price ins { text-decoration: none; color: var(--c-secondary); }
.single-product div.product .quantity input.qty {
	padding: .6em; border: 1px solid var(--c-line); border-radius: 10px; width: 70px;
}
.single-product .woocommerce-product-details__short-description { color: var(--c-body); }

/* Tabs */
.woocommerce-tabs { grid-column: 1 / -1; margin-top: 2.5rem; }
.woocommerce-tabs ul.tabs {
	display: flex; gap: .5rem; border-bottom: 1px solid var(--c-line);
	padding: 0; margin: 0 0 1.4rem;
}
.woocommerce-tabs ul.tabs::before { border: none; }
.woocommerce-tabs ul.tabs li {
	background: transparent; border: none; border-radius: 10px 10px 0 0;
	margin: 0; padding: 0;
}
.woocommerce-tabs ul.tabs li a { color: var(--c-muted); font-weight: 700; padding: .7em 1.1em; }
.woocommerce-tabs ul.tabs li.active a { color: var(--c-primary); }
.woocommerce-tabs ul.tabs li.active {
	border-bottom: 3px solid var(--c-secondary);
}
.woocommerce-tabs ul.tabs li::after,
.woocommerce-tabs ul.tabs li::before { display: none; }

/* Related products heading */
.related.products > h2, .upsells.products > h2 {
	font-size: 1.5rem; color: var(--c-ink); margin-bottom: 1.4rem;
}

/* ---- Cart ---- */
.woocommerce table.shop_table {
	border: 1px solid var(--c-line); border-radius: 14px; overflow: hidden;
	border-collapse: separate;
}
.woocommerce table.shop_table th { background: var(--c-soft); color: var(--c-ink); }
.woocommerce .cart-collaterals .cart_totals { float: none; width: 100%; }
.cart_totals h2 { color: var(--c-ink); }

/* ---- Checkout ---- */
.woocommerce-checkout #payment {
	background: var(--c-surface); border: 1px solid var(--c-line); border-radius: 14px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	padding: .7em .9em; border: 1px solid var(--c-line); border-radius: 10px;
	font-family: inherit; font-size: 1rem;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	outline: none; border-color: var(--c-primary);
}

/* ---- My account ---- */
.woocommerce-account .woocommerce-MyAccount-navigation { width: 26%; }
.woocommerce-account .woocommerce-MyAccount-content { width: 70%; }
.woocommerce-MyAccount-navigation ul { border: 1px solid var(--c-line); border-radius: 14px; overflow: hidden; }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--c-line); }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: none; }
.woocommerce-MyAccount-navigation li a { display: block; padding: .8em 1.1em; color: var(--c-ink); font-weight: 600; }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--c-primary); color: #fff; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-radius: 12px; border-top: none; padding: 1em 1.4em 1em 3em;
}
.woocommerce-message { border-right: 4px solid var(--c-primary); background: var(--c-soft); }
.woocommerce-info { border-right: 4px solid var(--c-accent); }
.woocommerce-error { border-right: 4px solid var(--c-secondary-hover); }

/* ---- Responsive ---- */
@media (max-width: 1024px) {
	ul.products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 860px) {
	.woo-layout:has(.woo-sidebar) { grid-template-columns: 1fr; }
	.single-product div.product { grid-template-columns: 1fr; gap: 1.6rem; }
	ul.products { grid-template-columns: repeat(2, 1fr); }
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
}
@media (max-width: 480px) {
	ul.products { grid-template-columns: repeat(2, 1fr); gap: .8rem; }
}

/* ---- Product specifications block ---- */
.product-specs {
	margin: 1.4rem 0; padding-top: 1.3rem; border-top: 1px solid var(--c-line);
}
.product-specs__title { font-size: 1.1rem; color: var(--c-ink); margin: 0 0 .9rem; }
.product-specs__list { margin: 0; }
.product-specs__row {
	display: flex; gap: 1rem; align-items: baseline;
	padding: .6rem 0; border-bottom: 1px dashed var(--c-line);
}
.product-specs__row:last-child { border-bottom: none; }
.product-specs__row dt { flex: 0 0 110px; font-weight: 700; color: var(--c-body); margin: 0; }
.product-specs__row dd { margin: 0; color: var(--c-ink); }
.product-specs__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.spec-chip {
	display: inline-flex; align-items: center;
	background: var(--c-soft); color: var(--c-primary-dark);
	font-size: .85rem; font-weight: 600;
	padding: 4px 12px; border-radius: 999px; line-height: 1.4;
	transition: background .15s ease, color .15s ease;
}
a.spec-chip:hover { background: var(--c-secondary); color: #fff; }
.spec-chip--plain { background: transparent; border: 1px solid var(--c-line); color: var(--c-body); }

@media (max-width: 480px) {
	.product-specs__row { flex-direction: column; gap: .3rem; }
	.product-specs__row dt { flex-basis: auto; }
}

/* ---- Purchase options (gift wrap + complementary products) ---- */
.hy-options { margin: 1.4rem 0; }
.hy-options__section + .hy-options__section { margin-top: 1.3rem; }
.hy-options__title {
	font-size: .95rem; font-weight: 800; color: var(--c-ink);
	margin: 0 0 .7rem; padding-bottom: .4rem; border-bottom: 1px solid var(--c-line);
}
.hy-option {
	display: flex; align-items: center; gap: .85rem;
	padding: .6rem .8rem; margin-bottom: .55rem;
	border: 1px solid var(--c-line); border-radius: 12px;
	cursor: pointer; transition: border-color .15s ease, background .15s ease;
}
.hy-option:hover { border-color: var(--c-secondary); background: var(--c-soft); }
.hy-option:last-child { margin-bottom: 0; }
.hy-option__cb { flex: 0 0 auto; width: 18px; height: 18px; accent-color: var(--c-primary); margin: 0; }
.hy-option__media {
	flex: 0 0 auto; width: 46px; height: 46px; border-radius: 10px; overflow: hidden;
	background: var(--c-soft); display: flex; align-items: center; justify-content: center;
}
.hy-option__media .hy-option__img,
.hy-option__media img { width: 46px; height: 46px; object-fit: cover; display: block; }
.hy-option__ic { display: inline-flex; align-items: center; justify-content: center; color: var(--c-primary); }
.hy-option__ic svg { width: 24px; height: 24px; }
.hy-option__name { flex: 1 1 auto; font-weight: 600; color: var(--c-ink); }
.hy-option__price { flex: 0 0 auto; font-weight: 800; color: var(--c-primary); white-space: nowrap; }
.hy-option__plus { margin-inline-end: 1px; }
.hy-option__price--free { color: var(--c-muted); font-weight: 600; }

@media (max-width: 480px) {
	.hy-option__media, .hy-option__media .hy-option__img, .hy-option__media img { width: 40px; height: 40px; }
}
