/*
Theme Name: Bright Signage Hub Blog
Theme URI: https://brightsignagehub.co.ke/
Author: Elite Web Africa
Author URI: https://elitewebafrica.com/
Description: Custom blog theme matching the Bright Signage Hub Kenya main site design.
Version: 1.0
*/

.entry-content img { max-width:100%; height:auto; border-radius: var(--radius); }
.entry-content h2, .entry-content h3 { font-family: var(--font-head); color: var(--navy); }
.entry-content a { color: var(--orange); }
.bsh-pagination { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:44px; }
.bsh-pagination a, .bsh-pagination span.current { padding:10px 18px; border-radius: var(--radius-sm); border:1px solid var(--border); font-family: var(--font-body); font-weight:600; text-decoration:none; color: var(--navy); }
.bsh-pagination span.current { background: var(--navy); color:#fff; border-color:var(--navy); }

/* ---------- Responsive refinements (Oct 2026) ---------- */
/* Long buttons wrap instead of pushing past the screen edge on small phones. */
@media (max-width: 480px) {
	.elementor-button, .bsh-btn .elementor-button { white-space: normal; max-width: 100%; text-align: center; }
	.bsh-btn .elementor-button { padding-left: 18px; padding-right: 18px; }
}
/* Phones and tablets: 16px form text stops iPhones zooming in; bigger tap targets in the footer. */
@media (max-width: 860px) {
	input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]), select, textarea { font-size: 16px !important; }
	.footer-col li a, .footer-contact-item a { display: inline-block; padding-top: 7px; padding-bottom: 7px; }
}

/* ---------- Touch targets and small text on phones (Oct 2026, round 2) ---------- */
@media (max-width: 860px) {
	.header-call { min-height: 40px; display: inline-flex; align-items: center; }
	.brand-text span { font-size: 12px; }
	p.card-more a { display: inline-block; padding-top: 10px; padding-bottom: 10px; }
	.breadcrumb a { display: inline-block; padding-top: 8px; padding-bottom: 8px; }
	.footer-bottom a { display: inline-block; padding-top: 8px; padding-bottom: 8px; }
	.gallery-caption .tag { font-size: 12px; }
	.elementor-widget-text-editor p > a[href^="tel:"]:only-child,
	.elementor-widget-text-editor p > a[href^="mailto:"]:only-child { display: inline-block; padding-top: 8px; padding-bottom: 8px; }
}

/* Laptops and small desktops: keep the header on one line. */
@media (min-width: 861px) and (max-width: 1240px) {
	.main-nav ul { gap: 20px; }
	.main-nav a, .header-actions a, .header-actions .btn { white-space: nowrap; }
	.header-call span.call-label { display: none; }
	.header-call { padding-left: 12px; padding-right: 12px; }
	.header-actions { gap: 10px; }
}

/* Keep the business name on one line at every width. */
.brand-text strong { white-space: nowrap; }
@media (max-width: 360px) {
	.brand-text strong { font-size: 0.95rem; }
	.brand img { width: 38px; height: 38px; }
}
/* Narrow laptops and large tablets (861-1000px): tighter menu and button so the logo text fits. */
@media (min-width: 861px) and (max-width: 1000px) {
	.main-nav ul { gap: 14px; }
	.main-nav a { font-size: 0.92rem; }
	.header-actions .btn { padding: 11px 16px; font-size: 0.92rem; }
	.brand-text strong { font-size: 1rem; }
}

/* Slider dots: bigger invisible tap area without changing how they look. */
button[aria-label^="Show slide"] { position: relative; }
button[aria-label^="Show slide"]::after { content: ""; position: absolute; inset: -12px; }
@media (max-width: 860px) {
	.elementor a[href^="tel:"], .elementor a[href^="mailto:"], .elementor a[href*="wa.me/"] { display: inline-block; padding-top: 8px; padding-bottom: 8px; }
	.footer-brand span { font-size: 12px; }
}
