:root {
/* NOWA PALETA KOLORÓW - PROFESJONALNA */

/* Kolory podstawowe */
--primary-color: #2c3e50; /* ciemny niebieskoszary (główny kolor strony) */
--secondary-color: #34495e; /* szary (kolor dodatkowy) */
--accent-color: #e74c3c; /* czerwony (kolor akcentujący) */
--green-color: #27ae60; /* zielony (kolor przyrodniczy) */

/* Kolory tła i tekstu */
--light-gray: #f8f9fa; /* jasny szary */
--text-dark: #2c3e50; /* ciemny tekst */
--text-light: #ffffff; /* biały tekst */
--bg-light: #ffffff; /* białe tło */
--bg-dark: #2c3e50; /* ciemne tło */

/* Warianty kolorów akcentujących */
--accent-light: #e67e22; /* jaśniejszy czerwony */
--accent-dark: #c0392b; /* ciemniejszy czerwony */
--accent-hover: #d35400; /* hover czerwony */

/* Dodatkowe odcienie */
--gray-medium: #95a5a6; /* średni szary */
--gray-dark: #7f8c8d; /* ciemny szary */
--gray-border: #e0e0e0; /* szary do obramowań */
--gray-separator: #444; /* szary do separatorów */
--gray-ui: #ccc; /* szary do elementów UI */

/* Kolory semantic */
--color-success: var(--green-color);
--color-warning: var(--accent-color);
--color-error: var(--accent-dark);
--color-info: var(--primary-color);

/* Kolory tła - zdefiniowane ponownie dla jasności */
--bg-primary: var(--bg-light);
--bg-secondary: var(--light-gray);
--bg-accent: var(--light-gray);

/* Teksty - zdefiniowane ponownie */
--text-secondary: var(--secondary-color);
--text-muted: var(--gray-medium);

/* Gradienty */
--gradient-primary: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
--gradient-secondary: linear-gradient(135deg, var(--accent-color) 0%, var(--accent-dark) 100%);
--gradient-warm: linear-gradient(135deg, var(--accent-light) 0%, var(--accent-color) 100%);
--gradient-deep: linear-gradient(135deg, var(--accent-color) 0%, var(--accent-dark) 100%);
--gradient-light: linear-gradient(135deg, var(--green-color) 0%, var(--accent-color) 100%);

/* Design system */
--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
--font-family-heading: "Inter", sans-serif;

/* Sizes */
--font-size-xs: 12px;
--font-size-sm: 14px;
--font-size-base: 16px;
--font-size-lg: 18px;
--font-size-xl: 20px;
--font-size-2xl: 24px;
--font-size-3xl: 30px;
--font-size-4xl: 36px;

/* Weights */
--font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700;

/* Spacing */
--space-4: 4px;
--space-8: 8px;
--space-12: 12px;
--space-16: 16px;
--space-20: 20px;
--space-24: 24px;
--space-32: 32px;
--space-48: 48px;
--space-64: 64px;
--space-80: 80px;

/* Border radius */
--radius-sm: 6px;
--radius-base: 8px;
--radius-md: 12px;
--radius-lg: 16px;
--radius-xl: 24px;
--radius-full: 9999px;

/* Shadows */
--shadow-sm: 0 1px 3px rgba(44, 62, 80, 0.1), 0 1px 2px rgba(44, 62, 80, 0.06);
--shadow-base: 0 4px 6px rgba(44, 62, 80, 0.1), 0 2px 4px rgba(44, 62, 80, 0.06);
--shadow-md: 0 10px 15px rgba(44, 62, 80, 0.1), 0 4px 6px rgba(44, 62, 80, 0.05);
--shadow-lg: 0 20px 25px rgba(44, 62, 80, 0.1), 0 10px 10px rgba(44, 62, 80, 0.04);
--shadow-hover: 0 15px 30px rgba(231, 76, 60, 0.15);

/* Transitions */
--duration-fast: 150ms;
--duration-normal: 250ms;
--duration-slow: 350ms;
--ease-standard: cubic-bezier(0.4, 0.0, 0.2, 1);
--ease-out: cubic-bezier(0.0, 0.0, 0.2, 1);
--ease-in: cubic-bezier(0.4, 0.0, 1, 1);

/* Focus */
--focus-ring: 0 0 0 3px rgba(231, 76, 60, 0.3);
--focus-outline: 2px solid var(--accent-color);

/* Container sizes */
--container-sm: 640px;
--container-md: 768px;
--container-lg: 1024px;
--container-xl: 1280px;
}

/* Base reset */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

html {
scroll-behavior: smooth;
font-size: var(--font-size-base);
}

body {
font-family: var(--font-family-base);
line-height: 1.6;
color: var(--text-dark);
background: var(--bg-primary);
overflow-x: hidden;
}

/* GLOBALNE STYLE TEKSTÓW */
h1, h2, h3, h4, h5, h6 {
color: var(--primary-color);
}

p, span, div, li {
color: var(--text-secondary);
}

/* KOLOROWE ZDJĘCIA - BEZ FILTRÓW */
.slide,
.product-image,
.workshop-image,
img {
/* Naturalne kolory zdjęć */
}

/* Skip Navigation */
.skip-navigation {
position: absolute;
top: -40px;
left: var(--space-8);
background: var(--accent-color);
color: var(--text-light);
padding: var(--space-8) var(--space-16);
text-decoration: none;
z-index: 10000;
border-radius: 0 0 var(--radius-base) var(--radius-base);
transition: top var(--duration-normal);
}

.skip-navigation:focus {
top: 0;
outline: var(--focus-outline);
}

/* Preloader */
.preloader {
position: fixed;
inset: 0;
background: var(--bg-primary);
display: flex;
align-items: center;
justify-content: center;
z-index: 9999;
transition: opacity var(--duration-normal) var(--ease-standard);
}

.preloader.hidden {
opacity: 0;
pointer-events: none;
}

.loader {
width: 60px;
height: 60px;
border: 4px solid var(--light-gray);
border-top: 4px solid var(--accent-color);
border-radius: var(--radius-full);
animation: spin 1s linear infinite;
}

@keyframes spin {
to { transform: rotate(360deg); }
}

/* Header */
header {
position: fixed;
top: 0;
left: 0;
width: 100%;
padding: var(--space-16) 0;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
border-bottom: 1px solid rgba(44, 62, 80, 0.1);
transition: all var(--duration-normal) var(--ease-standard);
z-index: 1000;
}

header.scrolled {
background: rgba(255, 255, 255, 0.98);
box-shadow: var(--shadow-sm);
}

nav {
max-width: var(--container-xl);
margin: 0 auto;
padding: 0 var(--space-32);
display: flex;
align-items: center;
justify-content: space-between;
}

.logo {
font-family: var(--font-family-heading);
font-size: var(--font-size-2xl);
font-weight: var(--font-weight-bold);
color: var(--primary-color);
text-decoration: none;
display: flex;
align-items: center;
gap: var(--space-8);
z-index: 1001;
}

.logo i {
color: var(--green-color);
font-size: var(--font-size-lg);
}

.nav-links {
display: flex;
gap: var(--space-32);
list-style: none;
margin: 0;
padding: 0;
}

.nav-links a {
position: relative;
color: var(--text-dark);
text-decoration: none;
font-weight: var(--font-weight-medium);
padding: var(--space-8) 0;
transition: color var(--duration-normal) var(--ease-standard);
}

.nav-links a::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 2px;
background: var(--accent-color);
transition: width var(--duration-normal) var(--ease-standard);
}

.nav-links a:hover {
color: var(--accent-color);
}

.nav-links a:hover::after {
width: 100%;
}

.nav-links a:focus-visible {
outline: var(--focus-outline);
outline-offset: 2px;
}

/* Mobile menu */
.mobile-menu {
display: none;
flex-direction: column;
gap: var(--space-4);
cursor: pointer;
z-index: 1002;
background: none;
border: none;
padding: var(--space-8);
}

.mobile-menu span {
width: 25px;
height: 3px;
background: var(--text-dark);
border-radius: var(--radius-sm);
transition: all var(--duration-normal) var(--ease-standard);
}

.mobile-menu.active span:nth-child(1) {
transform: rotate(45deg) translate(5px, 5px);
}

.mobile-menu.active span:nth-child(2) {
opacity: 0;
}

.mobile-menu.active span:nth-child(3) {
transform: rotate(-45deg) translate(7px, -6px);
}

/* Hero Section */
.hero {
position: relative;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
overflow: hidden;
}

.hero-slider {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
}

.slide {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
opacity: 0;
transition: opacity 1s ease-in-out;
}

.slide.active {
opacity: 1;
}

/* NATURALNE ZDJĘCIA - subtelny overlay dla czytelności tekstu */
.slide::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(
to bottom,
rgba(44, 62, 80, 0.85) 0%,
rgba(44, 62, 80, 0.50) 50%,
rgba(44, 62, 80, 0.20) 100%
);
pointer-events: none;
}

/* Slider backgrounds */
.slide:nth-child(1) {
background-image: url('img/zdjecie1.jpg');
}

.slide:nth-child(2) {
background-image: url('img/zdjecie9.jpg');
}

.slide:nth-child(3) {
background-image: url('img/zdjecie10.jpg');
}

/* Floating elements */
.floating-element {
position: absolute;
opacity: 0.4;
font-size: var(--font-size-4xl);
animation: float 6s ease-in-out infinite;
z-index: 2;
filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.3));
color: var(--green-color);
}

.floating-element:nth-child(1) {
top: 20%;
left: 10%;
animation-delay: 0s;
}

.floating-element:nth-child(2) {
top: 60%;
right: 15%;
animation-delay: 2s;
}

.floating-element:nth-child(3) {
bottom: 30%;
left: 20%;
animation-delay: 4s;
}

@keyframes float {
0%, 100% { transform: translateY(0px) rotate(0deg); }
50% { transform: translateY(-20px) rotate(5deg); }
}

/* Hero content */
.hero-content {
z-index: 2;
max-width: 800px;
padding: var(--space-32);
animation: fadeInUp 1s ease-out;
position: relative;
}

.hero h1 {
font-family: var(--font-family-heading);
font-size: 40px;
font-weight: var(--font-weight-bold);
line-height: 1.2;
margin-bottom: var(--space-24);
color: var(--text-light);
text-shadow: 2px 2px 4px rgba(0,0,0,0.7);
}

.hero p {
font-size: var(--font-size-xl);
margin-bottom: var(--space-32);
color: var(--text-light);
text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
opacity: 0.95;
}

.cta-button {
display: inline-flex;
align-items: center;
gap: var(--space-12);
padding: var(--space-20) var(--space-32);
border-radius: var(--radius-full);
font-weight: var(--font-weight-semibold);
font-size: var(--font-size-lg);
background: var(--gradient-secondary);
color: var(--text-light);
text-decoration: none;
box-shadow: var(--shadow-md);
position: relative;
overflow: hidden;
transition: all var(--duration-normal) var(--ease-standard);
border: 2px solid rgba(231, 76, 60, 0.3);
}

.cta-button::before {
content: '';
position: absolute;
inset: 0;
left: -100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
transition: left 0.5s ease;
}

.cta-button:hover {
transform: translateY(-3px);
box-shadow: var(--shadow-hover);
background: var(--gradient-warm);
}

.cta-button:hover::before {
left: 100%;
}

.cta-button:focus-visible {
outline: var(--focus-outline);
outline-offset: 2px;
}

/* Slider controls */
.slider-arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(255, 255, 255, 0.2);
border: none;
border-radius: var(--radius-full);
width: 50px;
height: 50px;
display: flex;
align-items: center;
justify-content: center;
color: var(--text-light);
font-size: var(--font-size-lg);
cursor: pointer;
transition: all var(--duration-normal) var(--ease-standard);
z-index: 3;
backdrop-filter: blur(10px);
}

.slider-arrow:hover {
background: var(--accent-color);
transform: translateY(-50%) scale(1.1);
}

.slider-arrow:focus-visible {
outline: var(--focus-outline);
}

.slider-arrow.prev {
left: var(--space-32);
}

.slider-arrow.next {
right: var(--space-32);
}

.slider-nav {
position: absolute;
bottom: var(--space-32);
left: 50%;
transform: translateX(-50%);
display: flex;
gap: var(--space-16);
z-index: 3;
}

.slide-dot {
width: 15px;
height: 15px;
border-radius: var(--radius-full);
background: rgba(255, 255, 255, 0.5);
cursor: pointer;
transition: all var(--duration-normal) var(--ease-standard);
border: 2px solid transparent;
}

.slide-dot.active {
background: var(--accent-color);
transform: scale(1.2);
box-shadow: 0 0 var(--space-12) rgba(231, 76, 60, 0.5);
}

.slide-dot:hover {
background: rgba(255, 255, 255, 0.8);
transform: scale(1.1);
}

/* Sections */
section {
padding: var(--space-80) 0;
position: relative;
}

.container {
max-width: var(--container-xl);
margin: 0 auto;
padding: 0 var(--space-32);
}

.section-title {
text-align: center;
margin-bottom: var(--space-64);
}

.section-title h2 {
font-family: var(--font-family-heading);
font-size: var(--font-size-3xl);
font-weight: var(--font-weight-semibold);
color: var(--primary-color);
margin-bottom: var(--space-16);
position: relative;
}

.section-title h2::after {
display: none;
}

.section-title p {
font-size: var(--font-size-lg);
color: var(--text-secondary);
max-width: 600px;
margin: 0 auto;
}

/* About Section */
.about {
background: var(--bg-secondary);
}

.about-content {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-64);
align-items: center;
}

.about-text p {
margin-bottom: var(--space-24);
font-size: var(--font-size-lg);
line-height: 1.7;
color: var(--text-secondary);
}

.about-features {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: var(--space-24);
margin-top: var(--space-32);
}

.feature-item {
display: flex;
gap: var(--space-16);
padding: var(--space-24);
background: var(--bg-primary);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-sm);
transition: all var(--duration-normal) var(--ease-standard);
border: 1px solid rgba(44, 62, 80, 0.05);
}

.feature-item:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-base);
}

.feature-item i {
font-size: var(--font-size-2xl);
color: var(--accent-color);
flex-shrink: 0;
}

.feature-item h4 {
margin-bottom: var(--space-8);
color: var(--primary-color);
font-weight: var(--font-weight-semibold);
}

.feature-item p {
color: var(--text-muted);
margin: 0;
}

.about-image {
text-align: center;
}

.about-image img {
width: 100%;
max-width: 100%;
height: auto;
object-fit: cover;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-base);
transition: transform var(--duration-normal) var(--ease-standard);
}

.about-image img:hover {
transform: scale(1.05);
}

/* Products Section */
.products {
background: var(--bg-primary);
}

.products-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: var(--space-32);
margin-top: var(--space-64);
}

.product-card {
background: var(--bg-primary);
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-sm);
transition: all var(--duration-normal) var(--ease-standard);
border: 1px solid rgba(44, 62, 80, 0.08);
}

.product-card:hover {
transform: translateY(-10px);
box-shadow: var(--shadow-hover);
}

.product-image {
height: 250px;
background: var(--light-gray);
position: relative;
border-bottom: 1px solid rgba(44, 62, 80, 0.08);
overflow: hidden;
}

/* Product images */
.product-card.featured .product-image {
background: url('img/zdjecie3.jpg');
background-size: cover;
background-position: center;
}

.product-card.vegetables .product-image {
background: url('img/zdjecie7.jpg');
background-size: cover;
background-position: center;
}

.product-card.berries .product-image {
background: url('img/zdjecie4.jpg');
background-size: cover;
background-position: center;
}

.product-card.preserves .product-image {
background: url('img/zdjecie5.jpg');
background-size: cover;
background-position: center;
}

.product-card.fermented .product-image {
background: url('img/zdjecie6.jpg');
background-size: cover;
background-position: center;
}

.product-card.herbs .product-image {
background: url('img/zdjecie8.jpg');
background-size: cover;
background-position: center;
}

/* NATURALNE ZDJĘCIA - bez overlay */
.product-image::before {
display: none;
}

.product-info {
padding: var(--space-32);
}

.product-info h3 {
font-family: var(--font-family-heading);
font-size: var(--font-size-xl);
font-weight: var(--font-weight-semibold);
margin-bottom: var(--space-16);
color: var(--primary-color);
}

.product-info p {
color: var(--text-secondary);
line-height: 1.6;
margin-bottom: var(--space-16);
}

.product-features {
display: flex;
flex-wrap: wrap;
gap: var(--space-8);
margin-top: var(--space-16);
}

.feature-tag {
background: var(--gradient-secondary);
color: var(--text-light);
padding: var(--space-8) var(--space-16);
border-radius: var(--radius-full);
font-size: var(--font-size-sm);
font-weight: var(--font-weight-medium);
}

/* Awards Section */
.awards {
background: var(--bg-secondary);
}

.awards-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: var(--space-32);
margin-top: var(--space-64);
}

.award-card {
background: var(--bg-primary);
padding: var(--space-32) var(--space-24);
border-radius: var(--radius-lg);
text-align: center;
box-shadow: var(--shadow-sm);
transition: all var(--duration-normal) var(--ease-standard);
border: 1px solid rgba(44, 62, 80, 0.08);
position: relative;
overflow: hidden;
}

.award-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 5px;
background: var(--gradient-secondary);
}

.award-card:hover {
transform: translateY(-10px);
box-shadow: var(--shadow-hover);
}

.award-icon {
font-size: var(--font-size-3xl);
color: var(--accent-color);
margin-bottom: var(--space-16);
}

.award-year {
font-size: var(--font-size-base);
font-weight: var(--font-weight-semibold);
color: var(--text-muted);
margin-bottom: var(--space-12);
}

.award-title {
font-family: var(--font-family-heading);
font-size: var(--font-size-lg);
font-weight: var(--font-weight-semibold);
color: var(--primary-color);
margin-bottom: var(--space-12);
}

.award-description {
color: var(--text-secondary);
line-height: 1.6;
font-size: var(--font-size-sm);
}

/* Workshops Section */
.workshops {
position: relative;
background:
linear-gradient(
to bottom,
rgba(44, 62, 80, 0.85) 0%,
rgba(44, 62, 80, 0.50) 60%,
rgba(44, 62, 80, 0.20) 100%
),
url('img/warsztaty_bg.jpg');
background-size: cover;
background-position: center;
background-attachment: fixed;
color: var(--text-light) !important;
}

.workshops .section-title h2,
.workshops .section-title p {
color: var(--text-light) !important;
}

.workshops-intro {
text-align: center;
margin-bottom: var(--space-64);
font-size: var(--font-size-lg);
color: var(--text-light);
max-width: 800px;
margin-left: auto;
margin-right: auto;
opacity: 0.95;
}

.workshops-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--space-32);
margin-top: var(--space-64);
}

.workshop-card {
background: rgba(255, 255, 255, 0.95);
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-hover);
transition: all var(--duration-normal) var(--ease-standard);
border: 1px solid rgba(255, 255, 255, 0.2);
cursor: pointer;
}

.workshop-card:hover {
transform: translateY(-10px);
box-shadow: 0 20px 40px rgba(0,0,0,0.3);
background: rgba(255, 255, 255, 1);
}

.workshop-image {
height: 180px;
background: var(--light-gray);
display: flex;
align-items: center;
justify-content: center;
font-size: var(--font-size-4xl);
color: var(--accent-color);
position: relative;
border-bottom: 1px solid rgba(44, 62, 80, 0.08);
}

/* NATURALNE ZDJĘCIA - bez overlay */
.workshop-image::before {
display: none;
}

.workshop-info {
padding: var(--space-32);
text-align: center;
}

.workshop-info h3 {
font-family: var(--font-family-heading);
font-size: var(--font-size-xl);
font-weight: var(--font-weight-semibold);
margin-bottom: var(--space-16);
color: var(--primary-color);
}

.workshop-info p {
color: var(--text-secondary);
line-height: 1.6;
margin-bottom: var(--space-8);
}

/* Contact Section */
.contact {
background: var(--bg-primary);
color: var(--text-dark);
padding: var(--space-64) 0;
}

.contact-content {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-64);
align-items: flex-start;
}

.social-section {
background: var(--gradient-primary);
color: var(--text-light);
padding: var(--space-48);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-base);
text-align: center;
}

.social-section h3 {
font-family: var(--font-family-heading);
font-size: var(--font-size-2xl);
font-weight: var(--font-weight-semibold);
margin-bottom: var(--space-16);
color: var(--text-light);
}

.social-section > p {
font-size: var(--font-size-lg);
margin-bottom: var(--space-32);
color: var(--text-light);
opacity: 0.95;
}

.social-links {
display: flex;
gap: var(--space-24);
margin-bottom: var(--space-32);
justify-content: center;
}

.social-link {
width: 60px;
height: 60px;
background: var(--gradient-secondary);
border-radius: var(--radius-full);
display: flex;
align-items: center;
justify-content: center;
color: var(--text-light);
font-size: var(--font-size-xl);
text-decoration: none;
transition: all var(--duration-normal) var(--ease-standard);
box-shadow: var(--shadow-base);
}

.social-link:hover {
transform: translateY(-5px) scale(1.1);
box-shadow: var(--shadow-lg);
background: var(--gradient-deep);
}

.social-link:focus-visible {
outline: var(--focus-outline);
}

.social-link.facebook:hover {
background: #1877f2;
}

.social-link.tiktok:hover {
background: #000000;
}

.social-link.youtube:hover {
background: #ff0000;
}

.social-link.maps:hover {
background: #4285f4;
}

.social-description {
text-align: center;
}

.social-description h4 {
font-size: var(--font-size-lg);
font-weight: var(--font-weight-medium);
margin-bottom: var(--space-16);
color: var(--text-light);
}

.social-description p {
line-height: 1.7;
color: var(--text-light);
opacity: 0.9;
}

.locations-section {
background: var(--bg-secondary);
padding: var(--space-48);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-base);
}

.locations-section h3 {
font-family: var(--font-family-heading);
font-size: var(--font-size-2xl);
font-weight: var(--font-weight-semibold);
color: var(--primary-color);
text-align: center;
margin-bottom: var(--space-32);
}

.locations-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-32);
}

.locations-left,
.locations-right {
space: var(--space-24);
}

.locations-section h4 {
font-size: var(--font-size-lg);
font-weight: var(--font-weight-semibold);
color: var(--accent-color);
margin-bottom: var(--space-16);
margin-top: var(--space-24);
}

.locations-section h4:first-child {
margin-top: 0;
}

.locations-section ul {
list-style: none;
padding: 0;
margin-bottom: var(--space-24);
}

.locations-section ul li {
display: flex;
align-items: center;
gap: var(--space-8);
margin-bottom: var(--space-8);
color: var(--text-secondary);
line-height: 1.6;
}

.locations-section ul li::before {
content: '📍';
font-size: var(--font-size-sm);
}

/* Footer */
footer {
background: var(--bg-dark);
color: var(--text-light);
padding: var(--space-48) 0 var(--space-16);
}

.footer-content-simple {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: var(--space-48);
align-items: flex-start;
margin-bottom: var(--space-32);
padding: var(--space-32) 0;
}

.footer-contact h4 {
color: var(--accent-color);
margin-bottom: var(--space-16);
font-size: var(--font-size-lg);
font-family: var(--font-family-heading);
font-weight: var(--font-weight-semibold);
}

.footer-contact ul {
list-style: none;
padding: 0;
}

.footer-contact ul li {
display: flex;
align-items: center;
gap: var(--space-12);
margin-bottom: var(--space-8);
color: var(--text-light);
opacity: 0.9;
}

.footer-contact ul li i {
color: var(--accent-color);
width: 20px;
}
                                                                                                                                                                 .footer-logo {
    text-align: center; /* wyśrodkowanie */
}                                                                                                                                                                 
.footer-logo img {
max-width: 160px;
height: auto;
border-radius: var(--radius-base);
filter: brightness(0.95);
transition: all var(--duration-normal) var(--ease-standard);
}

.footer-logo img:hover {
filter: brightness(1.1);
transform: scale(1.05);
}

.footer-bottom {
border-top: 1px solid rgba(255, 255, 255, 0.1);
padding-top: var(--space-16);
text-align: center;
opacity: 0.8;
margin-top: var(--space-16);
}

.footer-bottom p {
margin-bottom: var(--space-4);
color: var(--text-light);
}

.footer-link {
color: var(--text-light);
text-decoration: none;
transition: color var(--duration-normal) var(--ease-standard);                                                                                               cursor: pointer;                                                                                            
}

.footer-link:hover {
color: var(--accent-color);                                                                                                                                  cursor: pointer;
}

.footer-link:focus-visible {
outline: var(--focus-outline);
}

/* Scroll to top */
.scroll-top {
position: fixed;
bottom: var(--space-32);
right: var(--space-32);
width: 50px;
height: 50px;
border-radius: var(--radius-full);
border: none;
font-size: var(--font-size-lg);
background: var(--accent-color);
color: var(--text-light);
cursor: pointer;
transition: all var(--duration-normal) var(--ease-standard);
opacity: 0;
visibility: hidden;
z-index: 1000;
box-shadow: var(--shadow-base);
}

.scroll-top.visible {
opacity: 1;
visibility: visible;
}

.scroll-top:hover {
transform: translateY(-3px);
box-shadow: var(--shadow-lg);
background: var(--accent-hover);
}

.scroll-top:focus-visible {
outline: var(--focus-outline);
}

/* COOKIES - PRZYCISKI CZERWONE */
.cookies-banner {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: rgba(44, 62, 80, 0.98);
color: var(--text-light);
padding: var(--space-24);
z-index: 10000;
display: none;
box-shadow: 0 -5px 20px rgba(0,0,0,0.3);
border-top: 3px solid var(--accent-color);
}

.cookies-banner.show {
display: block !important;
animation: slideUp 0.5s ease-out;
}

@keyframes slideUp {
from {
transform: translateY(100%);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}

.cookies-content {
max-width: var(--container-xl);
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-32);
flex-wrap: wrap;
}

.cookies-text {
flex: 1;
min-width: 300px;
}

.cookies-text h4 {
color: var(--accent-color);
margin-bottom: var(--space-12);
font-size: var(--font-size-lg);
font-weight: var(--font-weight-semibold);
display: flex;
align-items: center;
gap: var(--space-8);
}

.cookies-text p {
font-size: var(--font-size-base);
line-height: 1.6;
opacity: 0.95;
margin-bottom: var(--space-8);
color: var(--text-light);
}

.cookies-text a {
color: var(--accent-color);
text-decoration: underline;
cursor: pointer;
font-weight: var(--font-weight-medium);
transition: color var(--duration-fast) var(--ease-standard);
}

.cookies-text a:hover {
text-decoration: none;
color: var(--accent-light);
}

.cookies-text a:focus-visible {
outline: var(--focus-outline);
}

.cookies-buttons {
display: flex;
gap: var(--space-12);
flex-wrap: wrap;
}

.cookies-btn {
padding: var(--space-12) var(--space-20);
border: none;
border-radius: var(--radius-full);
font-weight: var(--font-weight-semibold);
cursor: pointer;
transition: all var(--duration-normal) var(--ease-standard);
white-space: nowrap;
display: flex;
align-items: center;
gap: var(--space-8);
font-size: var(--font-size-sm);
min-width: 120px;
justify-content: center;
}

.cookies-btn:focus-visible {
outline: var(--focus-outline);
}

.cookies-btn.accept-all {
background: var(--accent-color);
color: var(--text-light);
}

.cookies-btn.accept-all:hover {
background: var(--accent-hover);
transform: translateY(-2px);
box-shadow: var(--shadow-base);
}

.cookies-btn.reject-all {
background: var(--accent-dark);
color: var(--text-light);
}

.cookies-btn.reject-all:hover {
background: var(--accent-color);
transform: translateY(-2px);
}

.cookies-btn.settings {
background: rgba(231, 76, 60, 0.1);
color: var(--text-light);
border: 2px solid var(--accent-color);
}

.cookies-btn.settings:hover {
background: rgba(231, 76, 60, 0.2);
border-color: var(--accent-light);
transform: translateY(-2px);
}

/* Privacy Modal */
.privacy-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.8);
z-index: 10001;
display: none;
align-items: center;
justify-content: center;
padding: var(--space-32);
}

.privacy-modal.show {
display: flex !important;
animation: fadeIn var(--duration-normal) ease-out;
}

@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}

.privacy-modal-content {
background: var(--bg-primary);
border-radius: var(--radius-lg);
padding: var(--space-48);
max-width: 900px;
width: 100%;
max-height: 85vh;
overflow-y: auto;
position: relative;
box-shadow: var(--shadow-lg);
}

.privacy-modal-close {
position: absolute;
top: var(--space-24);
right: var(--space-24);
background: none;
border: none;
font-size: var(--font-size-xl);
cursor: pointer;
color: var(--text-dark);
width: 40px;
height: 40px;
border-radius: var(--radius-full);
display: flex;
align-items: center;
justify-content: center;
transition: all var(--duration-normal) var(--ease-standard);
}

.privacy-modal-close:hover {
background: var(--light-gray);
transform: rotate(90deg);
}

.privacy-modal-close:focus-visible {
outline: var(--focus-outline);
}

.privacy-modal h2 {
color: var(--primary-color);
margin-bottom: var(--space-32);
font-family: var(--font-family-heading);
font-weight: var(--font-weight-semibold);
display: flex;
align-items: center;
gap: var(--space-16);
}

.privacy-modal h3 {
color: var(--accent-color);
margin: var(--space-32) 0 var(--space-16) 0;
font-size: var(--font-size-lg);
font-weight: var(--font-weight-semibold);
}

.privacy-modal p {
margin-bottom: var(--space-16);
line-height: 1.7;
color: var(--text-secondary);
}

.privacy-modal ul {
margin: var(--space-16) 0;
padding-left: var(--space-32);
}

.privacy-modal li {
margin-bottom: var(--space-12);
line-height: 1.6;
color: var(--text-secondary);
}

.privacy-modal strong {
color: var(--primary-color);
}

/* Cookies Modal */
.cookies-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.8);
z-index: 10001;
display: none;
align-items: center;
justify-content: center;
padding: var(--space-32);
}

.cookies-modal.show {
display: flex !important;
animation: fadeIn var(--duration-normal) ease-out;
}

.cookies-modal-content {
background: var(--bg-primary);
border-radius: var(--radius-xl);
padding: var(--space-48);
max-width: 1000px;
width: 100%;
max-height: 85vh;
overflow-y: auto;
position: relative;
box-shadow: 0 25px 50px rgba(0,0,0,0.25);
border: 1px solid rgba(231, 76, 60, 0.1);
}

.cookies-modal-close {
position: absolute;
top: var(--space-24);
right: var(--space-24);
background: none;
border: none;
font-size: var(--font-size-xl);
cursor: pointer;
color: var(--text-dark);
width: 40px;
height: 40px;
border-radius: var(--radius-full);
display: flex;
align-items: center;
justify-content: center;
transition: all var(--duration-normal) var(--ease-standard);
}

.cookies-modal-close:hover {
background: var(--light-gray);
transform: rotate(90deg);
}

.cookies-modal-close:focus-visible {
outline: var(--focus-outline);
}

.cookies-modal h2 {
color: var(--primary-color);
margin-bottom: var(--space-32);
font-family: var(--font-family-heading);
font-weight: var(--font-weight-bold);
font-size: var(--font-size-2xl);
display: flex;
align-items: center;
gap: var(--space-16);
text-align: center;
justify-content: center;
}

.cookie-setting {
margin: var(--space-16) 0;
padding: var(--space-24);
border: 1px solid var(--gray-border);
border-radius: var(--radius-lg);
background: white;
transition: all var(--duration-normal) var(--ease-standard);
}

.cookie-setting:hover {
border-color: var(--accent-color);
box-shadow: 0 2px 8px rgba(231, 76, 60, 0.1);
}

.cookie-setting-header {
display: flex;
justify-content: space-between;
align-items: center;
gap: var(--space-20);
margin-bottom: var(--space-8);
}

.cookie-setting-header > div {
flex: 1;
}

.cookie-setting h3 {
margin: 0 0 var(--space-8) 0;
font-size: var(--font-size-lg);
font-weight: var(--font-weight-semibold);
color: var(--primary-color);
display: flex;
align-items: center;
gap: var(--space-8);
}

.cookie-setting h3::before {
content: "🍪";
font-size: var(--font-size-base);
}

.cookie-setting p {
margin: 0;
color: var(--text-secondary);
line-height: 1.5;
font-size: var(--font-size-sm);
}

.cookie-setting.necessary {
background: rgba(231, 76, 60, 0.05);
border-color: rgba(231, 76, 60, 0.2);
}

.cookie-setting.necessary .cookie-slider {
background-color: var(--accent-color);
opacity: 0.8;
}

.cookie-setting.necessary .cookie-slider:before {
transform: translateX(12px);
}

.cookie-modal-actions {
display: flex;
gap: var(--space-16);
margin-top: var(--space-48);
flex-wrap: wrap;
justify-content: center;
padding-top: var(--space-32);
border-top: 2px solid var(--light-gray);
}

.cookie-modal-actions .cookies-btn {
flex: 1;
min-width: 140px;
justify-content: center;
padding: var(--space-16) var(--space-24);
font-size: var(--font-size-base);
font-weight: var(--font-weight-semibold);
}

.cookies-btn.save-selected {
background: var(--accent-color);
color: var(--text-light);
}

.cookies-btn.save-selected:hover {
background: var(--accent-hover);
transform: translateY(-2px);
box-shadow: var(--shadow-base);
}

.cookies-btn.back {
background: var(--gray-medium);
color: var(--text-light);
}

.cookies-btn.back:hover {
background: var(--gray-dark);
transform: translateY(-2px);
}

.cookie-switch {
position: relative;
display: inline-block;
width: 44px;
height: 22px;
flex-shrink: 0;
margin-top: 0;
}

.cookie-switch input[type="checkbox"] {
opacity: 0;
width: 0;
height: 0;
position: absolute;
}

.cookie-slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: var(--gray-ui);
border-radius: 22px;
transition: all 0.3s ease;
width: 44px;
height: 22px;
}

.cookie-slider:before {
position: absolute;
content: "";
height: 12px;
width: 12px;
left: 2px;
top: 2px;
background-color: white;
border-radius: 50%;
transition: all 0.3s ease;
box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

input[type="checkbox"]:checked + .cookie-slider {
background-color: var(--accent-color);
}

input[type="checkbox"]:checked + .cookie-slider:before {
transform: translateX(16px);
}

input[type="checkbox"]:disabled + .cookie-slider {
background-color: var(--accent-color);
opacity: 0.7;
cursor: not-allowed;
}

input[type="checkbox"]:focus + .cookie-slider {
box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.2);
}

.cookie-slider:hover {
background-color: var(--gray-dark);
}

input[type="checkbox"]:checked + .cookie-slider:hover {
background-color: var(--accent-dark);
}

/* Animations */
.fade-in,
.slide-in-left,
.slide-in-right,
.scale-in {
opacity: 0;
transform: translateY(30px);
transition: all 0.6s ease;
}

.slide-in-left {
transform: translateX(-50px);
}

.slide-in-right {
transform: translateX(50px);
}

.scale-in {
transform: scale(0.8);
}

.visible.fade-in,
.visible.slide-in-left,
.visible.slide-in-right,
.visible.scale-in {
opacity: 1;
transform: none;
}

@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: none;
}
}

/* Screen reader only */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}

/* Focus indicators for keyboard navigation */
.keyboard-navigation *:focus {
outline: var(--focus-outline);
outline-offset: 2px;
}

/* Responsive Design */
@media (max-width: 1024px) {
.awards-grid {
grid-template-columns: repeat(2, 1fr);
gap: var(--space-24);
}

.workshops-grid {
grid-template-columns: 1fr;
gap: var(--space-24);
}
}

@media (max-width: 768px) {
/* Slider adjustments */
.slider-arrow {
width: 40px;
height: 40px;
font-size: var(--font-size-base);
}

.slider-arrow.prev {
left: var(--space-16);
}

.slider-arrow.next {
right: var(--space-16);
}

.slide-dot {
width: 12px;
height: 12px;
}

.slider-nav {
bottom: var(--space-20);
gap: var(--space-12);
}

/* Mobile navigation */
.nav-links {
position: fixed;
top: 0;
left: -100%;
width: 100%;
height: 100vh;
background: rgba(255, 255, 255, 0.98);
backdrop-filter: blur(15px);
flex-direction: column;
justify-content: center;
align-items: center;
gap: var(--space-48);
transition: left 0.4s ease;
z-index: 999;
padding: var(--space-32);
}

.nav-links.active {
left: 0;
}

.nav-links li {
opacity: 0;
transform: translateX(-50px);
animation: slideInLeft 0.6s forwards;
}

.nav-links.active li:nth-child(1) { animation-delay: 0.1s; }
.nav-links.active li:nth-child(2) { animation-delay: 0.2s; }
.nav-links.active li:nth-child(3) { animation-delay: 0.3s; }
.nav-links.active li:nth-child(4) { animation-delay: 0.4s; }
.nav-links.active li:nth-child(5) { animation-delay: 0.5s; }
.nav-links.active li:nth-child(6) { animation-delay: 0.6s; }

@keyframes slideInLeft {
to {
opacity: 1;
transform: none;
}
}

.nav-links a {
font-size: var(--font-size-xl);
padding: var(--space-16);
border-radius: var(--radius-md);
transition: all var(--duration-normal) var(--ease-standard);
}

.nav-links a:hover {
background: var(--accent-color);
color: var(--text-light);
transform: scale(1.05);
}

.mobile-menu {
display: flex;
}

/* Layout adjustments */
nav {
padding: 0 var(--space-16);
}

.container {
padding: 0 var(--space-16);
}

section {
padding: var(--space-64) 0;
}

/* Typography */
.hero h1 {
font-size: var(--font-size-3xl);
}

.hero p {
font-size: var(--font-size-lg);
}

.section-title h2 {
font-size: var(--font-size-2xl);
}

/* Grid layouts */
.about-content {
grid-template-columns: 1fr;
gap: var(--space-48);
}

.about-features {
grid-template-columns: 1fr;
}

.products-grid {
grid-template-columns: 1fr;
gap: var(--space-24);
}

.awards-grid {
grid-template-columns: 1fr;
gap: var(--space-24);
}

.workshops-grid {
grid-template-columns: 1fr;
gap: var(--space-24);
}

/* Contact mobile */
.contact-content {
grid-template-columns: 1fr;
gap: var(--space-32);
}

.locations-grid {
grid-template-columns: 1fr;
gap: var(--space-24);
}

.social-section,
.locations-section {
padding: var(--space-32);
}

/* Footer mobile */
.footer-content-simple {
grid-template-columns: 1fr;
text-align: center;
gap: var(--space-24);
}

.membership-item {
    flex-direction: column;
    text-align: center;
    gap: var(--space-12);
}

.membership-info {
    text-align: center;
}

.membership-logo {
    width: 60px;
    height: 60px;
}

/* Other elements */
.logo {
font-size: var(--font-size-xl);
}

.workshops {
background-attachment: scroll;
}

.social-links {
flex-wrap: wrap;
gap: var(--space-16);
}

/* Cookies banner mobile */
.cookies-content {
flex-direction: column;
text-align: center;
gap: var(--space-24);
}

.cookies-buttons {
justify-content: center;
width: 100%;
gap: var(--space-8);
flex-direction: column;
}

.cookies-btn {
width: 100%;
min-width: auto;
}

.cookies-modal-content,
.privacy-modal-content {
padding: var(--space-32);
margin: var(--space-16);
}

.cookie-modal-actions {
flex-direction: column;
gap: var(--space-12);
}

.cookie-modal-actions .cookies-btn {
width: 100%;
min-width: auto;
}
}

@media (max-width: 480px) {
.hero h1 {
font-size: var(--font-size-2xl);
}

.hero p {
font-size: var(--font-size-base);
}

.logo {
font-size: var(--font-size-lg);
}

.hero {
background-attachment: scroll;
}

.cookies-banner {
padding: var(--space-16);
}

.slider-arrow {
display: none;
}

.floating-element {
display: none;
}

.section-title h2 {
font-size: var(--font-size-xl);
}

.section-title p {
font-size: var(--font-size-base);
}

.about-text p,
.workshop-info p,
.social-description p {
font-size: var(--font-size-base);
}

.product-info h3,
.workshop-info h3,
.award-title {
font-size: var(--font-size-lg);
}

.social-section {
padding: var(--space-24);
}

.social-section h3 {
font-size: var(--font-size-xl);
}

.cta-button {
padding: var(--space-12) var(--space-24);
font-size: var(--font-size-base);
}
}

/* Print styles */
@media print {
.cookies-banner,
.scroll-top,
.slider-arrow,
.slide-dot {
display: none !important;
}

.hero {
min-height: auto;
padding: var(--space-32) 0;
}

body {
font-size: 12pt;
line-height: 1.4;
}
}

/* Footer - sekcja członkostwa */
.footer-membership {
    text-align: center;
}

.footer-membership h4 {
    color: var(--accent-color);
    margin-bottom: var(--space-24);
    font-size: var(--font-size-lg);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-semibold);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-8);
}

.membership-item {
    display: flex;
    align-items: center;
    gap: var(--space-16);
    margin-bottom: var(--space-24);
    padding: var(--space-16);
    background: rgba(255, 255, 255, 0.05);
    border-radius: var(--radius-base);
    transition: all var(--duration-normal) var(--ease-standard);
}

.membership-item:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-2px);
}

.membership-info {
    flex: 1;
    text-align: left;
}

.membership-info h5 {
    color: var(--text-light);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    margin-bottom: var(--space-8);
    line-height: 1.3;
}

.membership-info p {
    color: var(--text-light);
    opacity: 0.85;
    font-size: var(--font-size-sm);
    line-height: 1.4;
    margin: 0;
}

.membership-logo {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.95);
    border-radius: var(--radius-base);
    padding: var(--space-4);
}

.membership-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: var(--radius-sm);
}
