/*
Theme Name:   Giant Truss
Theme URI:    https://gianttruss.com
Description:  Giant Truss child theme — approved product page layout, category templates and brand system.
Author:       Digihandler
Template:     woodmart
Version:      1.0.0
Text Domain:  gianttruss
*/

/* ==========================================================================
   Brand palette
   Single source of truth. WoodMart prints its own :root block inline in the
   head, so these are flagged to win regardless of stylesheet order.
   ========================================================================== */

:root {
	/* Giant Truss brand */
	--gt-purple:      #7B4FF4;
	--gt-purple-alt:  #7B45F2;
	--gt-purple-dark: #5F34D6;
	--gt-ink:         #111111;
	--gt-title:       #242424;
	--gt-body:        #767676;

	/* Map WoodMart's theme variables onto the brand */
	--wd-primary-color:     #7B4FF4 !important;
	--wd-alternative-color: #242424 !important;
	--wd-title-color:       #242424 !important;
	--wd-text-color:        #767676 !important;

	/* WoodMart's "accented button" style has its own hardcoded green
	   (#83b735), independent of --wd-primary-color. Only reachable spot found
	   so far: the empty mini-cart's "Continue shopping" button — but purple
	   must be the only accent anywhere on the site, reachable or not. */
	--btn-accented-bgcolor:       #7B4FF4 !important;
	--btn-accented-bgcolor-hover: #5F34D6 !important;

	/* Keyboard focus ring.
	   WoodMart's :focus-visible rule reads --wd-otl-color and falls back to
	   #000 when it is unset — which it was. A black ring on the #0b0b0b
	   footer measures 1.07:1, so tabbing through the footer's 17 links showed
	   nothing at all (WCAG 1.4.11 wants 3:1 for focus indicators).
	   Brand purple clears 3:1 on every surface here — 4.92 on white, 4.00 on
	   the footer, 3.54 on the darkened category cards — so one token covers
	   light and dark without a second accent colour.
	   Width/offset are left to WoodMart: its offset is negative, which keeps
	   the ring inside cards that clip with overflow:hidden. */
	--wd-otl-color: #7B4FF4;
	/* WoodMart sets --wd-otl-style at :root itself, so this needs the same
	   flag the rest of this block uses to win the order tie. Solid reads more
	   clearly than its dotted default at the same 2px. */
	--wd-otl-style: solid !important;

	/* Brand faces */
	--wd-text-font:  "Inter Tight", Arial, Helvetica, sans-serif !important;
	--wd-title-font: "Inter Tight", Arial, Helvetica, sans-serif !important;
}

/* Buttons / accents that hardcode the old primary rather than reading the var */
.wd-buy-now-btn,
.woocommerce-store-notice,
.wd-nav-product-cat .wd-nav-opener:hover {
	background-color: var(--gt-purple);
}

/* WoodMart demo furniture — the live site has no top bar. Removed here; the
   real header (logo / nav / Get A Quote / search) is Phase 1 work. */
.whb-top-bar {
	display: none !important;
}

/* Stragglers that hardcode WoodMart's default green instead of reading the var */
.wd-review-likes .wd-like:is(:hover, .wd-active) {
	--wd-action-color: var(--gt-purple);
	--wd-action-color-hover: var(--gt-purple-dark);
}

/* ==========================================================================
   Full-bleed layout for Elementor-built pages
   WoodMart wraps page content in .container (max-width). The home page and any
   Elementor full-width template manage their own widths per section, so the
   outer constraint has to go.
   ========================================================================== */

body.home .wd-content-layout.container,
body.page-template-elementor_header_footer .wd-content-layout.container,
body.page-template-page-solutions .wd-content-layout.container,
body.page-template-page-team .wd-content-layout.container,
body.page-template-page-catalogue .wd-content-layout.container,
body.page-template-default .wd-content-layout.container,
body.page-template-page-about .wd-content-layout.container,
body.blog .wd-content-layout.container,
body.single-post .wd-content-layout.container,
body.archive .wd-content-layout.container,
body.tax-product_cat .wd-content-layout.container,
body.post-type-archive-product .wd-content-layout.container,
body.single-product .wd-content-layout.container,
body.home .main-page-wrapper,
body.page-template-elementor_header_footer .main-page-wrapper,
body.page-template-page-solutions .main-page-wrapper,
body.page-template-page-team .main-page-wrapper,
body.page-template-page-catalogue .main-page-wrapper,
body.page-template-default .main-page-wrapper,
body.page-template-page-about .main-page-wrapper,
body.blog .main-page-wrapper,
body.single-post .main-page-wrapper,
body.archive .main-page-wrapper,
body.tax-product_cat .main-page-wrapper,
body.post-type-archive-product .main-page-wrapper,
body.single-product .main-page-wrapper {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

body.home .wd-page-content,
body.page-template-elementor_header_footer .wd-page-content,
body.page-template-page-about .wd-page-content,
body.blog .wd-page-content,
body.single-post .wd-page-content,
body.tax-product_cat .wd-page-content,
body.post-type-archive-product .wd-page-content {
	padding-top: 0;
	padding-bottom: 0;
}

/* No blog sidebar on pages, shop or products */
.gt-no-sidebar .wd-sidebar,
.gt-no-sidebar .sidebar-container { display: none !important; }
.gt-no-sidebar .wd-content-area,
.gt-no-sidebar .site-content { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }

/* Fallback tile for products/categories awaiting a render */
.gt-thumb-fallback {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	min-height: 120px;
	padding: 14px;
	text-align: center;
	background:
		linear-gradient(135deg, rgba(123, 79, 244, .07), rgba(123, 79, 244, .02)),
		repeating-linear-gradient(45deg, #fafafa 0 10px, #f4f4f6 10px 20px);
	color: #9a93b5;
	font-family: "Inter Tight", Arial, sans-serif;
	font-weight: 700;
	font-size: clamp(13px, 1.3vw, 17px);
	letter-spacing: .04em;
	text-transform: uppercase;
	line-height: 1.25;
}
.gt-thumb-fallback > span { display: block; max-width: 90%; }


/* ==========================================================================
   Kill WoodMart's content-layout padding
   `main.wd-content-layout` carries padding-top/bottom of 40px. Every template
   in this theme supplies its own vertical rhythm (hero bands, section padding),
   so the theme's padding just leaves a gap under the header.
   ========================================================================== */

body.home main.wd-content-layout,
body.page-template-elementor_header_footer main.wd-content-layout,
body.page-template-page-about main.wd-content-layout,
body.page main.wd-content-layout,
body.blog main.wd-content-layout,
body.single-post main.wd-content-layout,
body.archive main.wd-content-layout,
body.tax-product_cat main.wd-content-layout,
body.post-type-archive-product main.wd-content-layout,
body.single-product main.wd-content-layout {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
