/*
Theme Name: Bussinesstan
Theme URI: https://bussinesstan.com
Description: Bussinesstan child theme for Astra. Carries the Bussinesstan Design System (tokens, type, bands) and wires it into Astra + Elementor. Growth and technology partner built only for remittance and money transfer companies.
Author: Bussinesstan
Template: astra
Version: 1.0.0
Text Domain: bussinesstan
*/

/* ==========================================================================
   Astra integration layer

   Tokens and the base element layer live in assets/css/design-system.css.
   Astra generates dynamic CSS that targets its own classes (.entry-title,
   .blog .entry-title, .entry-content h2 ...) at class-level specificity, which
   outranks the design system's element selectors. This file loads last and
   re-states those selectors in terms of tokens, so Astra's templates inherit
   the brand without any !important.

   Elementor-built pages do not need this — their headings are governed by the
   global typography mapped into kit 21.
   ========================================================================== */

/* ---- Headings on Astra's own templates (blog, archive, single, page) ---- */
.entry-title,
.entry-title a,
.ast-archive-description .ast-archive-title {
	font-family: var(--font-system);
	font-weight: var(--fw-bold);
	color: var(--text-primary);
	letter-spacing: var(--tracking-tight);
}

.blog .entry-title,
.blog .entry-title a,
.archive .entry-title,
.archive .entry-title a,
.search .entry-title,
.search .entry-title a {
	font-family: var(--font-system);
	font-size: var(--text-h4-size);
	line-height: var(--text-h4-lh);
	font-weight: var(--fw-bold);
	color: var(--text-primary);
}

.blog .entry-title a:hover,
.archive .entry-title a:hover,
.search .entry-title a:hover {
	color: var(--link);
}

.single .entry-title,
.page .entry-title,
.ast-archive-description .ast-archive-title {
	font-size: var(--text-h2-size);
	line-height: var(--text-h2-lh);
}

/* ---- Long-form content headings ---- */
.entry-content h1 { font-size: var(--text-h2-size); line-height: var(--text-h2-lh); }
.entry-content h2 { font-size: var(--text-h2-size); line-height: var(--text-h2-lh); }
.entry-content h3 { font-size: var(--text-h3-size); line-height: var(--text-h3-lh); }
.entry-content h4 { font-size: var(--text-h4-size); line-height: var(--text-h4-lh); }

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	font-family: var(--font-system);
	font-weight: var(--fw-bold);
	color: var(--text-primary);
	letter-spacing: var(--tracking-tight);
}

/* ---- Layout rhythm: 1280 container, 80px bands ---- */
.ast-container,
.ast-container-fluid {
	max-width: var(--container-max);
}

/* ---- Buttons: 8px radius, Action Blue fill ---- */
.ast-button,
.button,
button,
input[type="submit"],
input[type="button"],
.wp-block-button__link {
	border-radius: var(--radius-button);
	font-family: var(--font-system);
	font-weight: var(--fw-semibold);
	transition: var(--transition-interactive);
}

.ast-button,
.button,
input[type="submit"],
.wp-block-button__link {
	background-color: var(--cta);
	color: var(--cta-text);
}

.ast-button:hover,
.button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover {
	background-color: var(--cta-hover);
	color: var(--cta-text);
}

/* ---- Site header ---- */
.site-header,
.ast-primary-header-bar {
	background-color: var(--surface-canvas);
	border-bottom: 1px solid var(--border);
}

.main-header-menu a,
.ast-header-break-point .main-navigation a {
	font-family: var(--font-system);
	font-weight: var(--fw-semibold);
	color: var(--text-primary);
}

.main-header-menu a:hover {
	color: var(--link);
}

/* ---- Focus is never removed (design system non-negotiable #8) ---- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 2px solid var(--focus-ring);
	outline-offset: 2px;
}

input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	box-shadow: var(--focus-shadow);
}
