/*
 Theme Name:   Elthermo Storefront Child
 Theme URI:    https://elthermo.pl
 Description:  Motyw dziecięny Storefront z designem elthermo.pl dla sklepu z projektami rekuperacji
 Author:       Elthermo
 Author URI:   https://elthermo.pl
 Template:     storefront
 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:  elthermo-storefront-child
*/

/* ============================================
   ELTHERMO DESIGN SYSTEM
   Kolory: #000019 (ciemny), #09e589 (zielony), #dddddd (header)
   Fonty: Outfit (nagłówki), DM Sans (tekst)
   ============================================ */

/* Import fontów */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Outfit:wght@300;400;500;600;700;800&display=swap');

/* ============================================
   CSS VARIABLES
   ============================================ */
:root {
  /* Kolory główne */
  --elthermo-primary: #09e589;
  --elthermo-primary-hover: #07cc79;
  --elthermo-dark: #000019;
  --elthermo-header-bg: #dddddd;
  --elthermo-white: #ffffff;
  
  /* Tekst */
  --elthermo-text-dark: #1e293b;
  --elthermo-text-medium: #64748b;
  --elthermo-text-light: #94a3b8;
  
  /* Tła */
  --elthermo-bg-light: #f8fafc;
  --elthermo-bg-card: #ffffff;
  
  /* Bordery */
  --elthermo-border: #e2e8f0;
  --elthermo-border-light: rgba(255,255,255,0.1);
  
  /* Cienie */
  --elthermo-shadow: 0 10px 15px -3px rgba(9, 229, 137, 0.1);
  --elthermo-shadow-lg: 0 20px 25px -5px rgba(9, 229, 137, 0.15);
  
  /* Fonty */
  --font-display: 'Outfit', sans-serif;
  --font-body: 'DM Sans', sans-serif;
  
  /* Zaokrąglenia */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;
}

/* ============================================
   GLOBAL STYLES
   ============================================ */
body {
  font-family: var(--font-body) !important;
  color: var(--elthermo-text-dark);
  background-color: var(--elthermo-bg-light);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.site-title,
.entry-title,
.page-title,
.woocommerce-loop-product__title {
  font-family: var(--font-display) !important;
  font-weight: 600;
  color: var(--elthermo-text-dark);
}

a {
  color: var(--elthermo-primary);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--elthermo-primary-hover);
}

/* ============================================
   HEADER / NAVIGATION (Storefront)
   ============================================ */
.site-header,
.storefront-primary-navigation {
  background-color: var(--elthermo-header-bg) !important;
  border-bottom: none !important;
}

.site-branding .site-title a,
.site-branding .custom-logo-link {
  color: var(--elthermo-dark) !important;
  font-family: var(--font-display);
  font-weight: 700;
}

/* Główne menu */
.main-navigation ul li a,
.storefront-primary-navigation .main-navigation ul li a {
  color: var(--elthermo-dark) !important;
  font-weight: 500;
  font-size: 15px;
  opacity: 0.8;
  transition: all 0.2s ease;
}

.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item a,
.storefront-primary-navigation .main-navigation ul li a:hover {
  color: var(--elthermo-primary) !important;
  opacity: 1;
}

/* Koszyk w header */
.site-header-cart .cart-contents {
  background: rgba(0, 0, 25, 0.1) !important;
  border-radius: var(--radius-full) !important;
  padding: 8px 16px !important;
  color: var(--elthermo-dark) !important;
}

.site-header-cart .cart-contents:hover {
  background: rgba(0, 0, 25, 0.15) !important;
}

.site-header-cart .count {
  background-color: var(--elthermo-primary) !important;
  color: var(--elthermo-dark) !important;
  font-weight: 700;
  border-radius: var(--radius-full);
}

/* ============================================
   HERO SECTION (custom)
   ============================================ */
.elthermo-hero {
  background-color: var(--elthermo-dark) !important;
  padding: 80px 20px !important;
  position: relative;
  overflow: hidden;
  text-align: center;
}

.elthermo-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
  height: 600px;
  background: radial-gradient(ellipse, rgba(9, 229, 137, 0.1) 0%, transparent 70%);
  pointer-events: none;
}

.elthermo-hero h1 {
  color: var(--elthermo-white) !important;
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.2;
  margin-bottom: 16px;
}

.elthermo-hero h1 span {
  color: var(--elthermo-primary) !important;
}

.elthermo-hero p {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 1.125rem;
  max-width: 700px;
  margin: 0 auto 32px;
}

/* ============================================
   BUTTONS
   ============================================ */
.button,
.btn,
.wp-block-button__link,
button[type="submit"],
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.storefront-button,
.added_to_cart,
.checkout-button {
  background-color: var(--elthermo-primary) !important;
  color: var(--elthermo-dark) !important;
  border: none !important;
  border-radius: var(--radius-lg) !important;
  padding: 14px 28px !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: var(--elthermo-shadow) !important;
  text-transform: none !important;
  line-height: 1.5 !important;
}

.button:hover,
.btn:hover,
.wp-block-button__link:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.added_to_cart:hover,
.checkout-button:hover {
  background-color: var(--elthermo-primary-hover) !important;
  color: var(--elthermo-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--elthermo-shadow-lg) !important;
}

/* Alt buttons */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background-color: var(--elthermo-primary) !important;
  color: var(--elthermo-dark) !important;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background-color: var(--elthermo-primary-hover) !important;
}

/* ============================================
   PRODUKTY / KARTY
   ============================================ */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: var(--elthermo-bg-card) !important;
  border-radius: var(--radius-xl) !important;
  border: 1px solid var(--elthermo-border) !important;
  padding: 24px !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05) !important;
  text-align: center;
}

.woocommerce ul.products li.product:hover {
  border-color: rgba(9, 229, 137, 0.5) !important;
  box-shadow: var(--elthermo-shadow-lg) !important;
  transform: translateY(-4px) !important;
}

/* Nazwa produktu */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-display) !important;
  font-weight: 600 !important;
  font-size: 1.25rem !important;
  color: var(--elthermo-text-dark) !important;
  padding: 0.5em 0 !important;
}

/* Cena produktu */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--elthermo-primary) !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  font-size: 1.5rem !important;
}

/* Badge promocyjny */
.woocommerce span.onsale {
  background-color: var(--elthermo-primary) !important;
  color: var(--elthermo-dark) !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 8px 14px !important;
  border-radius: var(--radius-full) !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.5 !important;
}

/* Obrazek produktu */
.woocommerce ul.products li.product a img {
  border-radius: var(--radius-lg) !important;
  margin-bottom: 16px !important;
}

/* ============================================
   SINGLE PRODUCT
   ============================================ */
.woocommerce div.product {
  background: var(--elthermo-bg-card);
  border-radius: var(--radius-xl);
  padding: 32px;
  border: 1px solid var(--elthermo-border);
}

.woocommerce div.product .product_title {
  font-family: var(--font-display) !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: var(--elthermo-text-dark) !important;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: var(--elthermo-bg-light) !important;
  border-radius: var(--radius-md) var(--radius-md) 0 0 !important;
  border: 1px solid var(--elthermo-border) !important;
  border-bottom: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--elthermo-bg-card) !important;
  border-bottom-color: var(--elthermo-bg-card) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--elthermo-text-medium) !important;
  font-weight: 500 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--elthermo-text-dark) !important;
}

/* ============================================
   WARIANTY PRODUKTU
   ============================================ */
.woocommerce div.product form.cart .variations {
  margin-bottom: 24px;
}

.woocommerce div.product form.cart .variations td {
  padding: 8px 0 !important;
}

.woocommerce div.product form.cart .variations label {
  font-weight: 600 !important;
  color: var(--elthermo-text-dark) !important;
  font-size: 14px !important;
}

.woocommerce div.product form.cart .variations select {
  background: var(--elthermo-bg-light) !important;
  border: 2px solid var(--elthermo-border) !important;
  border-radius: var(--radius-md) !important;
  padding: 12px 16px !important;
  font-size: 15px !important;
  color: var(--elthermo-text-dark) !important;
  transition: all 0.2s ease !important;
}

.woocommerce div.product form.cart .variations select:focus {
  border-color: var(--elthermo-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(9, 229, 137, 0.2) !important;
}

/* ============================================
   CHECKOUT / KOSZYK
   ============================================ */
.woocommerce-cart .cart-collaterals,
.woocommerce-checkout .woocommerce {
  max-width: 1200px;
  margin: 0 auto;
}

/* Formularze */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea {
  background: var(--elthermo-white) !important;
  border: 1px solid var(--elthermo-border) !important;
  border-radius: var(--radius-md) !important;
  padding: 14px 16px !important;
  font-size: 16px !important;
  transition: all 0.2s ease !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--elthermo-primary) !important;
  box-shadow: 0 0 0 3px rgba(9, 229, 137, 0.2) !important;
  outline: none !important;
}

/* Labels */
.woocommerce form .form-row label {
  font-weight: 500 !important;
  color: var(--elthermo-text-dark) !important;
  margin-bottom: 8px !important;
}

/* Tabele koszyka */
.woocommerce table.cart,
.woocommerce table.shop_table {
  border: 1px solid var(--elthermo-border) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden;
}

.woocommerce table.cart th,
.woocommerce table.shop_table th {
  background: var(--elthermo-bg-light) !important;
  color: var(--elthermo-text-dark) !important;
  font-weight: 600 !important;
  border: none !important;
  padding: 16px !important;
}

.woocommerce table.cart td,
.woocommerce table.shop_table td {
  border: none !important;
  border-bottom: 1px solid var(--elthermo-border) !important;
  padding: 16px !important;
}

/* Suma zamówienia */
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  font-size: 1.25rem !important;
}

.order-total .amount {
  color: var(--elthermo-primary) !important;
  font-weight: 700 !important;
}

/* ============================================
   KOMUNIKATY
   ============================================ */
.woocommerce-message,
.woocommerce-info,
.storefront-handheld-footer-bar {
  background: rgba(9, 229, 137, 0.1) !important;
  border: 1px solid rgba(9, 229, 137, 0.3) !important;
  border-radius: var(--radius-lg) !important;
  color: var(--elthermo-text-dark) !important;
  border-top: none !important;
  padding: 16px 24px !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--elthermo-primary) !important;
}

.woocommerce-error {
  background: rgba(239, 68, 68, 0.1) !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
  border-radius: var(--radius-lg) !important;
  border-top: none !important;
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer,
.storefront-footer-widget-region {
  background-color: var(--elthermo-dark) !important;
  color: var(--elthermo-white) !important;
}

.site-footer h4,
.site-footer .widget-title {
  color: rgba(255, 255, 255, 0.4) !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin-bottom: 16px !important;
}

.site-footer a,
.site-footer .widget a {
  color: rgba(255, 255, 255, 0.7) !important;
}

.site-footer a:hover,
.site-footer .widget a:hover {
  color: var(--elthermo-primary) !important;
}

.site-info {
  background: var(--elthermo-dark) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: rgba(255, 255, 255, 0.4) !important;
}

/* ============================================
   SEKCJE CUSTOMOWE
   ============================================ */
.elthermo-section {
  padding: 80px 20px;
}

.elthermo-section-dark {
  background-color: var(--elthermo-dark);
  color: var(--elthermo-white);
}

.elthermo-section-title {
  font-family: var(--font-display);
  font-size: clamp(1.875rem, 4vw, 2.5rem);
  text-align: center;
  margin-bottom: 16px;
}

.elthermo-section-subtitle {
  color: var(--elthermo-text-medium);
  text-align: center;
  max-width: 600px;
  margin: 0 auto 48px;
  font-size: 1.125rem;
}

/* Trust stats */
.elthermo-trust-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 1000px;
  margin: 0 auto;
}

.elthermo-stat-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-xl);
  padding: 24px;
  text-align: center;
}

.elthermo-stat-number {
  font-family: var(--font-display);
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--elthermo-primary);
}

.elthermo-stat-label {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.875rem;
}

/* How it works */
.elthermo-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}

.elthermo-step {
  text-align: center;
  padding: 32px 24px;
  background: var(--elthermo-bg-card);
  border-radius: var(--radius-xl);
  border: 1px solid var(--elthermo-border);
}

.elthermo-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: var(--elthermo-primary);
  color: var(--elthermo-dark);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.25rem;
  border-radius: var(--radius-full);
  margin-bottom: 16px;
}

.elthermo-step-title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.125rem;
  margin-bottom: 8px;
  color: var(--elthermo-text-dark);
}

.elthermo-step-desc {
  color: var(--elthermo-text-medium);
  margin: 0;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 768px) {
  .elthermo-trust-stats {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .elthermo-hero {
    padding: 60px 20px !important;
  }
  
  .elthermo-section {
    padding: 60px 20px;
  }
  
  .woocommerce ul.products li.product {
    padding: 16px !important;
  }
}

@media (max-width: 480px) {
  .elthermo-trust-stats {
    grid-template-columns: 1fr;
  }
  
  .elthermo-hero h1 {
    font-size: 1.75rem;
  }
}

/* ============================================
   VARIATION SWATCHES - Style wariantów
   ============================================ */

/* TYLKO zaznaczony wariant - zielone tło */
.cfvsw-swatches-container .cfvsw-swatch.cfvsw-selected-swatch,
.cfvsw-swatches-container .cfvsw-swatch.selected,
.variable-item.selected,
.variable-item.selected .variable-item-span,
.swatch.selected,
.swatch.active,
.swatch-label.selected,
.tawcvs-swatches .swatch.selected,
.woo-variation-swatches .swatch.selected {
  background: var(--elthermo-primary) !important;
  color: var(--elthermo-dark) !important;
  border-color: var(--elthermo-primary) !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 12px rgba(9, 229, 137, 0.3) !important;
}

/* Hover na niezaznaczonych */
.cfvsw-swatches-container .cfvsw-swatch:not(.cfvsw-selected-swatch):hover,
.variable-item:not(.selected):hover,
.swatch:not(.selected):hover {
  border-color: var(--elthermo-primary) !important;
  background: rgba(9, 229, 137, 0.1) !important;
}

/* Kontener swatches - flexbox z gap */
.cfvsw-swatches-container,
.variations .value {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

/* Label atrybutu */
.variations .label label,
.variations th.label label {
  font-weight: 600 !important;
  color: var(--elthermo-text-dark) !important;
  font-size: 14px !important;
  margin-bottom: 10px !important;
  display: block !important;
}

/* Disabled/out of stock */
.cfvsw-swatch.cfvsw-disabled,
.swatch.disabled,
.variable-item.disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}

/* ============================================
   KARTY PRODUKTÓW - STYL NEXT.JS (strona główna)
   ============================================ */

/* Sekcja produktów na ciemnym tle */
.elthermo-products-section {
  background: var(--elthermo-dark);
  padding: 80px 20px;
}

.elthermo-products-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  max-width: 1200px;
  margin: 0 auto;
}

@media (max-width: 968px) {
  .elthermo-products-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* Pojedyncza karta produktu */
.elthermo-product-card {
  background: rgba(30, 41, 59, 0.5);
  border: 1px solid rgba(71, 85, 105, 0.5);
  border-radius: 16px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  transition: border-color 0.3s ease;
}

.elthermo-product-card:hover {
  border-color: rgba(9, 229, 137, 0.3);
}

/* Badge */
.elthermo-product-badge {
  display: inline-flex;
  align-self: flex-start;
  padding: 6px 12px;
  background: rgba(9, 229, 137, 0.2);
  color: var(--elthermo-primary);
  border-radius: 9999px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 16px;
}

/* Tytuł produktu */
.elthermo-product-card h3 {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 12px 0;
}

/* Opis */
.elthermo-product-card .description {
  color: rgba(148, 163, 184, 1);
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 24px;
}

/* Sekcja "Co zawiera" / "Korzyści" */
.elthermo-product-card .section-title {
  font-size: 12px;
  font-weight: 600;
  color: rgba(203, 213, 225, 1);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0 0 12px 0;
}

.elthermo-product-card ul {
  list-style: none;
  padding: 0;
  margin: 0 0 24px 0;
}

.elthermo-product-card ul li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  color: rgba(148, 163, 184, 1);
  margin-bottom: 8px;
}

.elthermo-product-card ul li .icon-check {
  color: var(--elthermo-primary);
  flex-shrink: 0;
  margin-top: 2px;
}

.elthermo-product-card ul li .icon-arrow {
  color: var(--elthermo-primary);
  flex-shrink: 0;
}

/* Separator */
.elthermo-product-card .separator {
  border: none;
  border-top: 1px solid rgba(71, 85, 105, 0.5);
  margin: 24px 0;
}

/* Wybór wariantów */
.elthermo-variant-group {
  margin-bottom: 16px;
}

.elthermo-variant-label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: rgba(203, 213, 225, 1);
  margin-bottom: 10px;
}

.elthermo-variant-buttons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.elthermo-variant-buttons.cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.elthermo-variant-btn {
  padding: 10px 12px;
  background: rgba(51, 65, 85, 1);
  color: rgba(203, 213, 225, 1);
  border: none;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
}

.elthermo-variant-btn:hover {
  background: rgba(71, 85, 105, 1);
}

.elthermo-variant-btn.active {
  background: var(--elthermo-primary);
  color: var(--elthermo-dark);
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(9, 229, 137, 0.3);
}

/* Tylko jedna opcja (disabled look) */
.elthermo-variant-btn.single {
  background: rgba(51, 65, 85, 1);
  color: rgba(203, 213, 225, 1);
  cursor: default;
}

/* Cena */
.elthermo-price-section {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 16px;
}

.elthermo-price-label {
  font-size: 13px;
  color: rgba(100, 116, 139, 1);
  margin-bottom: 4px;
}

.elthermo-price-value {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
}

.elthermo-price-from {
  font-size: 13px;
  color: rgba(100, 116, 139, 1);
}

/* Przycisk CTA */
.elthermo-product-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 16px 24px;
  background: linear-gradient(135deg, var(--elthermo-primary) 0%, var(--elthermo-primary-hover) 100%);
  color: var(--elthermo-dark);
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(9, 229, 137, 0.3);
  text-decoration: none;
}

.elthermo-product-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(9, 229, 137, 0.4);
  color: var(--elthermo-dark);
}

.elthermo-product-cta svg {
  width: 20px;
  height: 20px;
}

/* Banner promocyjny w sekcji produktów */
.elthermo-promo-banner {
  background: rgba(9, 229, 137, 0.1);
  border: 1px solid rgba(9, 229, 137, 0.3);
  border-radius: 16px;
  padding: 20px 24px;
  text-align: center;
  margin-bottom: 48px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.elthermo-promo-banner p {
  color: var(--elthermo-primary);
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0;
}

/* ============================================
   UTILITY CLASSES
   ============================================ */
.text-primary { color: var(--elthermo-primary) !important; }
.text-dark { color: var(--elthermo-dark) !important; }
.text-white { color: var(--elthermo-white) !important; }
.text-muted { color: var(--elthermo-text-medium) !important; }

.bg-primary { background-color: var(--elthermo-primary) !important; }
.bg-dark { background-color: var(--elthermo-dark) !important; }
.bg-white { background-color: var(--elthermo-white) !important; }
.bg-light { background-color: var(--elthermo-bg-light) !important; }
