/**
 * Foundation: Reset & Astra Overrides
 * Usage: Clean slate - removes unwanted Astra defaults
 * Dependencies: variables.css
 * Last Updated: 2025-06-25
 * 
 * This file provides a clean foundation by resetting problematic Astra defaults.
 * Instead of fighting Astra throughout other files, we handle it once here.
 */

/*============================================================================
  ASTRA CONTAINER RESETS
============================================================================*/

/* Reset Astra's container system to our specifications */
.ast-container,
.ast-separate-container,
.ast-woocommerce-container {
  max-width: var(--container-max-width) !important;
  padding: 0 20px !important;
  margin: 0 auto !important;
}

/* Fix Astra's header layout issues - CRITICAL DESKTOP FIXES */
.main-header-container {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  gap: 20px !important;
}

.main-header-container > * {
  flex-shrink: 0;
}

/* Override Astra's problematic flex ordering that causes stacking */
.site-branding {
  order: unset !important;
  flex-shrink: 0 !important;
}

.header-custom-search {
  order: unset !important;
  flex: 1 !important;
  max-width: 500px !important;
  min-width: 300px !important;
}

.header_contact {
  order: unset !important;
  flex-shrink: 0 !important;
}

.header_actions {
  order: unset !important;
  flex-shrink: 0 !important;
}

/* Force horizontal layout on desktop - override any theme conflicts */
@media (min-width: 922px) {
  .main-header-container {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }
  
  .main-header-container > * {
    display: block !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
  }
}

/* Hide elements that should be hidden on desktop */
@media (min-width: 922px) {
  .search-btn-div,
  .menu-toggle {
    display: none !important;
  }
  
  .header-custom-search {
    display: block !important;
  }
}

/* Clean slate for articles and posts */
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single {
  padding: 0 !important;
  background: transparent !important;
}

/*============================================================================
  ASTRA WOOCOMMERCE RESETS
============================================================================*/

/* Remove Astra's WooCommerce result count and ordering (but allow custom archive controls) */
.woocommerce .woocommerce-result-count:not(.eo-archive-controls .woocommerce-result-count),
.woocommerce .woocommerce-ordering:not(.eo-archive-controls .woocommerce-ordering) {
  display: none !important;
}

/* Ensure custom archive controls are visible */
.eo-archive-controls .woocommerce-result-count,
.eo-archive-controls .woocommerce-ordering {
  display: block !important;
}

/* Reset Astra's product category display */
.product .astra-shop-summary-wrap .ast-woo-product-category {
  display: none !important;
}

/* Clean Astra's WooCommerce containers */
.ast-woocommerce-container {
  background: transparent !important;
}

/* Reset Astra's shop columns system (we'll use CSS Grid) */
.woocommerce ul.products {
  margin: 0 !important;
  padding: 0 !important;
}

/* Disable Astra's quantity button styling */
.astra-shop-quantity-btn-enabled .woocommerce .quantity,
.astra-shop-quantity-btn-enabled .woocommerce-cart .quantity {
  display: block !important;
}

/*============================================================================
  ASTRA NAVIGATION RESETS
============================================================================*/

/* Clean slate for navigation */
.main-header-menu {
  margin: 0 !important;
  padding: 0 !important;
}

.main-header-menu li {
  margin: 0 !important;
}

/*============================================================================
  ASTRA ARCHIVE RESETS
============================================================================*/

/* Clean archive descriptions */
.ast-separate-container .ast-archive-description {
  padding: 0 !important;
  margin-bottom: 25px !important;
  background: transparent !important;
}

/*============================================================================
  ASTRA PAGINATION RESETS
============================================================================*/

.ast-separate-container .post-navigation,
.ast-pagination {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.ast-pagination .prev.page-numbers,
.ast-pagination .next.page-numbers {
  padding: 0 !important;
}

/*============================================================================
  ASTRA BLOG RESETS
============================================================================*/

/* Clean blog layout */
.blog .blog-layout-1 .post-content .post-thumb,
.archive .blog-layout-1 .post-content .post-thumb {
  border: 1px solid var(--border-medium);
}

.blog .blog-layout-1.ast-no-thumb .post-content .post-thumb,
.archive .blog-layout-1.ast-no-thumb .post-content .post-thumb {
  border: none;
}

/*============================================================================
  ASTRA FOOTER RESETS
============================================================================*/

.site-footer {
  background: var(--footer-bg) !important;
  margin-bottom: 0 !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
}

.site-footer .widget-title {
  color: var(--border-light) !important;
}

/* Override footer container constraints */
.site-footer .ast-container {
  max-width: var(--container-max-width) !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  position: relative !important;
}

/*============================================================================
  FULL WIDTH FIXES - ANNOUNCEMENT BAR & HEADER
============================================================================*/

/* Force full width for announcement bar and header across all breakpoints */
.announcement-bar {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
}

header.site-header {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
}

.header-menu {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
}

/* Override any container constraints that limit width */
.announcement-bar .ast-container,
header.site-header .ast-container,
.header-menu .ast-container {
  max-width: var(--container-max-width) !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  position: relative !important;
}

/*============================================================================
  MOBILE RESPONSIVE RESETS
============================================================================*/

@media (max-width: 768px) {
  .ast-container,
  .ast-separate-container,
  .ast-woocommerce-container {
    padding: 0 10px !important;
  }
  
  /* Maintain full width on mobile */
  .announcement-bar .ast-container,
  header.site-header .ast-container,
  .header-menu .ast-container,
  .site-footer .ast-container {
    padding: 0 10px !important;
  }
}