﻿/*
Theme Name: Bava Express
Theme URI: https://bavaexpress.com/
Author: Bava Express
Author URI: https://bavaexpress.com/
Description: Custom WordPress theme for Bava Express â€” a Ghanaian courier, logistics, travel and business-solutions company. Includes a live shipment tracking form, custom services, testimonials and destination post types, a one-click starter setup and a full Customizer panel for brand details.
Version: 1.0.0
Requires at least: 5.9
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bava-express
Tags: business, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, theme-options, translation-ready
*/

/* ------------------------------------------------------------------ *
 * Base / reset
 * ------------------------------------------------------------------ */

:root {
	--bava-navy: #002049;
	--bava-navy-2: #08122d;
	--bava-brand: #00316c;
	--bava-accent: #fa0608;
	--bava-accent-2: #ff5a1f;
	--bava-ink: #12213a;
	--bava-muted: #5a6a83;
	--bava-soft: #f2f6fc;
	--bava-line: #dfe7f2;
	--bava-white: #ffffff;
	--bava-radius: 14px;
	--bava-container: 1200px;
	--bava-font-head: "Poppins", Inter, system-ui, sans-serif;
	--bava-font-body: Inter, "Segoe UI", system-ui, sans-serif;
	--bava-shadow: 0 14px 36px rgba(8, 18, 45, .10);
	--bava-shadow-sm: 0 6px 18px rgba(8, 18, 45, .07);
	--bava-gutter: 22px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--bava-font-body);
	font-size: 16.5px;
	line-height: 1.72;
	color: var(--bava-muted);
	background: var(--bava-white);
	overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--bava-font-head);
	font-weight: 700;
	line-height: 1.24;
	color: var(--bava-ink);
	margin: 0 0 .55em;
}

h1 { font-size: clamp(1.9rem, 3.4vw, 2.85rem); }
h2 { font-size: clamp(1.6rem, 2.7vw, 2.25rem); }
h3 { font-size: clamp(1.15rem, 1.8vw, 1.4rem); }
h4 { font-size: 1.1rem; }

p { margin: 0 0 1.1em; }

a {
	color: var(--bava-brand);
	text-decoration: none;
	transition: color .18s ease, opacity .18s ease;
}

a:hover { color: var(--bava-accent); }

img,
svg,
video {
	max-width: 100%;
	height: auto;
}

ul,
ol { padding-left: 1.15rem; }

blockquote {
	margin: 1.6em 0;
	padding: .4em 0 .4em 1.4em;
	border-left: 4px solid var(--bava-accent);
	color: var(--bava-ink);
	font-size: 1.06rem;
}

code,
pre {
	font-family: ui-monospace, "SFMono-Regular", "Cascadia Mono", Consolas, monospace;
	font-size: .92em;
}

code {
	background: var(--bava-soft);
	border: 1px solid var(--bava-line);
	border-radius: 6px;
	padding: .1em .42em;
	color: var(--bava-brand);
}

hr {
	border: 0;
	border-top: 1px solid var(--bava-line);
	margin: 2rem 0;
}

table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.5rem;
}

th,
td {
	border: 1px solid var(--bava-line);
	padding: .62rem .8rem;
	text-align: left;
}

th {
	background: var(--bava-soft);
	color: var(--bava-ink);
	font-family: var(--bava-font-head);
	font-weight: 600;
}

/* ------------------------------------------------------------------ *
 * Form controls
 * ------------------------------------------------------------------ */

input,
select,
textarea,
button {
	font: inherit;
	color: inherit;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="date"],
input[type="search"],
input[type="file"],
select,
textarea {
	display: block;
	width: 100%;
	padding: .78rem .95rem;
	background: var(--bava-white);
	border: 1px solid var(--bava-line);
	border-radius: 10px;
	color: var(--bava-ink);
	transition: border-color .18s ease, box-shadow .18s ease;
}

input:focus,
select:focus,
textarea:focus {
	outline: none;
	border-color: var(--bava-brand);
	box-shadow: 0 0 0 3px rgba(0, 49, 108, .13);
}

textarea { min-height: 132px; resize: vertical; }

label {
	display: block;
	font-size: .88rem;
	font-weight: 600;
	color: var(--bava-ink);
	margin-bottom: .3rem;
}

button { cursor: pointer; }

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.bava-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999;
	background: var(--bava-accent);
	color: #fff;
	padding: .7rem 1.1rem;
	border-radius: 0 0 10px 0;
}

.bava-skip-link:focus {
	left: 0;
	color: #fff;
}

/* ------------------------------------------------------------------ *
 * Icons
 * ------------------------------------------------------------------ */

.bava-icon {
	width: 1.15em;
	height: 1.15em;
	flex: none;
	vertical-align: -.18em;
}

.bava-icon.is-sm { width: 1em; height: 1em; }
.bava-icon.is-lg { width: 2.4rem; height: 2.4rem; stroke-width: 1.3; }
.bava-icon.is-flip { transform: rotate(180deg); }
