/*
 Theme Name:   Astra Child – AGAL Technologies
 Theme URI:    https://agaltechnologies.com
 Description:  Astra child theme for AGAL Technologies
 Author:       AGAL Technologies
 Template:     astra
 Version:      1.0.0
 Text Domain:  astra-child
*/

/* ── Inherit everything from Astra ── */
/* All custom CSS is in the MU plugin (agal-functions.php) and Astra Custom CSS option */

/* ── Contact Form 7 — dark navy theme ── */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 107, 53, 0.3) !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important;
  margin-bottom: 16px !important;
  box-sizing: border-box !important;
  appearance: auto !important;
  -webkit-appearance: auto !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

/* Dropdown arrow visible on dark bg */
.wpcf7 select {
  background-color: #111530 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23ff6b35' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 12px !important;
  padding-right: 40px !important;
  cursor: pointer !important;
}

.wpcf7 select option {
  background: #0a0e27 !important;
  color: #ffffff !important;
}

.wpcf7 select:focus,
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus {
  border-color: #ff6b35 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.15) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

.wpcf7 textarea {
  min-height: 130px !important;
  resize: vertical !important;
}

/* Labels */
.wpcf7 label {
  color: #cdd0e0 !important;
  font-weight: 500 !important;
  display: block !important;
  margin-bottom: 6px !important;
}

/* Submit button */
.wpcf7 input[type="submit"] {
  width: 100% !important;
  padding: 14px 40px !important;
  background: #ff6b35 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
  margin-top: 8px !important;
}

.wpcf7 input[type="submit"]:hover {
  background: #e55a28 !important;
  transform: translateY(-2px) !important;
}

/* Validation messages */
.wpcf7 .wpcf7-not-valid-tip {
  color: #ff6b35 !important;
  font-size: 13px !important;
  margin-top: -12px !important;
  margin-bottom: 10px !important;
  display: block !important;
}

.wpcf7 .wpcf7-response-output {
  margin: 16px 0 !important;
  padding: 12px 16px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  border: none !important;
}

.wpcf7 .wpcf7-mail-sent-ok {
  background: rgba(37, 211, 102, 0.15) !important;
  color: #25d366 !important;
}

.wpcf7 .wpcf7-mail-sent-ng,
.wpcf7 .wpcf7-validation-errors {
  background: rgba(255, 107, 53, 0.12) !important;
  color: #ff6b35 !important;
}

/* Spinner */
.wpcf7 .wpcf7-spinner {
  margin-left: 10px !important;
}

/* Placeholder text colour */
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
}

/* ── Contact Page Layout & Form ── */
.agal-contact-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 20px;
}

/* Info boxes */
.contact-info-box {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 107, 53, 0.2);
  border-radius: 10px;
  padding: 16px;
  margin-bottom: 14px;
}
.contact-icon { font-size: 22px; flex-shrink: 0; }
.contact-info-box small {
  color: #ff6b35;
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  display: block;
}
.contact-info-box strong {
  color: #ffffff;
  font-size: 15px;
  display: block;
  margin-top: 3px;
}
.contact-info-box p {
  color: rgba(255, 255, 255, 0.6);
  font-size: 13px;
  margin: 4px 0 0;
}

/* WhatsApp CTA */
.whatsapp-btn-contact {
  display: block;
  background: #25d366;
  color: #ffffff !important;
  text-align: center;
  padding: 14px 20px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none !important;
  margin-top: 10px;
  transition: background 0.2s ease, transform 0.15s ease;
}
.whatsapp-btn-contact:hover {
  background: #1da851;
  transform: translateY(-2px);
}

/* Form heading */
.agal-contact-right h2 {
  color: #ffffff;
  margin-bottom: 8px;
  font-size: 26px;
}

/* Field groups */
.form-group { margin-bottom: 16px; }
.form-group label {
  display: block;
  color: rgba(255, 255, 255, 0.7);
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 6px;
  font-weight: 600;
}

/* All inputs / selects / textarea */
.agal-html-form input[type="text"],
.agal-html-form input[type="email"],
.agal-html-form input[type="tel"],
.agal-html-form select,
.agal-html-form textarea {
  width: 100%;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 107, 53, 0.3);
  border-radius: 8px;
  color: #ffffff;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Dropdown — native <select> visible on dark bg */
.agal-html-form select {
  background-color: #0d1235;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23ff6b35' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px;
  padding-right: 40px;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.agal-html-form select option {
  background: #0a0e27;
  color: #ffffff;
}

/* Focus states */
.agal-html-form input:focus,
.agal-html-form select:focus,
.agal-html-form textarea:focus {
  border-color: #ff6b35;
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.15);
  background: rgba(255, 255, 255, 0.08);
}

/* Placeholder */
.agal-html-form input::placeholder,
.agal-html-form textarea::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

.agal-html-form textarea { min-height: 120px; resize: vertical; }

/* Submit */
.agal-submit-btn {
  width: 100%;
  padding: 15px 20px;
  background: #ff6b35;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  margin-top: 8px;
  transition: background 0.2s ease, transform 0.15s ease;
}
.agal-submit-btn:hover {
  background: #e55a28;
  transform: translateY(-2px);
}

/* Mobile */
@media (max-width: 768px) {
  .agal-contact-wrapper {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 24px 16px;
  }
  .agal-contact-right h2 { font-size: 22px; }
}

/* ── Fluent Forms — dark navy theme ── */
.ff-el-input--content input[type="text"],
.ff-el-input--content input[type="email"],
.ff-el-input--content input[type="tel"],
.ff-el-input--content select,
.ff-el-input--content textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 107, 53, 0.3) !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

/* Dropdown */
.ff-el-input--content select {
  background-color: #0d1235 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23ff6b35' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 12px !important;
  padding-right: 40px !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.ff-el-input--content select option {
  background: #0a0e27 !important;
  color: #ffffff !important;
}

/* Focus */
.ff-el-input--content input:focus,
.ff-el-input--content select:focus,
.ff-el-input--content textarea:focus {
  border-color: #ff6b35 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.15) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

/* Placeholder */
.ff-el-input--content input::placeholder,
.ff-el-input--content textarea::placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
}

/* Labels */
.ff-el-group .ff-el-input--label label {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
}

/* Error messages */
.ff-el-input--content .error {
  color: #ff6b35 !important;
  font-size: 12px !important;
  margin-top: 4px !important;
}

/* Submit button */
.ff_submit_btn_wrapper .ff-btn-submit,
.ff-btn.ff-btn-md.ff-btn-primary {
  width: 100% !important;
  padding: 14px 40px !important;
  background: #ff6b35 !important;
  border: none !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
  margin-top: 8px !important;
}
.ff_submit_btn_wrapper .ff-btn-submit:hover,
.ff-btn.ff-btn-md.ff-btn-primary:hover {
  background: #e55a28 !important;
  transform: translateY(-2px) !important;
}

/* Success / confirmation message */
.ff-message-success {
  background: rgba(37, 211, 102, 0.12) !important;
  border: 1px solid rgba(37, 211, 102, 0.3) !important;
  border-radius: 8px !important;
  color: #25d366 !important;
  padding: 16px 20px !important;
  font-weight: 500 !important;
}

/* Form wrapper spacing */
.fluentform-default { padding: 0 !important; }
.ff-el-group { margin-bottom: 16px !important; }

/* ── Responsive Tables ────────────────────────────────────────────────────── */
.elementor-widget-text-editor table,
.entry-content table {
  width: 100% !important;
  border-collapse: collapse !important;
}
.elementor-widget-text-editor table th,
.elementor-widget-text-editor table td,
.entry-content table th,
.entry-content table td {
  padding: 10px 14px !important;
  border: 1px solid rgba(255,107,53,0.2) !important;
  color: #ffffff !important;
  font-size: 14px !important;
}
.elementor-widget-text-editor table th,
.entry-content table th {
  background: #ff6b35 !important;
  color: #ffffff !important;
  font-weight: 600 !important;
}
.elementor-widget-text-editor table tr:nth-child(even),
.entry-content table tr:nth-child(even) {
  background: rgba(255,255,255,0.03) !important;
}
.elementor-widget-text-editor table tr:hover,
.entry-content table tr:hover {
  background: rgba(255,107,53,0.08) !important;
}
@media (max-width: 768px) {
  .elementor-widget-text-editor .table-wrap,
  .entry-content .table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .elementor-widget-text-editor table,
  .entry-content table {
    min-width: 500px;
  }
  .elementor-widget-text-editor table th,
  .elementor-widget-text-editor table td,
  .entry-content table th,
  .entry-content table td {
    padding: 8px 10px !important;
    font-size: 12px !important;
  }
}

/* ── Breadcrumbs ─────────────────────────────────────────────────────────── */
.ast-breadcrumbs-wrapper {
  background: rgba(255,107,53,0.08) !important;
  padding: 10px 20px !important;
  border-bottom: 1px solid rgba(255,107,53,0.15) !important;
}
.ast-breadcrumbs a,
.ast-breadcrumbs-list a {
  color: #ff6b35 !important;
  text-decoration: none !important;
}
.ast-breadcrumbs,
.ast-breadcrumbs-list,
.ast-breadcrumbs span {
  color: rgba(255,255,255,0.65) !important;
  font-size: 13px !important;
}
.ast-breadcrumbs-list .ast-breadcrumbs-separator {
  color: #ff6b35 !important;
}

/* ── Mobile Menu ─────────────────────────────────────────────────────────── */
@media (max-width: 921px) {
  button.menu-toggle,
  .ast-mobile-menu-buttons button {
    background: #ff6b35 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 8px 14px !important;
    font-size: 18px !important;
    cursor: pointer !important;
  }
  #ast-mobile-popup,
  .ast-mobile-popup-inner,
  .ast-fly-in-popup {
    background: #0a0e27 !important;
  }
  #ast-mobile-popup ul li a,
  .ast-fly-in-popup ul li a,
  .main-navigation ul.ast-nav-menu > li > a {
    color: #ffffff !important;
    font-size: 16px !important;
    padding: 14px 20px !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    display: block !important;
    text-decoration: none !important;
  }
  #ast-mobile-popup ul li a:hover,
  .ast-fly-in-popup ul li a:hover {
    color: #ff6b35 !important;
    background: rgba(255,107,53,0.08) !important;
    padding-left: 28px !important;
  }
  #ast-mobile-popup ul li.current-menu-item > a,
  .ast-fly-in-popup ul li.current-menu-item > a {
    color: #ff6b35 !important;
    border-left: 3px solid #ff6b35 !important;
  }
  .ast-mobile-popup-close,
  button.ast-mobile-popup-close {
    color: #ffffff !important;
    background: rgba(255,255,255,0.1) !important;
    border-radius: 50% !important;
  }
}

/* ── Breadcrumbs (astra_header_after position) ───────────────────────────── */
.main-header-bar.ast-header-breadcrumb,
.ast-breadcrumbs-wrapper {
  background: rgba(13,18,53,0.95) !important;
  border-bottom: 1px solid rgba(255,107,53,0.25) !important;
  padding: 9px 20px !important;
}
.ast-breadcrumbs-wrapper .ast-container,
.main-header-bar.ast-header-breadcrumb .ast-container {
  max-width: 1200px;
  margin: 0 auto;
}
.ast-breadcrumbs,
.ast-breadcrumbs-list,
.ast-breadcrumbs span,
.ast-breadcrumbs a {
  font-size: 13px !important;
}
.ast-breadcrumbs a,
.ast-breadcrumbs-list a {
  color: #ff6b35 !important;
  text-decoration: none !important;
}
.ast-breadcrumbs span:not(.ast-breadcrumbs-separator),
.ast-breadcrumbs-list span:not(.ast-breadcrumbs-separator) {
  color: rgba(255,255,255,0.65) !important;
}
.ast-breadcrumbs-separator,
.ast-breadcrumbs .ast-breadcrumbs-list li::after {
  color: #ff6b35 !important;
  margin: 0 6px !important;
}

/* ── Blog Archive — dark background, visible content ────────────────────── */
.blog .site-content,
.blog .content-area,
.blog .site-main,
.archive .site-content,
.archive .content-area,
.blog .ast-container,
.blog .entry-content,
.blog .hentry,
.blog article.post,
.blog .post,
.ast-separate-container.blog .hentry,
.ast-separate-container .ast-article-post {
  background: transparent !important;
  color: #cdd0e0 !important;
}
/* Blog post cards */
.blog .ast-article-post,
.blog .ast-grid-blog-layout article,
.ast-blog-layout-1 article {
  background: #111530 !important;
  border: 1px solid rgba(255,107,53,0.15) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
/* Post title on archive */
.blog .entry-title a,
.archive .entry-title a {
  color: #ffffff !important;
  font-weight: 700 !important;
}
.blog .entry-title a:hover,
.archive .entry-title a:hover {
  color: #ff6b35 !important;
}
/* Meta and excerpt text */
.blog .entry-meta,
.blog .entry-meta *,
.archive .entry-meta,
.blog .entry-summary,
.blog .entry-summary p,
.archive .entry-summary p {
  color: #8892b0 !important;
}
/* Category/tag pill labels */
.blog .cat-links a,
.archive .cat-links a,
.blog .tags-links a {
  background: rgba(255,107,53,0.12) !important;
  color: #ff6b35 !important;
  border-radius: 4px !important;
  padding: 2px 8px !important;
  font-size: 12px !important;
  text-decoration: none !important;
}
/* Read more link */
.blog .ast-read-more,
.archive .ast-read-more,
.blog a.ast-read-more {
  color: #ff6b35 !important;
}

/* ── Blog Single Post — remove orange title background ───────────────────── */
.single .entry-header,
.single-post .entry-header,
.single .ast-single-post-order,
.single .page-header,
.single .ast-page-builder-template .entry-header {
  background: transparent !important;
  background-color: transparent !important;
  padding: 0 !important;
}
.single .entry-title,
.single h1.entry-title {
  background: transparent !important;
  background-color: transparent !important;
  color: #ffffff !important;
  padding: 0 !important;
  display: block !important;
}
/* Single post content area dark */
.single .site-content,
.single .content-area,
.single .entry-content,
.single article {
  background: transparent !important;
}
.single .entry-content p,
.single .entry-content li,
.single .entry-content td {
  color: #cdd0e0 !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
}
.single .entry-content h2,
.single .entry-content h3,
.single .entry-content h4 {
  color: #ffffff !important;
  margin-top: 32px !important;
}
/* Post meta - author / date */
.single .entry-meta,
.single .posted-on,
.single .byline,
.single .entry-meta * {
  color: #8892b0 !important;
  font-size: 13px !important;
}
.single .entry-meta a { color: #ff6b35 !important; }

/* ── Site content area global dark fix ───────────────────────────────────── */
.ast-separate-container .ast-article-inner,
#primary .ast-separate-container,
.site-content, .content-area, #primary {
  background: transparent !important;
}
.ast-page-builder-template #content,
.ast-page-builder-template .entry-content {
  padding: 0 !important;
}

/* ── Mobile Menu — ALL Astra mobile menu variants ────────────────────────── */
/* Full-width drop (below header) */
.ast-header-break-point .main-navigation,
.ast-header-break-point .main-navigation .ast-main-nav-bar,
.ast-header-break-point .main-header-menu,
#ast-hf-menu-1 {
  background: #0a0e27 !important;
  border-top: 1px solid rgba(255,107,53,0.2) !important;
}
/* Off-canvas / popup panel */
#ast-mobile-popup,
.ast-mobile-popup-wrap,
.ast-mobile-popup-inner,
.ast-fly-in-popup,
.ast-mobile-popup-overlay + .ast-mobile-popup-inner {
  background: #0a0e27 !important;
}
/* Menu item links */
.ast-header-break-point .main-header-menu .menu-item > a,
.ast-header-break-point .main-header-menu li > a,
#ast-mobile-popup ul li > a,
.ast-fly-in-popup ul li > a,
#ast-hf-menu-1 ul li > a {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 13px 20px !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  display: block !important;
  background: transparent !important;
}
/* Hover state */
.ast-header-break-point .main-header-menu .menu-item > a:hover,
#ast-mobile-popup ul li > a:hover,
.ast-fly-in-popup ul li > a:hover {
  color: #ff6b35 !important;
  background: rgba(255,107,53,0.07) !important;
  padding-left: 26px !important;
}
/* Active / current page */
.ast-header-break-point .main-header-menu .current-menu-item > a,
#ast-mobile-popup ul li.current-menu-item > a {
  color: #ff6b35 !important;
  border-left: 3px solid #ff6b35 !important;
}
/* Close & hamburger buttons */
.ast-mobile-popup-close,
button.ast-mobile-popup-close { color: #fff !important; }
button.menu-toggle,
.ast-mobile-menu-buttons .menu-toggle,
.menu-toggle { background: #ff6b35 !important; color: #fff !important; border: none !important; border-radius: 6px !important; }

/* ── Footer social icons hover ───────────────────────────────────────────── */
.footer-widget-area .widget a[href*="facebook"]:hover { opacity: 0.85; }
.footer-widget-area .widget a[href*="instagram"]:hover { opacity: 0.85; }
.footer-widget-area .widget a[href*="youtube"]:hover { opacity: 0.85; }
.footer-widget-area .widget a[href*="linkedin"]:hover { opacity: 0.85; }
.footer-widget-area .widget a[href*="wa.me"]:hover { opacity: 0.85; }

/* ── Homepage — hide entry-title, breadcrumb, entry-header space ─────────── */
.home .entry-title,
.home .ast-breadcrumbs-wrapper,
.home .entry-header,
.page-id-6 .entry-title,
.page-id-6 .ast-breadcrumbs-wrapper,
.page-id-6 .entry-header { display: none !important; }

.home .entry-content,
.home .site-content,
.home .content-area { padding-top: 0 !important; margin-top: 0 !important; }

/* ── Homepage pricing grids — tablet 2 cols, mobile 1 col ───────────────── */
@media (max-width: 900px) {
  .home .entry-content div[style*="repeat(3,1fr)"],
  .home .entry-content div[style*="repeat(3, 1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 600px) {
  .home .entry-content div[style*="repeat(3,1fr)"],
  .home .entry-content div[style*="repeat(3, 1fr)"],
  .home .entry-content div[style*="repeat(4,1fr)"],
  .home .entry-content div[style*="repeat(4, 1fr)"] {
    grid-template-columns: 1fr !important;
  }
}
