/**
 * Theme Name:     Astra Child
 * Author:         Brainstorm Force
 * Template:       astra
 * Text Domain:	   astra-child
 * Description:    The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
 */

h1,
.elementor-widget-heading h1,
h2,
.elementor-widget-heading h2,
h3,
.elementor-widget-heading h3,
h4,
.elementor-widget-heading h4,
h5,
.elementor-widget-heading h5,
.elementor-widget-heading h6,
h6 {
    font-family: "Poppins", "Roboto", sans-serif;
    font-weight: 600;
    line-height: 1.3;
}

.elementor-widget-heading h1,
h1 {
    font-size: clamp(2rem, 4vw + 0.5rem, 3rem) !important;
    line-height: 1.2 !important;
    font-weight: 700;
    margin-bottom: 1rem;
}

.elementor-widget-heading h2,
h2 {
    font-size: clamp(1.75rem, 3vw + 0.3rem, 2.5rem) !important;
    line-height: 1.25 !important;
    font-weight: 600;
    margin-bottom: 0.9rem;
}

.elementor-widget-heading h3,
h3 {
    font-size: clamp(1.5rem, 2.5vw + 0.2rem, 2rem) !important;
    line-height: 1.3 !important;
    font-weight: 600;
    margin-bottom: 0.8rem;
}

.elementor-widget-heading h4,
h4 {
    font-size: clamp(1.25rem, 2vw + 0.2rem, 1.75rem) !important;
    line-height: 1.35 !important;
    font-weight: 600;
    margin-bottom: 0.7rem;
}

.elementor-widget-heading h5,
h5 {
    font-size: clamp(1.1rem, 1.8vw + 0.1rem, 1.5rem) !important;
    line-height: 1.4 !important;
    font-weight: 500;
    margin-bottom: 0.6rem;
}

.elementor-widget-heading h6,
h6 {
    font-size: clamp(1rem, 1.5vw, 1.25rem) !important;
    line-height: 1.5 !important;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

body,
p {
    font-size: clamp(1rem, 1.2vw, 1.125rem);
    line-height: 1.6;
    font-weight: 400;
}

.elementor-widget-text-editor p {
    font-size: clamp(1rem, 1.2vw, 1.125rem) !important;
    line-height: 1.6 !important;
}

.get-a-quote-header a {
    color: #FFFFFF;
}

.get-a-quote-header a:hover {
    color: #88BA27;
}

.link-decoration-none a {
    text-decoration: none !important;
}

.elementor-icon-box-icon .elementor-icon-box-icon .elementor-icon {
    transition: all 0.4s ease-in-out;
}

/* Bounce effect */
.elementor-column:hover .bounce-effect .elementor-icon-box-icon .elementor-icon {
    transform: translateY(-8px);
}

/* Pulse effect */
.elementor-column:hover .pulse-effect .elementor-icon-box-icon .elementor-icon {
    transform: scale(1.2);
}

/* Base card style */
.hover-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    text-align: center;
    cursor: pointer;
    margin: 15px;
    /* spacing between cards */
}

/* Full-width image */
.hover-card img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;
    /* removes extra rounding */
    transition: transform 0.3s ease;
}

/* Heading (h6 instead of h3) */
.hover-card h6 {
    margin: 15px 0;
    font-size: 16px;
    font-weight: 600;
    transition: color 0.3s ease;
}

/* Link inside h6 */
.hover-card h6 a {
    text-decoration: none;
    transition: color 0.3s ease;
    text-decoration: none !important;
}

/* Hover effect */
.hover-card:hover {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    transform: translateY(-5px);
}

.hover-card:hover img {
    transform: scale(1.05);
}

/* =============== SCROLL ANIMATIONS =============== */

/* Hidden state */
.scroll-animate {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1.5s ease-out, transform 1.5s ease-out;
    /* slow & smooth */
}

/* Revealed state */
.scroll-animate.show {
    opacity: 1;
    transform: translateY(0);
}

/* Fade Up Animation */
.scroll-animate.fade-up {
    opacity: 0;
    transform: translateY(40px);
}

.scroll-animate.fade-up.show {
    opacity: 1;
    transform: translateY(0);
}

/* Optional variants */
.scroll-animate.scale-in {
    transform: scale(.9);
}

.scroll-animate.scale-in.show {
    transform: scale(1);
}

.scroll-animate.float.show {
    animation: floatAnim 3s ease-in-out infinite;
}

@keyframes floatAnim {

    0%,
    100% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(-8px)
    }
}

.underline-hover {
    position: relative;
    display: inline-block;
}

.underline-hover::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    height: 2px;
    width: 0;
    background: #0073e6;
    transition: width .3s ease;
}

.underline-hover:hover::after {
    width: 100%;
}

/* Optional hover lift for cards */
.card-hover:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
    transition: transform .25s ease, box-shadow .25s ease;
}

.our-client-slider {
    padding: 20px 0;
}
.client-item {
    text-align: center;
}
.client-item img {
    max-width: 150px;
    margin: 0 auto 10px;
    filter: grayscale(0%);
    transition: all 0.3s ease;
}
.client-item img:hover {
    filter: grayscale(100%); /* Like your screenshot */
}
.client-name {
    font-size: 14px;
    color: #666;
}

.elementor-widget-icon-box .elementor-icon-box-title {
    margin-bottom: 0px;
}

.breadcrumbs {
  font-size: 14px;
  margin: 10px 0 20px;
  color: #FFF;
}
.breadcrumbs a {
  color: #FFFFFF;
  text-decoration: none !important;
}
.breadcrumbs a:hover {
  text-decoration: underline !important;
}
.breadcrumbs span {
  color: #FFF;
  font-weight: bold;
}

.pp-card-section {
    position: relative;
}

.pp-card-section .card-badge {
    position: absolute;
    top: 15px;
    right: 15px;
}

.ppt-contact-form {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

/* Columns */
.ppt-contact-form .col-md-6,
.ppt-contact-form .col-12 {
  flex: 1 1 calc(50% - 20px);
  display: flex;
  flex-direction: column;
}

.ppt-contact-form .col-12 {
  flex: 1 1 100%;
}

.ppt-contact-form .form-label {
  font-weight: 600;
  margin-bottom: 6px;
  font-size: 14px;
}

.ppt-contact-form p {
  margin-bottom: 0px;
}

.ppt-contact-form .text-danger {
  color: #dc3545;
}

.ppt-contact-form .btn {
  background: var( --e-global-color-primary );
  border: none;
  border-radius: 8px;
  padding: 12px 20px;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
  transition: all 0.3s ease;
  width: fit-content;
}

.ppt-contact-form .btn:hover {
  background: #0b5ed7;
  color: #fff;
  box-shadow: 0 4px 10px rgba(13,110,253,0.2);
}




