/*
Theme Name: SeaNeB
Theme URI: https://seaneb.net
Author: SeaNeB
Author URI: https://seaneb.net
Description: Senaeb is a next-generation WordPress theme crafted to extend Elementor into a powerful, scalable design system. Built with performance, flexibility, and modern UI/UX principles in mind, Senaeb enables agencies, startups, and creators to build visually stunning and high-converting websites without relying on heavy plugins or Elementor Pro. Unlike traditional themes, Senaeb focuses on a component-based architecture, allowing you to design faster, maintain consistency, and scale effortlessly across projects. With its advanced customization controls, global styling system, and lightweight structure, Senaeb delivers both speed and creative freedom in a single package.
Tags: elementor, elementor theme, elementor custom widgets, elementor ui kit,digital agency theme, saas theme, startup theme, tech theme, modern wordpress theme, lightweight theme, fast loading,responsive design, ui ux design, creative agency,business website theme, minimal theme, advanced widgets,no elementor pro, custom elementor widgets,seo friendly, performance optimized, clean design,multipurpose theme, scalable design system
Version: 1.0.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: seaneb
Domain Path: /languages
*/

/* Add your custom styles here */
::selection {
	background-color: #000000;
	color: #ffffff;
}

::-moz-selection {
	background-color: #000000;
	color: #ffffff;
}

/*
 * Accessibility Skip Link & Screen Reader Utilities
 */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* ==========================================================================
   Premium SaaS Design System Global Styles
   ========================================================================== */

:root {
	--seaneb-primary: #0066cc;
	--seaneb-primary-dark: #004c99;
	--seaneb-accent: #00d2ff;

	--seaneb-bg-light: #fdfdfd;
	--seaneb-bg-dark: #12141a;
	--seaneb-text-primary: #1a1e23;
	--seaneb-text-secondary: #5e6b7e;

	--seaneb-font-sans: 'Inter', 'Roboto', 'Outfit', system-ui, -apple-system, sans-serif;

	--seaneb-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
	--seaneb-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.06);
	--seaneb-shadow-lg: 0 24px 48px rgba(0, 0, 0, 0.08);

	--seaneb-transition-smooth: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
	--seaneb-transition-bounce: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: var(--seaneb-font-body, var(--seaneb-font-sans));
	color: var(--seaneb-text-primary);
	background-color: var(--seaneb-bg-light);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Stunning Selection Color */
::selection {
	background-color: rgba(from var(--seaneb-primary) r g b / 0.5);
	color: white;
}

/* Premium Focus States */
:focus-visible {
	outline: 2px solid var(--seaneb-primary);
	outline-offset: 4px;
	border-radius: 2px;
}

/* Glassmorphism utility classes */
.seaneb-glass {
	background: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border: 1px solid rgba(255, 255, 255, 0.5);
	box-shadow: var(--seaneb-shadow-md);
}

.seaneb-glass-dark {
	background: rgba(18, 20, 26, 0.85);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border: 1px solid rgba(255, 255, 255, 0.08);
	color: #fff;
	box-shadow: var(--seaneb-shadow-lg);
}

/* Typography Enhancements */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--seaneb-text-primary);
}

p {
	margin-bottom: 1.5rem;
	color: var(--seaneb-text-secondary);
}

/* Ensure Elementor typography settings override theme defaults */
.elementor-widget-text-editor p,
.elementor-widget-text-editor span,
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol,
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading h4,
.elementor-widget-heading h5,
.elementor-widget-heading h6 {
	color: inherit;
	font-family: inherit;
}

/* Subtle Link Enhancements */
a {
	color: var(--seaneb-primary);
	text-decoration: none;
	transition: var(--seaneb-transition-smooth);
}

a:hover {
	color: var(--seaneb-primary-dark);
}

/* Rich Vibrant Buttons */
.seaneb-btn-premium {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 28px;
	font-weight: 600;
	font-size: 1rem;
	letter-spacing: -0.01em;
	color: #fff;
	background: linear-gradient(135deg, var(--seaneb-primary) 0%, #0052a3 100%);
	border-radius: 8px;
	border: none;
	cursor: pointer;
	transition: var(--seaneb-transition-bounce);
	box-shadow: 0 4px 14px rgba(0, 102, 204, 0.3);
	text-decoration: none !important;
}

.seaneb-btn-premium:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0, 102, 204, 0.4);
	color: #fff !important;
}

.seaneb-btn-premium:active {
	transform: translateY(1px);
	box-shadow: 0 2px 8px rgba(0, 102, 204, 0.3);
}

/* ==========================================================================
   Footer Styles
   ========================================================================== */
.site-footer.seaneb-footer {
	position: relative;
	color: #ffffff;
	/* margin-top: 60px; */
	background-color: var(--seaneb-footer-top-bg, #000);
	background-image: var(--seaneb-footer-bg-img, none);
	background-size: cover;
	background-position: center;
	z-index: 1;
}

/* Background Overlay Pseudo-element */
.site-footer.seaneb-footer::before {
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--seaneb-footer-bg-overlay, transparent);
	z-index: -1;
}

.seaneb-header-inner,
.footer-container,
.seaneb-container {
	max-width: var(--seaneb-container-width, 1200px);
	margin: 0 auto;
	padding: 0 var(--seaneb-container-spacing, 20px);
}

/* CERTIFICATIONS TIER */
.footer-tier-certs {
	padding: 40px 0;
	background: #ffffff;
}

.footer-certs-title {
	text-align: center;
	margin-bottom: 30px;
	font-weight: 700;
	font-style: italic;
	/* Mimics the screenshot */
	/* Global typography variables apply automatically due to semantic tags */
}

.footer-certs-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 30px 40px;
}

.footer-cert-item img {
	max-height: 80px;
	width: auto;
	object-fit: contain;
	display: block;
}

/* TOP TIER */
.footer-tier-top {
	padding: 80px 0 60px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	/* very subtle boundary */
}

.footer-top-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 10px;
	flex-wrap: wrap;
	gap: 20px;
}

.footer-top-left {
	max-width: 600px;
}

.footer-logo {
	max-width: var(--seaneb-logo-max-width, 180px);
	max-height: var(--seaneb-logo-max-height, 60px);
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
	margin-bottom: 20px;
}

.footer-description,
.footer-description p {
	color: #ffffff;
	font-size: 0.95rem;
	line-height: 1.6;
	margin-bottom: 30px;
}

.footer-description a {
	color: #ffffff;
	text-decoration: underline;
}

.footer-description a:hover {
	color: rgba(255, 255, 255, 0.8);
}

.footer-social-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.social-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.15);
	padding: 18px 18px;
	border-radius: 50px;
	color: #ffffff;
	font-size: 0.85rem;
	font-weight: 500;
	text-decoration: none;
	transition: var(--seaneb-transition-smooth, all 0.3s ease);
}

.social-pill:hover {
	background: var(--seaneb-footer-social-hover, #ffffff);
	border-color: var(--seaneb-footer-social-hover, #ffffff);
	color: #111111;
}

.social-pill-icon svg {
	width: 15px;
	height: 15px;
	display: block;
}

.footer-top-right {
	display: flex;
	gap: 20px;
	align-items: center;
}

.footer-badge {
	height: auto;
	max-height: 55px;
	/* Size for Deloitte/Clutch badges */
}

/* Locations Grid */
.footer-locations-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 20px;
}

.location-card {
	background: var(--seaneb-footer-shared-bg, rgba(255, 255, 255, 0.08));
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 10px;
	padding: 22px 18px;
	transition: background 0.3s ease, transform 0.3s ease;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
}

.location-card:hover {
	background: rgba(255, 255, 255, 0.1);
	transform: translateY(-3px);
}

.location-card-header {
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.location-flag {
	width: 24px;
	height: 24px;
	/* force square to avoid oval stretch */
	object-fit: cover;
	/* crop to fit without distortion */
	border-radius: 50%;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);
	display: block;
}

.location-flag-placeholder {
	display: block;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
}

.location-title {
	font-size: 1rem;
	font-weight: 600;
	color: #ffffff;
	margin-bottom: 0;
	/* titles sit inline with flag now */
}

.location-address,
.location-address p {
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.65);
	line-height: 1.5;
}

.location-contact-info {
	margin-top: 15px;
	padding-top: 15px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.location-phone,
.location-email {
	color: rgba(255, 255, 255, 0.8);
	font-size: 0.85rem;
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 8px;
	transition: color 0.3s ease;
}

.location-phone:hover,
.location-email:hover {
	color: #ffffff;
}

.location-phone svg,
.location-email svg {
	width: 14px;
	height: 14px;
	opacity: 0.7;
	flex-shrink: 0;
}

/* MIDDLE TIER */
.footer-tier-middle {
	padding-bottom: 60px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.footer-widgets-wrap {
	display: grid;
	grid-template-columns: repeat(var(--footer-cols, 6), 1fr);
	gap: 30px;
}

.footer-widget-column {
	min-width: 0;
}

.footer-widget-column .widget-title {
	color: #ffffff;
	font-size: 0.95rem;
	font-weight: 600;
	margin-bottom: 6px;
}

.footer-widget-column ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-widget-column ul li {
	margin-bottom: 0px;
}

.footer-widget-column a {
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.80rem;
	text-decoration: none;
	transition: color 0.2s ease;
	display: block;
	padding: 4px 0;
}

.footer-widget-column a:hover {
	color: #ffffff;
}

/* BOTTOM TIER */
.footer-tier-bottom {
	padding: 24px 0;
}

.footer-bottom-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
}

.footer-bottom-right-group {
	display: flex;
	align-items: center;
	gap: 30px;
	flex-wrap: wrap;
}

.footer-menu-inline {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: 20px;
}

.footer-menu-inline li {
	position: relative;
}

.footer-menu-inline li:not(:last-child)::after {
	content: '|';
	position: absolute;
	right: -12px;
	color: rgba(255, 255, 255, 0.4);
}

.footer-menu-inline a {
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.85rem;
	text-decoration: none;
}

.footer-menu-inline a:hover {
	color: #ffffff;
	text-decoration: underline;
}

.footer-copyright {
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.85rem;
}

.footer-bottom-badge img {
	max-height: 40px;
	width: auto;
	display: block;
}

/* RESPONSIVE */
@media (max-width: 1200px) {
	.footer-locations-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 991px) {
	.footer-top-header {
		flex-direction: column;
	}

	.footer-locations-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.footer-widgets-wrap {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.footer-widget-column {
		grid-column: span 1 !important;
	}

	.footer-nav-menu {
		column-count: 1 !important;
	}

	.footer-bottom-inner {
		flex-direction: column;
		text-align: center;
		justify-content: center;
	}

	.footer-bottom-right-group {
		justify-content: center;
		margin-top: 15px;
	}
}

@media (max-width: 767px) {
	.footer-locations-grid {
		grid-template-columns: 1fr;
	}

	.footer-widgets-wrap {
		grid-template-columns: 1fr !important;
	}

	.footer-menu-inline {
		flex-wrap: wrap;
		justify-content: center;
	}

	.footer-menu-inline li:not(:last-child)::after {
		display: none;
	}
}