/*
Theme Name: Yak Wild Elementor
Theme URI: https://example.com/yakwild-elementor
Author: Custom Build
Author URI: https://example.com
Description: A lightweight, Elementor-safe WordPress theme built from the Yak Wild Industries design. The header and footer are hard-coded theme templates edited from Appearance > Menus, Appearance > Widgets and Appearance > Customize, so they can never be broken from inside the page builder. The body of every page is a plain, empty canvas ready to be edited freely with Elementor.
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: yakwild-elementor
*/

/* ==========================================================================
   0. Design tokens
   ========================================================================== */
:root{
	--yw-navy:        #080d2e;
	--yw-navy-light:  #111a55;
	--yw-border:      #1e2b6d;
	--yw-gold:        #e8c95f;
	--yw-gold-pale:   #f5e7b0;
	--yw-cream:       #f8f8f4;
	--yw-gray:        #6b7280;
	--yw-maroon:      #741f2b;
	--yw-line:        #e5e5e0;
	--yw-white:       #ffffff;
	--yw-font-brand:  'Outfit', 'Segoe UI', Arial, sans-serif;
	--yw-font-body:   'Geist', 'Segoe UI', Arial, sans-serif;
	--ywh-header:     90px;
}

/* ==========================================================================
   1. Reset / base
   ========================================================================== */
*{ box-sizing: border-box; }
html{ -webkit-text-size-adjust: 100%; }
body{
	margin: 0;
	font-family: var(--yw-font-body);
	color: var(--yw-navy);
	background: var(--yw-white);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
img{ max-width: 100%; height: auto; display: block; }
a{ color: inherit; text-decoration: none; }
ul{ margin: 0; padding: 0; list-style: none; }
button{ font-family: inherit; cursor: pointer; }

/* Never let the theme squeeze Elementor's own containers */
body.elementor-page #primary,
body.elementor-page .site-main{
	max-width: none;
	padding: 0;
	margin: 0;
}
.skip-link{
	position: absolute;
	left: -9999px;
}
.skip-link:focus{
	left: 8px;
	top: 8px;
	background: var(--yw-navy);
	color: var(--yw-white);
	padding: 8px 14px;
	z-index: 999999;
	border-radius: 4px;
}

/* ==========================================================================
   2. Site header (hard-coded, edited via Menus / Customizer only)
   ========================================================================== */
.ywh-header{
	background: var(--yw-navy);
	border-bottom: 1px solid var(--yw-border);
	position: relative;
	z-index: 200;
}
.ywh-header__inner{
	max-width: 1440px;
	margin: 0 auto;
	min-height: var(--ywh-header);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 0 80px;
}
.ywh-logo{
	display: flex;
	flex-direction: column;
	line-height: 1;
	gap: 2px;
	white-space: nowrap;
}
.ywh-logo a{ display: block; }
.ywh-logo__top{
	font-family: var(--yw-font-brand);
	font-weight: 800;
	font-size: 18px;
	letter-spacing: 0.5px;
	color: var(--yw-white);
}
.ywh-logo__bottom{
	font-family: var(--yw-font-body);
	font-weight: 600;
	font-size: 9px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--yw-gold);
}
.ywh-nav{ flex: 1; display: flex; justify-content: center; }
.ywh-nav ul{
	display: flex;
	align-items: center;
	gap: 32px;
	flex-wrap: wrap;
}
.ywh-nav a{
	font-family: var(--yw-font-body);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--yw-white);
	transition: color .15s ease;
}
.ywh-nav a:hover,
.ywh-nav .current-menu-item > a{
	color: var(--yw-gold);
}
.ywh-right{ display: flex; align-items: center; gap: 16px; }
.ywh-cta{
	background: var(--yw-gold);
	color: var(--yw-navy);
	font-family: var(--yw-font-brand);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 12px 24px;
	border-radius: 4px;
	white-space: nowrap;
	transition: opacity .15s ease;
	display: inline-block;
}
.ywh-cta:hover{ opacity: .85; color: var(--yw-navy); }
.ywh-cta--mobile{ display: none; }

.ywh-burger{
	display: none;
	background: transparent;
	border: 0;
	width: 32px;
	height: 32px;
	position: relative;
	flex-shrink: 0;
}
.ywh-burger span{
	position: absolute;
	left: 4px;
	right: 4px;
	height: 2px;
	background: var(--yw-white);
	transition: transform .2s ease, opacity .2s ease;
}
.ywh-burger span:nth-child(1){ top: 10px; }
.ywh-burger span:nth-child(2){ top: 16px; }
.ywh-burger span:nth-child(3){ top: 22px; }
.ywh-header.is-open .ywh-burger span:nth-child(1){ transform: translateY(6px) rotate(45deg); }
.ywh-header.is-open .ywh-burger span:nth-child(2){ opacity: 0; }
.ywh-header.is-open .ywh-burger span:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 900px){
	.ywh-header__inner{ padding: 0 24px; min-height: 72px; }
	.ywh-burger{ display: block; }
	.ywh-nav{
		position: absolute;
		top: 72px;
		left: 0;
		right: 0;
		background: var(--yw-navy);
		border-bottom: 1px solid var(--yw-border);
		flex-direction: column;
		align-items: flex-start;
		padding: 16px 24px 24px;
		display: none;
	}
	.ywh-header.is-open .ywh-nav{ display: flex; }
	.ywh-nav ul{ flex-direction: column; align-items: flex-start; gap: 16px; width: 100%; }
	.ywh-cta--desktop{ display: none; }
	.ywh-cta--mobile{ display: none; margin-top: 20px; }
	.ywh-header.is-open .ywh-cta--mobile{ display: inline-block; }
}

/* ==========================================================================
   3. Site footer (hard-coded, edited via Widgets / Customizer only)
   ========================================================================== */
.ywf-footer{
	background: var(--yw-navy);
	padding: 100px 80px 48px;
}
.ywf-footer__inner{ max-width: 1280px; margin: 0 auto; }
.ywf-cols{
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	margin-bottom: 32px;
}
.ywf-col{ flex: 1 1 200px; }
.ywf-col--brand{ flex: 1 1 280px; }
.ywf-brandmark{ display: flex; flex-direction: column; line-height: 1; gap: 2px; margin-bottom: 24px; }
.ywf-brandmark .top{ font-family: var(--yw-font-brand); font-weight: 800; font-size: 18px; color: var(--yw-white); }
.ywf-brandmark .bottom{ font-family: var(--yw-font-body); font-weight: 600; font-size: 9px; letter-spacing: 2px; text-transform: uppercase; color: var(--yw-gold); }
.ywf-col p{ font-size: 13px; line-height: 1.7; color: var(--yw-gold-pale); margin: 0; }
.ywf-col h3{
	font-family: var(--yw-font-body);
	font-size: 12px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--yw-gold);
	margin: 0 0 16px;
	font-weight: 700;
}
.ywf-col ul li{ margin-bottom: 10px; }
.ywf-col ul a,
.ywf-col ul span{
	font-size: 13px;
	color: var(--yw-white);
	font-weight: 400;
}
.ywf-col ul a:hover{ color: var(--yw-gold); }
.ywf-contact-line{ font-size: 13px; font-weight: 600; color: var(--yw-white); display: block; margin-bottom: 8px; }
.ywf-bottom{
	border-top: 1px solid var(--yw-border);
	padding-top: 32px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
}
.ywf-bottom p{ font-size: 12px; color: var(--yw-white); margin: 0; }

/* Widgetized footer fallback: keep default WP widget/text markup tidy */
.ywf-col .widget{ margin-bottom: 24px; }
.ywf-col .widget:last-child{ margin-bottom: 0; }
.ywf-col .widget-title{
	font-family: var(--yw-font-body);
	font-size: 12px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--yw-gold);
	margin: 0 0 16px;
	font-weight: 700;
}

/* ==========================================================================
   4. Misc page chrome
   ========================================================================== */
.site-main{ min-height: 40vh; }
.ywp-plain-page{ max-width: 860px; margin: 0 auto; padding: 80px 24px; }
.ywp-plain-page h1{ font-family: var(--yw-font-brand); }
