/* WooCommerce design-system additions (shop + single product).
   Full-bleed hero breakout from The7's content container; native loop untouched. */
.tp-ds-woo-page .tp-ds-woo-hero {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	width: 100vw;
	margin-bottom: 8px;
}
/* keep the native shop title/breadcrumb from clashing with our hero */
.tp-ds-woo-page .woocommerce-products-header,
.tp-ds-woo-page .woocommerce-breadcrumb { margin-top: 8px; }
.tp-ds .tp-prod-eyebrow {
	display: block; color: #4A5C70; font-size: 11px; font-weight: 800;
	letter-spacing: 0.13em; text-transform: uppercase; margin-bottom: 8px;
}
.tp-ds.tp-prod-extra { display: block; background: var(--tp-bg-light); padding: 48px 0; margin-top: 40px; }
.tp-ds.tp-prod-extra .tp-wrap { max-width: calc(var(--tp-content-width) + (2 * var(--tp-gutter))); }
@media (max-width: 767px) {
	.tp-ds-woo-page .tp-ds-woo-hero { margin-bottom: 0; }
}

/* The Elementor shop-archive banner repeats the page title; our hero is the page
   heading, so hide the native banner title on the shop archive only. tp-ds-woo
   demotes that H1 to a <div> in PHP (so the document has exactly one H1), hence
   both selectors — the div form is what renders after the demotion. */
body.post-type-archive-product h1.the7-heading-title,
body.post-type-archive-product div.the7-heading-title { display: none !important; }

/* ============================================================
   DESIGN-SYSTEM PARITY FOR WOOCOMMERCE SURFACES
   Layout, typography, spacing and controls only. No price, product
   name, description, availability or checkout behaviour is touched —
   those are owner-gated commerce content. Everything here is scoped to
   WooCommerce body classes so no other template can be affected.
   ============================================================ */
body.woocommerce-page,
body.post-type-archive-product,
body.single-product {
	--tpw-navy: #03162C;
	--tpw-teal: #1F7A8C;
	--tpw-teal-deep: #176571;
	--tpw-text: #07172D;
	--tpw-text-secondary: #36475A;
	--tpw-border: #DDE5EC;
	--tpw-bg-light: #F4F7FA;
	--tpw-radius: 4px;
}

/* container width matches the design system / Elementor kit (1300 + gutters) */
body.woocommerce-page .woocommerce,
body.post-type-archive-product .woocommerce,
body.single-product .woocommerce {
	max-width: calc(1300px + (2 * 40px));
	margin-left: auto;
	margin-right: auto;
	padding-left: 40px;
	padding-right: 40px;
}

/* product cards: match the design-system card treatment */
body.post-type-archive-product ul.products li.product {
	background: #fff;
	border: 1px solid var(--tpw-border);
	border-radius: var(--tpw-radius);
	padding: 18px 18px 22px;
	transition: box-shadow .18s ease, transform .18s ease;
}
body.post-type-archive-product ul.products li.product:hover {
	box-shadow: 0 6px 22px rgba(3, 22, 44, .10);
	transform: translateY(-2px);
}
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title {
	color: var(--tpw-text);
	font-weight: 600;
	line-height: 1.3;
}
body.woocommerce-page .price,
body.single-product .price { color: var(--tpw-text); font-weight: 600; }

/* single product: readable summary column */
body.single-product div.product .entry-summary { color: var(--tpw-text-secondary); line-height: 1.6; }
body.single-product div.product .product_title { color: var(--tpw-text); line-height: 1.2; }

/* controls: one accent, matching the design system's teal */
body.woocommerce-page .button,
body.woocommerce-page button.button,
body.woocommerce-page input.button,
body.woocommerce-page a.button,
body.woocommerce-page .wc-block-components-button,
body.single-product button.single_add_to_cart_button {
	background: var(--tpw-teal);
	color: #fff;
	border: 1px solid var(--tpw-teal);
	border-radius: var(--tpw-radius);
	font-weight: 600;
	letter-spacing: .01em;
}
body.woocommerce-page .button:hover,
body.woocommerce-page button.button:hover,
body.woocommerce-page input.button:hover,
body.woocommerce-page a.button:hover,
body.single-product button.single_add_to_cart_button:hover {
	background: var(--tpw-teal-deep);
	border-color: var(--tpw-teal-deep);
	color: #fff;
}
body.woocommerce-page .button:focus-visible,
body.woocommerce-page a.button:focus-visible,
body.single-product button.single_add_to_cart_button:focus-visible {
	outline: 3px solid var(--tpw-teal-deep);
	outline-offset: 3px;
}

/* cart + checkout tables: design-system borders and spacing */
body.woocommerce-cart table.shop_table,
body.woocommerce-checkout table.shop_table {
	border: 1px solid var(--tpw-border);
	border-radius: var(--tpw-radius);
	border-collapse: separate;
	border-spacing: 0;
}
body.woocommerce-cart table.shop_table th,
body.woocommerce-checkout table.shop_table th {
	background: var(--tpw-bg-light);
	color: var(--tpw-text);
	font-weight: 600;
}
body.woocommerce-cart table.shop_table td,
body.woocommerce-checkout table.shop_table td { border-top: 1px solid var(--tpw-border); }
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-cart .cart_totals {
	background: var(--tpw-bg-light);
	border: 1px solid var(--tpw-border);
	border-radius: var(--tpw-radius);
	padding: 18px;
}

/* Owner-requested removal: the "Start the Right Engagement" band (template
   27270) duplicates the archive's own hero CTA, so it is hidden on the product
   archive. Scoped to the shop archive only — the template is untouched and can
   still be used elsewhere. */
body.post-type-archive-product .elementor-27270 { display: none !important; }

@media (max-width: 767px) {
	body.woocommerce-page .woocommerce,
	body.post-type-archive-product .woocommerce,
	body.single-product .woocommerce { padding-left: 20px; padding-right: 20px; }
}

/* Design-system teal top rule on the product cards (loop item template 10325).
   Elementor's border control is a single colour, so the 2px top edge is tinted
   here to match .tp-pcard elsewhere in the design system. */
body.post-type-archive-product .elementor-element-f5fa4e6 {
	border-top-color: var(--tpw-teal, #1F7A8C) !important;
	transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
body.post-type-archive-product .elementor-element-f5fa4e6:hover {
	box-shadow: 0 6px 22px rgba(3, 22, 44, .10);
	transform: translateY(-2px);
}

/* Owner-requested removal: hide the legacy Elementor intro text-editor widget on
   the shop archive ("Explore a focused selection… Discuss a Larger Initiative").
   The design-system engagements copy (tp-ds-woo before_do_archive) replaces it.
   Scoped to the shop archive; the widget lives in the shop page's _elementor_data
   which is edited on staging only, so it is hidden here rather than deleted. */
body.post-type-archive-product .elementor-element-03a8901 { display: none !important; }
