/*
 * Abacus Lite - Final Overrides & Fixes
 * Version: 1.1 - Complete theme consistency
 * This file loads LAST and contains final overrides that shouldn't be in other CSS files
 */

/* ==========================================================================
   Button Consistency Fixes
   ========================================================================== */

/* Make .button-primary match the blue WooCommerce button styling */
.button-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 28px !important;
  background-color: #4A72E0 !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 1.2rem !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  transition: all 0.2s ease-in-out !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
  border: none !important;
  cursor: pointer !important;
}

.button-primary:hover {
  background-color: #1d2b59 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
  text-decoration: none !important;
}

/* WordPress Block Button Consistency Fix - All Variations */
.wp-block-button__link,
.wp-block-button__link.wp-element-button,
.wp-block-button .wp-block-button__link,
.wp-block-buttons .wp-block-button__link,
.about-page .wp-block-button__link,
.about-cta .wp-block-button__link,
.wp-block-button a,
.wp-block-buttons a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 28px !important;
  background-color: #4A72E0 !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 1.2rem !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  transition: all 0.2s ease-in-out !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
  border: none !important;
  cursor: pointer !important;
}

.wp-block-button__link:hover,
.wp-block-button__link.wp-element-button:hover,
.wp-block-button .wp-block-button__link:hover,
.wp-block-buttons .wp-block-button__link:hover,
.about-page .wp-block-button__link:hover,
.about-cta .wp-block-button__link:hover,
.wp-block-button a:hover,
.wp-block-buttons a:hover {
  background-color: #1d2b59 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
  text-decoration: none !important;
}


/* WooCommerce Product Grid Button Consistency Fix */
ul.products li.product .button.add_to_cart_button {
  background-color: #4A72E0 !important;
  color: #ffffff !important;
  border-radius: 50px !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  padding: 12px 24px !important;
  transition: all 0.2s ease-in-out !important;
  border: none !important;
  width: auto !important;
  margin: 0 auto;
}

ul.products li.product .button.add_to_cart_button:hover {
  background-color: #1d2b59 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
}

/* Remove the default icon from grid buttons */
ul.products li.product .button.add_to_cart_button::before {
    content: none !important;
    display: none !important;
}

/* Global WooCommerce and WordPress Button Theme Consistency */
.wp-block-button__link,
.woocommerce a.button
.wp-block-button__link {
  display: inline-block !important;
  background-color: #4A72E0 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 50px !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-decoration: none !important;
  padding: 12px 28px !important;
  transition: all 0.2s ease-in-out !important;
}

.wp-block-button__link:hover,
.woocommerce a.button:hover,
.wp-block-button__link:focus,
.woocommerce a.button:focus
.wp-block-button__link {

  background-color: #1d2b59 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
}

/* ==========================================================================
   Legal Links Consistency Fix
   ========================================================================== */

/* Fix manage cookies link to match other legal links */
/* Legal Links Consistency Fix */
.manage-cookies-link,
.woocommerce .manage-cookies-link,
.footer .manage-cookies-link,
.widget .manage-cookies-link,
*[data-action="manage-cookies"] {
  color: var(--color-link) !important;  /* Now matches other links */
  text-decoration: none !important;
  /* ... rest stays the same */
}

.manage-cookies-link:hover,
.woocommerce .manage-cookies-link:hover,
.footer .manage-cookies-link:hover,
.widget .manage-cookies-link:hover,
*[data-action="manage-cookies"]:hover {
  color: var(--color-link-hover) !important;  /* Now matches other links */
  text-decoration: underline !important;
}

.manage-cookies-link:focus,
*[data-action="manage-cookies"]:focus {
  outline: 2px solid #0073aa !important;
  outline-offset: 2px !important;
}

/* Legal footer styles */
.legal-footer-links {
  margin: 1rem 0;
  text-align: center;
  font-size: 0.9rem;
  list-style: none;
  list-style-type: none;
}

.legal-footer-links a {
  color: #666;
  text-decoration: none;
  margin: 0 0.5rem;
}

.legal-footer-links a:hover {
  color: #0073aa;
  text-decoration: underline;
}

.legal-links ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-left: 0;
  list-style: none;
  list-style-type: none;
  gap: 0.5rem; 
}

/* Legal notice styles */
.legal-notice {
  background: #f9f9f9;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 1rem;
  margin: 1rem 0;
  font-size: 0.9rem;
  color: #666;
}

.legal-notice a {
  color: #0073aa;
  text-decoration: underline;
}

.legal-notice a:hover {
  color: #005177;
}

/* ==========================================================================
   Nuclear Option for Bullet Points - Destroy Them All!
   ========================================================================== */

.legal-footer-links,
.legal-footer-links *,
.legal-links,
.legal-links *,
.legal-links ul,
.legal-links ul *,
.social-links,
.social-links *,
.footer-links ul,
.footer-links ul *,
.utility-nav ul,
.utility-nav ul *,
.utility-nav ul.utility-menu,
.utility-nav ul.utility-menu * {
  list-style: none !important;
  list-style-type: none !important;
  list-style-image: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* Extra nuclear option for stubborn bullets */
.legal-footer-links::before,
.legal-footer-links *::before,
.legal-links::before,
.legal-links *::before,
.social-links::before,
.social-links *::before {
  content: none !important;
  display: none !important;
}

/* ==========================================================================
   Header and Context-Specific Overrides
   ========================================================================== */

/* Override any theme conflicts */
.site-header .manage-cookies-link {
  color: #666 !important;
}

.site-header .manage-cookies-link:hover {
  color: #0073aa !important;
}

/* Ensure all legal links have consistent styling */
.footer .legal-footer-links a,
.footer .legal-links a,
.widget .legal-footer-links a {
  color: #666 !important;
  text-decoration: none !important;
}

.footer .legal-footer-links a:hover,
.footer .legal-links a:hover,
.widget .legal-footer-links a:hover {
  color: #0073aa !important;
  text-decoration: underline !important;
}

/* Ensure cookie links work in all contexts */
.woocommerce .manage-cookies-link,
.footer .manage-cookies-link,
.widget .manage-cookies-link {
  color: #666 !important;
  cursor: pointer !important;
}

/* Fix for any theme conflicts */
*[data-action="manage-cookies"] {
  cursor: pointer !important;
  pointer-events: auto !important;
}

/* ==========================================================================
   Mobile Fixes & Final Tweaks
   ========================================================================== */

/* Ensure mobile navigation is clean */
@media screen and (max-width: 768px) {
  .primary-nav .mobile-utility-nav ul.utility-menu,
  .primary-nav .mobile-utility-nav ul.utility-menu * {
    list-style: none !important;
    list-style-type: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
  }
}

/* ==========================================================================
   Critical CSS Overrides for Page Speed
   ========================================================================== */

/* Cookie Manager Link Styles in critical CSS */
.manage-cookies-link {
  color: #666 !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  display: inline !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font: inherit !important;
  line-height: inherit !important;
}

.manage-cookies-link:hover {
  color: #0073aa !important;
  text-decoration: underline !important;
}

.manage-cookies-link:focus {
  outline: 2px solid #0073aa !important;
  outline-offset: 2px !important;
}
/* ==========================================================================
   Improved Quantity Selector - Apply Mobile Style to Desktop
   ========================================================================== */

/* Enhanced quantity selector for better UX */
.single-product .cart .quantity {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  margin-bottom: 1rem !important;
}

/* Hide the default number input spinners */
.single-product .cart input[type="number"]::-webkit-outer-spin-button,
.single-product .cart input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.single-product .cart input[type="number"] {
  -moz-appearance: textfield !important;
}

/* Style the quantity input */
.single-product .cart .qty {
  background: white !important;
  color: var(--color-text) !important;
  border: 2px solid #e0e0e0 !important;
  border-radius: 8px !important;
  padding: 0.75rem !important;
  font-weight: 600 !important;
  width: 80px !important;
  text-align: center !important;
  font-size: 1rem !important;
}

/* Create custom +/- buttons for all screen sizes */
.quantity-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  background: var(--color-accent) !important;
  color: white !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
}

.quantity-button:hover {
  background: #ff9bb3 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 8px rgba(255, 192, 203, 0.3) !important;
}

.quantity-button:active {
  transform: translateY(0) !important;
}

/* Better contrast alternative - if you prefer blue */
.quantity-button.blue-style {
  background: var(--color-link) !important;
}

.quantity-button.blue-style:hover {
  background: var(--color-link-hover) !important;
  box-shadow: 0 2px 8px rgba(65, 105, 225, 0.3) !important;
}
.header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 60px;
  max-width: var(--container-width);
  margin: 0 auto;                     
  padding: 0 1.5rem;                  
}
/* About Us Page - Nuclear Button Fix */
.about-page a[href*="resources"],
.about-page a[href*="shop"],
.about-cta a,
.about-hero a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 28px !important;
  background-color: #4A72E0 !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 1.2rem !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  transition: all 0.2s ease-in-out !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
  border: none !important;
  cursor: pointer !important;
}