:root {
	--color-dark: #10201B;
	--color-gold: #F5B315;
	--color-green: #1E7A46;
	--color-light: #F5F6F5;
	--color-white: #FFFFFF;
	--color-text: #2B2F2E;
	--font-base: 'Montserrat', -apple-system, sans-serif;
	--radius-card: 8px;
	--container-max: 980px;
}

*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	font-family: var(--font-base);
	color: var(--color-text);
	background: var(--color-white);
	font-size: 16px;
	line-height: 1.5;
}

h1, h2, h3, h4 { font-weight: 400; margin: 0 0 0.5em; line-height: 1.15; }
p { margin: 0 0 1em; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; }

.container {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 24px;
}

.btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 28px;
	border-radius: 0px;
	font-weight: 500;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	border: 2px solid transparent;
	transition: transform 0.15s ease, opacity 0.15s ease;
}
.btn:hover { transform: translateY(-1px); }

.btn-gold { background: var(--color-gold); color: var(--color-dark); }
.btn-green { background: var(--color-green); color: var(--color-white); }
.btn-outline-dark { background: transparent; border-color: var(--color-dark); color: var(--color-dark); }
.btn-outline-light { background: transparent; border-color: var(--color-white); color: var(--color-white); border-width: 0.5px }

.text-gold { color: var(--color-gold); }
.text-green { color: var(--color-green); }

@media (max-width: 768px) {
	.container { padding: 0 16px; }
}

/* Shared form components (Contacto, Trabaja con Nosotros, Cotiza tu Servicio) */
.gt-form { max-width: 900px; }
.gt-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.gt-field { margin-bottom: 16px; }
.gt-form-row .gt-field { margin-bottom: 0; }
.gt-field label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.gt-field input, .gt-field select, .gt-field textarea {
	width: 100%; padding: 12px 14px; border: 1px solid #d8d8d8; border-radius: 4px; font-family: inherit; font-size: 14px;
}
.gt-honeypot { position: absolute; left: -9999px; }
.gt-checkbox { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; margin: 8px 0 16px; }
.gt-checkbox a { text-decoration: underline; color: var(--color-green); }
.gt-form-feedback { margin-top: 12px; font-size: 14px; }
.gt-form-feedback.is-success { color: var(--color-green); }
.gt-form-feedback.is-error { color: #B3261E; }

@media (max-width: 640px) {
	.gt-form-row { grid-template-columns: 1fr; }
}

/* Shared stats bar (Home, Clientes) */
.home-stats { background: #16261F; color: var(--color-white); }
.home-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding: 32px 24px; }
.home-stat { display: flex; gap: 14px; align-items: flex-start; }
.home-stat-icon { width: 40px; height: 40px; color: var(--color-gold); flex-shrink: 0; }
.home-stat-icon .icon { width: 100%; height: 100%; }
.home-stat-icon img { width: 100%; height: 100%; object-fit: contain; }
.home-stat strong { display: block; font-size: 22px; color: var(--color-gold); }
.home-stat span { display: block; font-size: 12px; text-transform: uppercase; font-weight: 700; }
.home-stat p { font-size: 12px; opacity: 0.75; margin: 4px 0 0; }

@media (max-width: 1024px) {
	.home-stats-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.home-stats-grid { grid-template-columns: 1fr; }
}

/* Shared section heading (Home, Historia, Servicios, Trabaja con Nosotros) */
.section-heading { text-align: center; max-width: 640px; margin: 0 auto 36px; }
.section-heading h2 { font-size: 30px; text-transform: uppercase; }

/* Shared servicio card (Home, Servicios) */
.servicio-card { background: var(--color-light); border-radius: var(--radius-card); padding: 24px;  }
.servicio-card-header { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.servicio-card-icon { width: 32px; height: 32px; color: var(--color-green); flex-shrink: 0; }
.servicio-card-icon .icon { width: 100%; height: 100%; object-fit: contain; }
.servicio-card h3 { font-size: 15px; text-transform: uppercase; margin: 0; }
.servicio-card p { font-size: 13px; opacity: 0.8; }
.servicio-card-link { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--color-green); margin-top: 8px; }

/* Shared CTA band (used via template-parts/cta-band.php on nearly every page) */
.cta-band { background: var(--color-gold); padding: 32px 0; }
.cta-band-inner { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.cta-band h3 { font-size: 20px; margin-bottom: 4px; }
.cta-band-actions { display: flex; gap: 12px; }

@media (max-width: 768px) {
	.cta-band-inner { flex-direction: column; text-align: center; }
}
