/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/


/* .site-primary-header-wrap{
    display: none;
} */
 /* ---------- RESET ---------- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Poppins', sans-serif;
  color: #222;
  background-color: #fff;
  line-height: 1.6;
  overflow-x: hidden;
}

/* ---------- CONTAINERS ---------- */
.section {
  width: 100%;
  padding: 80px 20px;
}

.bg .e-child {
  max-width: 1140px;

}
header.site-header {
  position: sticky !important;
  top: 0;
  z-index: 9999;
  background: #542909; /* optional: add solid background */
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
header.site-header {
  background: linear-gradient(135deg, #3a1d0f, #6b3e25);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.1),
              0 2px 6px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(2px);
}


 article.page h1.entry-title {
    display: none !important;
}
article.page header.entry-header {
  display: none !important;
}
  .ast-container {
    max-width: 100%;
    padding: 0px !important;
  }
/* .SEC1 {
  padding: 70px 0px 175px 0px;
} */
#masthead {
  padding: 0px 100px;
}
/* #masthead  #ast-desktop-header{
    width: 1200px !important;
    margin: 0px auto !important;
} */
.site-branding.ast-site-identity {
  padding: 15px 0px 15px 0px;
}
.logo img{
    margin-top: -190px;
}
.SEC1 .e-con-inner .elementor-element {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
header .custom-logo-link img {
  max-width: 126px;
  width: 122px !important;
}
.SEC1 .e-con-inner .elementor-element .elementor-element {
  width: 100%;
}
.elementor-element.elementor-element-3911624 {
  background: #542909;
  background-image: url('images/trans2.png') !important;
}

.elementor-element.elementor-element-3911624 {
  width: 100vw !important;          /* Full viewport width */
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;               /* Cancel container centering */
  margin-right: -50vw;
  background-color: #542909 !important;
  background-image: url('images/trans.png') !important;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.ast-builder-footer-grid-columns ul {
  margin: 0px !important;
}
.ast-builder-footer-grid-columns ul li {
  list-style: none;
  color: #F1CD81 !important;
}
.ast-builder-footer-grid-columns ul li a {
  color: #F1CD81 !important;
}
.ast-builder-footer-grid-columns  h3 {
  text-decoration: underline;
  padding-bottom: 15px;
  color: #fff;
}
.site-primary-footer-wrap {
  padding: 108px 0px;
  background-image: url(images/foo.jpg) !important;
}
.site-primary-footer-wrap {
  position: relative;
  padding: 100px 0 80px;
  background: url('images/foo.jpg') center/cover no-repeat;
  overflow: hidden;
  z-index: 1;
  color: #fff;
}

/* Dark glossy overlay */
.site-primary-footer-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top center,
      rgba(255, 190, 100, 0.15) 0%,
      rgba(84, 41, 9, 0.9) 70%,
      rgba(54, 24, 5, 0.95) 100%);
  z-index: 0;
}

/* Glossy cross-shine overlay */
.site-primary-footer-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0.25) 0%,
    rgba(255, 255, 255, 0.05) 35%,
    rgba(0, 0, 0, 0.2) 100%
  );
  mix-blend-mode: overlay;
  opacity: 0.4;
  z-index: 0;
  animation: subtleShine 8s infinite linear;
}

/* Keep text above everything */
.site-primary-footer-wrap * {
  position: relative;
  z-index: 2;
}

/* Cross direction movement (diagonal) */
@keyframes subtleShine {
  0% {
    transform: translate(-20%, -20%) rotate(0deg);
  }
  50% {
    transform: translate(20%, 20%) rotate(2deg);
  }
  100% {
    transform: translate(-20%, -20%) rotate(0deg);
  }
}


/* ===========================
   GLOBAL FOOTER STYLES
   =========================== */
.ast-builder-footer-grid-columns ul {
  margin: 0 !important;
}

.ast-builder-footer-grid-columns ul li {
  list-style: none;
  color: #fff !important;
  padding-bottom: 17px;
  padding-left: 40px;
  font-size: 16px;
}

.ast-builder-footer-grid-columns ul li a {
  color: #fff !important;
  text-decoration: none;
  transition: color 0.3s ease;
}

.ast-builder-footer-grid-columns ul li a:hover {
  color: #fff !important;
}

.ast-builder-footer-grid-columns h3 {
  text-decoration: underline;
  padding-bottom: 15px;
  color: #fff;
  font-size: 30px;
}

/* ===========================
   FOOTER BACKGROUND + GLOSS
   =========================== */
.site-primary-footer-wrap {
  position: relative;
  padding: 100px 0 80px;
  background: url('images/foo.jpg') center/cover no-repeat;
  overflow: hidden;
  z-index: 1;
  color: #fff;
}

/* Dark glossy base */
.site-primary-footer-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top center,
      rgba(255, 190, 100, 0.15) 0%,
      rgba(84, 41, 9, 0.9) 70%,
      rgba(54, 24, 5, 0.95) 100%);
  z-index: 0;
}

/* Cross-shine effect */
.site-primary-footer-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0.25) 0%,
    rgba(255, 255, 255, 0.05) 35%,
    rgba(0, 0, 0, 0.2) 100%
  );
  mix-blend-mode: overlay;
  opacity: 0.4;
  z-index: 0;
  animation: subtleShine 8s infinite linear;
}

/* Keep content visible above overlays */
.site-primary-footer-wrap * {
  position: relative;
  z-index: 2;
}

/* Subtle diagonal shine animation */
@keyframes subtleShine {
  0% {
    transform: translate(-20%, -20%) rotate(0deg);
  }
  50% {
    transform: translate(20%, 20%) rotate(2deg);
  }
  100% {
    transform: translate(-20%, -20%) rotate(0deg);
  }
}

.ast-builder-footer-grid-columns ul .in-adrs, .ast-builder-footer-grid-columns ul .us-adrs {
  list-style: none;
  position: relative; /* space for the icon */
}

/* Add address/location icon before each item */
.ast-builder-footer-grid-columns ul .in-adrs::before, .ast-builder-footer-grid-columns ul .us-adrs::before {
  content: "\f3c5";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left:6px;
  top: 19%;
  transform: translateY(-50%);
  color: #F1CD81;
  font-size: 28px;
  line-height: 1;
}
.in-tel ,.us-tel,.in-mail {
  position: relative;
}
.in-tel::before,.us-tel::before {
content: "\f095";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 7px;
  top: 32%;
  transform: translateY(-50%);
  color: #F1CD81;
  font-size: 20px;
}
.in-mail::before {
content: "\f0e0";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 7px;
  top: 32%;
  transform: translateY(-50%);
  color: #F1CD81;
  font-size: 20px;
}

.site-footer-primary-section-1 .wp-block-image {
  text-align: left;
}
.site-footer-primary-section-1 img {
  width: 100px !important;
}
.shake img {
  transition: transform 0.6s ease, opacity 0.6s ease;
  transform: translateY(0) scale(1);
  will-change: transform;
}

.shake img:hover,
.shake img.in-view {
  transform: translateY(-5px) scale(1.02) rotate(0.5deg);
}
.footer-map {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 0 15px rgba(0,0,0,0.3);
  transition: all 0.4s ease;
}

.footer-map iframe {
  display: block;
  width: 100%;
  height: 220px;
  filter: brightness(90%) saturate(110%);
  border: none;
  border-radius: 12px;
}

.footer-map:hover {
  transform: scale(1.02);
  box-shadow: 0 0 25px rgba(0,0,0,0.4);
}
.ft-brf {
  font-size: 14px;
  margin-bottom: 0px !important;
}
#block-11 {
  display: none;
}
.footer-social {
  margin-top: 15px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.footer-social a {
  color: #f1cd81;
  font-size: 18px;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #f1cd81;
  border-radius: 50%;
  transition: all 0.3s ease;
  text-decoration: none;
}

.footer-social a:hover {
  background-color: #f1cd81;
  color: #2c1a07;
  transform: scale(1.1);
}
.services-section {
  background: linear-gradient(135deg, #3c1e00, #1f0f00);
  color: #e4c48b;
  text-align: center;
  padding: 80px 20px;
  font-family: "Georgia", serif;
}

.services-title {
  font-size: 42px;
  font-weight: bold;
  margin-bottom: 10px;
  text-decoration: underline;
  text-underline-offset: 10px;
}

.services-subtitle {
  font-size: 18px;
  color: #d9b97f;
  margin-bottom: 50px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 40px;
  justify-items: center;
}

.service-box {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid #b48a4a;
  padding: 30px;
  border-radius: 12px;
  width: 230px;
  transition: all 0.3s ease;
}

.service-box:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-5px);
}

.service-box img {
  width: 60px;
  margin-bottom: 15px;
  filter: brightness(0) saturate(100%) invert(74%) sepia(30%) saturate(478%) hue-rotate(2deg) brightness(93%) contrast(89%);
}

.service-box h3 {
  font-size: 16px;
  color: #f4d38f;
}
.ser {
  background: linear-gradient(135deg, #2c1608 0%, #4a2b10 100%);
  color: #f5e3b5;
  padding: 30px 0;
  text-align: center;
}
.services-section {
  background: linear-gradient(135deg, #2c1608 0%, #4a2b10 100%);
  color: #f5e3b5;
  padding: 30px 0 !important;
  text-align: center;
}
.services-section h2 {
  color: #d9b97c;
  font-size: 42px;
  letter-spacing: 2px;
  margin-bottom: 10px; 
  text-transform: uppercase;
}

.services-section p {
  color: #e5d2a6;
  font-size: 18px;
  margin-bottom: 50px;
}

.services-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}

.service-box {
  background: transparent;
  border: 1px solid #d9b97c;
  color: #f5e3b5;
  padding: 30px;
  border-radius: 50%;
  width: 160px;
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  transition: all 0.3s ease;
}

.service-box:hover {
  background-color: rgba(217, 185, 124, 0.1);
  transform: translateY(-5px);
}
#ast-mobile-header .ast-mobile-header-content {
  position: static !important;
  width: 100%;
}
/* Remove focus border / outline around menu toggle and links */
a:focus,
button:focus,
.menu-toggle:focus,
.main-header-menu a:focus,
.main-navigation a:focus {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* Optional: smooth hover without outline */
.menu-toggle:hover,
.main-header-menu a:hover {
  outline: none;
  box-shadow: none;
}

/* If Astra adds a focus-visible class */
:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Cocoa pods header background animation */
header.site-header {
  background-image: url('images/header.png');
  background-repeat: repeat-x;
  background-size: auto 100%; /* keeps full height visible */
  background-position: 0 0;
  animation: cocoaScroll 35s linear infinite;
  position: relative;
  z-index: 10;
  min-height: 90px; /* adjust based on logo height */
  overflow: hidden;
}

/* subtle gradient overlay for richness */
header.site-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* background: linear-gradient(to bottom, rgba(40,20,10,0.8), rgba(80,40,20,0.6)); */
  pointer-events: none;
  z-index: 1;
}
.ast-mobile-header-content a {
  font-size: 20px !important;
  line-height: 40px;
  font-weight: 600;
  color: #542909 !important;
} 
.menu-toggle.main-header-menu-toggle.ast-mobile-menu-trigger-minimal {
  padding: 0px !important;
}


/* smooth scroll animation */
@keyframes cocoaScroll {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -1200px 0;
  }
}

/* 🧩 Responsive Fixes */
@media (max-width: 768px) {
  header.site-header {
    background-size: cover; /* fills fully in small screens */
    min-height: 80px;
    animation-duration: 50s; /* slower scroll for mobile */
  }
}


.social-icons {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-top: 20px;
}

.social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #fff; /* white circle */
  border-radius: 50%;
  text-decoration: none;
  font-size: 28px;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Hover effect */
.social-icons a:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

/* Official brand colors */
.social-icons a.instagram {
  color: #E4405F;
}

.social-icons a.facebook {
  color: #1877F2;
}

.social-icons a.linkedin {
  color: #0A66C2;
}
.site-footer-primary-section-4 {
  margin-top: 18px;
}
/* .whatsapp-float {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 999;
  transition: transform 0.3s ease;
}
.whatsapp-float:hover {
  transform: scale(1.1);
}
.whatsapp-float img {
  border-radius: 50%;
  box-shadow: 0 3px 8px rgba(0,0,0,0.3);
} */
/* WhatsApp icon alignment and style in footer */
.ast-builder-footer-grid-columns ul li a.whatsapp-float {
  display: inline-block;
  margin-top: 6px;          /* spacing below email */
  margin-left: 0px;        /* aligns with email padding-left */
  transition: transform 0.3s ease;
}

.ast-builder-footer-grid-columns ul li a.whatsapp-float:hover {
  transform: scale(1.1);
}

/* WhatsApp icon image */
.ast-builder-footer-grid-columns ul li a.whatsapp-float img {
  width: 35px;              /* smaller size */
  height: 35px;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  background: #25d366;      /* WhatsApp green */
  padding: 4px;
}

/* Optional: if you want center alignment on small screens */
@media (max-width: 768px) {
  .ast-builder-footer-grid-columns ul li a.whatsapp-float {
    margin-left: 0;
    display: block;
    text-align: center;
  }
}

.whatsapp-float-us {
  position: fixed;
  bottom: 14px;
  left: 25px;
  z-index: 9999;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}
.whatsapp-bubble {
  background-color: #25D366;
  border-radius: 23%;
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
/* .whatsapp-bubble:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 15px rgba(0,0,0,0.4);
} */
.whatsapp-icon {
  width: 43px;
  height: 43px;
}
.whatsapp-text {
  color: #25D366;
  font-weight: 600;
  font-size: 14px;
  background: #ffffff;
  padding: 3px 10px;
  border-radius: 20px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.whatsapp-float-us p a {
  margin-left: 54px !important;
}
/* Optional: if you want center alignment on small screens */
@media (max-width: 768px) {
  .ast-builder-footer-grid-columns ul li a.whatsapp-float {
    margin-left: 0;
    display: block;
    text-align: center;
  }
  .whatsapp-text {
  color: #25D366;
  font-weight: 600;
  font-size: 10px;
  background: #ffffff;
  padding: 3px 8px;
  border-radius: 20px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
}

/* ===========================
   RESPONSIVE DESIGN
   =========================== */

/* Tablets (max 1024px) */
@media (max-width: 1024px) {
  .site-primary-footer-wrap {
    padding: 80px 0 60px;
    background-position: center;
    background-size: cover;
  }

  .ast-builder-footer-grid-columns ul li,
  .ast-builder-footer-grid-columns h3 {
    text-align: center;
  }
}
@media (max-width: 847px) {
  .roo h2{
    font-size: 66px !important;
  }
   .gro h2{
    font-size: 45px !important;
  }
  #masthead {
  padding: 0px 25px;
}
 .site-header-primary-section-right svg {
    width: 40px !important;
    height: 40px !important;
  }
  .ft-brf {
  font-size: 16px;
  margin-bottom: 0px !important;
  text-align: left;
}
.site-footer-primary-section-4 {
  margin-top: 0px !important;
}
}
/* ===============================
   FOOTER RESPONSIVE FIX (1130px–768px)
   For Astra footer builder
================================= */
@media (max-width: 1130px) and (min-width: 768px) {

  .share p{
    margin-bottom: 0px !important;
  }
 .share p br{
   display: none !important;
  } 
  /* Primary footer grid adjustments */
  .site-primary-footer-wrap .ast-builder-grid-row-container-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 25px;
    padding: 20px;
  }

  /* Each footer column (India / US / Logo / Map etc.) */
  .site-footer-primary-section-1,
  .site-footer-primary-section-2,
  .site-footer-primary-section-3,
  .site-footer-primary-section-4 {
    flex: 1 1 45%;
    min-width: 320px;
    text-align: left;
  }

  /* Optional: center small elements like social icons */
  .site-footer-primary-section-4 {
    text-align: center;
  }

  /* Typography + spacing tweak */
  .site-footer-section p,
  .site-footer-section a {
    font-size: 15px;
    line-height: 1.7;
  }

  .site-footer-section h3,
  .site-footer-section h4 {
    font-size: 20px;
    margin-bottom: 10px;
  }

  /* Map iframe fix if included in any footer section */
  .site-footer-section iframe {
    width: 100%;
    height: 250px;
    border-radius: 8px;
  }
}

/* Extra layer: stack all neatly under 900px */
@media (max-width: 900px) {
  .site-primary-footer-wrap .ast-builder-grid-row-container-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .site-footer-primary-section-1,
  .site-footer-primary-section-2,
  .site-footer-primary-section-3,
  .site-footer-primary-section-4 {
    flex: 1 1 100%;
    max-width: 600px;
  }
}


/* Mobiles (max 768px) */
@media (max-width: 768px) {
  .site-primary-footer-wrap {
    padding: 70px 20px;
  }

  .ast-builder-footer-grid-columns {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .ast-builder-footer-grid-columns ul li {
    font-size: 15px;
    line-height: 1.8;
  }

  .ast-builder-footer-grid-columns h3 {
    font-size: 18px;
    margin-bottom: 10px;
  }
  .site-footer-primary-section-1, .site-footer-primary-section-2, .site-footer-primary-section-3 {
  margin-bottom: 35px !important;
}
}

@media (max-width: 580px) {
  .roo h2 {
    font-size: 54px !important;
  }
}
/* Small mobiles (max 480px) */
@media (max-width: 480px) {
  .site-primary-footer-wrap {
    padding: 60px 15px;
  }

  .ast-builder-footer-grid-columns ul li {
    font-size: 20px;
  }

  .ast-builder-footer-grid-columns h3 {
    font-size: 32px;
    padding-bottom: 0px !important;
  }
  .site-footer-primary-section-1 p {
  text-align: left !important;
}
header .custom-logo-link img {
  max-width: 126px;
  width: 95px !important;
}
.site-header-primary-section-right svg {
  width: 40px !important;
  height: 40px !important;
}
.site-header-primary-section-right button {
  padding-right: 0px !important;
}
}

@media (max-width: 480px) {
  .roo h2 {
    font-size: 36px !important;
  }
  .gro h2 {
    font-size: 30px !important;
  }
  .SEC1 {
  padding: 30px 0px 100px 0px;
}
#masthead {
  padding: 0px 10px;
}
}

@media (max-width: 379px) {
  .gro h2 {
    font-size: 30px !important;
  }
  .roo h2 {
    font-size: 36px !important;
  }
}

@media (max-width: 325px) {
  .gro h2 {
    font-size: 26px !important;
  }
   .roo h2 {
    font-size: 32px !important;
  }
}
/* Mobile menu background fix */
@media (max-width: 992px) {
  .mobile-menu, 
  .mobile-nav, 
  .offcanvas, 
  .mean-container .mean-nav {
    background: #ffffff !important;
    color: #000000 !important;
  }

  .mobile-menu a,
  .mobile-nav a,
  .mean-container .mean-nav ul li a {
    color: #000000 !important;
  }

  .mobile-menu a:hover,
  .mobile-nav a:hover,
  .mean-container .mean-nav ul li a:hover {
    color: #6b3e1e !important; /* optional cocoa color hover */
  }
}
