/*
 * Shop Viva Hub — WooCommerce-specific styling.
 * Only loaded on pages where WooCommerce is active (see functions.php).
 */

/* ---------- Single product ---------- */
.single-product .product {
	display: grid;
	gap: var(--svh-space-4);
	padding: var(--svh-space-4) 0;
}
@media (min-width: 900px) {
	.single-product .product { grid-template-columns: 1fr 1fr; align-items: start; }
}
.single-product .woocommerce-product-gallery { border-radius: var(--svh-radius); overflow: hidden; }
.single-product .product_title { font-size: 1.9rem; font-weight: 800; color: var(--svh-brand); margin: 0 0 0.5rem; }
.single-product .price { font-size: 1.6rem; font-weight: 700; color: var(--svh-brand); }
.single-product .price del { color: var(--svh-muted); font-size: 1.1rem; font-weight: 400; margin-right: 0.5rem; }
.single-product .woocommerce-product-details__short-description { color: var(--svh-muted); margin: 1rem 0; }
.single-product form.cart { margin: 1.5rem 0; }
.single-product .svh-digital-badge {
	display: inline-block;
	background: var(--svh-bg);
	border: 1px solid var(--svh-border);
	border-radius: 999px;
	padding: 0.35rem 0.9rem;
	font-size: 0.8rem;
	color: var(--svh-brand);
	margin: 0 0 1rem;
}
.woocommerce-tabs { margin-top: var(--svh-space-4); border-top: 1px solid var(--svh-border); padding-top: var(--svh-space-3); }
.woocommerce-tabs ul.tabs { list-style: none; display: flex; gap: 1.5rem; padding: 0; margin: 0 0 1.5rem; border-bottom: 1px solid var(--svh-border); }
.woocommerce-tabs ul.tabs li a { font-weight: 600; padding-bottom: 0.75rem; display: inline-block; }
.woocommerce-tabs ul.tabs li.active a { color: var(--svh-accent); border-bottom: 2px solid var(--svh-accent); }
.related.products { margin-top: var(--svh-space-5); }
.related.products > h2 { font-size: 1.4rem; color: var(--svh-brand); margin-bottom: 1.25rem; }

/* ---------- Breadcrumbs ---------- */
.svh-breadcrumbs { font-size: 0.85rem; color: var(--svh-muted); margin: 1.5rem 0 0; }
.svh-breadcrumbs a { color: var(--svh-muted); }
.svh-breadcrumbs a:hover { color: var(--svh-accent); }

/* ---------- Cart ---------- */
.woocommerce-cart table.cart {
	border: 1px solid var(--svh-border);
	border-radius: var(--svh-radius);
	overflow: hidden;
	border-collapse: collapse;
	width: 100%;
}
.woocommerce-cart table.cart th { text-align: left; padding: 1rem; background: var(--svh-bg); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.03em; color: var(--svh-muted); }
.woocommerce-cart table.cart td { padding: 1rem; border-top: 1px solid var(--svh-border); }
.woocommerce-cart table.cart img { width: 64px; border-radius: var(--svh-radius-sm); }
.cart-collaterals .cart_totals {
	background: var(--svh-surface);
	border: 1px solid var(--svh-border);
	border-radius: var(--svh-radius);
	padding: 1.5rem;
	margin-top: 1.5rem;
}
.cart-collaterals .cart_totals h2 { font-size: 1.2rem; color: var(--svh-brand); margin-top: 0; }

/* ---------- Checkout ---------- */
.woocommerce-checkout #customer_details { margin-bottom: var(--svh-space-3); }
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading {
	font-size: 1.2rem;
	color: var(--svh-brand);
	margin-bottom: 1rem;
}
#order_review, #payment {
	background: var(--svh-surface);
	border: 1px solid var(--svh-border);
	border-radius: var(--svh-radius);
	padding: 1.5rem;
}
.woocommerce-checkout-review-order-table { width: 100%; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: 0.6rem 0; border-bottom: 1px solid var(--svh-border); }

/* ---------- My Account ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--svh-surface);
	border: 1px solid var(--svh-border);
	border-radius: var(--svh-radius);
	padding: 1rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin-bottom: 0.25rem; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 0.6rem 0.75rem; border-radius: var(--svh-radius-sm); font-weight: 500; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--svh-bg); color: var(--svh-brand); font-weight: 700; }
.woocommerce-account .woocommerce-MyAccount-content { margin-top: 1.5rem; }
@media (min-width: 900px) {
	.woocommerce-account .woocommerce-MyAccount-navigation { float: left; width: 220px; }
	.woocommerce-account .woocommerce-MyAccount-content { margin-left: 250px; margin-top: 0; }
}

.svh-account-welcome { font-size: 1.5rem; color: var(--svh-brand); margin-bottom: 1.5rem; }
.svh-account-welcome span { color: var(--svh-accent); }
.svh-account-quicklinks { display: grid; gap: 1rem; }
@media (min-width: 700px) { .svh-account-quicklinks { grid-template-columns: repeat(3, 1fr); } }
.svh-account-quicklink {
	display: block;
	border: 1px solid var(--svh-border);
	border-radius: var(--svh-radius);
	padding: 1.25rem;
	background: var(--svh-surface);
}
.svh-account-quicklink strong { display: block; color: var(--svh-brand); margin-bottom: 0.25rem; }
.svh-account-quicklink span { color: var(--svh-muted); font-size: 0.85rem; }

.woocommerce-orders-table__cell-order-actions .button,
.woocommerce-MyAccount-downloads-file .button {
	font-size: 0.8rem !important;
	padding: 0.4rem 0.85rem !important;
}

/* ---------- Notices / messages ---------- */
.woocommerce-message, .woocommerce-info {
	border-top-color: var(--svh-brand) !important;
	border-radius: var(--svh-radius-sm);
}
.woocommerce-error { border-top-color: #b3261e !important; border-radius: var(--svh-radius-sm); }
