/*
Theme Name: Yabi
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: yabi
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
:root {
  --primary-color: #027cc1;
  --secondary-color: #1a237e;
  --accent-color: #f8f9fa;
  --text-color-dark: #212529;
  --text-color-light: #6c757d;
  --primary-color-final: #1a237e;
  --secondary-white: #ffffff;
  --accent-color-final: #ff9800;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Poppins", sans-serif;
  color: var(--text-color-light);
  background-color: #fff;
  position: relative;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  color: var(--secondary-color);
}

.btn-primary {
  background-color: var(--primary-color-final);
  border-color: var(--primary-color-final);
  padding: 12px 28px;
  font-weight: 500;
  border-radius: 50px;
  transition: all 0.3s ease-in-out;
  box-shadow: 0 4px 15px rgba(2, 124, 193, 0.2);
}
.bg-accent-color {
  background-color: var(--accent-color-final);
  border-color: var(--accent-color-final);
  color: #000;
}

.btn-primary:hover {
  background-color: var(--accent-color-final);
  border-color: var(--accent-color-final);
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(2, 124, 193, 0.3);
  color: #000;
}

.section-title {
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.section-subtitle {
  font-size: 1.1rem;
  max-width: 850px;
  margin: 0 auto 1.5rem auto;
}

.title-underline {
  width: 100px;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-color), #5ab9ea);
  margin: 1rem auto 3.5rem auto;
  border-radius: 2px;
}

.shadow-soft {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.07);
}

/* --- Header --- */
.top-bar {
  background-color: var(--primary-color-final);
  font-size: 0.9rem;
}
.top-bar a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: color 0.3s ease;
}
.top-bar a:hover {
  color: var(--primary-color);
}

.navbar {
  transition: all 0.3s ease-in-out;
  background-color: #fff;
}
.navbar.scrolled {
  padding-top: 10px;
  padding-bottom: 10px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}
.navbar-brand img {
  height: 85px;
  transition: height 0.3s ease-in-out;
}
.navbar.scrolled .navbar-brand img {
  height: 60px;
}
.nav-link {
  color: var(--secondary-color);
  font-weight: 500;
  padding: 0.5rem 1rem !important;
  position: relative;
}
.nav-link:after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 1rem;
  right: 1rem;
  height: 2px;
  background-color: var(--primary-color);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.nav-link.active,
.nav-link:hover {
  color: var(--primary-color);
}
.nav-link.active:after,
.nav-link:hover:after {
  transform: scaleX(1);
}

/* --- Hero Section --- */
#home {
  background: linear-gradient(#1a237eed, #1a237eed),
    url(images/hero-accounting.jpg) no-repeat center center;
  background-size: cover;
  min-height: 90vh;
  color: #fff;
  padding: 120px 0;
}
#home h1 {
  color: #fff;
  font-weight: 700;
  font-size: clamp(1.9rem, 5vw, 4rem);
  line-height: 1.2;
}
#home p.lead {
  color: rgba(255, 255, 255, 0.85);
}
#home .highlight-item {
  display: flex;
  align-items: center;
  margin-bottom: 0.75rem;
  font-size: 1.1rem;
}
#home .highlight-item .bi {
  color: var(--accent-color-final);
  margin-right: 0.75rem;
  font-size: 1.5rem;
}

/* --- Sections --- */
.section {
  padding: 100px 0;
}
#about {
  background-color: #fff;
}
#why-choose-us {
  background-color: var(--accent-color);
}
#services {
  background-color: #fff;
}
#benefits {
  background: var(--secondary-color);
  color: #fff;
}
#benefits h2,
#benefits p,
#benefits h3 {
  color: #fff;
}
#testimonials {
  background-color: var(--primary-color-final);
}
#clients {
  background-color: #fff;
  padding: 80px 0;
}
#blog {
  background-color: var(--accent-color);
}
#contact {
  background-color: var(--secondary-white);
  color: #fff;
}
#contact h2,
#contact h3,
#contact p {
  color: var(--primary-color-final);
}

/* --- About Section --- */
#about .img-container {
  position: relative;
}
#about .img-container::before {
  content: "";
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 80%;
  height: 80%;
  background-color: var(--primary-color);
  opacity: 0.1;
  border-radius: 0.5rem;
  z-index: 0;
}
#about img {
  position: relative;
  z-index: 1;
}

/* --- Why Choose Us --- */
.why-us-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem;
  border-radius: 0.5rem;
  transition: all 0.3s ease;
}
.why-us-item {
  background-color: #fff;
  transform: translateX(5px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}
.why-us-item .bi {
  color: var(--accent-color-final);
  font-size: 1.75rem;
}

/* --- Service Card --- */
.service-card {
  transition: all 0.3s ease-in-out;
  border: 1px solid #e9ecef;
  border-radius: 1rem;
}
.service-card:hover {
  transform: translateY(-8px);
  border-color: var(--primary-color-final);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1) !important;
}
/* .service-icon {
        width: 70px;
        height: 70px;
        background: linear-gradient(45deg, var(--primary-color), #5ab9ea);
        color: #fff;
        border-radius: 50%;
        margin-bottom: 1.5rem;
        font-size: 1.8rem;
        box-shadow: 0 10px 20px rgba(2, 124, 193, 0.2);
      } */

/* --- Benefits Section --- */
.video-card {
  border: 0;
  background-color: transparent;
  text-align: center;
}
.video-container {
  overflow: hidden;
  position: relative;
  width: 100%;
  border-radius: 0.75rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease;
}
.video-container:hover {
  transform: scale(1.03);
}
.video-container::after {
  padding-top: 56.25%;
  display: block;
  content: "";
}
.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* --- Testimonials Carousel --- */
#testimonials .carousel-item {
  padding: 0 4rem;
}
.testimonial-card-new {
  background-color: #fff;
  border-radius: 1rem;
  padding: 2.5rem;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
}

#testimonials .section-title {
  color: var(--accent-color) !important;
}
.testimonial-quote-icon {
  color: var(--accent-color-final);
  font-size: 2.5rem;
  opacity: 0.5;
}
.testimonial-card-new img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid var(--accent-color-final);
}
.carousel-indicators [data-bs-target] {
  background-color: var(--accent-color-final);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin: 0 5px;
  border: 0;
}
#testimonials .carousel-control-prev,
#testimonials .carousel-control-next {
  color: var(--accent-color-final);
  font-size: 2.5rem;
  opacity: 0.7;
  transition: all 0.3s ease;
  width: auto;
}
#testimonials .carousel-control-prev:hover,
#testimonials .carousel-control-next:hover {
  opacity: 1;
  transform: scale(1.1);
}

/* --- Client Logo Scroll --- */
.logos {
  overflow: hidden;
  padding: 40px 0;
  white-space: nowrap;
  position: relative;
}
.logos:before,
.logos:after {
  position: absolute;
  top: 0;
  width: 150px;
  height: 100%;
  content: "";
  z-index: 2;
}
.logos:before {
  left: 0;
  background: linear-gradient(to left, rgba(255, 255, 255, 0), #fff);
}
.logos:after {
  right: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 0), #fff);
}
.logos-slide {
  display: inline-block;
  animation: 35s slide infinite linear;
}
.logos-slide img {
  height: 48px;
  margin: 0 40px;
  filter: grayscale(100%);
  opacity: 0.6;
  transition: all 0.3s ease;
}
.logos-slide img:hover {
  filter: grayscale(0);
  opacity: 1;
}
@keyframes slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/* --- Blog Section (New) --- */
.blog-pre-title {
  color: var(--primary-color);
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
  display: block;
}
.blog-card {
  border: none;
  background: #fff;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.07);
  transition: all 0.3s ease;
  height: 100%;
}
.blog-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.12) !important;
}
.blog-card-img {
  height: 200px;
  background-color: var(--primary-color);
  background-size: cover;
  background-position: center;
}
.blog-card .card-body {
  padding: 1.75rem;
}
.blog-meta {
  font-size: 0.9rem;
  color: var(--text-color-light);
  margin-bottom: 0.75rem;
}
.blog-meta a {
  color: var(--primary-color-final);
  font-weight: 500;
  text-decoration: none;
}
.blog-meta a:hover {
  text-decoration: underline;
}
.blog-card h3 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-bottom: 0.75rem;
}
.blog-read-more {
  color: var(--primary-color-final);
  text-decoration: none;
  font-weight: 600;
}
.blog-read-more:hover {
  text-decoration: underline;
}
.btn-outline-primary {
  color: var(--primary-color-final);
  border-color: var(--primary-color-final);
  padding: 10px 24px;
  font-weight: 500;
  border-radius: 50px;
  border-width: 2px;
}
.btn-outline-primary:hover {
  background-color: var(--primary-color-final);
  color: #fff;
  border-color: var(--primary-color-final);
}

/* --- CTA Section --- */
#cta {
  background: linear-gradient(
    45deg,
    var(--primary-color-final),
    var(--secondary-color)
  );
  padding: 80px 0;
}
#cta h2,
#cta p {
  color: #fff;
}
#cta .btn {
  background-color: var(--accent-color-final);
  color: #000;
  font-weight: 600;
  box-shadow: none;
}
#cta .btn:hover {
  background-color: #f0f0f0;
  transform: translateY(-3px);
}
.getStartedBtn {
  border-color: var(--accent-color-final);
}
.getStartedBtn:hover {
  border-color: #fff;
}

/* --- Contact Form --- */
#contact .form-control {
  background-color: var(--primary-color-final);
  border: 1px solid var(--primary-color-final);
  color: var(--primary-color-final);
  border-radius: 0.5rem;
}
#contact .form-control::placeholder {
  color: var(--secondary-white);
}
#contact .form-control:focus {
  background-color: var(--primary-color-final);
  color: var(--secondary-white);
  border-color: var(--primary-color);
  box-shadow: 0 0 0 0.25rem rgba(2, 124, 193, 0.5);
}
.contact-info-item {
  display: flex;
  align-items: flex-start;
}
.contact-info-item .bi {
  font-size: 1.5rem;
  color: var(--accent-color-final);
  margin-right: 1rem;
  margin-top: 0.25rem;
}
.contact-info-item div {
  color: var(--primary-color-final);
}

/* --- Footer --- */
footer {
  background-color: var(--primary-color-final);
  color: rgba(255, 255, 255, 0.7);
}
footer h5 {
  color: #fff;
}
footer a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: all 0.3s ease;
}
footer a:hover {
  color: var(--primary-color);
}
.footer-bottom {
  background-color: var(--accent-color-final);
  color: #000;
}
.social-icon {
  width: 40px;
  height: 40px;
  border: 1px solid var(--accent-color-final);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
}
.social-icon i {
  color: white;
}
.social-icon:hover {
  background-color: var(--accent-color-final);
  border-color: var(--primary-color-final);
  color: #fff;
}

@media only screen and (max-width: 767px) {
  #about .img-container::before {
    right: -8px;
  }
  .section-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
  }

  #testimonials .carousel-item {
    padding: 0 0.5rem;
  }

  #testimonials .carousel-control-prev,
  #testimonials .carousel-control-next {
    display: none;
  }
  .navbar-brand img {
    height: 60px;
    transition: height 0.3s ease-in-out;
  }
  .navbar.scrolled .navbar-brand img {
    height: 50px;
  }
}

.services-section {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

/* .section-title {
            font-size: 2.75rem;
            font-weight: 800;
            color: #1e293b;
            margin-bottom: 2rem;
        } */

.service-card {
  background-color: #ffffff;
  border-left: 5px solid var(--accent-color-final);
  padding: 2rem;
  height: 100%;
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.service-icon {
  width: 2rem;
  height: 2rem;
  color: var(--primary-color-final);
  flex-shrink: 0;
}

.service-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--primary-color-final);
  line-height: 1.4;
}

.service-card-description {
  font-size: 1rem;
  line-height: 1.6;
}

@media (min-width: 768px) {
  .section-title {
    font-size: 3rem;
  }
}
