/*
Theme Name: YugeWeb
Theme URI: https://yugeweb.co
Author: YugeWeb
Author URI: https://yugeweb.co
Description: Custom dark-mode agency theme for YugeWeb — Digital Marketing & Web Development Agency in Rishikesh. Includes templates for Home, Services, Case Studies, About, Contact and Privacy Policy.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: yugeweb
*/

/* ---------------------------------------------------------
   Design Tokens
--------------------------------------------------------- */
:root {
	--yw-bg: #05070D;
	--yw-surface: #0D111C;
	--yw-surface-2: rgba(255,255,255,0.03);
	--yw-card: rgba(15,20,34,0.5);
	--yw-border: rgba(255,255,255,0.06);
	--yw-border-strong: rgba(255,255,255,0.12);
	--yw-text: #FFFFFF;
	--yw-text-muted: #94A3B8;
	--yw-text-faint: #64748B;
	--yw-orange: #F5A623;
	--yw-blue: #1E63D0;
	--yw-blue-light: #5B9BFF;
	--yw-cyan: #22D3EE;
	--yw-gradient: linear-gradient(90deg, var(--yw-orange), var(--yw-blue));
	--yw-radius: 1rem;
	--yw-radius-lg: 1.5rem;
	--yw-container: 1280px;
	--yw-font: 'Poppins', ui-sans-serif, system-ui, -apple-system, sans-serif;
}

/* ---------------------------------------------------------
   Reset & Base
--------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--yw-bg);
	color: var(--yw-text);
	font-family: var(--yw-font);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4 { margin: 0; font-weight: 800; letter-spacing: -0.02em; }
p { margin: 0; }
input, select, textarea { font-family: inherit; }

.yw-container { max-width: var(--yw-container); margin: 0 auto; padding: 0 1.5rem; }
@media (min-width: 1024px) { .yw-container { padding: 0 2.5rem; } }

.yw-text-gradient {
	background: var(--yw-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* ---------------------------------------------------------
   Buttons
--------------------------------------------------------- */
.yw-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	border-radius: 999px;
	padding: 0.9rem 1.75rem;
	font-size: 0.9rem;
	font-weight: 700;
	border: none;
	transition: all 0.3s ease;
	white-space: nowrap;
}
.yw-btn:hover { transform: scale(1.02); }
.yw-btn-primary {
	background: var(--yw-gradient);
	color: #fff;
	box-shadow: 0 4px 20px rgba(30,99,208,0.15);
}
.yw-btn-primary:hover { box-shadow: 0 8px 30px rgba(30,99,208,0.35); }
.yw-btn-outline {
	background: transparent;
	color: var(--yw-text);
	border: 1px solid var(--yw-border-strong);
}
.yw-btn-outline:hover { border-color: rgba(30,99,208,0.5); box-shadow: 0 8px 24px rgba(30,99,208,0.15); }
.yw-btn-block { width: 100%; }
.yw-btn-link { background: none; border: none; color: var(--yw-orange); font-weight: 700; font-size: 0.9rem; padding: 0; }
.yw-btn-link:hover { transform: scale(1.02); }

/* ---------------------------------------------------------
   Eyebrow pill
--------------------------------------------------------- */
.yw-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	border: 1px solid rgba(30,99,208,0.25);
	background: rgba(30,99,208,0.1);
	color: var(--yw-cyan);
	padding: 0.4rem 1rem;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.yw-eyebrow-dot { font-size: 0.75rem; }

/* ---------------------------------------------------------
   Header / Navbar
--------------------------------------------------------- */
.yw-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(15,20,34,0.8);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--yw-border);
}
.yw-header-inner {
	height: 5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.yw-brand { display: flex; align-items: center; gap: 0.75rem; transition: transform 0.3s ease; }
.yw-brand:hover { transform: scale(1.02); }
.yw-wordmark { font-weight: 800; font-size: 1.25rem; letter-spacing: -0.02em; }
.yw-wordmark .yw-w-yuge { color: #fff; }
.yw-wordmark .yw-w-web { color: var(--yw-orange); }

.yw-nav-list { display: none; align-items: center; gap: 0.25rem; }
.yw-nav-link {
	position: relative;
	padding: 0.5rem 1rem;
	border-radius: 999px;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--yw-text-muted);
	transition: all 0.3s ease;
}
.yw-nav-link:hover { color: #fff; transform: scale(1.02); }
.yw-nav-link.yw-active { color: #fff; }
.yw-nav-link.yw-active::after,
.yw-nav-link:hover::after {
	content: '';
	position: absolute;
	left: 1rem; right: 1rem; bottom: -1px;
	height: 2px;
	border-radius: 999px;
	background: var(--yw-gradient);
}
.yw-nav-link:hover::after { opacity: 0.5; }

.yw-header-cta { display: none; }
.yw-menu-toggle {
	background: none;
	border: none;
	color: #fff;
	padding: 0.25rem;
	transition: transform 0.3s ease;
}
.yw-menu-toggle:hover { transform: scale(1.1); }

.yw-mobile-nav {
	display: none;
	border-top: 1px solid var(--yw-border);
	background: rgba(13,17,28,0.98);
	padding: 1rem 1.5rem 1.25rem;
}
.yw-mobile-nav.yw-open { display: flex; flex-direction: column; gap: 0.5rem; }
.yw-mobile-nav-list { display: flex; flex-direction: column; gap: 0.4rem; }
.yw-mobile-nav .yw-nav-link { text-align: left; padding: 0.75rem 1rem; border-radius: 0.75rem; }
.yw-mobile-nav .yw-nav-link.yw-active,
.yw-mobile-nav .yw-nav-link:hover { background: rgba(255,255,255,0.05); }
.yw-mobile-nav .yw-nav-link::after { display: none; }
.yw-mobile-cta { margin-top: 0.5rem; }

@media (min-width: 768px) {
	.yw-nav-list { display: flex; }
	.yw-header-cta { display: inline-flex; }
	.yw-menu-toggle { display: none; }
	.yw-mobile-nav { display: none !important; }
}

/* ---------------------------------------------------------
   Hero
--------------------------------------------------------- */
.yw-hero { position: relative; overflow: hidden; padding: 4rem 0 6rem; }
.yw-hero-bg-a { position: absolute; inset: 0; background: radial-gradient(ellipse at top right, rgba(245,166,35,0.14), transparent 55%); pointer-events: none; }
.yw-hero-bg-b { position: absolute; inset: 0; background: radial-gradient(ellipse at bottom left, rgba(30,99,208,0.16), transparent 50%); pointer-events: none; }
.yw-hero-grid { position: relative; display: grid; grid-template-columns: 1fr; gap: 3rem; align-items: center; }
@media (min-width: 1024px) { .yw-hero-grid { grid-template-columns: 1fr 1fr; } }

.yw-hero h1 { font-size: 3rem; line-height: 1.08; color: #fff; }
@media (min-width: 640px) { .yw-hero h1 { font-size: 3.75rem; } }
.yw-hero-copy { margin-top: 1.5rem; color: var(--yw-text-muted); font-size: 1.125rem; line-height: 1.7; max-width: 34rem; }
.yw-hero-ctas { margin-top: 2.25rem; display: flex; flex-wrap: wrap; gap: 1rem; }

.yw-tag-row { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 0.6rem; }
.yw-tag {
	border: 1px solid var(--yw-border-strong);
	background: rgba(255,255,255,0.03);
	color: #cbd5e1;
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 600;
}
.yw-badge-row { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: 1.5rem; }
.yw-badge { display: flex; align-items: center; gap: 0.4rem; color: var(--yw-text-faint); font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; }
.yw-badge.orange { color: var(--yw-orange); }
.yw-badge.cyan { color: var(--yw-cyan); }

.yw-hero-signature { position: relative; width: 100%; height: 420px; display: flex; align-items: center; justify-content: center; }
.yw-hero-glow { position: absolute; width: 420px; height: 420px; border-radius: 50%; opacity: 0.25; filter: blur(70px); background: conic-gradient(from 0deg, #F5A623, #1E63D0, #F5A623); }
.yw-hero-svg { position: relative; width: 340px; height: 340px; }
.yw-dot-pulse { animation: yw-pulse 3.4s ease-in-out infinite; opacity: 0.9; }
@keyframes yw-pulse { 0%, 100% { opacity: 0.55; } 50% { opacity: 1; } }
.yw-hero-arrow { position: absolute; top: 1.5rem; right: 2rem; color: var(--yw-cyan); font-size: 2.25rem; font-weight: 700; }
.yw-hero-orb { position: absolute; width: 4rem; height: 4rem; border-radius: 50%; background: var(--yw-gradient); box-shadow: 0 0 60px 10px rgba(30,99,208,0.4); }

/* ---------------------------------------------------------
   Sections / Grids / Cards
--------------------------------------------------------- */
.yw-section { padding: 6rem 0; }
.yw-section-tight { padding: 4rem 0; }
.yw-section-soft { background: rgba(255,255,255,0.02); border-top: 1px solid var(--yw-border); border-bottom: 1px solid var(--yw-border); }
.yw-center { text-align: center; }
.yw-max-w-2xl { max-width: 42rem; margin-left: auto; margin-right: auto; }
.yw-h2 { font-size: 2rem; color: #fff; margin-top: 1.5rem; }
@media (min-width: 640px) { .yw-h2 { font-size: 2.5rem; } }
.yw-lede { margin-top: 1.25rem; color: var(--yw-text-muted); font-size: 1.125rem; }

.yw-grid { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .yw-grid-2 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 640px) { .yw-grid-3-sm { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .yw-grid-3 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .yw-grid-4 { grid-template-columns: repeat(4, 1fr); } }

.yw-card {
	border: 1px solid var(--yw-border);
	background: var(--yw-card);
	border-radius: var(--yw-radius-lg);
	padding: 1.75rem;
	transition: all 0.3s ease;
}
.yw-card:hover { transform: scale(1.02); box-shadow: 0 20px 40px rgba(30,99,208,0.15); border-color: rgba(30,99,208,0.2); }

.yw-icon-tile {
	width: 3rem; height: 3rem;
	border-radius: 0.85rem;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, rgba(245,166,35,0.2), rgba(30,99,208,0.2));
	color: var(--yw-orange);
	font-size: 1.3rem;
}

/* Stats */
.yw-stat { display: flex; align-items: center; gap: 1.25rem; }
.yw-stat-value { font-size: 1.9rem; font-weight: 800; color: #fff; }
.yw-stat-label { color: var(--yw-text-muted); font-size: 0.9rem; font-weight: 500; }

/* Feature tiles (why-rishikesh) */
.yw-feature-tile {
	border: 1px solid var(--yw-border);
	background: rgba(255,255,255,0.02);
	border-radius: 1rem;
	padding: 1.5rem;
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.75rem;
	transition: all 0.3s ease;
}
.yw-feature-tile:hover { transform: scale(1.03); border-color: rgba(30,99,208,0.3); }
.yw-check-list { margin-top: 1.5rem; display: flex; flex-direction: column; gap: 0.75rem; }
.yw-check-item { display: flex; align-items: flex-start; gap: 0.65rem; color: #e2e8f0; font-size: 0.9rem; }
.yw-check-item .yw-check-ico { color: var(--yw-orange); margin-top: 2px; }

/* Testimonials */
.yw-testimonial-box {
	position: relative;
	border: 1px solid var(--yw-border);
	background: linear-gradient(to bottom, rgba(15,20,34,0.6), rgba(15,20,34,0.15));
	border-radius: var(--yw-radius-lg);
	padding: 3rem 2rem;
	text-align: center;
}
@media (min-width: 640px) { .yw-testimonial-box { padding: 3.5rem 3rem; } }
.yw-quote-mark { font-size: 2.25rem; color: rgba(30,99,208,0.6); }
.yw-testimonial-text { margin-top: 1.5rem; font-size: 1.25rem; font-weight: 500; color: #fff; line-height: 1.6; }
@media (min-width: 640px) { .yw-testimonial-text { font-size: 1.5rem; } }
.yw-stars { margin-top: 1.5rem; color: var(--yw-orange); font-size: 1rem; letter-spacing: 0.15em; }
.yw-testimonial-name { margin-top: 1rem; font-weight: 700; color: #fff; }
.yw-testimonial-role { color: var(--yw-text-muted); font-size: 0.9rem; }
.yw-slider-controls { margin-top: 2rem; display: flex; align-items: center; justify-content: center; gap: 1rem; }
.yw-slider-arrow {
	width: 2.5rem; height: 2.5rem; border-radius: 50%;
	border: 1px solid var(--yw-border-strong);
	background: transparent; color: #fff;
	display: flex; align-items: center; justify-content: center;
	transition: all 0.3s ease;
}
.yw-slider-arrow:hover { transform: scale(1.08); border-color: rgba(30,99,208,0.4); }
.yw-slider-dots { display: flex; gap: 0.5rem; }
.yw-slider-dot { height: 0.5rem; width: 0.5rem; border-radius: 999px; background: rgba(255,255,255,0.2); border: none; transition: all 0.3s ease; padding: 0; }
.yw-slider-dot.yw-active { width: 1.5rem; background: var(--yw-gradient); }
.yw-testimonial-slide { display: none; }
.yw-testimonial-slide.yw-active { display: block; }

/* CTA banner */
.yw-cta-banner {
	border: 1px solid var(--yw-border);
	background: linear-gradient(90deg, rgba(245,166,35,0.1), rgba(30,99,208,0.1));
	border-radius: var(--yw-radius-lg);
	padding: 2.5rem;
	text-align: center;
}
.yw-cta-banner h3 { font-size: 1.5rem; color: #fff; }
.yw-cta-banner p { margin-top: 0.5rem; color: var(--yw-text-muted); }
.yw-cta-banner .yw-btn { margin-top: 1.5rem; }

/* ---------------------------------------------------------
   Services page
--------------------------------------------------------- */
.yw-filter-row { margin-top: 3rem; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; }
.yw-filter-btn {
	border-radius: 999px;
	padding: 0.65rem 1.5rem;
	font-size: 0.9rem;
	font-weight: 700;
	border: 1px solid var(--yw-border-strong);
	background: transparent;
	color: #cbd5e1;
	transition: all 0.3s ease;
}
.yw-filter-btn:hover { transform: scale(1.02); border-color: rgba(30,99,208,0.4); color: #fff; }
.yw-filter-btn.yw-active { background: var(--yw-gradient); color: #fff; border-color: transparent; box-shadow: 0 4px 20px rgba(30,99,208,0.15); }

.yw-service-card { display: none; }
.yw-service-card.yw-show { display: block; animation: yw-fade-in 0.35s ease; }
@keyframes yw-fade-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.yw-service-cat { margin-top: 1.25rem; display: block; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--yw-cyan); }
.yw-service-title { margin-top: 0.5rem; font-size: 1.1rem; color: #fff; font-weight: 700; }
.yw-service-desc { margin-top: 0.5rem; color: var(--yw-text-muted); font-size: 0.9rem; line-height: 1.6; }

/* ---------------------------------------------------------
   Case studies gallery
--------------------------------------------------------- */
.yw-case-card {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--yw-border);
	background: var(--yw-card);
	border-radius: var(--yw-radius-lg);
	aspect-ratio: 4 / 3;
	transition: all 0.3s ease;
}
.yw-case-card:hover { transform: scale(1.02); border-color: rgba(30,99,208,0.2); box-shadow: 0 20px 40px rgba(30,99,208,0.15); }
.yw-case-bg { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(30,99,208,0.2), rgba(15,20,34,1) 60%, rgba(245,166,35,0.1)); }
.yw-case-front {
	position: absolute; inset: 0;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem;
	padding: 1.5rem; text-align: center;
	transition: opacity 0.3s ease;
}
.yw-case-card:hover .yw-case-front { opacity: 0; }
.yw-case-icon { width: 4rem; height: 4rem; border-radius: 1rem; background: rgba(255,255,255,0.05); border: 1px solid var(--yw-border-strong); display: flex; align-items: center; justify-content: center; color: var(--yw-orange); font-size: 1.75rem; }
.yw-case-client { color: #fff; font-weight: 700; font-size: 1.1rem; }
.yw-case-industry { color: var(--yw-text-faint); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.12em; margin-top: 0.25rem; }
.yw-case-overlay {
	position: absolute; inset: 0;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.5rem;
	background: rgba(5,7,13,0.94);
	opacity: 0; padding: 1.5rem;
	transition: opacity 0.3s ease;
}
.yw-case-card:hover .yw-case-overlay { opacity: 1; }
.yw-metric-row { display: flex; gap: 2rem; }
.yw-metric-value { font-size: 1.75rem; font-weight: 800; background: var(--yw-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; text-align: center; }
.yw-metric-label { color: var(--yw-text-faint); font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.1em; margin-top: 0.25rem; text-align: center; }
.yw-case-cta { display: flex; align-items: center; gap: 0.4rem; color: #fff; font-weight: 700; font-size: 0.9rem; }

/* ---------------------------------------------------------
   About page
--------------------------------------------------------- */
.yw-about-visual {
	border: 1px solid var(--yw-border);
	background: var(--yw-card);
	border-radius: var(--yw-radius-lg);
	padding: 2.5rem;
	height: 320px;
	display: flex; align-items: center; justify-content: center;
}
.yw-dot-swatch-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0.75rem; }
.yw-dot-swatch { width: 1.5rem; height: 1.5rem; border-radius: 50%; }

.yw-team-card { text-align: center; }
.yw-avatar { width: 4rem; height: 4rem; border-radius: 50%; margin: 0 auto; display: flex; align-items: center; justify-content: center; color: #05070D; font-weight: 800; font-size: 1.1rem; }
.yw-team-name { margin-top: 1rem; font-weight: 700; color: #fff; }
.yw-team-role { color: var(--yw-text-muted); font-size: 0.9rem; }

/* ---------------------------------------------------------
   Contact page
--------------------------------------------------------- */
.yw-contact-grid { margin-top: 3.5rem; display: grid; grid-template-columns: 1fr; gap: 2.5rem; }
@media (min-width: 1024px) { .yw-contact-grid { grid-template-columns: 2fr 3fr; } }
.yw-contact-info { display: flex; flex-direction: column; gap: 1.5rem; }
.yw-contact-item { display: flex; align-items: flex-start; gap: 1rem; border: 1px solid var(--yw-border); background: var(--yw-card); border-radius: 1rem; padding: 1.25rem; transition: all 0.3s ease; }
.yw-contact-item:hover { transform: scale(1.02); border-color: rgba(30,99,208,0.2); }
.yw-contact-item-icon { width: 2.5rem; height: 2.5rem; border-radius: 0.6rem; background: linear-gradient(135deg, rgba(245,166,35,0.2), rgba(30,99,208,0.2)); color: var(--yw-orange); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.yw-contact-item-label { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--yw-text-faint); font-weight: 700; }
.yw-contact-item-value { color: #fff; font-weight: 600; margin-top: 0.2rem; }

.yw-form-card { border: 1px solid var(--yw-border); background: var(--yw-card); border-radius: var(--yw-radius-lg); padding: 2rem; }
@media (min-width: 640px) { .yw-form-card { padding: 2.5rem; } }
.yw-form-row { display: grid; grid-template-columns: 1fr; gap: 1.25rem; margin-bottom: 1.25rem; }
@media (min-width: 640px) { .yw-form-row-2 { grid-template-columns: 1fr 1fr; } }
.yw-field-label { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--yw-text-faint); display: block; margin-bottom: 0.5rem; }
.yw-field {
	width: 100%;
	border-radius: 0.75rem;
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--yw-border-strong);
	padding: 0.85rem 1rem;
	font-size: 0.9rem;
	color: #fff;
	outline: none;
	transition: all 0.3s ease;
}
.yw-field::placeholder { color: #64748B; }
.yw-field:focus { border-color: rgba(30,99,208,0.6); background: rgba(255,255,255,0.07); box-shadow: 0 8px 24px rgba(30,99,208,0.1); }
select.yw-field { appearance: none; }
textarea.yw-field { resize: none; }
.yw-form-success { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 4rem 0; }
.yw-success-icon { width: 4rem; height: 4rem; border-radius: 50%; background: var(--yw-gradient); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.75rem; margin-bottom: 1.5rem; }
.yw-form-error { color: #F87171; font-size: 0.85rem; margin-bottom: 1rem; }

/* ---------------------------------------------------------
   Privacy page
--------------------------------------------------------- */
.yw-policy-section { border: 1px solid var(--yw-border); background: var(--yw-card); border-radius: 1rem; padding: 1.75rem; transition: border-color 0.3s ease; }
.yw-policy-section:hover { border-color: rgba(30,99,208,0.2); }
.yw-policy-section h3 { font-size: 1.1rem; color: #fff; }
.yw-policy-section p { margin-top: 0.5rem; color: var(--yw-text-muted); font-size: 0.9rem; line-height: 1.6; }
.yw-policy-list { display: flex; flex-direction: column; gap: 2rem; margin-top: 3rem; }

/* ---------------------------------------------------------
   Footer
--------------------------------------------------------- */
.yw-footer { border-top: 1px solid var(--yw-border); background: var(--yw-bg); }
.yw-footer-grid { padding: 4rem 0; display: grid; grid-template-columns: 1fr; gap: 3rem; }
@media (min-width: 768px) { .yw-footer-grid { grid-template-columns: repeat(12, 1fr); } }
.yw-footer-brand { grid-column: span 4; }
@media (max-width: 767px) { .yw-footer-brand { grid-column: span 1; } }
.yw-footer-col { grid-column: span 2; }
.yw-footer-news { grid-column: span 4; }
@media (max-width: 767px) { .yw-footer-col, .yw-footer-news { grid-column: span 1; } }
.yw-footer p { color: var(--yw-text-muted); font-size: 0.9rem; line-height: 1.6; max-width: 20rem; }
.yw-footer-address { display: flex; align-items: flex-start; gap: 0.5rem; margin-top: 1rem; color: var(--yw-text-muted); font-size: 0.9rem; }
.yw-footer-address .yw-ico { color: var(--yw-orange); margin-top: 2px; }
.yw-social-row { display: flex; gap: 0.75rem; margin-top: 1.5rem; }
.yw-social-icon { width: 2.5rem; height: 2.5rem; border-radius: 50%; border: 1px solid var(--yw-border-strong); display: flex; align-items: center; justify-content: center; color: var(--yw-text-muted); transition: all 0.3s ease; }
.yw-social-icon:hover { transform: scale(1.08); color: #fff; border-color: rgba(30,99,208,0.5); }
.yw-footer h4 { font-size: 0.9rem; color: #fff; margin-bottom: 1rem; }
.yw-footer-col ul, .yw-footer-brand ul { display: flex; flex-direction: column; gap: 0.75rem; }
.yw-footer-col a, .yw-footer-brand a { color: var(--yw-text-muted); font-size: 0.9rem; transition: color 0.3s ease; }
.yw-footer-col a:hover, .yw-footer-brand a:hover { color: var(--yw-orange); }
.yw-newsletter-form { display: flex; gap: 0.5rem; }
.yw-newsletter-input { flex: 1; min-width: 0; border-radius: 0.5rem; border: 1px solid var(--yw-border-strong); background: rgba(255,255,255,0.05); padding: 0.65rem 1rem; font-size: 0.9rem; color: #fff; outline: none; }
.yw-newsletter-input::placeholder { color: #64748B; }
.yw-newsletter-input:focus { border-color: rgba(30,99,208,0.5); }
.yw-newsletter-btn { border-radius: 0.5rem; border: none; background: var(--yw-gradient); color: #fff; padding: 0.65rem 1rem; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; }
.yw-newsletter-btn:hover { transform: scale(1.02); }
.yw-newsletter-success { color: var(--yw-orange); font-size: 0.9rem; font-weight: 600; display: flex; align-items: center; gap: 0.5rem; }
.yw-footer-bottom { border-top: 1px solid var(--yw-border); }
.yw-footer-bottom-inner { padding: 1.5rem 0; display: flex; flex-direction: column; gap: 0.75rem; align-items: center; justify-content: space-between; font-size: 0.75rem; color: var(--yw-text-faint); }
@media (min-width: 768px) { .yw-footer-bottom-inner { flex-direction: row; } }

/* ---------------------------------------------------------
   Utilities
--------------------------------------------------------- */
.yw-mt-2 { margin-top: 0.5rem; } .yw-mt-4 { margin-top: 1rem; } .yw-mt-6 { margin-top: 1.5rem; } .yw-mt-8 { margin-top: 2rem; }
.yw-mt-10 { margin-top: 2.5rem; } .yw-mt-12 { margin-top: 3rem; } .yw-mt-14 { margin-top: 3.5rem; } .yw-mt-16 { margin-top: 4rem; }
.yw-flex { display: flex; } .yw-items-center { align-items: center; } .yw-gap-2 { gap: 0.5rem; }
.yw-icon { display: inline-flex; }
