/* Modern theme overrides */
:root{
  /* Brand palette */
  --primary:#042A2D; /* primary-color */
  --secondary:#019297; /* dark-color */
  --accent:#73ED7C; /* accent-color */
  --text:#042A2D; /* headings/body primary */
  --muted:#8F8F8F; /* text-color */
  --bg:#FFFFFF; /* white-color */
  --bg-alt:#F2F1ED; /* secondary-color */
  --card:#FFFFFF;
  --border:#DFE1DE; /* divider-color */
  --border-inverse:#FFFFFF33; /* dark-divider-color */
  --error:rgb(230, 87, 87);
  --shadow:0 10px 25px rgba(4,42,45,0.10);
  --gradient:linear-gradient(135deg,var(--primary),var(--secondary));
}

html,body{color:var(--text);background:var(--bg);}
html{height:100%}
body{min-height:100vh;display:flex;flex-direction:column}
.modern-footer{margin-top:0}
.section-white{background:var(--bg);}
.section-grey{background:var(--bg-alt);} 
.section-bottom-border{border-bottom:1px solid var(--border);} 

/* Headings */
.section-title{position:relative;display:inline-block}
.section-title:after{content:"";display:block;width:64px;height:4px;border-radius:4px;margin:10px auto 0;background:var(--gradient)}
.section-subtitle{color:var(--muted)}

/* Navbar */
.navbar.navbar-default{background:#0f172a;box-shadow:var(--shadow)}
.navbar .navbar-nav > li > a{color:#e2e8f0;font-weight:500}
.navbar .navbar-nav > li > a:hover{color:var(--accent)}
.navbar .navbar-toggler .fa-bars{color:#e2e8f0}
.navbar .discover-btn{background:var(--gradient);color:#fff;border:none;border-radius:999px;padding:8px 18px;font-weight:600}
.navbar .discover-btn:hover{opacity:.9;color:#fff}

/* Hero */
.pricing-highlight{background:yellow;-webkit-background-clip:text;background-clip:text;color:yellow}
.home-section .promo-offers #wa-cta{background:linear-gradient(90deg,#25d366,#1fa855);color:#fff;border-radius:10px}
.home-section .promo-offers #wa-cta:hover{filter:brightness(0.95)}

/* Buttons */
.btn-modern,.consultation-btn{background:var(--gradient);color:#fff !important;border:none;border-radius:12px;padding:12px 20px;font-weight:600;box-shadow:var(--shadow);transition:transform .15s ease}
.btn-modern:hover,.consultation-btn:hover{transform:translateY(-1px);color:#fff !important}

/* Reviews */
.reviews-grid{margin-top:10px}
.review-card{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:22px;height:100%}
.review-stars{font-size:18px;letter-spacing:2px;background:linear-gradient(90deg,#fbbf24,#f59e0b);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:8px}
.review-author{margin-top:10px;color:var(--muted);font-weight:600}

/* Accordion FAQ */
.modern-accordion .card{border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:12px}
.modern-accordion .card-header{background:var(--bg);border-bottom:1px solid var(--border)}
.modern-accordion .btn.btn-link{color:var(--text);text-decoration:none;font-weight:600;width:100%;text-align:left;padding:14px}
.modern-accordion .btn.btn-link[aria-expanded="true"]{color:var(--primary)}
.modern-accordion .card-body{color:var(--muted)}

/* FAQ alignment and layout */
#faq .modern-accordion{max-width:900px;margin:0 auto}
#faq .modern-accordion .card{margin-bottom:14px}
#faq .modern-accordion .card-header h5{margin:0}
#faq .modern-accordion .btn.btn-link{display:flex;align-items:center;justify-content:space-between;padding:16px 18px}
#faq .modern-accordion .btn.btn-link::after{content:'+';font-weight:800;color:var(--muted)}
#faq .modern-accordion .btn.btn-link[aria-expanded="true"]::after{content:'−';color:var(--primary)}
@media (max-width: 576px){
  #faq .modern-accordion{max-width:100%;}
  #faq .modern-accordion .btn.btn-link{padding:14px}
}

/* Consultation card tweaks */
.expert-consultation-section .consultation-card{border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow)}

/* Footer */
.modern-footer{background:var(--bg-alt)}
.footer-main{border-top:1px solid var(--border)}
.footer-logo{filter:grayscale(0)}
.footer-social .social-icon{border:1px solid var(--border)}
.footer-social .social-icon:hover{background:var(--primary);color:#fff;border-color:transparent}

/* Utility */
.padding-top-20{padding-top:20px !important}
.padding-bottom-10{padding-bottom:10px !important}

/* Blog link chip */
.blog-btn{border-radius:24px;padding:6px 12px;font-weight:600}
.blog-btn:hover{background:var(--bg-alt)}

/* Global typography and smoothing */
body{font-family: 'Fustat','Roboto','Open Sans',system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4{letter-spacing:-0.01em}
p{color:var(--muted)}

/* Hero section polish */
.home-section{position:relative;padding:90px 0;background-image:linear-gradient(120deg, rgba(14,165,233,0.35), rgba(124,58,237,0.35)), url('../images/bg-new.jpg');background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:scroll}
.home-section-overlay{position:absolute;inset:0;background:radial-gradient(1000px 500px at 10% 10%, rgba(14,165,233,0.12), transparent),radial-gradient(800px 400px at 90% 20%, rgba(124,58,237,0.10), transparent)}
.home-section .container{position:relative;z-index:1}
.home-section .row{align-items:center}
.home-section h1{font-weight:800;font-size:42px}
.hero-text{font-size:18px}
@media (min-width: 768px){.home-section .margin-top-20{margin-top:0 !important}}
@media (max-width: 992px){.home-section{padding:70px 0}.home-section h1{font-size:34px}}
@media (max-width: 576px){.home-section{padding:56px 0}.home-section h1{font-size:28px}}

/* Service cards */
#services .row .col-md-4{display:flex}
.our-services{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:var(--shadow);transition:transform .15s ease, box-shadow .15s ease;display:flex;flex-direction:column;gap:10px;height:100%}
.our-services:hover{transform:translateY(-3px)}
.our-services img{width:56px;height:56px;display:block;margin:0 auto 8px}
.our-services h3{margin:8px 0 6px}
.our-services p{margin:0}
@media (max-width: 992px){
  #services .row .col-md-4{margin-bottom:16px}
}

/* Pricing */
.pricing-wrapper{background:linear-gradient(180deg, #0ea5e9 0%, #7c3aed 100%)}
#pricing .section-bg-overlay{display:none}
#pricing .section-title{color:var(--text) !important}
#pricing .section-subtitle{color:var(--muted) !important}
#pricing .price-box{background:rgba(255,255,255,0.92);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:24px;transition:transform .15s ease}
#pricing .price-box:hover{transform:translateY(-4px)}
#pricing .pricing-list{margin:0;padding:0;list-style:none}
#pricing .pricing-list .price-title{font-weight:800;letter-spacing:.04em;color:var(--primary)}
#pricing .pricing-list .price-text{padding:6px 0;color:var(--text)}
#pricing .price-value{font-weight:800;margin:10px 0 6px;color:var(--text)}
#pricing .price-tag a, #pricing .price-tag-line a{display:inline-block;background:var(--gradient);color:#fff;border-radius:10px;padding:10px 14px;font-weight:600}

/* Team cards */
.team-item{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding-bottom:16px;overflow:hidden;transition:transform .15s ease}
.team-item:hover{transform:translateY(-4px)}
.team-item .team-img{border-bottom:1px solid var(--border)}
.team-item h3{font-weight:800}
.team-item .team-info p{color:var(--muted);margin-bottom:0}

/* CTA buttons generic */
.btn-red{background:var(--gradient);border:none;color:#fff !important}
.btn-red:hover{opacity:.95;color:#fff !important}

/* Consultation card */
.expert-consultation-section{background:var(--bg-alt);padding:48px 0}
.expert-consultation-section .consultation-card{padding:28px;background:var(--card)}

/* Footer spacing and contrast */
.modern-footer{background:#0f172a;color:#e2e8f0}
.modern-footer .footer-main{padding:40px 0}
.modern-footer .footer-bottom{border-top:1px solid rgba(255,255,255,0.12);padding:14px 0}
.modern-footer .footer-logo{height:auto;width:auto}
.modern-footer .footer-about .footer-description{color:#cbd5e1}
.modern-footer a{color:#e2e8f0}
.modern-footer a:hover{color:var(--primary)}
.modern-footer h5,.modern-footer .section-title{color:#fff}
.modern-footer .footer-links h5,
.modern-footer .footer-contact h5{font-weight:800}
.modern-footer .footer-links ul{padding-left:0;list-style:none}
.modern-footer .footer-links ul li{color:#cbd5e1;margin-bottom:6px}
.modern-footer .footer-contact .contact-item{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px}
.modern-footer .footer-contact .contact-item i{color:green;}
.modern-footer .footer-contact p{color:#e2e8f0}

/* Footer logos section */
.modern-footer .logos-section{background:#0f172a;border-top:1px solid rgba(255,255,255,0.08);padding:16px 0}
.modern-footer .logos-section p{color:#fff !important;margin-bottom:16px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.modern-footer .footer-social .social-icon{border:1px solid rgba(255,255,255,0.18)}
.modern-footer .footer-social .social-icon:hover{background:var(--primary);border-color:transparent}

/* Navbar elevation */
.navbar-fixed-top{box-shadow:var(--shadow)}

/* Fixed navbar offset and anchor scroll padding */
html{scroll-padding-top:80px}
body{padding-top:72px}
@media (max-width: 992px){
  html{scroll-padding-top:70px}
  body{padding-top:64px}
}
@media (max-width: 576px){
  html{scroll-padding-top:64px}
  body{padding-top:56px}
}

/* Reviews image CTA */
.reviews-cta-btn img{height:auto;width:auto}

/* Utility spacing */
.margin-top-20{margin-top:20px !important}

/* Responsive tweaks */
@media (max-width: 992px){
  .navbar .navbar-nav.ml-auto{margin-top:10px}
  .price-box{margin-bottom:16px}
}
@media (max-width: 576px){
  .review-card{padding:18px}
}

/* Global section rhythm */
.section-white, .section-grey{padding-top:60px;padding-bottom:60px}
@media (max-width: 576px){
  .section-white, .section-grey{padding-top:44px;padding-bottom:44px}
}
.section-title{margin-bottom:8px}
.section-subtitle{margin-top:6px;margin-bottom:0}

/* Images responsive */
img{max-width:100%;height:auto}
.width-100{max-width:100%}

/* Mobile navbar improvements */
.navbar .navbar-toggler{border:none}
.navbar .navbar-toggler:focus{outline:2px solid var(--primary)}
.navbar .navbar-collapse.collapse.show{background:#ffffff;border-radius:12px;box-shadow:var(--shadow);padding:10px 12px;margin-top:10px}
.navbar .navbar-collapse.collapse.show .navbar-nav > li > a{padding:10px 12px;border-radius:8px}
.navbar .navbar-collapse.collapse.show .navbar-nav > li > a:hover{background:var(--bg-alt)}

/* Focus styles for accessibility */
a:focus-visible, button:focus-visible, .btn:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
.btn:focus{box-shadow:0 0 0 3px rgba(14,165,233,0.25)}
@keyframes scroll {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

.logos-container {
	position: relative;
	overflow: hidden;
	width: 100%;
	padding: 20px 0;
}

.logos-slide {
	display: flex;
	gap: 3rem;
	/* spacing between logos */
	width: max-content;
	animation: scroll 40s linear infinite;
	align-items: center;
}

.logos-slide img {
	height: 80px;
	/* base height */
	width: auto;
	/* maintain aspect ratio */
	object-fit: contain;
	transition: transform 0.3s ease-in-out;
}

.logos-slide img:hover {
	transform: scale(1.1);
}

.logos-slide:hover {
	animation-play-state: paused;
}

.logos-section {
	border-radius: 0.5rem;
	margin-bottom: 1rem;
}

/* Small screens: mobile */
@media (max-width: 640px) {
	.logos-slide {
		animation: scroll 55s linear infinite;
		/* slower scroll */
		gap: 1.5rem;
		/* smaller gap */
	}

	.logos-slide img {
		height: 50px;
		/* smaller logos on mobile */
	}
}

/* Medium screens: tablets */
@media (min-width: 641px) and (max-width: 1024px) {
	.logos-slide {
		animation: scroll 45s linear infinite;
		gap: 2rem;
	}

	.logos-slide img {
		height: 45px;
	}
}

/* Large screens: desktops */
@media (min-width: 1025px) {
	.logos-slide {
		gap: 3rem;
	}

	.logos-slide img {
		height: 30px;
	}

	.vclub-logo {
		height: 40px !important;
	}
}

/* Ultra-wide screens */
@media (min-width: 1280px) {
	.last-logo {
		margin-right: 10rem;
		margin-left: 5rem;
	}
}

/* Sticky footer: keep footer at bottom when content is short */
.modern-footer{margin-top:auto}
#whatsapp-widget {
	position: fixed;
	bottom: 20px;
	right: 20px;
	background-color: #25D366;
	/* WhatsApp green */
	color: white;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 9999;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
	animation: bounce 2s infinite;
}

#whatsapp-widget i {
	font-size: 30px;
}

@keyframes bounce {

	0%,
	20%,
	50%,
	80%,
	100% {
		transform: translateY(0);
	}

	40% {
		transform: translateY(-10px);
	}

	60% {
		transform: translateY(-5px);
	}
}