/*
 Theme Name:   Salinarium WooCommerce
 Theme URI:    https://salinarium.com
 Description:  Szablon WooCommerce – ciemny styl premium spójny ze stroną firmową Salinarium. Bazuje na Hello Elementor.
 Author:       Salinarium
 Template:     hello-elementor
 Version:      2.0.0
 Text Domain:  salinarium
*/

/* =============================================
   FONTY
   ============================================= */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Jost:wght@200;300;400;500&display=swap');

/* =============================================
   ZMIENNE KOLORÓW
   ============================================= */
:root {
  --sal-bg:           #0a0a0a;
  --sal-bg-card:      #111111;
  --sal-bg-sidebar:   #0f0f0f;
  --sal-bg-footer:    #0d0d0d;
  --sal-border:       rgba(255, 255, 255, 0.08);
  --sal-gold:         #c9a96e;
  --sal-gold-light:   #dfc28f;
  --sal-text:         #e8e2d9;
  --sal-muted:        #7a7570;
  --sal-white:        #ffffff;
  --sal-transition:   0.28s cubic-bezier(0.4, 0, 0.2, 1);
  --sal-display:      'Cormorant Garamond', Georgia, serif;
  --sal-body:         'Jost', sans-serif;
}

/* =============================================
   BASE
   ============================================= */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  background: var(--sal-bg) !important;
  color: var(--sal-text) !important;
  font-family: var(--sal-body) !important;
  font-weight: 300 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--sal-display) !important;
  color: var(--sal-white) !important;
  font-weight: 400 !important;
}

a {
  color: var(--sal-gold);
  text-decoration: none;
  transition: color var(--sal-transition);
}
a:hover { color: var(--sal-gold-light); }

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

/* Ukryj tytuł strony na stronie głównej */
.home .entry-title,
.home .page-title,
.home h1.entry-title,
.front-page .entry-title {
  display: none !important;
}

/* =============================================
   HEADER
   ============================================= */
.site-header,
header.site-header {
  background: rgba(10, 10, 10, 0.97) !important;
  border-bottom: 1px solid var(--sal-border) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  width: 100% !important;
}

.main-navigation ul li a,
.site-navigation ul li a {
  font-family: var(--sal-body) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--sal-text) !important;
  transition: color var(--sal-transition) !important;
}
.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a { color: var(--sal-gold) !important; }

.main-navigation ul ul,
.site-navigation ul ul {
  background: #111 !important;
  border: 1px solid var(--sal-border) !important;
  border-top: 2px solid var(--sal-gold) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.8) !important;
}

/* =============================================
   GŁÓWNY KONTENER
   ============================================= */
#page { background: var(--sal-bg) !important; }

/* =============================================
   LAYOUT 2-KOLUMNOWY – SKLEP
   Własny szablon woocommerce.php generuje:
   #sal-shop-wrapper > #sal-sidebar + #sal-main
   ============================================= */
#sal-shop-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 40px 40px 60px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Sidebar – lewa kolumna */
#sal-sidebar {
  flex: 0 0 270px !important;
  width: 270px !important;
  min-width: 270px !important;
  max-width: 270px !important;
  margin-right: 40px !important;
  position: sticky !important;
  top: 80px !important;
  align-self: flex-start !important;
  background: #0f0f0f !important;
  border: 1px solid var(--sal-border) !important;
  padding: 28px 22px !important;
  box-sizing: border-box !important;
}

/* Produkty – prawa kolumna */
#sal-main {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Strona pojedynczego produktu – pełna szerokość */
.single-product #sal-shop-wrapper { flex-direction: column !important; }
.single-product #sal-sidebar { display: none !important; }
.single-product #sal-main { width: 100% !important; max-width: 1400px !important; margin: 0 auto !important; }

/* Responsywność */
@media (max-width: 960px) {
  #sal-shop-wrapper {
    flex-direction: column !important;
    padding: 24px 24px 40px !important;
  }
  #sal-sidebar {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 28px !important;
    position: static !important;
  }
}

@media (max-width: 600px) {
  #sal-shop-wrapper { padding: 16px 16px 32px !important; }
}

/* =============================================
   SIDEBAR – STYL WIDGETÓW
   ============================================= */

#sal-sidebar .widget-title,
#sal-sidebar .widgettitle {
  font-family: var(--sal-body) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--sal-gold) !important;
  margin-bottom: 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--sal-border) !important;
}

#sal-sidebar .widget {
  margin-bottom: 30px !important;
  padding-bottom: 30px !important;
  border-bottom: 1px solid var(--sal-border) !important;
}
#sal-sidebar .widget:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

/* Kategorie w sidebarze */
#sal-sidebar ul.product-categories,
#sal-sidebar .product-categories {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
#sal-sidebar .product-categories li {
  padding: 7px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
  list-style: none !important;
}
#sal-sidebar .product-categories li a {
  color: var(--sal-text) !important;
  font-size: 13px !important;
  display: flex !important;
  justify-content: space-between !important;
  transition: color var(--sal-transition) !important;
}
#sal-sidebar .product-categories li a:hover,
#sal-sidebar .product-categories li.current-cat > a { color: var(--sal-gold) !important; }
#sal-sidebar .product-categories .count { color: var(--sal-muted) !important; font-size: 11px !important; }

/* Suwak ceny */
.widget_price_filter .price_slider_wrapper .ui-slider {
  background: rgba(255,255,255,0.1) !important;
  height: 3px !important;
  border: none !important;
  border-radius: 0 !important;
}
.widget_price_filter .price_slider_wrapper .ui-slider-range { background: var(--sal-gold) !important; }
.widget_price_filter .price_slider_wrapper .ui-slider-handle {
  background: var(--sal-gold) !important;
  border: none !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  top: -6px !important;
  box-shadow: 0 0 0 3px rgba(201,169,110,0.2) !important;
}
.widget_price_filter .price_label { font-size: 12px !important; color: var(--sal-muted) !important; margin-top: 12px !important; }
.widget_price_filter .button {
  background: transparent !important;
  color: var(--sal-gold) !important;
  border: 1px solid var(--sal-gold) !important;
  font-family: var(--sal-body) !important;
  font-size: 10px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 8px 18px !important;
  border-radius: 0 !important;
  transition: all var(--sal-transition) !important;
  cursor: pointer !important;
  margin-top: 14px !important;
}
.widget_price_filter .button:hover { background: var(--sal-gold) !important; color: var(--sal-bg) !important; }

/* Layered nav */
.woocommerce-widget-layered-nav-list { padding: 0 !important; margin: 0 !important; list-style: none !important; }
.woocommerce-widget-layered-nav-list li {
  padding: 7px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
  list-style: none !important;
}
.woocommerce-widget-layered-nav-list li a {
  color: var(--sal-text) !important;
  font-size: 13px !important;
  transition: color var(--sal-transition) !important;
  display: flex !important;
  justify-content: space-between !important;
}
.woocommerce-widget-layered-nav-list li a:hover,
.woocommerce-widget-layered-nav-list li.wc-layered-nav-term--active a { color: var(--sal-gold) !important; }
.woocommerce-widget-layered-nav-list .count { color: var(--sal-muted) !important; font-size: 11px !important; }

/* =============================================
   BREADCRUMBS
   ============================================= */
.woocommerce-breadcrumb {
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  color: var(--sal-muted) !important;
  margin-bottom: 24px !important;
  font-family: var(--sal-body) !important;
  text-transform: uppercase !important;
}
.woocommerce-breadcrumb a { color: var(--sal-muted) !important; }
.woocommerce-breadcrumb a:hover { color: var(--sal-gold) !important; }

/* =============================================
   NAGŁÓWEK KATEGORII + OPIS GÓRNY
   ============================================= */
.woocommerce-products-header__title,
.woocommerce-products-header .page-title {
  font-family: var(--sal-display) !important;
  font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
  font-weight: 300 !important;
  color: var(--sal-white) !important;
  margin-bottom: 8px !important;
}

.term-description {
  border-bottom: 1px solid var(--sal-border);
  padding-bottom: 22px;
  margin-bottom: 26px;
}
.term-description p {
  color: var(--sal-muted) !important;
  font-size: 14px !important;
  line-height: 1.85 !important;
  max-width: 800px;
}

/* Opis dolny kategorii */
.sal-category-bottom {
  margin-top: 48px;
  padding-top: 40px;
  border-top: 1px solid var(--sal-border);
  color: var(--sal-muted);
  font-size: 14px;
  line-height: 1.9;
}
.sal-category-bottom h2, .sal-category-bottom h3 {
  font-family: var(--sal-display) !important;
  font-weight: 300 !important;
  color: var(--sal-white) !important;
  margin-bottom: 14px !important;
}

/* =============================================
   PASEK NARZĘDZI
   ============================================= */
.woocommerce-result-count {
  font-size: 11px !important;
  color: var(--sal-muted) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  margin-bottom: 20px !important;
}

.woocommerce-ordering { margin-bottom: 20px !important; }

.woocommerce-ordering select,
select.orderby {
  background: var(--sal-bg-card) !important;
  color: var(--sal-text) !important;
  border: 1px solid var(--sal-border) !important;
  border-radius: 0 !important;
  font-family: var(--sal-body) !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  padding: 9px 36px 9px 14px !important;
  cursor: pointer !important;
  outline: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23c9a96e' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
}

/* Przełącznik kafelki / lista */
.sal-view-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  vertical-align: middle;
  margin-left: 12px;
}
.sal-view-toggle button {
  background: transparent;
  border: 1px solid var(--sal-border);
  color: var(--sal-muted);
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--sal-transition);
  padding: 0;
  border-radius: 0;
}
.sal-view-toggle button.active,
.sal-view-toggle button:hover { border-color: var(--sal-gold); color: var(--sal-gold); }
.sal-view-toggle svg { width: 15px; height: 15px; fill: currentColor; pointer-events: none; }

/* =============================================
   SIATKA PRODUKTÓW – KAFELKI
   ============================================= */
ul.products::before,
ul.products::after { display: none !important; content: none !important; }

ul.products,
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin: 0 0 32px !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
  width: 100% !important;
  clear: both !important;
}

@media (max-width: 1100px) {
  ul.products, .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
  ul.products, .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
}

/* Karta produktu */
ul.products li.product,
.woocommerce ul.products li.product {
  background: var(--sal-bg-card) !important;
  border: 1px solid var(--sal-border) !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
  clear: none !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  transition: border-color var(--sal-transition), transform var(--sal-transition), box-shadow var(--sal-transition) !important;
  animation: salFadeUp 0.45s ease both;
}

ul.products li.product:hover {
  border-color: rgba(201,169,110,0.45) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,0.5) !important;
}

ul.products li.product:nth-child(1) { animation-delay: 0.04s; }
ul.products li.product:nth-child(2) { animation-delay: 0.08s; }
ul.products li.product:nth-child(3) { animation-delay: 0.12s; }
ul.products li.product:nth-child(4) { animation-delay: 0.16s; }
ul.products li.product:nth-child(5) { animation-delay: 0.20s; }
ul.products li.product:nth-child(6) { animation-delay: 0.24s; }
ul.products li.product:nth-child(7) { animation-delay: 0.28s; }
ul.products li.product:nth-child(8) { animation-delay: 0.32s; }
ul.products li.product:nth-child(9) { animation-delay: 0.36s; }

@keyframes salFadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

ul.products li.product a.woocommerce-loop-product__link {
  display: block !important;
  overflow: hidden !important;
}

/* Zdjęcie */
ul.products li.product img,
.woocommerce ul.products li.product img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
  float: none !important;
  transition: transform 0.55s cubic-bezier(0.4,0,0.2,1) !important;
}
ul.products li.product:hover img { transform: scale(1.05) !important; }

/* Nazwa */
ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family: var(--sal-display) !important;
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  color: var(--sal-white) !important;
  margin: 0 !important;
  padding: 14px 14px 4px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  word-break: break-word !important;
  writing-mode: horizontal-tb !important;
}

/* Cena */
ul.products li.product .price,
.woocommerce ul.products li.product .price {
  color: var(--sal-gold) !important;
  font-family: var(--sal-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  padding: 4px 14px 10px !important;
  display: block !important;
  margin: 0 !important;
}
ul.products li.product .price del { color: var(--sal-muted) !important; font-size: 12px !important; margin-right: 5px !important; opacity: 0.7; }
ul.products li.product .price ins { text-decoration: none !important; }

/* Przycisk koszyk */
ul.products li.product a.button,
ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  display: block !important;
  width: calc(100% - 28px) !important;
  margin: auto 14px 14px !important;
  text-align: center !important;
  background: transparent !important;
  color: var(--sal-muted) !important;
  border: 1px solid var(--sal-border) !important;
  border-radius: 0 !important;
  font-family: var(--sal-body) !important;
  font-size: 10px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  padding: 10px 12px !important;
  transition: all var(--sal-transition) !important;
  float: none !important;
  box-sizing: border-box !important;
}
ul.products li.product a.button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
  background: var(--sal-gold) !important;
  border-color: var(--sal-gold) !important;
  color: var(--sal-bg) !important;
}

/* Badge Sale */
ul.products li.product .onsale,
.woocommerce ul.products li.product .onsale {
  background: var(--sal-gold) !important;
  color: var(--sal-bg) !important;
  font-family: var(--sal-body) !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 4px 10px !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.5 !important;
}

/* =============================================
   WIDOK LISTY
   ============================================= */
ul.products.sal-list-view,
.woocommerce ul.products.sal-list-view {
  grid-template-columns: 1fr !important;
  gap: 12px !important;
}
ul.products.sal-list-view li.product,
.woocommerce ul.products.sal-list-view li.product { flex-direction: row !important; }
ul.products.sal-list-view li.product a.woocommerce-loop-product__link {
  flex: 0 0 180px !important;
  width: 180px !important;
}
ul.products.sal-list-view li.product img { width: 180px !important; height: 140px !important; }
ul.products.sal-list-view li.product .woocommerce-loop-product__title { font-size: 1.1rem !important; padding: 18px 18px 6px !important; }
ul.products.sal-list-view li.product .price { padding: 4px 18px 12px !important; }
ul.products.sal-list-view li.product a.button,
ul.products.sal-list-view li.product .button { width: auto !important; margin: auto 14px 14px auto !important; white-space: nowrap !important; }

@media (max-width: 600px) {
  ul.products.sal-list-view li.product { flex-direction: column !important; }
  ul.products.sal-list-view li.product a.woocommerce-loop-product__link { flex: none !important; width: 100% !important; }
  ul.products.sal-list-view li.product img { width: 100% !important; height: 180px !important; }
}

/* =============================================
   PAGINACJA
   ============================================= */
.woocommerce-pagination,
.woocommerce nav.woocommerce-pagination {
  margin-top: 36px !important;
  border-top: 1px solid var(--sal-border) !important;
  padding-top: 28px !important;
}
.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul {
  display: flex !important;
  justify-content: center !important;
  gap: 5px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  background: var(--sal-bg-card) !important;
  border: 1px solid var(--sal-border) !important;
  color: var(--sal-text) !important;
  font-size: 12px !important;
  border-radius: 0 !important;
  transition: all var(--sal-transition) !important;
}
.woocommerce-pagination ul li a:hover,
.woocommerce-pagination ul li span.current {
  background: var(--sal-gold) !important;
  border-color: var(--sal-gold) !important;
  color: var(--sal-bg) !important;
}

/* =============================================
   STRONA PRODUKTU – SINGLE
   ============================================= */
.woocommerce div.product .product_title {
  font-family: var(--sal-display) !important;
  font-size: clamp(1.8rem, 3.5vw, 3rem) !important;
  font-weight: 300 !important;
  color: var(--sal-white) !important;
  line-height: 1.2 !important;
  margin-bottom: 16px !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--sal-gold) !important;
  font-size: 1.5rem !important;
  font-family: var(--sal-body) !important;
  border-bottom: 1px solid var(--sal-border) !important;
  padding-bottom: 18px !important;
  margin-bottom: 20px !important;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--sal-muted) !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
}
.woocommerce .quantity .qty {
  background: var(--sal-bg-card) !important;
  border: 1px solid var(--sal-border) !important;
  color: var(--sal-white) !important;
  border-radius: 0 !important;
  height: 48px !important;
  width: 68px !important;
  text-align: center !important;
  font-family: var(--sal-body) !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: var(--sal-gold) !important;
  color: var(--sal-bg) !important;
  font-family: var(--sal-body) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 14px 32px !important;
  border: none !important;
  height: 48px !important;
  transition: background var(--sal-transition) !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background: var(--sal-gold-light) !important; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--sal-border) !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--sal-body) !important;
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--sal-muted) !important;
  padding: 12px 20px !important;
  background: transparent !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--sal-gold) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--sal-gold) !important; background: transparent !important; }
.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--sal-bg-card) !important;
  border: 1px solid var(--sal-border) !important;
  border-top: none !important;
  padding: 32px !important;
  color: var(--sal-muted) !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
  margin-bottom: 0 !important;
}
.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
  border-color: var(--sal-border) !important;
  background: transparent !important;
  color: var(--sal-text) !important;
  padding: 11px 14px !important;
}
.woocommerce-product-attributes th {
  color: var(--sal-muted) !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  width: 28% !important;
}
.related.products > h2,
.upsells.products > h2 {
  font-family: var(--sal-display) !important;
  font-weight: 300 !important;
  font-size: 1.8rem !important;
  color: var(--sal-white) !important;
  border-bottom: 1px solid var(--sal-border) !important;
  padding-bottom: 14px !important;
  margin-bottom: 22px !important;
}

/* =============================================
   KOSZYK & CHECKOUT
   ============================================= */
.woocommerce-cart table.cart,
.woocommerce table.shop_table {
  background: var(--sal-bg-card) !important;
  border: 1px solid var(--sal-border) !important;
  border-collapse: collapse !important;
  width: 100% !important;
}
.woocommerce table.shop_table th {
  font-family: var(--sal-body) !important;
  font-size: 10px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--sal-muted) !important;
  background: transparent !important;
  border-bottom: 1px solid var(--sal-border) !important;
  font-weight: 400 !important;
  padding: 14px 16px !important;
}
.woocommerce table.shop_table td {
  border-top: 1px solid var(--sal-border) !important;
  color: var(--sal-text) !important;
  background: transparent !important;
  padding: 14px 16px !important;
  vertical-align: middle !important;
}
.woocommerce-cart .cart_totals {
  background: var(--sal-bg-card) !important;
  border: 1px solid var(--sal-border) !important;
  padding: 28px !important;
}
.cart_totals h2 { font-family: var(--sal-display) !important; font-size: 1.4rem !important; color: var(--sal-white) !important; margin-bottom: 20px !important; }

.woocommerce-checkout h3 {
  font-family: var(--sal-display) !important;
  color: var(--sal-white) !important;
  font-weight: 300 !important;
  font-size: 1.4rem !important;
  border-bottom: 1px solid var(--sal-border) !important;
  padding-bottom: 14px !important;
  margin-bottom: 20px !important;
}
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="number"],
.woocommerce textarea,
.woocommerce select {
  background: var(--sal-bg-card) !important;
  border: 1px solid var(--sal-border) !important;
  color: var(--sal-white) !important;
  border-radius: 0 !important;
  font-family: var(--sal-body) !important;
  font-size: 14px !important;
  padding: 11px 14px !important;
  transition: border-color var(--sal-transition) !important;
  width: 100% !important;
}
.woocommerce input:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
  border-color: var(--sal-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(201,169,110,0.1) !important;
}
.woocommerce .form-row label {
  font-size: 10px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--sal-muted) !important;
  font-family: var(--sal-body) !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* =============================================
   POWIADOMIENIA
   ============================================= */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: 0 !important;
  font-family: var(--sal-body) !important;
  font-size: 13px !important;
  background: var(--sal-bg-card) !important;
  color: var(--sal-text) !important;
}
.woocommerce-message { border-top: 3px solid var(--sal-gold) !important; }
.woocommerce-error   { border-top: 3px solid #c0392b !important; }
.woocommerce-info    { border-top: 3px solid var(--sal-muted) !important; }

/* =============================================
   STOPKA
   ============================================= */
.site-footer, footer.site-footer {
  background: var(--sal-bg-footer) !important;
  border-top: 1px solid var(--sal-border) !important;
  color: var(--sal-muted) !important;
}
.site-footer .widget-title {
  font-family: var(--sal-body) !important;
  font-size: 10px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--sal-white) !important;
  margin-bottom: 18px !important;
}
.site-footer ul li a { color: var(--sal-muted) !important; font-size: 13px !important; line-height: 2.2 !important; transition: color var(--sal-transition) !important; }
.site-footer ul li a:hover { color: var(--sal-gold) !important; }

/* =============================================
   MINI KOSZYK – CART DRAWER (Elementor Pro)
   ============================================= */

/* Tło panelu */
.elementor-menu-cart__container,
.elementor-menu-cart__main,
div.elementor-menu-cart__container {
  background: #111111 !important;
  border-left: 1px solid rgba(255,255,255,0.08) !important;
  box-shadow: -20px 0 60px rgba(0,0,0,0.7) !important;
}

/* Nagłówek koszyka */
.elementor-menu-cart__close-button,
.elementor-menu-cart__close-button svg {
  color: #7a7570 !important;
  fill: #7a7570 !important;
  transition: color 0.25s !important;
}
.elementor-menu-cart__close-button:hover,
.elementor-menu-cart__close-button:hover svg {
  color: #c9a96e !important;
  fill: #c9a96e !important;
}

/* Tytuł "Koszyk" */
.elementor-menu-cart__main .woocommerce-mini-cart__title,
.widget_shopping_cart .woocommerce-mini-cart__title,
.elementor-menu-cart__container h3 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.4rem !important;
  font-weight: 300 !important;
  color: #ffffff !important;
  letter-spacing: 0.05em !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  padding-bottom: 16px !important;
  margin-bottom: 0 !important;
}

/* Lista produktów w koszyku */
.elementor-menu-cart__main .woocommerce-mini-cart,
.widget_shopping_cart .woocommerce-mini-cart {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* Pojedynczy produkt */
.elementor-menu-cart__main .woocommerce-mini-cart-item,
.widget_shopping_cart .woocommerce-mini-cart-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 18px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  background: transparent !important;
}

/* Zdjęcie produktu */
.elementor-menu-cart__main .woocommerce-mini-cart-item img,
.widget_shopping_cart .woocommerce-mini-cart-item img {
  width: 64px !important;
  height: 64px !important;
  object-fit: cover !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  flex-shrink: 0 !important;
}

/* Nazwa produktu */
.elementor-menu-cart__main .woocommerce-mini-cart-item a:not(.remove),
.widget_shopping_cart .woocommerce-mini-cart-item a:not(.remove) {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #e8e2d9 !important;
  line-height: 1.5 !important;
  display: block !important;
  margin-bottom: 4px !important;
  transition: color 0.25s !important;
}
.elementor-menu-cart__main .woocommerce-mini-cart-item a:not(.remove):hover,
.widget_shopping_cart .woocommerce-mini-cart-item a:not(.remove):hover {
  color: #c9a96e !important;
}

/* Ilość × cena */
.elementor-menu-cart__main .woocommerce-mini-cart-item .quantity,
.widget_shopping_cart .woocommerce-mini-cart-item .quantity {
  font-family: 'Jost', sans-serif !important;
  font-size: 12px !important;
  color: #7a7570 !important;
}

/* Cena w ilości */
.elementor-menu-cart__main .woocommerce-mini-cart-item .woocommerce-Price-amount,
.widget_shopping_cart .woocommerce-mini-cart-item .woocommerce-Price-amount {
  color: #c9a96e !important;
  font-weight: 400 !important;
}

/* Przycisk usuń (×) */
.elementor-menu-cart__main .woocommerce-mini-cart-item .remove,
.widget_shopping_cart .woocommerce-mini-cart-item .remove {
  color: #3d3a37 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
  transition: color 0.25s !important;
  background: transparent !important;
  border: none !important;
  text-decoration: none !important;
}
.elementor-menu-cart__main .woocommerce-mini-cart-item .remove:hover,
.widget_shopping_cart .woocommerce-mini-cart-item .remove:hover {
  color: #c9a96e !important;
}

/* Status "Niedostępne" */
.elementor-menu-cart__main .woocommerce-mini-cart-item .out-of-stock,
.widget_shopping_cart .out-of-stock {
  font-family: 'Jost', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #7a7570 !important;
  display: block !important;
  margin-top: 4px !important;
}

/* Sekcja sumy */
.elementor-menu-cart__main .woocommerce-mini-cart__total,
.widget_shopping_cart .woocommerce-mini-cart__total {
  background: transparent !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  padding: 20px 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.elementor-menu-cart__main .woocommerce-mini-cart__total strong,
.widget_shopping_cart .woocommerce-mini-cart__total strong {
  font-family: 'Jost', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #7a7570 !important;
}

.elementor-menu-cart__main .woocommerce-mini-cart__total .woocommerce-Price-amount,
.widget_shopping_cart .woocommerce-mini-cart__total .woocommerce-Price-amount {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.4rem !important;
  font-weight: 400 !important;
  color: #c9a96e !important;
}

/* Przyciski – Zobacz koszyk / Zamówienie */
.elementor-menu-cart__main .woocommerce-mini-cart__buttons,
.widget_shopping_cart .woocommerce-mini-cart__buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding-top: 4px !important;
}

.elementor-menu-cart__main .woocommerce-mini-cart__buttons a,
.widget_shopping_cart .woocommerce-mini-cart__buttons a {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 14px 20px !important;
  border-radius: 0 !important;
  transition: all 0.25s !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

/* "Zobacz koszyk" – obramowanie */
.elementor-menu-cart__main .woocommerce-mini-cart__buttons .button:not(.checkout),
.widget_shopping_cart .woocommerce-mini-cart__buttons .button:not(.checkout) {
  background: transparent !important;
  color: #e8e2d9 !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
}
.elementor-menu-cart__main .woocommerce-mini-cart__buttons .button:not(.checkout):hover,
.widget_shopping_cart .woocommerce-mini-cart__buttons .button:not(.checkout):hover {
  background: rgba(255,255,255,0.05) !important;
  border-color: rgba(255,255,255,0.3) !important;
  color: #ffffff !important;
}

/* "Zamówienie" – złoty */
.elementor-menu-cart__main .woocommerce-mini-cart__buttons .checkout,
.widget_shopping_cart .woocommerce-mini-cart__buttons .checkout {
  background: #c9a96e !important;
  color: #0a0a0a !important;
  border: 1px solid #c9a96e !important;
}
.elementor-menu-cart__main .woocommerce-mini-cart__buttons .checkout:hover,
.widget_shopping_cart .woocommerce-mini-cart__buttons .checkout:hover {
  background: #dfc28f !important;
  border-color: #dfc28f !important;
  color: #0a0a0a !important;
}

/* Pusty koszyk */
.elementor-menu-cart__main .woocommerce-mini-cart__empty-message,
.widget_shopping_cart .woocommerce-mini-cart__empty-message {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  color: #7a7570 !important;
  text-align: center !important;
  padding: 40px 0 !important;
}

/* Overlay (przyciemnienie tła) */
.elementor-menu-cart__overlay {
  background: rgba(0,0,0,0.7) !important;
  backdrop-filter: blur(4px) !important;
}

/* =============================================
   NAGŁÓWEK – POPRAWKI DESKTOP
   ============================================= */

/* Sekcja nagłówka – flex między logo, nav i akcjami */
.elementor-location-header .elementor-section,
.elementor-location-header .e-con {
  background: rgba(10,10,10,0.97) !important;
}

/* Główny wiersz nagłówka – wyrównaj elementy */
.elementor-location-header .elementor-top-section:not(:first-child) .elementor-container,
.elementor-location-header .elementor-section:last-child .elementor-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
  width: 100% !important;
}

/* Nawigacja – wyśrodkuj w nagłówku */
.elementor-location-header .elementor-nav-menu--main {
  justify-content: center !important;
}
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
}

/* Aktywna pozycja menu – złoty podkreślnik zamiast zielonego */
.elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-nav-menu--main .elementor-item:focus,
.elementor-nav-menu--main .elementor-item.highlighted,
.elementor-nav-menu--main .elementor-item:hover {
  color: #c9a96e !important;
  border-bottom-color: #c9a96e !important;
}
.elementor-nav-menu--main .elementor-item.elementor-item-active::after,
.elementor-nav-menu--main .elementor-item.highlighted::after,
.elementor-nav-menu--main .elementor-item:hover::after {
  background: #c9a96e !important;
  border-color: #c9a96e !important;
}

/* Nadpisz zielony kolor wskaźnika Elementora */
.elementor-nav-menu--main .elementor-item::before,
.elementor-nav-menu--main .elementor-item::after {
  background-color: #c9a96e !important;
  border-color: #c9a96e !important;
}

/* Czcionka menu – wymuś Jost */
.elementor-nav-menu--main .elementor-item,
.elementor-nav-menu--main a.elementor-item {
  font-family: 'Jost', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #c8c0b4 !important;
  text-decoration: none !important;
}

/* Ikona koszyka – wyrównanie */
.elementor-menu-cart__toggle_button {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.elementor-menu-cart__toggle_button .elementor-button-text {
  font-family: 'Jost', sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  color: #e8e2d9 !important;
  white-space: nowrap !important;
}

/* =============================================
   NAGŁÓWEK – MOBILE
   Układ: [hamburger] [LOGO] [koszyk]
   ============================================= */
@media (max-width: 1024px) {

  /* Topbar – 2 linie na mobile */
  .elementor-location-header .elementor-section:first-child .elementor-container {
    flex-direction: column !important;
    gap: 4px !important;
    padding: 10px 20px !important;
    text-align: center !important;
  }
  .elementor-location-header .elementor-section:first-child .elementor-column {
    width: 100% !important;
  }
  .elementor-location-header .elementor-section:first-child p {
    text-align: center !important;
    font-size: 11px !important;
  }

  /* Główny pasek nagłówka – 3 elementy w rzędzie */
  .elementor-location-header .elementor-section:last-child .elementor-container,
  .elementor-location-header .elementor-top-section:not(:first-child) .elementor-container {
    display: grid !important;
    grid-template-columns: 60px 1fr 60px !important;
    align-items: center !important;
    padding: 0 16px !important;
    min-height: 64px !important;
  }

  /* Kolumna z logo – środek */
  .elementor-location-header .elementor-section:last-child .elementor-column:nth-child(1) {
    order: 2 !important;
    display: flex !important;
    justify-content: center !important;
  }

  /* Logo – zmniejsz na mobile */
  .elementor-location-header .elementor-section:last-child .elementor-column:nth-child(1) img,
  .elementor-location-header .elementor-widget-theme-site-logo img {
    max-width: 100px !important;
    height: auto !important;
  }

  /* Kolumna z menu – hamburger po lewej */
  .elementor-location-header .elementor-section:last-child .elementor-column:nth-child(2) {
    order: 1 !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
  }

  /* Ukryj linki nav, zostaw tylko hamburger */
  .elementor-location-header .elementor-nav-menu--main {
    display: none !important;
  }
  .elementor-location-header .elementor-menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    cursor: pointer !important;
  }
  .elementor-location-header .elementor-menu-toggle i,
  .elementor-location-header .elementor-menu-toggle svg {
    color: #e8e2d9 !important;
    fill: #e8e2d9 !important;
    font-size: 18px !important;
    width: 20px !important;
    height: 20px !important;
  }

  /* Kolumna z koszykiem i przyciskiem SKLEP – prawo */
  .elementor-location-header .elementor-section:last-child .elementor-column:nth-child(3) {
    order: 3 !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px !important;
  }

  /* Ukryj przycisk SKLEP na mobile – zostaw tylko ikonę koszyka */
  .elementor-location-header .elementor-section:last-child .elementor-column:nth-child(3) .elementor-widget-button {
    display: none !important;
  }

  /* Koszyk – ikona bez tekstu ceny na mobile */
  .elementor-menu-cart__toggle_button .elementor-button-text {
    display: none !important;
  }
  .elementor-menu-cart__toggle_button {
    padding: 8px !important;
  }
  .elementor-menu-cart__toggle_button svg,
  .elementor-menu-cart__toggle_button i {
    width: 22px !important;
    height: 22px !important;
    font-size: 22px !important;
  }

  /* Menu mobilne (rozwinięte po kliknięciu hamburgera) */
  .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    background: #111111 !important;
    border-top: 2px solid #c9a96e !important;
    box-shadow: 0 20px 40px rgba(0,0,0,0.8) !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 280px !important;
    height: 100vh !important;
    z-index: 99999 !important;
    padding: 80px 0 40px !important;
    overflow-y: auto !important;
  }
  .elementor-nav-menu--dropdown .elementor-item {
    font-family: 'Jost', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    color: #c8c0b4 !important;
    padding: 16px 32px !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    display: block !important;
    transition: color 0.25s !important;
  }
  .elementor-nav-menu--dropdown .elementor-item:hover,
  .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
    color: #c9a96e !important;
    background: rgba(201,169,110,0.05) !important;
  }
}

/* Scrollbar */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: var(--sal-bg); }
::-webkit-scrollbar-thumb { background: rgba(201,169,110,0.25); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--sal-gold); }
