/*
Theme Name: Panusz Premium
Template: storefront
Author: AI Agent
Description: Dedykowany, luksusowy motyw potomny dla Ogrodnictwo Panusz
Version: 2.0.0
*/

/* =============================================
   FONTS & RESET
   ============================================= */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,700;1,500&display=swap');

:root {
  --green-900: #1a3a1a;
  --green-800: #2F4F2F;
  --green-700: #3a6b3a;
  --green-600: #4d8b4d;
  --green-100: #e8f5e9;
  --green-50:  #f1f8f1;
  --gold:      #C8A951;
  --gold-light:#f0e0a0;
  --text-dark: #1a1a1a;
  --text-mid:  #555555;
  --text-light:#888888;
  --white:     #ffffff;
  --bg-off:    #fafaf8;
  --border:    #e0e8e0;
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --shadow-sm: 0 2px 8px rgba(0,0,0,.06);
  --shadow-md: 0 8px 32px rgba(0,0,0,.10);
  --shadow-lg: 0 20px 60px rgba(0,0,0,.14);
  --transition: .25s cubic-bezier(.4,0,.2,1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: 'Inter', system-ui, sans-serif;
  color: var(--text-dark);
  background: var(--white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* =============================================
   HEADER
   ============================================= */
.site-header {
  background: var(--white);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: var(--shadow-sm);
}

.site-header .col-full {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 32px;
  height: 72px;
  max-width: 1280px;
  margin: 0 auto;
}

.site-branding .site-title a {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--green-800) !important;
  text-decoration: none;
  letter-spacing: -.02em;
}

.main-navigation ul li a {
  color: var(--text-dark) !important;
  font-weight: 500;
  font-size: .9rem;
  transition: color var(--transition);
  padding: 8px 16px;
  border-radius: var(--radius-sm);
}
.main-navigation ul li a:hover { color: var(--green-700) !important; background: var(--green-100); }

/* =============================================
   HERO SECTION
   ============================================= */
.panusz-hero {
  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  background:
    linear-gradient(135deg, rgba(26,58,26,.82) 0%, rgba(47,79,47,.70) 60%, rgba(74,130,74,.50) 100%),
    url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="800" height="600"><defs><radialGradient id="g" cx="50%" cy="50%"><stop offset="0%" stop-color="%234CAF50"/><stop offset="100%" stop-color="%231B5E20"/></radialGradient></defs><rect width="800" height="600" fill="url(%23g)"/><circle cx="200" cy="150" r="80" fill="%23388E3C" opacity=".4"/><circle cx="600" cy="400" r="120" fill="%232E7D32" opacity=".3"/></svg>') center/cover;
  overflow: hidden;
}

/* Animated leaf dots background */
.panusz-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: 
    radial-gradient(2px 2px at 20% 30%, rgba(255,255,255,.15) 0%, transparent 50%),
    radial-gradient(2px 2px at 80% 70%, rgba(255,255,255,.1) 0%, transparent 50%),
    radial-gradient(3px 3px at 50% 50%, rgba(200,169,81,.2) 0%, transparent 50%);
  pointer-events: none;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(0,0,0,.15) 0%, transparent 100%);
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 48px;
  color: var(--white);
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.25);
  color: var(--white);
  padding: 8px 20px;
  border-radius: 100px;
  font-size: .85rem;
  font-weight: 500;
  letter-spacing: .05em;
  margin-bottom: 28px;
}

.hero-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.8rem, 6vw, 5rem);
  font-weight: 700;
  line-height: 1.15;
  color: var(--white) !important;
  margin-bottom: 24px;
  letter-spacing: -.02em;
}

.hero-title em {
  font-style: italic;
  color: var(--gold-light) !important;
}

.hero-subtitle {
  font-size: 1.15rem;
  color: rgba(255,255,255,.85);
  max-width: 540px;
  margin-bottom: 40px;
  line-height: 1.7;
}

.hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 64px;
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--gold) !important;
  color: var(--white) !important;
  padding: 16px 36px;
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: all var(--transition);
  letter-spacing: .01em;
  box-shadow: 0 4px 20px rgba(200,169,81,.4);
}
.btn-primary:hover {
  background: #b8922d !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(200,169,81,.5);
  color: var(--white) !important;
}

.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: var(--white) !important;
  padding: 15px 36px;
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  border: 2px solid rgba(255,255,255,.5);
  transition: all var(--transition);
}
.btn-outline:hover {
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.8);
  color: var(--white) !important;
}

.btn-large { padding: 18px 48px; font-size: 1.05rem; }

.hero-stats {
  display: flex;
  gap: 48px;
  flex-wrap: wrap;
}

.stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.stat strong {
  font-family: 'Playfair Display', serif;
  font-size: 2rem;
  font-weight: 700;
  color: var(--gold-light);
  line-height: 1;
}
.stat span {
  font-size: .8rem;
  color: rgba(255,255,255,.7);
  letter-spacing: .05em;
  text-transform: uppercase;
}

/* =============================================
   TRUST BAR
   ============================================= */
.trust-bar {
  background: var(--green-800);
  padding: 24px 0;
}

.trust-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 24px;
}

.trust-item {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--white);
}

.trust-icon {
  font-size: 2rem;
  flex-shrink: 0;
}

.trust-item strong {
  display: block;
  font-size: .95rem;
  font-weight: 600;
}

.trust-item small {
  font-size: .8rem;
  color: rgba(255,255,255,.65);
}

/* =============================================
   SECTIONS COMMON
   ============================================= */
.section-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 32px;
}

.section-header {
  text-align: center;
  margin-bottom: 56px;
}

.section-header h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  color: var(--green-800) !important;
  margin-bottom: 12px;
  letter-spacing: -.02em;
}

.section-header p {
  color: var(--text-mid);
  font-size: 1.05rem;
  max-width: 520px;
  margin: 0 auto;
}

.section-label {
  display: inline-block;
  background: var(--green-100);
  color: var(--green-700);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: 100px;
  margin-bottom: 16px;
}

/* =============================================
   CATEGORIES GRID
   ============================================= */
.panusz-categories { background: var(--bg-off); }

.categories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px;
}

.category-card {
  background: var(--white);
  border-radius: var(--radius-md);
  overflow: hidden;
  text-decoration: none;
  border: 1px solid var(--border);
  transition: all var(--transition);
  display: block;
  box-shadow: var(--shadow-sm);
}

.category-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
  border-color: var(--green-600);
}

.category-img {
  height: 160px;
  background: var(--cat-color, var(--green-100));
  background-size: cover;
  background-position: center;
  position: relative;
}

.category-img--placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--cat-color, var(--green-100));
}

.category-img--placeholder span {
  font-size: 3rem;
  margin-bottom: 4px;
}

.category-info {
  padding: 16px;
}

.category-emoji {
  font-size: 1.4rem;
  margin-bottom: 4px;
  display: block;
}

.category-info h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.05rem;
  color: var(--green-800) !important;
  margin-bottom: 4px;
}

.category-count {
  font-size: .78rem;
  color: var(--text-light);
  font-weight: 500;
}

/* =============================================
   FEATURED PRODUCTS
   ============================================= */
.panusz-featured { background: var(--white); }

.panusz-featured .products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  margin-bottom: 48px;
}

.panusz-featured .woocommerce-loop-product__link {
  text-decoration: none;
}

.panusz-featured li.product {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: all var(--transition);
  box-shadow: var(--shadow-sm);
  padding: 0 !important;
}

.panusz-featured li.product:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--green-600);
}

.panusz-featured li.product img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block;
}

.panusz-featured li.product .woocommerce-loop-product__title {
  font-size: .95rem !important;
  font-weight: 600;
  color: var(--text-dark);
  padding: 12px 16px 4px;
  line-height: 1.3;
}

.panusz-featured li.product .price {
  display: block;
  padding: 4px 16px 12px;
  color: var(--green-700) !important;
  font-weight: 700;
  font-size: 1.05rem;
}

.panusz-featured .button {
  margin: 0 16px 16px !important;
  width: calc(100% - 32px) !important;
  text-align: center !important;
  background: var(--green-800) !important;
  color: var(--white) !important;
  border-radius: var(--radius-sm) !important;
  padding: 10px !important;
  font-size: .85rem !important;
  transition: background var(--transition) !important;
}

.panusz-featured .button:hover {
  background: var(--gold) !important;
}

.featured-cta {
  text-align: center;
  margin-top: 8px;
}

/* =============================================
   USP SECTION
   ============================================= */
.panusz-usp { background: var(--green-50); }

.usp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.usp-text h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  color: var(--green-800) !important;
  margin-bottom: 20px;
  line-height: 1.25;
  letter-spacing: -.02em;
}

.usp-text p {
  color: var(--text-mid);
  font-size: 1rem;
  line-height: 1.75;
  margin-bottom: 28px;
}

.usp-list {
  list-style: none;
  margin-bottom: 36px;
}

.usp-list li {
  padding: 8px 0;
  font-size: .95rem;
  color: var(--text-dark);
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid var(--border);
}

.usp-list li:last-child { border-bottom: none; }

.usp-image {
  position: relative;
}

.usp-img-frame {
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 4/5;
  background: linear-gradient(135deg, var(--green-800), var(--green-600));
  box-shadow: var(--shadow-lg);
}

.usp-img-placeholder {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.9);
  text-align: center;
  padding: 32px;
}

.usp-img-placeholder span { font-size: 5rem; margin-bottom: 16px; }
.usp-img-placeholder p { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 600; margin-bottom: 8px; }
.usp-img-placeholder small { opacity: .65; font-size: .85rem; }

.usp-badge {
  position: absolute;
  bottom: -20px;
  right: -20px;
  background: var(--gold);
  color: var(--white);
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: var(--shadow-md);
}

.usp-badge strong {
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
  display: block;
}

.usp-badge span {
  font-size: .68rem;
  opacity: .85;
  line-height: 1.2;
  margin-top: 2px;
}

/* =============================================
   CONTACT STRIP
   ============================================= */
.panusz-contact-strip {
  background: var(--green-900);
  color: var(--white);
}

.panusz-contact-strip .section-container {
  padding: 56px 32px;
}

.contact-strip-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

.contact-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.contact-icon { font-size: 1.8rem; flex-shrink: 0; margin-top: 2px; }

.contact-item strong {
  display: block;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--gold-light);
  margin-bottom: 4px;
}

.contact-item p { font-size: .9rem; color: rgba(255,255,255,.75); line-height: 1.5; }

.contact-item a {
  color: rgba(255,255,255,.85) !important;
  text-decoration: none;
  transition: color var(--transition);
}
.contact-item a:hover { color: var(--gold-light) !important; }

/* =============================================
   FOOTER
   ============================================= */
.site-footer {
  background: var(--green-900) !important;
  color: rgba(255,255,255,.6) !important;
  border-top: 1px solid rgba(255,255,255,.1);
}

.site-footer .col-full {
  max-width: 1280px;
  margin: 0 auto;
  padding: 24px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.site-footer a {
  color: rgba(255,255,255,.7) !important;
  text-decoration: none;
  font-size: .85rem;
  transition: color var(--transition);
}
.site-footer a:hover { color: var(--gold-light) !important; }
.site-footer p { font-size: .82rem; color: rgba(255,255,255,.45); }

/* =============================================
   SHOP / ARCHIVE PAGE
   ============================================= */
.woocommerce ul.products li.product {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: all var(--transition);
  box-shadow: var(--shadow-sm);
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--green-600);
}

.woocommerce ul.products li.product img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1rem !important;
  font-weight: 600;
  color: var(--text-dark);
  padding: 12px 16px 0;
}

.woocommerce ul.products li.product .price {
  color: var(--green-700) !important;
  font-weight: 700;
  padding: 4px 16px;
}

.woocommerce ul.products li.product .button {
  margin: 8px 16px 16px !important;
  width: calc(100% - 32px) !important;
  background: var(--green-800) !important;
  border-radius: var(--radius-sm) !important;
}

.woocommerce ul.products li.product .button:hover {
  background: var(--gold) !important;
}

/* =============================================
   SINGLE PRODUCT
   ============================================= */
.woocommerce div.product .product_title {
  font-family: 'Playfair Display', serif !important;
  font-size: 2rem !important;
  color: var(--green-800) !important;
}

.woocommerce div.product p.price {
  color: var(--green-700) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
}

.woocommerce div.product .single_add_to_cart_button {
  background: var(--green-800) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 1rem !important;
  padding: 16px 32px !important;
  transition: background var(--transition) !important;
}

.woocommerce div.product .single_add_to_cart_button:hover {
  background: var(--gold) !important;
}

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 1024px) {
  .usp-grid { grid-template-columns: 1fr; gap: 48px; }
  .usp-image { display: none; }
  .contact-strip-grid { grid-template-columns: repeat(2, 1fr); }
  .panusz-featured .products { grid-template-columns: repeat(3, 1fr) !important; }
}

@media (max-width: 768px) {
  .hero-content { padding: 60px 24px; }
  .hero-title { font-size: 2.4rem; }
  .hero-stats { gap: 28px; }
  .trust-container { gap: 16px; }
  .trust-item:nth-child(3), .trust-item:nth-child(4) { display: none; }
  .categories-grid { grid-template-columns: repeat(2, 1fr); }
  .panusz-featured .products { grid-template-columns: repeat(2, 1fr) !important; }
  .contact-strip-grid { grid-template-columns: 1fr 1fr; }
  .site-footer .col-full { flex-direction: column; text-align: center; }
  .hero-actions { flex-direction: column; }
  .btn-primary, .btn-outline { text-align: center; justify-content: center; }
}

@media (max-width: 480px) {
  .categories-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .panusz-featured .products { grid-template-columns: 1fr 1fr !important; }
  .contact-strip-grid { grid-template-columns: 1fr; }
  .section-container { padding: 56px 20px; }
}

/* =============================================
   FIX: HEADER POŁĄCZONY + PEŁNA SZEROKOŚĆ
   ============================================= */

/* Scalamy header + primary nav w jeden sticky pasek */
.site-header,
.storefront-primary-navigation {
  position: static !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* Wrapper który owijamy sticky */
#masthead {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  background: var(--white) !important;
  box-shadow: 0 1px 8px rgba(0,0,0,.08) !important;
}

/* Primary nav styling */
.storefront-primary-navigation {
  background: var(--white) !important;
  border-top: 1px solid var(--border) !important;
  border-bottom: 2px solid var(--green-800) !important;
}

.storefront-primary-navigation .col-full {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
}

.storefront-primary-navigation ul li a {
  color: var(--green-800) !important;
  font-weight: 600 !important;
  font-size: .9rem !important;
  padding: 12px 16px !important;
  transition: color var(--transition) !important;
}

.storefront-primary-navigation ul li a:hover {
  color: var(--gold) !important;
}

/* =============================================
   FIX: FULL-WIDTH SECTIONS
   Wyrwij sekcje z więzienia .col-full
   ============================================= */

/* Główny content area - usuń ograniczenia */
#content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#content > .col-full {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Puste woocommerce div na górze - ukryj */
#content > .col-full > .woocommerce:empty {
  display: none !important;
}

/* Sekcje strony głównej - 100% szerokości */
.panusz-hero,
.trust-bar,
.panusz-categories,
.panusz-featured,
.panusz-usp,
.panusz-contact-strip {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Header col-full - wyrównanie */
.site-header .col-full {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 68px !important;
  flex-wrap: nowrap !important;
}

.site-header .site-branding {
  flex: 0 0 auto !important;
}

.site-header .site-search {
  flex: 1 1 auto !important;
  max-width: 320px !important;
  margin: 0 24px !important;
}

.site-header .site-header-cart {
  flex: 0 0 auto !important;
}

/* Ukryj domyślną Storefront nawigację w headerze */
.site-header .main-navigation {
  display: none !important;
}

/* =============================================
   OVERRIDE STOREFRONT CONTAINERS (AGRESYWNIE)
   ============================================= */

/* Usuń sidebar layout na front page */
.home #primary,
.home #main {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.home #secondary { display: none !important; }

/* Content area strony głównej - pełna szerokość */
.home #content,
.home .site-content {
  padding: 0 !important;
}

.home #content .col-full {
  max-width: 100% !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Upewnij się że main ma pełną szerokość */
.home main#main-content {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

/* Hero absolutnie pełna szerokość */
.home .panusz-hero {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
}

/* Trust bar */
.home .trust-bar {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
}

/* Na wszelki wypadek - override col-full wewnątrz sekcji */
.panusz-categories > .section-container,
.panusz-featured > .section-container,
.panusz-usp > .section-container,
.panusz-contact-strip > .section-container {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* =============================================
   NAPRAWA NAWIGACJI - przywroc i ostyluj
   ============================================= */

/* Przywroc .main-navigation (zniesienie hide) */
.site-header .main-navigation {
  display: block !important;
}

/* Struktura nagłówka - 2 wiersze */
/* Wiersz 1: logo + search + cart */
#masthead > .col-full {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  height: auto !important;
}

.site-header .site-branding,
.site-header .site-search,
.site-header .site-header-cart {
  /* resetujemy żeby Storefront sam to ułożył */
}

/* Wiersz 1 - branding row */
.site-header > .col-full > .site-branding {
  order: 1;
}

/* Wiersz 2 - primary nav (zielony pasek) */
.storefront-primary-navigation {
  background: var(--green-800) !important;
  border-top: none !important;
  border-bottom: none !important;
  order: 3;
}

.storefront-primary-navigation .col-full {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Nawigacja - linki */
.storefront-primary-navigation .main-navigation {
  display: flex !important;
  align-items: center !important;
  flex: 1 !important;
}

.storefront-primary-navigation .primary-navigation {
  display: block !important;
}

.storefront-primary-navigation ul.menu {
  display: flex !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 4px !important;
}

.storefront-primary-navigation ul.menu li a {
  color: rgba(255,255,255,.9) !important;
  font-size: .88rem !important;
  font-weight: 500 !important;
  padding: 14px 18px !important;
  display: block !important;
  text-decoration: none !important;
  transition: all .2s !important;
  border-radius: 4px !important;
}

.storefront-primary-navigation ul.menu li a:hover,
.storefront-primary-navigation ul.menu li.current_page_item > a {
  color: var(--white) !important;
  background: rgba(255,255,255,.12) !important;
}

/* Ukryj automatyczne menu WP (drugie ul bez id) - tylko strony */
.storefront-primary-navigation .primary-navigation + .menu,
.storefront-primary-navigation nav > .menu {
  display: none !important;
}

/* Hamburger schowany na desktopie */
.storefront-primary-navigation .menu-toggle {
  display: none !important;
}

/* Header koszyk - przenieś do pierwszego wiersza */
.site-header-cart {
  display: flex !important;
  align-items: center !important;
}

.site-header-cart a.cart-contents {
  color: var(--green-800) !important;
  font-size: .9rem !important;
  font-weight: 600 !important;
}

/* Dodaj Sklep do linków nawigacji CSS */
.storefront-primary-navigation ul.menu li:first-child::before {
  content: '';
}

/* Headbar (pierwszy wiersz) layout */
.site-header .col-full {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  padding: 0 32px !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  height: 68px !important;
  flex-wrap: nowrap !important;
}

.site-header .storefront-primary-navigation {
  /* To jest wewnątrz col-full, więc musi wypasc */
  width: calc(100% + 64px) !important;
  margin-left: -32px !important;
  margin-right: -32px !important;
  order: 10 !important;
  flex: 0 0 auto !important;
}

/* =============================================
   CUSTOM LOGO STYLES
   ============================================= */
.site-branding .custom-logo-link {
  display: inline-block !important;
}

.site-branding img.custom-logo {
  max-height: 55px !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
}

/* =============================================
   KOMPLEKSOWA NAPRAWA GÓRY (HEADER & NAV & LOGO)
   ============================================= */

/* BIAŁY PASEK NAGŁÓWKA - LOGO PO LEWEJ, WYSZUKIWARKA PO PRAWEJ */
#masthead {
  position: relative !important;
  background: #ffffff !important;
  border-bottom: none !important;
}

#masthead > .col-full {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 15px 40px !important;
  max-width: 1360px !important;
  margin: 0 auto !important;
  height: auto !important;
  min-height: 130px !important;
}

/* LOGO NA WŁAŚCIWY ROZMIAR I POZ SYSTEM (PO LEWEJ) */
.site-header .site-branding {
  float: none !important;
  margin: 0 !important;
  width: auto !important;
  flex: 0 0 auto !important;
}

.site-branding .custom-logo-link {
  display: block !important;
}

.site-branding img.custom-logo {
  max-height: 110px !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
}

/* WYSZUKIWARKA NA ŚRODKU / PO PRAWEJ */
.site-header .site-search {
  float: none !important;
  margin: 0 30px !important;
  flex: 1 1 auto !important;
  max-width: 450px !important;
}

.site-search .widget_product_search form {
  display: flex !important;
  position: relative !important;
}

.site-search .search-field {
  width: 100% !important;
  padding: 12px 20px !important;
  border: 2px solid var(--border) !important;
  border-radius: 50px !important;
  background: var(--bg-off) !important;
  font-size: 0.95rem !important;
  transition: border-color .2s !important;
}

.site-search .search-field:focus {
  border-color: var(--green-800) !important;
  background: #ffffff !important;
  outline: none !important;
}

.site-search button[type="submit"] {
  position: absolute !important;
  right: 6px !important;
  top: 6px !important;
  bottom: 6px !important;
  border-radius: 40px !important;
  background: var(--green-800) !important;
  color: #ffffff !important;
  padding: 0 24px !important;
  font-weight: 600 !important;
}

/* ZIELONA BELKA NAWIGACYJNA - PEŁNA SZEROKOŚĆ EKRANU POD LOGO */
#masthead .storefront-primary-navigation {
  float: none !important;
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: 0 !important;
  background: var(--green-900, #1a3a1a) !important;
  display: block !important;
  border: none !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.1) !important;
}

.storefront-primary-navigation > .col-full {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  max-width: 1360px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
  min-height: 54px !important;
}

/* ELEMENTY MENU CHYBA BEZ SZARYCH KAFELI */
.storefront-primary-navigation .main-navigation ul.menu {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.storefront-primary-navigation .main-navigation ul.menu li {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.storefront-primary-navigation .main-navigation ul.menu li a {
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  padding: 16px 20px !important;
  display: block !important;
  background: transparent !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  border-radius: 0 !important;
  transition: all .2s !important;
}

.storefront-primary-navigation .main-navigation ul.menu li a:hover,
.storefront-primary-navigation .main-navigation ul.menu li.current_page_item > a {
  color: var(--gold-light, #f0e0a0) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

/* KOSZYK NA PUNKCIE Z ZIELENIĄ PO PRAWEJ STRONIE BELKI */
.storefront-primary-navigation .site-header-cart {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.site-header-cart .cart-contents {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.12) !important;
  padding: 8px 18px !important;
  border-radius: 30px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
}

.site-header-cart .cart-contents:hover {
  background: var(--gold, #D4AF37) !important;
  color: #ffffff !important;
}

.site-header-cart .cart-contents:after {
  display: none !important;
}

/* =============================================
   AKTUALIZACJA: LOGO, LUPKA WYSZUKIWARKI & HERO TŁO
   ============================================= */

/* BIAŁY PASEK - MNIEJSZY, SYMETRYCZNY, KONDENSACJA BIELI */
#masthead > .col-full {
  padding: 8px 40px !important;
  min-height: 85px !important;
  height: auto !important;
}

/* LOGO Z PRZYCIĘTYMI MARGINESAMI - IDEALNE DO KRAWĘDZI PO LEWEJ */
.site-header .site-branding {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
}

.site-branding .custom-logo-link {
  display: flex !important;
  align-items: center !important;
}

.site-branding img.custom-logo {
  max-height: 82px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* WYSZUKIWARKA Z LUPKĄ BEZ NAKŁADANIA (NAJECHANIA) TEKSTU */
.site-search .search-field {
  padding: 10px 48px 10px 20px !important;
  border-radius: 50px !important;
  height: 44px !important;
}

.site-search button[type="submit"] {
  position: absolute !important;
  right: 4px !important;
  top: 4px !important;
  bottom: 4px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: var(--green-800, #2F4F2F) !important;
  color: transparent !important;
  font-size: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  cursor: pointer !important;
}

.site-search button[type="submit"]::after {
  content: "🔍" !important;
  font-size: 15px !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

/* HERO SECTION - O POŁOWĘ ZMNIEJSZONE TŁO Z ZIELENIĄ I ZDJĘCIEM OGRODU W TLE */
.home .panusz-hero {
  min-height: 460px !important; /* Było 90vh (ok. 900px), jest o połowę mniej! */
  padding: 50px 20px !important;
  background: 
    linear-gradient(135deg, rgba(26, 58, 26, 0.82) 0%, rgba(35, 70, 35, 0.70) 50%, rgba(50, 90, 50, 0.55) 100%),
    url("/wp-content/uploads/hero-bg.jpg") center / cover no-repeat !important;
  box-shadow: inset 0 0 60px rgba(0,0,0,0.35) !important;
}

/* BELKA MENU - DOKŁADNA LOKALIZACJA POLSKA DLA KOSZYKA */
.site-header-cart .cart-contents {
  font-size: 0.92rem !important;
}

/* =============================================
   PERFEKCYJNE WYMIAROWANIE I ALIGNMENT GÓRY
   ============================================= */

/* BIAŁA SEKCJA NAGŁÓWKA: Szary reset floatów na stały, czysty Flexbox */
#masthead > .col-full {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 12px 40px !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}

/* 1. LOGO ZEWNĘTRZNA LEWA STRONA (ORDER 1) - IDEALNE PIONOWE WYRÓWNANIE */
.site-header .site-branding {
  order: 1 !important;
  margin: 0 auto 0 0 !important; /* Pcha resztę elementów w stronę prawą! */
  float: none !important;
  display: flex !important;
  align-items: center !important;
}

.site-branding img.custom-logo {
  max-height: 85px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2. WYSZUKIWARKA PO LEWEJ OD CENTRUM / Z PRAWEJ (ORDER 2) */
.site-header .site-search {
  order: 2 !important;
  float: none !important;
  margin: 0 0 0 20px !important;
  width: 100% !important;
  max-width: 500px !important;
  position: relative !important;
}

/* NAPRAWA "NAJECHANIA" LUPKI NA TEKST W POLU WYSZUKIWANIA */
.site-search .widget_product_search form {
  display: flex !important;
  position: relative !important;
  width: 100% !important;
}

.site-search .search-field,
.site-search input[type="search"],
.site-search input.search-field {
  width: 100% !important;
  height: 46px !important;
  /* KRYTYCZNE: Duży margines po lewej (45px) żeby domyślny znak lupy w Storefront nie pokrywał litery S w słowie Szukaj! */
  padding: 12px 25px 12px 45px !important;
  font-size: 0.95rem !important;
  border-radius: 50px !important;
  border: 2px solid #e0e6e0 !important;
  background-color: #f7f9f7 !important;
  color: #2b3e2b !important;
}

.site-search .search-field:focus {
  background-color: #ffffff !important;
  border-color: var(--green-800, #224222) !important;
  outline: none !important;
}

/* Przycisk potwierdzający po prawej (opcjonalny, schowany pod czysty interfejs na Enter lub po prawej stronie jako pastylka) */
.site-search button[type="submit"] {
  position: absolute !important;
  right: 6px !important;
  top: 5px !important;
  height: 36px !important;
  width: 36px !important;
  border-radius: 50% !important;
  background: var(--green-800, #1b381b) !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important; /* ukrywa standardowy tekst "Szukaj" */
  cursor: pointer !important;
}

.site-search button[type="submit"]::after {
  content: "→" !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: bold !important;
  line-height: 1 !important;
  display: block !important;
}

/* 3. ZIELONA BELKA MENU Z PRZEMYSŁOWYM ALIGNMENTEM PO POZIOMIE 100% (ORDER 10) */
.site-header .storefront-primary-navigation {
  order: 10 !important;
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  margin-top: 15px !important;
  background: #143014 !important; /* Głębsza, szlachetna zieleń */
  border-top: 1px solid rgba(255,255,255,0.05) !important;
}

.storefront-primary-navigation > .col-full {
  max-width: 1400px !important;
  padding: 0 40px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

/* Koszyk i kwota - z polskimi spacingami */
.site-header-cart .cart-contents {
  font-size: 0.95rem !important;
  letter-spacing: 0.02em !important;
  padding: 10px 22px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border-radius: 4px !important;
}

.site-header-cart .cart-contents:hover {
  background: #D4AF37 !important; /* Złote podświetlenie przy najechaniu */
  color: #000000 !important;
}

/* =============================================
   MISTRZOWSKA MODYFIKACJA LOGO BY DAWID (NEGATIVE MARGINS)
   ============================================= */
.site-branding img.custom-logo {
  max-height: 131px !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  margin-top: -34px !important;
  margin-bottom: -40px !important;
}

/* =============================================
   UPDATE: MAX LOGO 171PX (NOWE PROPORCJE)
   ============================================= */
.site-branding img.custom-logo {
  max-height: 171px !important;
  margin-top: -46px !important;
  margin-bottom: -57px !important;
}

/* =============================================
   STYLIZACJA PODSTRON (KONTAKT I REGULAMIN)
   ============================================= */

/* Karta z cieniem i nowoczesnym zaokrągleniem w treści podstron */
.panusz-subpage-container {
  max-width: 1100px;
  margin: 40px auto;
  padding: 0 20px;
  font-family: var(--font-base, 'Inter', sans-serif);
  color: #2b3e2b;
}

.panusz-card {
  background: #ffffff;
  border-radius: 12px;
  padding: 40px;
  box-shadow: 0 10px 30px rgba(0, 40, 0, 0.05);
  border: 1px solid rgba(0, 80, 0, 0.08);
  margin-bottom: 40px;
}

.panusz-card-header {
  border-bottom: 2px solid var(--gold, #D4AF37);
  padding-bottom: 20px;
  margin-bottom: 30px;
}

.panusz-card-header h1, 
.panusz-card-header h2 {
  font-family: var(--font-heading, 'Playfair Display', serif);
  color: var(--green-900, #143014);
  font-size: 2.4rem;
  margin: 0 0 10px 0;
}

.panusz-card-header p {
  color: #5a735a;
  font-size: 1.1rem;
  margin: 0;
}

.panusz-grid-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 25px;
  margin-top: 30px;
}

.panusz-info-box {
  background: #f4f8f4;
  border-radius: 8px;
  padding: 25px;
  border-left: 4px solid var(--green-800, #224222);
  transition: transform 0.2s, box-shadow 0.2s;
}

.panusz-info-box:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 60, 0, 0.08);
}

.panusz-info-box h3 {
  font-family: var(--font-heading, 'Playfair Display', serif);
  color: var(--green-900, #143014);
  font-size: 1.3rem;
  margin: 0 0 12px 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.panusz-info-box p {
  margin: 0;
  color: #3f523f;
  font-size: 0.98rem;
  line-height: 1.6;
}

.panusz-legal-section {
  margin-bottom: 35px;
}

.panusz-legal-section h3 {
  font-size: 1.35rem;
  color: var(--green-900, #143014);
  margin-bottom: 12px;
  font-weight: 700;
}

.panusz-legal-section p, 
.panusz-legal-section ul li {
  color: #3b4e3b;
  font-size: 1rem;
  line-height: 1.7;
}

.panusz-legal-section ul {
  padding-left: 20px;
  margin-top: 10px;
}

/* =============================================
   MISTRZOWSKA RESPONSYWNOŚĆ MOBILNA (< 768PX)
   ============================================= */
@media screen and (max-width: 768px) {
  
  /* 1. Kompaktowy Biały Nagłówek i proporcjonalne Logo */
  #masthead > .col-full {
    flex-direction: column !important;
    padding: 15px 20px 10px 20px !important;
  }

  .site-header .site-branding {
    order: 1 !important;
    margin: 0 auto !important;
    text-align: center !important;
    width: 100% !important;
    justify-content: center !important;
  }

  .site-branding img.custom-logo {
    max-height: 95px !important;
    margin-top: -15px !important;
    margin-bottom: -20px !important;
  }

  /* 2. Wyszukiwarka pod logiem, na pełną szerokość smartfona */
  .site-header .site-search {
    order: 2 !important;
    margin: 25px 0 10px 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .site-search .search-field {
    height: 42px !important;
    font-size: 0.9rem !important;
    padding: 10px 45px 10px 20px !important;
  }

  .site-search button[type="submit"] {
    top: 3px !important;
    right: 4px !important;
    width: 36px !important;
    height: 36px !important;
  }

  /* 3. Zielona belka nawigacji na mobilnym z przywróceniem Hamburgera ☰ i Koszyka */
  .site-header .storefront-primary-navigation {
    margin-top: 5px !important;
  }

  .storefront-primary-navigation > .col-full {
    padding: 8px 20px !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    min-height: 52px !important;
  }

  /* Przywrócenie i stylizacja przycisku menu (Hamburger) */
  .storefront-primary-navigation .menu-toggle {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 8px 16px !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    margin: 0 !important;
  }

  .storefront-primary-navigation .menu-toggle::before {
    content: '☰' !important;
    font-size: 1.2rem !important;
    display: inline-block !important;
  }

  /* Rozwiane menu pod hamburgerem po kliknięciu */
  .storefront-primary-navigation .main-navigation ul.menu {
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    background: var(--green-900, #143014) !important;
    padding: 10px 0 !important;
    gap: 0 !important;
  }

  .storefront-primary-navigation .main-navigation ul.menu li {
    width: 100% !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  }

  .storefront-primary-navigation .main-navigation ul.menu li a {
    padding: 12px 20px !important;
    font-size: 0.95rem !important;
    display: block !important;
  }

  /* Koszyk w prawym rogu zielonej belki */
  .site-header-cart .cart-contents {
    padding: 8px 16px !important;
    font-size: 0.88rem !important;
  }

  /* 4. Usunięcie pustych pasm bieli nad Hero i dopracowanie Hero w mobile */
  .home .panusz-hero {
    min-height: 480px !important;
    padding: 40px 15px !important;
    margin-top: 0 !important;
  }

  .home .panusz-hero h1 {
    font-size: 2.2rem !important;
    line-height: 1.2 !important;
  }

  .home .panusz-hero p {
    font-size: 1rem !important;
    padding: 0 10px !important;
  }

  /* Przyciski CTA w Hero układamy stabilnie w kolumnę lub obok siebie */
  .panusz-hero-cta {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 20px auto 0 !important;
  }

  .panusz-hero-cta a {
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  /* Statystyki w Hero ułożone czytelnie na dole */
  .panusz-hero-stats {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-around !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
    width: 100% !important;
    margin-top: 35px !important;
  }
  
  .panusz-hero-stats div {
    text-align: center !important;
  }

  /* Pasek Zaufania (Trust bar) - zamykamy w schludny układ w siatce 2x2 */
  .panusz-trust-bar {
    padding: 20px !important;
  }
}

/* =============================================
   LUKSUSOWA KARTA PRODUKTU (SINGLE PRODUCT)
   ============================================= */
body.single-product #primary {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  float: none !important;
}

body.single-product #secondary,
body.single-product .widget-area {
  display: none !important;
}

.single-product div.product .product_title {
  font-family: var(--font-heading, 'Playfair Display', serif) !important;
  font-size: 2.4rem !important;
  color: var(--green-900, #143014) !important;
  line-height: 1.2 !important;
  margin-bottom: 15px !important;
}

.single-product div.product p.price,
.single-product div.product span.price {
  font-size: 1.9rem !important;
  color: #1a3e1a !important;
  font-weight: 700 !important;
  margin-bottom: 25px !important;
}

.single-product div.product form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  margin: 30px 0 !important;
  padding: 25px !important;
  background: #f7faf7 !important;
  border-radius: 12px !important;
  border: 1px solid #e2ece2 !important;
}

.single-product div.product form.cart div.quantity input.qty {
  width: 75px !important;
  height: 54px !important;
  border: 2px solid #cbdacb !important;
  border-radius: 8px !important;
  font-size: 1.25rem !important;
  font-weight: bold !important;
  color: var(--green-900) !important;
  background: #ffffff !important;
  text-align: center !important;
}

.single-product div.product form.cart button.button {
  background: var(--green-900, #143014) !important;
  color: #ffffff !important;
  padding: 16px 45px !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  border-radius: 50px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  transition: all 0.25s ease !important;
  border: 2px solid transparent !important;
  box-shadow: 0 6px 18px rgba(20, 48, 20, 0.22) !important;
  cursor: pointer !important;
}

.single-product div.product form.cart button.button:hover {
  background: var(--gold, #D4AF37) !important;
  color: #000000 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.35) !important;
}

.panusz-product-guarantee {
  margin-top: 30px;
  padding: 24px;
  background: #f4f8f4;
  border-left: 5px solid var(--green-800, #2b4e2b);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.03);
  font-family: var(--font-base, 'Inter', sans-serif);
}

.panusz-product-guarantee .guarantee-item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 18px;
}

.panusz-product-guarantee .guarantee-item:last-child {
  margin-bottom: 0;
}

.panusz-product-guarantee .g-icon {
  font-size: 1.8rem;
  line-height: 1;
}

.panusz-product-guarantee .g-text {
  color: #2c3f2c;
  font-size: 0.98rem;
  line-height: 1.5;
}

.single-product div.product .woocommerce-tabs {
  margin-top: 60px !important;
  border-top: 2px solid #e0eae0 !important;
  padding-top: 30px !important;
}

.woocommerce-tabs ul.tabs {
  border-bottom: 2px solid var(--green-800, #2b4e2b) !important;
  margin: 0 0 30px 0 !important;
  padding: 0 !important;
  display: flex !important;
  gap: 8px !important;
  list-style: none !important;
}

.woocommerce-tabs ul.tabs li {
  background: #eaefea !important;
  border: none !important;
  border-radius: 8px 8px 0 0 !important;
  margin: 0 !important;
}

.woocommerce-tabs ul.tabs li.active {
  background: var(--green-800, #2b4e2b) !important;
}

.woocommerce-tabs ul.tabs li a {
  color: #2b3e2b !important;
  font-weight: 600 !important;
  padding: 12px 26px !important;
  display: block !important;
  text-decoration: none !important;
}

.woocommerce-tabs ul.tabs li.active a {
  color: #ffffff !important;
}

/* =============================================
   GLOBALNY RESET SIDEBARÓW I PODWÓJNYCH TYTUŁÓW
   ============================================= */
#secondary, .widget-area {
  display: none !important;
}

#primary, .col-full > .content-area, .col-full > #primary {
  width: 100% !important;
  max-width: 1240px !important;
  float: none !important;
  margin: 0 auto !important;
}

/* Ukrycie domyślnych, powtarzających się tytułów na zwykłych podstronach (Kontakt, Regulamin) */
body.page header.entry-header {
  display: none !important;
}

/* Tytuł Katalogu Sklepowego (były "Shop") */
body.post-type-archive-product .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title {
  font-family: var(--font-heading, 'Playfair Display', serif) !important;
  font-size: 2.6rem !important;
  color: var(--green-900, #143014) !important;
  text-align: center !important;
  margin: 40px 0 30px 0 !important;
}

/* =============================================
   STYLIZACJA EKSKLUZYWNEJ STOPKI PANUSZ
   ============================================= */
/* Ukryj stary pustawy kontener Storefronta */
.site-footer {
  background: #0f220f !important;
  padding: 0 !important;
  border-top: 4px solid var(--gold, #D4AF37) !important;
}

.panusz-mega-footer-wrapper {
  background: #0f220f !important;
  color: #c7dbc7 !important;
  font-family: var(--font-base, 'Inter', sans-serif);
  width: 100% !important;
  overflow: hidden;
}

.panusz-mega-footer-grid {
  max-width: 1240px;
  margin: 0 auto;
  padding: 65px 20px 45px 20px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 40px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.panusz-footer-col h4 {
  font-family: var(--font-heading, 'Playfair Display', serif);
  color: #ffffff !important;
  font-size: 1.35rem;
  margin: 0 0 20px 0;
  border-bottom: 2px solid var(--gold, #D4AF37);
  padding-bottom: 10px;
  display: inline-block;
}

.footer-logo-title {
  font-family: var(--font-heading, 'Playfair Display', serif);
  font-size: 1.6rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 15px;
  letter-spacing: 0.5px;
}

.footer-desc {
  font-size: 0.95rem;
  line-height: 1.65;
  color: #a3c2a3;
  margin-bottom: 20px;
}

.footer-badge {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(212, 175, 55, 0.4);
  padding: 14px 18px;
  border-radius: 8px;
  font-size: 0.88rem;
  line-height: 1.4;
  color: #ffffff;
}

.footer-nav {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.footer-nav li {
  margin-bottom: 12px !important;
}

.footer-nav li a {
  color: #b0cdb0 !important;
  text-decoration: none !important;
  font-size: 0.98rem !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.footer-nav li a:hover {
  color: var(--gold, #D4AF37) !important;
  transform: translateX(5px) !important;
}

.footer-info-block strong {
  color: #ffffff;
  font-size: 0.95rem;
  display: block;
  margin-bottom: 4px;
}

.footer-info-block p {
  font-size: 0.9rem;
  line-height: 1.5;
  color: #92b392;
  margin: 0;
}

.footer-phone-cta {
  background: rgba(0, 0, 0, 0.3);
  border-left: 4px solid var(--gold, #D4AF37);
  padding: 15px;
  border-radius: 6px;
  margin-bottom: 18px;
}

.footer-phone-cta a {
  display: block;
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--gold, #D4AF37) !important;
  text-decoration: none;
  margin-bottom: 4px;
}

.footer-phone-cta span {
  font-size: 0.82rem;
  color: #92b392;
}

.footer-address {
  font-size: 0.88rem;
  line-height: 1.6;
  color: #92b392;
}

.panusz-footer-copyright {
  max-width: 1240px;
  margin: 0 auto;
  padding: 25px 20px;
  text-align: center;
  font-size: 0.88rem;
  color: #7a9c7a;
}

.panusz-footer-copyright strong {
  color: #e0eee0;
}

/* Dostosowanie dla urządzeń mobilnych */
@media screen and (max-width: 768px) {
  .panusz-mega-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 35px !important;
    padding: 45px 20px !important;
  }
}

/* =============================================
   ELIMINACJA PUSTYCH KOMÓREK SIATKI (GRID CLEARFIX TRAP RESCUE)
   ============================================= */
ul.products::before,
ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.products > .clear,
ul.products > div:empty {
  display: none !important;
  content: none !important;
  height: 0 !important;
  width: 0 !important;
  position: absolute !important;
}

/* =============================================
   1. USUNIĘCIE FIOLETOWEGO BORDERU I OUTLINE PRZY KLIKNIĘCIU
   ============================================= */
a, button, input, textarea, select, .menu-toggle, .storefront-handheld-footer-bar a {
  outline: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

a:focus, a:active, button:focus, button:active, input:focus, input:active, .menu-toggle:focus, .menu-toggle:active {
  outline: none !important;
  box-shadow: 0 0 0 1px transparent !important;
  border-color: transparent !important;
}

/* Wyszukiwarka - elegancki złocisty szlif podświetlenia zamiast fioletu / niebieskiego */
.site-search input.search-field:focus {
  border: 2px solid var(--gold, #D4AF37) !important;
  box-shadow: 0 0 8px rgba(212, 175, 55, 0.3) !important;
}

/* =============================================
   2. PEŁNIOEKRANOWE MENU MOBILNE (NA CAŁĄ SZEROKOŚĆ)
   ============================================= */
@media screen and (max-width: 768px) {
  .storefront-primary-navigation > .col-full {
    position: relative !important;
  }

  /* Kontener po otwarciu (toggled) zajmuje cały bok w dol */
  .storefront-primary-navigation .main-navigation ul.menu,
  .storefront-primary-navigation .main-navigation.toggled ul.menu,
  .storefront-primary-navigation .main-navigation ul.nav-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    margin-left: -20px !important; # Skompensowanie paddingu col-full
    background: #0d220d !important;
    z-index: 999999 !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5) !important;
    border-top: 2px solid var(--gold, #D4AF37) !important;
  }

  /* Kiedy menu nie jest rozwinięte, zachowajmy ukrycie w JS motywu */
  .storefront-primary-navigation .main-navigation:not(.toggled) ul.menu {
    display: none !important;
  }

  /* Elementy listy menu na pełną szerokość z prestiżowym krojem */
  .storefront-primary-navigation .main-navigation ul.menu li,
  .storefront-primary-navigation .main-navigation.toggled ul.menu li {
    width: 100% !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    margin: 0 !important;
    display: block !important;
  }

  .storefront-primary-navigation .main-navigation ul.menu li a,
  .storefront-primary-navigation .main-navigation.toggled ul.menu li a {
    padding: 16px 25px !important;
    color: #ffffff !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    background: transparent !important;
  }

  .storefront-primary-navigation .main-navigation ul.menu li a:hover {
    background: rgba(255, 255, 255, 0.05) !important;
    color: var(--gold, #D4AF37) !important;
    padding-left: 32px !important;
  }
}

/* =============================================
   3. NAPRAWA DOLNEGO PASKA NAWIGACJI MOBILNEJ (HANDHELD FOOTER BAR)
   ============================================= */
@media screen and (max-width: 768px) {
  .storefront-handheld-footer-bar,
  .storefront-handheld-footer-bar ul {
    background: var(--green-900, #143014) !important;
    border-top: 2px solid var(--gold, #D4AF37) !important;
    box-shadow: 0 -4px 15px rgba(0,0,0,0.3) !important;
  }

  .storefront-handheld-footer-bar ul li > a {
    color: #ffffff !important;
    font-family: var(--font-base, 'Inter', sans-serif) !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 0 !important;
    height: 60px !important;
  }

  .storefront-handheld-footer-bar ul li > a:hover {
    color: var(--gold, #D4AF37) !important;
  }

  /* Zadbajmy, by licznik produktów w koszyku lśnił na czysto złoto */
  .storefront-handheld-footer-bar ul li.cart .count,
  .storefront-handheld-footer-bar ul li.cart .count:after {
    background: var(--gold, #D4AF37) !important;
    color: #000000 !important;
    font-weight: 800 !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.4) !important;
    padding: 2px 6px !important;
  }
}

/* =============================================
   NAPRAWA PRZYCISKU MENU (IKONA I IDEALNY UKŁAD 100%)
   ============================================= */
@media screen and (max-width: 768px) {
  .storefront-primary-navigation button.menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 40px !important;
    padding: 0 15px !important;
    background: rgba(255, 255, 255, 0.16) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 6px !important;
    color: #ffffff !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    margin: 0 !important;
  }

  /* Usunięcie buga ze skręcona / rozsadzaną ikoną w motywie Storefront */
  .storefront-primary-navigation button.menu-toggle::before,
  .storefront-primary-navigation button.menu-toggle:before {
    display: none !important;
    content: none !important;
  }

  /* Stabilny symbol menu po prawej stronie słowa MENU */
  .storefront-primary-navigation button.menu-toggle::after,
  .storefront-primary-navigation button.menu-toggle:after {
    content: "☰" !important;
    font-size: 1.25rem !important;
    line-height: 1 !important;
    display: inline-block !important;
    margin-left: 8px !important;
  }

  .storefront-primary-navigation .toggled button.menu-toggle::after,
  .storefront-primary-navigation button.menu-toggle[aria-expanded="true"]::after {
    content: "✕" !important;
    font-size: 1.15rem !important;
    margin-left: 8px !important;
  }

  /* Dopisanie 100% r równej szerokości paska pod zielonym tłem (bez białej szczeliny po lewej/prawej) */
  .storefront-primary-navigation {
    position: relative !important;
  }

  .storefront-primary-navigation .main-navigation ul.menu,
  .storefront-primary-navigation .main-navigation.toggled ul.menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    background: var(--green-900, #0f220f) !important;
    z-index: 999999 !important;
    box-shadow: 0 15px 35px rgba(0,0,0,0.5) !important;
  }
}

/* =============================================
   MISTRZOWSKI KONTRAST: BIAŁY TEKST NA PRZYCISKACH "DODAJ DO KOSZYKA"
   ============================================= */
ul.products li.product a.button,
ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product button.button,
a.button.add_to_cart_button {
  background: var(--green-900, #143014) !important;
  color: #ffffff !important;
  font-family: var(--font-base, 'Inter', sans-serif) !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 14px 22px !important;
  border-radius: 50px !important;
  border: 2px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 4px 12px rgba(20, 48, 20, 0.2) !important;
  display: block !important;
  width: 90% !important;
  margin: 15px auto 5px auto !important;
  text-align: center !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
  opacity: 1 !important;
}

ul.products li.product a.button:hover,
ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover,
a.button.add_to_cart_button:hover {
  background: var(--gold, #D4AF37) !important;
  color: #000000 !important;
  border-color: #ffffff !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 20px rgba(212, 175, 55, 0.4) !important;
}

/* =============================================
   OSTATECZNA CZYSTKA PRZYCISKU MENU Z ROTOWANEJ ANIMACJI STOREFRONTA
   ============================================= */
button.menu-toggle,
.storefront-primary-navigation button.menu-toggle,
.storefront-primary-navigation .toggled button.menu-toggle {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: auto !important;
  height: 42px !important;
  padding: 0 20px !important;
  margin: 0 !important;
  background: var(--green-900, #143014) !important;
  border: 1px solid var(--gold, #D4AF37) !important;
  border-radius: 6px !important;
  color: #ffffff !important;
  font-family: var(--font-base, 'Inter', sans-serif) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  position: relative !important;
  box-shadow: 0 3px 10px rgba(0,0,0,0.3) !important;
}

/* Kasujemy w pniu WSZELKIE paski, linie, pseudo-elementy i animowane rotacje Storefronta! */
button.menu-toggle::before,
button.menu-toggle:before,
button.menu-toggle span,
.storefront-primary-navigation button.menu-toggle::before,
.storefront-primary-navigation button.menu-toggle:before,
.storefront-primary-navigation .toggled button.menu-toggle::before,
.storefront-primary-navigation .toggled button.menu-toggle:before,
.storefront-primary-navigation button.menu-toggle span {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  transform: none !important;
  animation: none !important;
  opacity: 0 !important;
  position: absolute !important;
  top: -9999px !important;
}

/* Żadnego rotowania ze skręconym anchorem! Czysty, statyczny znak obok słowa MENU */
button.menu-toggle::after,
button.menu-toggle:after,
.storefront-primary-navigation button.menu-toggle::after,
.storefront-primary-navigation button.menu-toggle:after {
  display: inline-block !important;
  content: "☰" !important;
  font-size: 1.35rem !important;
  line-height: 1 !important;
  margin: 0 !important;
  position: static !important;
  transform: none !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  color: var(--gold, #D4AF37) !important;
}

/* Po kliknięciu zamienia się w stylowy krzyżyk bez wywijania orłów na rogach */
.storefront-primary-navigation .toggled button.menu-toggle::after,
.storefront-primary-navigation .toggled button.menu-toggle:after,
.storefront-primary-navigation button.menu-toggle[aria-expanded="true"]::after,
.storefront-primary-navigation button.menu-toggle[aria-expanded="true"]:after {
  content: "✕" !important;
  font-size: 1.25rem !important;
  transform: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  color: var(--gold, #D4AF37) !important;
}
