/**
Theme Name: Astra Child
Author: ARD
Author URI: https://ard.com.np
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
*/

.hover-lift {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  will-change: transform;
}

.hover-lift:hover {
  transform: translateY(-8px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.entry-meta,
.entry-meta * {
  font-weight: 500;
}

:root {
  --ast-blog-title-font-weight: 500;
  /* Updated font weight */
  --ast-blog-meta-weight: 500;
  /* Updated font weight */
}

label,
legend {
  color: #4a4a4a;
  /* Updated color */

}

/* --- Google Review Badge (Vertical) --- */
.google-review-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  border: 1px solid #eeeeee;
  padding: 24px 30px;
  border-radius: 12px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  max-width: 300px;
  margin: 0 auto;
  text-align: center;
  gap: 12px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-decoration: none !important;
}

.google-review-badge:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.google-review-badge .google-logo {
  width: 150px;
  height: auto;
  display: block;
  object-fit: contain;
  /* Adjusting for potential internal white space in the logo */
  margin-top: -5px;
  margin-bottom: 2px;
}

.google-review-badge .rating-text {
  font-size: 18px;
  font-weight: 600;
  color: #3c4043;
  line-height: 1.4;
  margin: 0;
}

/* Responsive optimization */
@media (max-width: 480px) {
  .google-review-badge {
    padding: 20px;
    max-width: 180px;
  }
}

/* Unified Styles for Blog Posts & Guide Posts Headings */
/*
.single-post .entry-content h2,
.blog .entry-content h2,
.single-guide .entry-content h2,
.single-project .entry-content h2 {
  font-size: 28px;
  font-weight: 500;
  color: #333;
  line-height: 1.4;
  margin-bottom: 15px;
  font-family: 'Poppins', sans-serif;
}

.single-post .entry-content h3,
.blog .entry-content h3,
.single-guide .entry-content h3 {
  font-size: 22px;
  font-weight: 500;
  color: #444;
  line-height: 1.3;
  margin-bottom: 12px;
}

.single-post .entry-content h4,
.blog .entry-content h4,
.single-guide .entry-content h4 {
  font-size: 18px;
  font-weight: 500;
  color: #555;
  line-height: 1.3;
  margin-bottom: 10px;
}
*/
/* Mobile Optimization */
/*
@media (max-width: 768px) {

  .single-post .entry-content h2,
  .blog .entry-content h2,
  .single-guide .entry-content h2 {
    font-size: 24px;
  }

  .single-post .entry-content h3,
  .blog .entry-content h3,
  .single-guide .entry-content h3 {
    font-size: 22px;
  }

  .single-post .entry-content h4,
  .blog .entry-content h4,
  .single-guide .entry-content h4 {
    font-size: 18px;
  }
}

/* end Unified Styles for Blog Posts & Guide Posts Headings */


/* contact form 7 design starts here */
/* Grid container for top 4 fields */
.cf7-grid-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 15px;
}

/* Flex container for message */
.cf7-flex-container {
  display: flex;
  flex-direction: column;
  margin-bottom: 15px;
}

/* Make CF7 fields display block inside grid/flex */
.cf7-grid-container .wpcf7-form-control-wrap,
.cf7-flex-container .wpcf7-form-control-wrap {
  display: block;
}

/* Inputs & textarea inactive: green bottom border */
.cf7-custom.wpcf7-form-control {
  border: none;
  border-bottom: 2px solid #28a745;
  padding: 10px;
  width: 100%;
  box-sizing: border-box;
  font-size: 16px;
  transition: all 0.3s ease;
}

/* Focused: black border around box */
.cf7-custom.wpcf7-form-control:focus {
  outline: none !important;
  border: 2px solid #000;
  border-radius: 4px;
}

/* Message box: 2 lines height */
.cf7-custom.wpcf7-form-control.wpcf7-textarea {
  height: 60px !important;
  min-height: 60px;
  line-height: 1.2em;
  resize: vertical;
}

/* Submit button */
.wpcf7 input[type="submit"] {
  background-color: #28a745;
  color: #fff;
  border: none;
  padding: 12px 25px;
  border-radius: 5px;
  cursor: pointer;
  margin-top: 10px;
}
/* contact form 7 design ends here */

/* Responsive: stack columns on mobile */
@media (max-width: 600px) {
  .cf7-grid-container {
    grid-template-columns: 1fr;
  }
}


/* Custom Archive Search Bar Styles */
.ast-custom-blog-search .search-form {
  position: relative;
  display: block !important;
  background-color: transparent !important;
  border: 2px solid #ffffff !important;
  border-radius: 40px !important;
  overflow: hidden;
  max-width: 100%;
}

.ast-custom-blog-search label {
  display: flex !important;
  align-items: center;
  margin: 0 !important;
  width: 100%;
}

.ast-custom-blog-search .search-field {
  width: 100% !important;
  background: transparent !important;
  color: #ffffff !important;
  padding: 15px 50px 15px 25px !important;
  border: none !important;
  box-shadow: none !important;
  font-size: 16px;
}

.ast-custom-blog-search .search-field:focus {
  outline: none !important;
  background: transparent !important;
}

.ast-custom-blog-search .search-field::placeholder {
  color: rgba(255, 255, 255, 0.7) !important;
}

.ast-custom-blog-search .search-icon-only {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  border: none !important;
  cursor: pointer;
  padding: 5px !important;
  color: #ffffff;
  transition: opacity 0.3s ease;
}

.ast-custom-blog-search .search-icon-only:hover {
  opacity: 0.6;
}

/* Custom Archive Search Bar Styles End here */

/*Footer Section CSS */

/* ---------- Footer Menu General ---------- */

/* Parent UL */
.footer-menu,
.footer-simple-menu,
.footer-sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 14px;
}

.footer-menu h6 {
  font-family: 'Roboto', sans-serif;
  margin-bottom: 15px !important;
}

/* Footer Menu Title */
.footer-title {
  color: var(--ast-global-color-4);
  font-weight: 600;
  display: inline-block;
  cursor: pointer;
  transition: color 0.3s ease;
}

/* ---------- Footer Links ---------- */

/* Normal state */
.footer-link {
  color: var(--ast-global-color-4);
  text-decoration: none;
  display: block;
  transition: color 0.3s ease;
}

/* Hover & Active */
.footer-link-hover:hover,
.footer-link-hover.current-menu-item,
.footer-link-hover.current_page_item {
  color: var(--ast-global-color-0);
}

/* ---------- Dropdown Menu ---------- */

/* Arrow (˄ default) */
.footer-menu-title::after {
  content: "˄";
  margin-left: 8px;
  font-size: 14px;
  display: inline-block;
  transform: rotate(0deg);
  /* up */
  transition: transform 0.3s ease;
}

/* Rotate arrow on hover */
.footer-menu:hover .footer-menu-title::after {
  transform: rotate(180deg);
  /* down */
}

/* Submenu hidden by default */
.footer-sub-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

/* Show submenu on hover */
.footer-menu:hover .footer-sub-menu {
  max-height: 1500px;
  /* adjust for content */
}

/* Submenu items */
.footer-sub-menu li {
  padding: 6px 0;

}

/*footer time table padding removed */
.wp-block-table td,
.wp-block-table th {
  padding: 0px !important;
}

/*Footer Section CSS - End's Here */


/* Custom Phone Button Next to Header Button */
.custom-phone-button {
  margin-left: 0 !important;
}

@media (max-width: 1555px) {
	.custom-buttons-wrap .ast-custom-button {
		padding: 10px 16px !important;
    font-size: 16x !important;
	}
}

@media (max-width: 1422px) {
	.custom-buttons-wrap .ast-custom-button {
		padding: 10px 14px !important;
    font-size: 10x !important;
	}
}

@media (max-width: 1400px) {
  .custom-buttons-wrap .ast-custom-button {
    display: none !important;
  }
}

/* --- Sticky Header & Scroll Effects --- */
#masthead {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  margin: 0 auto;
  padding-left: 10%;
  padding-right: 5%;
  z-index: 500 !important;
  background-color: #fff;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Spectra Top Bar - Natural Flow initially */
.uagb-popup-builder {
  position: relative !important;
  z-index: 999 !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  max-height: 200px;
  /* Set a large enough max-height for transition */
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease, transform 0.4s ease, visibility 0.4s ease;
}

/* Handle Admin Bar for Sticky Header */
.admin-bar #masthead {
  top: 32px;
}

@media screen and (max-width: 782px) {
  .admin-bar #masthead {
    top: 46px;
  }
}

/* Admin Bar adjustment for Top Bar in natural flow */
.admin-bar .uagb-popup-builder {
  top: 0 !important;
}

/* Removed scroll-behavior: smooth as it can interfere with sticky header transitions */
html,
body {
  margin: 0 !important;
  padding: 0 !important;
}

/* When Scrolled */
body.header-is-scrolled #masthead {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

body.header-is-scrolled .uagb-popup-builder {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  /* Removed max-height collapse to prevent document height jumps and scroll glitches */
}


body.header-is-scrolled #masthead .ast-primary-header-bar.main-header-bar {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  height: 85px !important;
  min-height: 85px !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Maintain Astra's native horizontal layout while ensuring vertical centering */
body.header-is-scrolled #masthead .site-primary-header-wrap,
body.header-is-scrolled #masthead .site-branding,
body.header-is-scrolled #masthead .main-header-menu-toggle,
body.header-is-scrolled #masthead .ast-builder-menu-1 {
  align-items: center !important;
  height: 100% !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}



/* Hide header CTA buttons when scrolled with a smooth fade */
body.header-is-scrolled .custom-buttons-wrap,
body.header-is-scrolled .ast-header-button-1,
body.header-is-scrolled .ast-header-button-2,
body.header-is-scrolled .ast-builder-layout-element .ast-custom-button {
  display: none !important;
  pointer-events: none;
}


/* Fix Spectra Modal being hidden behind sticky header or appearing incorrectly */
.uagb-modal-popup,
.uagb-modal-popup-wrap,
.uagb-modal-wrapper,
.uagb-modal-popup.active {
  z-index: 999999 !important;
}

/* Ensure modal overlay covers the header even if stacking context is complex */
body.uagb-modal-open #masthead,
body:has(.uagb-modal-popup.active) #masthead {
  z-index: 1 !important;
}

