/*
Theme Name: ECO Fit Commerce Pro
Theme URI: https://elementor.com
Author: Elementor Commerce Studio
Author URI: https://elementor.com
Description: Elementor Commerce Theme - Premium WordPress Commerce Theme with Elementor Pro integration, complete WooCommerce product catalog, and 100% Elementor page builder compatibility.
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: elementor-commerce-theme
Tags: e-commerce, custom-colors, custom-logo, elementor, woocommerce, responsive-layout
*/

/* Custom CSS Variables injected from App Customizer */
:root {
  --ecofit-brand-red: #EF233C;
  --ecofit-brand-crimson: #D90429;
  --ecofit-dark-bg: #2B2D42;
  --ecofit-light-bg: #EDF2F4;
  --ecofit-radius: 12px;
}

body {
  font-family: 'Outfit', sans-serif;
  background-color: #0f172a;
  color: #f8fafc;
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Navigation CSS Reset */
.primary-menu-container ul,
.primary-nav-menu,
.footer-menu-container ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 1.5rem !important;
}

.primary-menu-container ul li,
.primary-nav-menu li {
  list-style-type: none !important;
  display: inline-block !important;
}

.primary-menu-container ul li a,
.primary-nav-menu li a {
  text-decoration: none !important;
  color: #e2e8f0 !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  transition: color 0.2s ease !important;
}

.primary-menu-container ul li a:hover,
.primary-nav-menu li a:hover {
  color: #fbbf24 !important;
}

/* Elementor Canvas & Container Integration */
.elementor-content-container {
  width: 100%;
  margin: 0 auto;
}

img {
  max-width: 100%;
  height: auto;
}

/* Elementor Base Engine Generated CSS */
:root {
  --elementor-global-primary: #2B2D42;
  --elementor-global-secondary: #EF233C;
  --elementor-global-accent: #D90429;
  --elementor-global-font-family-primary: 'Plus Jakarta Sans', sans-serif;
  --elementor-global-font-family-secondary: 'Outfit', sans-serif;
}

/* Core Elementor Layout Wrappers */
.elementor {
  box-sizing: border-box;
}

.elementor *, .elementor *::before, .elementor *::after {
  box-sizing: inherit;
}

.elementor-section {
  position: relative;
  width: 100%;
}

.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.elementor-section.elementor-section-full_width > .elementor-container {
  width: 100%;
  max-width: 100%;
}

.elementor-container {
  display: flex;
  margin-right: auto;
  margin-left: auto;
  position: relative;
}

.elementor-row {
  width: 100%;
  display: flex;
}

.elementor-column {
  position: relative;
  min-height: 1px;
  display: flex;
}

.elementor-column-wrap, .elementor-widget-wrap {
  position: relative;
  width: 100%;
  flex-wrap: wrap;
  align-content: flex-start;
}

.elementor-widget {
  position: relative;
  width: 100%;
}

/* Elementor Keyframe Animations */
@keyframes elementor-fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes elementor-fadeInUp {
  from { opacity: 0; transform: translate3d(0, 30px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes elementor-fadeInDown {
  from { opacity: 0; transform: translate3d(0, -30px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes elementor-zoomIn {
  from { opacity: 0; transform: scale3d(0.9, 0.9, 0.9); }
  to { opacity: 1; transform: scale3d(1, 1, 1); }
}


.elementor-element-sec-hero {
  background-color: #0F172A;
  padding-top: 10px;
  padding-bottom: 10px;
}

.elementor-element-col-hero-1 {
  width: 100%;
}

.elementor-element-w-hero-deluxe .elementor-widget-container {
  color: #FFFFFF;
  background-color: #0F172A;
  text-align: left;
}

.elementor-element-w-hero-deluxe {
  animation-name: elementor-fadeIn;
  animation-duration: 0.6s;
  animation-delay: 0.1s;
  animation-fill-mode: both;
}

.elementor-element-sec-trust-bar {
  background-color: #FFFFFF;
  padding-top: 20px;
  padding-bottom: 20px;
}

.elementor-element-col-tb-1 {
  width: 100%;
}

.elementor-element-w-trust-bar .elementor-widget-container {
  text-align: center;
}

.elementor-element-w-trust-bar {
  animation-name: elementor-fadeInUp;
  animation-duration: 0.4s;
  animation-delay: 0.1s;
  animation-fill-mode: both;
}

.elementor-element-sec-categories {
  background-color: #FFFFFF;
  padding-top: 20px;
  padding-bottom: 30px;
}

.elementor-element-col-cat-1 {
  width: 100%;
}

.elementor-element-w-category-grid .elementor-widget-container {
  color: #0F172A;
  background-color: #FAFAFA;
  padding: 20px;
  border-radius: 16px;
}

.elementor-element-w-category-grid {
  animation-name: elementor-fadeInUp;
  animation-duration: 0.5s;
  animation-delay: 0.15s;
  animation-fill-mode: both;
}

.elementor-element-sec-deals-tabbed {
  background-color: #FFFFFF;
  padding-top: 30px;
  padding-bottom: 40px;
}

.elementor-element-col-deals-1 {
  width: 100%;
}

.elementor-element-w-deals-tabbed .elementor-widget-container {
  text-align: left;
}

.elementor-element-w-deals-tabbed {
  animation-name: elementor-fadeInUp;
  animation-duration: 0.6s;
  animation-delay: 0.2s;
  animation-fill-mode: both;
}

.elementor-element-sec-banner-wide {
  background-color: #FFFFFF;
  padding-top: 20px;
  padding-bottom: 40px;
}

.elementor-element-col-bw-1 {
  width: 100%;
}

.elementor-element-w-banner-cta-wide .elementor-widget-container {
  background-color: #F8FAFC;
  text-align: center;
}

.elementor-element-w-banner-cta-wide {
  animation-name: elementor-zoomIn;
  animation-duration: 0.5s;
  animation-delay: 0.15s;
  animation-fill-mode: both;
}

.elementor-element-sec-sidebar-carousel {
  background-color: #FFFFFF;
  padding-top: 20px;
  padding-bottom: 50px;
}

.elementor-element-col-sbc-1 {
  width: 100%;
}

.elementor-element-w-sidebar-carousel .elementor-widget-container {
  text-align: left;
}

.elementor-element-w-sidebar-carousel {
  animation-name: elementor-fadeInUp;
  animation-duration: 0.6s;
  animation-delay: 0.2s;
  animation-fill-mode: both;
}

.elementor-element-sec-store-guarantee {
  background-color: #FFFBEB;
  padding-top: 40px;
  padding-bottom: 40px;
}

.elementor-element-col-stg-1 {
  width: 100%;
}

.elementor-element-w-store-guarantee .elementor-widget-container {
  text-align: center;
}

.elementor-element-w-store-guarantee {
  animation-name: elementor-fadeInUp;
  animation-duration: 0.5s;
  animation-delay: 0.1s;
  animation-fill-mode: both;
}

.elementor-element-sec-bottom-trending {
  background-color: #FFFFFF;
  padding-top: 40px;
  padding-bottom: 40px;
}

.elementor-element-col-bt-1 {
  width: 100%;
}

.elementor-element-w-trending-products .elementor-widget-container {
  text-align: left;
}

.elementor-element-w-trending-products {
  animation-name: elementor-fadeInUp;
  animation-duration: 0.6s;
  animation-delay: 0.15s;
  animation-fill-mode: both;
}

.elementor-element-sec-spotlight-showcase {
  background-color: #F8FAFC;
  padding-top: 40px;
  padding-bottom: 50px;
}

.elementor-element-col-ss-1 {
  width: 100%;
}

.elementor-element-w-spotlight-showcase .elementor-widget-container {
  text-align: left;
}

.elementor-element-w-spotlight-showcase {
  animation-name: elementor-fadeInUp;
  animation-duration: 0.6s;
  animation-delay: 0.2s;
  animation-fill-mode: both;
}

.elementor-element-sec-newsletter {
  background-color: #FFFFFF;
  padding-top: 40px;
  padding-bottom: 60px;
}

.elementor-element-col-news-1 {
  width: 100%;
}

.elementor-element-w-newsletter .elementor-widget-container {
  background-color: #F1F5F9;
  text-align: center;
  border-radius: 16px;
}

.elementor-element-w-newsletter {
  animation-name: elementor-fadeInUp;
  animation-duration: 0.5s;
  animation-delay: 0.1s;
  animation-fill-mode: both;
}

.elementor-element-sec-footer-dual-promo {
  background-color: #FFFFFF;
  padding-top: 10px;
  padding-bottom: 40px;
}

.elementor-element-col-fdp-1 {
  width: 100%;
}

.elementor-element-w-footer-dual-promo .elementor-widget-container {
  text-align: center;
}

.elementor-element-w-footer-dual-promo {
  animation-name: elementor-fadeInUp;
  animation-duration: 0.5s;
  animation-delay: 0.1s;
  animation-fill-mode: both;
}
