/*
Theme Name: TalentHunt Smart Agency
Theme URI: https://talenthunt.com
Author: TalentHunt
Description: Custom full-site-editing block theme for TalentHunt Smart Agency.
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
Version: 1.0.3
Text Domain: talenthunt
*/

/* ---------- Base ---------- */
*{ box-sizing:border-box; }
.th-h1{ font-family:'Space Grotesk',sans-serif; font-weight:700; letter-spacing:-0.025em; line-height:1.04; }
.th-h2{ font-family:'Space Grotesk',sans-serif; font-weight:700; letter-spacing:-0.02em; line-height:1.08; }
a{ transition:color .16s; }

/* ---------- Screen-edge padding (mobile fix) ----------
   Constrained/wide content groups are centered via max-width + auto margins,
   which only creates a visible gutter once the viewport is WIDER than the
   max-width. Below that (i.e. on any phone/tablet) they span 100% of the
   viewport with no padding of their own, so text runs to the screen edge.
   Restore the gutter explicitly, matching the design's 32px side margin. */
.alignwide,
main.wp-block-group > :where(:not(.alignfull)),
.alignfull.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	padding-left: 32px;
	padding-right: 32px;
}
@media (max-width: 480px){
	.alignwide,
	main.wp-block-group > :where(:not(.alignfull)),
	.alignfull.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* ---------- Collapse any inline multi-column grid on narrow screens ----------
   Many decorative modules on this site are hand-built Custom HTML blocks with
   inline `display:grid;grid-template-columns:repeat(N,1fr)`. Rather than audit
   every one individually, force all of them to a single column below 700px;
   more specific .th-*-grid rules further down this file (with their own
   tablet-step breakpoints) take precedence over this catch-all where present. */
@media (max-width: 700px){
	[style*="display:grid"][style*="grid-template-columns"]{
		grid-template-columns: 1fr !important;
	}
	/* An item with `grid-column: span N` forces the browser to create extra
	   implicit column tracks to satisfy the span, even once the explicit
	   template above is collapsed to 1fr — which quietly re-creates a
	   multi-column layout. Cancel any such span at this breakpoint too. */
	[style*="grid-column"]{
		grid-column: auto !important;
	}
}

/* ---------- Sticky, blurred header ---------- */
.th-header{
	position:sticky; top:0; z-index:50;
	background:transparent;
	border-bottom:1px solid #E8EBEF;
}
/* backdrop-filter lives on a ::before layer, not on .th-header itself —
   filter/backdrop-filter on an ancestor creates a CSS containing block that
   would trap the nav's position:fixed mobile overlay inside the header box. */
.th-header::before{
	content:""; position:absolute; inset:0; z-index:-1;
	background:rgba(255,255,255,.86);
	backdrop-filter:saturate(1.2) blur(12px);
	-webkit-backdrop-filter:saturate(1.2) blur(12px);
}
.th-header .wp-block-navigation{ gap:26px; }
.th-header .wp-block-navigation-item a{
	font-size:14.5px; font-weight:500; color:#3A4256; text-decoration:none;
}
.th-header .wp-block-navigation-item a:hover,
.th-header .wp-block-navigation-item.current-menu-item a{ color:#0C8F5F; }
.th-header .wp-block-navigation__responsive-container:not(.is-menu-open){
	background:transparent;
}
.th-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
	background:#0A0E17;
}
.th-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a{
	color:#fff;
}
.th-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item a{
	color:#7FE3B6;
}
.th-header-row .wp-block-button__link{ white-space:nowrap; }
@media (max-width: 480px){
	.th-header-row{ padding-left:16px !important; padding-right:16px !important; }
	.th-header-row .wp-block-button__link{ padding-left:14px !important; padding-right:14px !important; font-size:13.5px !important; }
}

/* ---------- Hero grid-pattern backgrounds ---------- */
.th-grid-bg{
	position:relative;
	background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
	background-size:52px 52px;
}
.th-grid-bg.th-glow::before{
	content:"";
	position:absolute; inset:0; pointer-events:none;
	background:radial-gradient(900px 480px at 78% 8%,rgba(12,143,95,.22),transparent 60%);
}

/* ---------- Reusable module: equation row ---------- */
.th-eq-row{ display:flex; align-items:stretch; gap:14px; flex-wrap:wrap; justify-content:center; }
.th-eq-card{ flex:1; min-width:180px; background:#F5F6F8; border:1px solid #E6E9ED; border-radius:16px; padding:26px 24px; display:flex; flex-direction:column; gap:8px; }
.th-eq-card.is-outcome{ flex:1.15; min-width:200px; background:#EAF6EF; border:1.5px solid #0C8F5F; }
.th-eq-op{ display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:30px; color:#0C8F5F; padding:0 2px; }
@media (max-width: 820px){ .th-eq-row{ flex-direction:column; align-items:stretch; } .th-eq-op{ padding:2px 0; } }

/* ---------- Reusable module: four pillars ---------- */
.th-pillar-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.th-pillar-card{ background:#fff; border:1px solid #E6E9ED; border-radius:16px; padding:26px 24px 28px; display:flex; flex-direction:column; gap:16px; transition:transform .2s, box-shadow .2s, border-color .2s; }
.th-pillar-card:hover{ transform:translateY(-3px); box-shadow:0 20px 40px -28px rgba(10,14,23,.25); border-color:#CBE9DC; }
@media (max-width: 900px){ .th-pillar-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width: 520px){ .th-pillar-grid{ grid-template-columns:1fr; } }

/* ---------- Reusable module: comparison table ---------- */
.th-cmp-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; }
.th-cmp-col{ border-radius:18px; padding:32px 30px; }
.th-cmp-row{ display:flex; align-items:flex-start; gap:13px; padding:13px 0; border-top:1px solid #E6E9ED; }
.th-cmp-col.is-smart .th-cmp-row{ border-top:1px solid #EBF3EF; }
@media (max-width: 720px){ .th-cmp-grid{ grid-template-columns:1fr; } }

/* ---------- Reusable module: dark stat/benefit grid ---------- */
.th-stat-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.th-stat-card{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:13px; padding:18px; display:flex; align-items:flex-start; gap:11px; }
@media (max-width: 640px){ .th-stat-grid{ grid-template-columns:1fr; } }

/* ---------- Reusable module: card grids (services / industries / logos) ---------- */
.th-card-grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.th-card{ background:#fff; border:1px solid #E6E9ED; border-radius:18px; padding:30px 28px; display:flex; flex-direction:column; gap:14px; text-decoration:none; transition:transform .2s, box-shadow .2s, border-color .2s; }
.th-card:hover{ transform:translateY(-3px); box-shadow:0 24px 48px -30px rgba(10,14,23,.2); border-color:#CBE9DC; }
@media (max-width: 860px){ .th-card-grid-3{ grid-template-columns:1fr; } }

.th-tile-grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.th-tile{ background:#fff; border:1px solid #E6E9ED; border-radius:13px; padding:22px 20px; display:flex; flex-direction:column; gap:10px; transition:border-color .2s; }
.th-tile:hover{ border-color:#0C8F5F; }
.th-tile-icon{ width:34px; height:34px; border-radius:9px; background:#EAF6EF; border:1px solid #CDE9DC; display:flex; align-items:center; justify-content:center; }
@media (max-width: 860px){ .th-tile-grid-4{ grid-template-columns:1fr 1fr; } }
@media (max-width: 520px){ .th-tile-grid-4{ grid-template-columns:1fr; } }

.th-logo-wall{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; max-width:960px; margin:0 auto; }
.th-logo-slot{ height:74px; border:1px dashed #D6DAE0; border-radius:12px; display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.08em; color:#AEB4BF; text-align:center; padding:0 8px; }
@media (max-width: 860px){ .th-logo-wall{ grid-template-columns:repeat(3,1fr); } }
@media (max-width: 520px){ .th-logo-wall{ grid-template-columns:repeat(2,1fr); } }

/* ---------- Layout grid helpers used across hero/footer sections ---------- */
.th-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
@media (max-width: 940px){ .th-hero-grid{ grid-template-columns:1fr; gap:40px; } }

.th-why-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
@media (max-width: 860px){ .th-why-grid{ grid-template-columns:1fr; gap:36px; } }

.th-foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; }
@media (max-width: 860px){ .th-foot-grid{ grid-template-columns:1fr 1fr; gap:36px; } }
@media (max-width: 520px){ .th-foot-grid{ grid-template-columns:1fr; } }

/* ---------- Chips / tags ---------- */
.th-chip-row{ display:flex; flex-wrap:wrap; gap:10px; }
.th-chip{ background:#F5F6F8; border:1px solid #E6E9ED; border-radius:100px; padding:9px 16px; font-size:14px; color:#3A4256; font-weight:500; }

/* ---------- Anchor scroll offset for in-page nav ---------- */
[id]{ scroll-margin-top:96px; }

/* ---------- Forms ---------- */
.th-form input[type=text], .th-form input[type=email], .th-form select, .th-form textarea{
	width:100%; font-family:'IBM Plex Sans',sans-serif; font-size:15px; color:#0A0E17;
	background:#fff; border:1px solid #D9DEE5; border-radius:10px; padding:13px 15px;
}
.th-form select{
	appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235A6376' stroke-width='1.5' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
	background-repeat:no-repeat; background-position:right 15px center;
}
.th-form label{ display:block; font-size:13.5px; font-weight:600; color:#3A4256; margin-bottom:6px; }
.th-form .th-field{ margin-bottom:18px; }

/* ---------- Resource card grid responsiveness ---------- */
@media (max-width: 860px){ .wp-block-post-template.is-layout-grid{ grid-template-columns:1fr !important; } }

/* ---------- Motion ---------- */
@media (prefers-reduced-motion: reduce){ *{ transition:none !important; } }
