/**
 * Across Saviour theme styles.
 * Brand: #0B5ED7 primary, #198754 secondary, #F8F9FA accent.
 */

:root {
	--as-primary: #0B5ED7;
	--as-secondary: #198754;
	--as-accent: #F8F9FA;
	--as-ink: #16202e;
	--as-muted: #5b6673;
	--as-radius: 14px;
	--as-shadow: 0 10px 30px rgba(16, 32, 56, .08);
	--as-shadow-sm: 0 4px 14px rgba(16, 32, 56, .06);
}

body {
	font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
	color: var(--as-ink);
	font-size: 1rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6, .navbar-brand, .btn {
	font-family: 'Poppins', 'Inter', system-ui, sans-serif;
	letter-spacing: -.01em;
}

a { color: var(--as-primary); }
a:hover, a:focus { color: #0946a6; }

:focus-visible {
	outline: 3px solid rgba(11, 94, 215, .45);
	outline-offset: 2px;
	border-radius: 6px;
}

.shadow-soft { box-shadow: var(--as-shadow-sm); }

/* Buttons */
.btn { border-radius: 10px; font-weight: 600; transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-as-primary { background: var(--as-primary); color: #fff; border: 1px solid var(--as-primary); box-shadow: var(--as-shadow-sm); }
.btn-as-primary:hover, .btn-as-primary:focus { background: #0949ab; border-color: #0949ab; color: #fff; }
.btn-as-outline { background: transparent; color: var(--as-primary); border: 1px solid rgba(11, 94, 215, .35); }
.btn-as-outline:hover, .btn-as-outline:focus { background: rgba(11, 94, 215, .07); color: var(--as-primary); }
.btn-as-light { background: #fff; color: var(--as-primary); border: 1px solid #fff; }
.btn-as-light:hover, .btn-as-light:focus { background: var(--as-accent); color: var(--as-primary); }
.btn-as-ghost { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .55); }
.btn-as-ghost:hover, .btn-as-ghost:focus { background: rgba(255, 255, 255, .12); color: #fff; }

/* Top bar + header */
.as-topbar { background: var(--as-ink); color: rgba(255, 255, 255, .82); padding: .5rem 0; }
.as-topbar a { color: #fff; text-decoration: none; }
.as-topbar a:hover { text-decoration: underline; }
.as-header { box-shadow: var(--as-shadow-sm); background: #fff; }
.as-brand-text { display: inline-flex; align-items: center; gap: .6rem; }
.as-brand-mark {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 12px;
	background: var(--as-primary); color: #fff; font-weight: 700; font-size: .95rem;
	font-family: 'Poppins', sans-serif;
}
.as-brand-name { font-weight: 600; color: var(--as-ink); font-size: 1.05rem; }
.custom-logo { max-height: 52px; width: auto; height: auto; }

.navbar-nav .nav-link,
.navbar-nav a {
	font-weight: 500; color: var(--as-ink); padding: .5rem .9rem;
	border-radius: 8px; text-decoration: none; display: block;
}
.navbar-nav .nav-link:hover,
.navbar-nav a:hover,
.navbar-nav .current-menu-item > a,
.navbar-nav .current_page_item > a { color: var(--as-primary); background: rgba(11, 94, 215, .07); }
.navbar-nav .sub-menu {
	list-style: none; padding: .4rem; margin: 0; background: #fff;
	border-radius: var(--as-radius); box-shadow: var(--as-shadow);
}
@media (min-width: 992px) {
	.navbar-nav .menu-item-has-children { position: relative; }
	.navbar-nav .sub-menu { position: absolute; top: 100%; left: 0; min-width: 220px; display: none; z-index: 1030; }
	.navbar-nav .menu-item-has-children:hover > .sub-menu,
	.navbar-nav .menu-item-has-children:focus-within > .sub-menu { display: block; }
}

/* Breadcrumbs */
.as-breadcrumbs { background: var(--as-accent); border-bottom: 1px solid rgba(16, 32, 56, .06); padding: .7rem 0; }
.as-breadcrumbs .breadcrumb-item a { text-decoration: none; }

/* Hero */
.as-hero {
	background: linear-gradient(135deg, #0b5ed7 0%, #0a3f96 55%, #12305f 100%);
	color: #fff; padding: 5rem 0;
}
.as-hero-title { font-size: clamp(2rem, 4vw, 3.15rem); font-weight: 700; line-height: 1.15; margin-bottom: 1rem; }
.as-hero-sub { font-size: 1.075rem; color: rgba(255, 255, 255, .88); max-width: 46rem; margin-bottom: 0; }
.as-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .76rem; font-weight: 600; color: var(--as-primary); margin-bottom: .6rem; }
.as-hero .as-eyebrow { color: rgba(255, 255, 255, .75); }
.as-hero-card {
	background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 18px; padding: 1.75rem; backdrop-filter: blur(6px);
}
.as-hero-list li { display: flex; gap: .75rem; align-items: flex-start; padding: .55rem 0; }
.as-hero-list li + li { border-top: 1px solid rgba(255, 255, 255, .15); }
.as-hero-card a { color: #fff; text-decoration: none; }
.as-hero-card a:hover { text-decoration: underline; }
.as-icon { flex: none; }

/* Sections */
.as-section { padding: 4.5rem 0; }
.as-section-accent { background: var(--as-accent); }
.as-section-head { max-width: 720px; margin: 0 auto 2.75rem; }
.as-section-title { font-size: clamp(1.6rem, 2.6vw, 2.25rem); font-weight: 700; margin-bottom: .75rem; }
.as-section-sub { color: var(--as-muted); margin-bottom: 0; }

.as-card, .as-feature {
	background: #fff; border: 1px solid rgba(16, 32, 56, .07);
	border-radius: 18px; padding: 1.75rem; box-shadow: var(--as-shadow-sm);
	transition: transform .22s ease, box-shadow .22s ease;
}
.as-card:hover, .as-feature:hover { transform: translateY(-4px); box-shadow: var(--as-shadow); }
.as-icon-badge {
	display: inline-flex; align-items: center; justify-content: center;
	width: 54px; height: 54px; border-radius: 16px;
	background: rgba(11, 94, 215, .1); color: var(--as-primary);
}
.as-link { color: var(--as-ink); text-decoration: none; }
.as-link:hover { color: var(--as-primary); }
.as-more { font-weight: 600; text-decoration: none; }
.as-more::after { content: ' \2192'; }

.as-check-list li { display: flex; gap: .7rem; align-items: flex-start; padding: .45rem 0; }
.as-check-list .as-icon { width: 22px; height: 22px; color: var(--as-secondary); }

/* Page headers */
.as-page-header { background: var(--as-accent); padding: 3rem 0; border-bottom: 1px solid rgba(16, 32, 56, .06); }
.as-page-title { font-size: clamp(1.7rem, 3vw, 2.5rem); font-weight: 700; margin-bottom: .25rem; }
.as-page-sub { color: var(--as-muted); margin-bottom: 0; }

/* CTA */
.as-cta { background: linear-gradient(120deg, var(--as-secondary), #0f6b45); color: #fff; padding: 4rem 0; }
.as-cta-title { font-size: clamp(1.5rem, 2.6vw, 2.15rem); font-weight: 700; }
.as-cta-sub { color: rgba(255, 255, 255, .9); }

/* Content */
.entry-content { font-size: 1.02rem; }
.entry-content img { max-width: 100%; height: auto; border-radius: var(--as-radius); }
.entry-content h2, .entry-content h3 { margin-top: 2rem; margin-bottom: .75rem; font-weight: 600; }

/* Forms */
.form-control { padding: .7rem .9rem; border-color: rgba(16, 32, 56, .15); }
.form-control:focus { border-color: var(--as-primary); box-shadow: 0 0 0 .2rem rgba(11, 94, 215, .15); }
.form-label { font-weight: 500; font-size: .93rem; }
.as-honeypot { position: absolute !important; left: -9999px; height: 0; overflow: hidden; }
.as-map-placeholder {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	text-align: center; min-height: 300px; padding: 2rem;
	background: repeating-linear-gradient(45deg, #f2f5f9, #f2f5f9 12px, #e9eef5 12px, #e9eef5 24px);
	color: var(--as-primary);
}

/* Footer */
.as-footer { background: var(--as-ink); color: rgba(255, 255, 255, .78); }
.as-footer h2 { color: #fff; }
.as-footer a { color: rgba(255, 255, 255, .82); text-decoration: none; }
.as-footer a:hover { color: #fff; text-decoration: underline; }
.as-footer-links li, .as-legal-links li { margin-bottom: .45rem; }
.as-footer-links a, .as-legal-links a { font-size: .92rem; }
.as-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .12); }
.as-social {
	display: inline-flex; align-items: center; justify-content: center;
	width: 38px; height: 38px; border-radius: 50%;
	background: rgba(255, 255, 255, .1); font-weight: 600;
}
.as-social:hover { background: var(--as-primary); text-decoration: none; }

/* Widgets, comments */
.widget ul { list-style: none; padding-left: 0; margin-bottom: 0; }
.widget li { padding: .35rem 0; border-bottom: 1px solid rgba(16, 32, 56, .06); }
.widget li:last-child { border-bottom: 0; }
.comment-list .children { list-style: none; padding-left: 1.5rem; }
.comment-body { background: #fff; border: 1px solid rgba(16, 32, 56, .07); border-radius: var(--as-radius); padding: 1.25rem; margin-bottom: 1rem; }

/* Back to top */
.as-to-top { position: fixed; right: 1.25rem; bottom: 1.25rem; width: 46px; height: 46px; z-index: 1040; padding: 0; }

@media (max-width: 991.98px) {
	.as-hero { padding: 3.5rem 0; }
	.as-section { padding: 3rem 0; }
	.navbar-nav { margin-top: .75rem; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
	.btn:hover, .as-card:hover, .as-feature:hover { transform: none; }
}
