:root {
            --green: #009a44;
            --green-dark: #007a35;
            --yellow: #ffed00;
            --dark: #1a1a1a;
            --gray: #f4f6f8;
            --text: #333333;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Open Sans', sans-serif; }
        h1, h2, h3, h4, .logo-text { font-family: 'Montserrat', sans-serif; }
        
        html, body { 
            width: 100% !important; 
            max-width: 100% !important; 
            margin: 0 !important;
            padding: 0 !important;
            overflow-x: hidden !important; 
            background: #fff; 
            color: var(--text); 
            line-height: 1.6; 
            scroll-behavior: smooth; 
        }
        /* METODA NA PEŁNĄ SZEROKOŚĆ Z FORSOWANIEM (!important) */
        #home, .hero {
            width: 100vw !important;
            max-width: 100vw !important;
            position: relative !important;
            left: 50% !important;
            right: 50% !important;
            margin-left: -50vw !important;
            margin-right: -50vw !important;
            min-height: 80vh;
            background: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)), url('meb/L1.webp') center/cover no-repeat !important;
            color: #ffffff;
            text-align: center;
            padding: 120px 20px;
            display: flex;
            justify-content: center;
            align-items: center;
            box-sizing: border-box;
        }

        .hero-content {
            max-width: 800px;
            margin: 0 auto;
        }
        .hero-content h1 {
            font-size: 2.5rem;
            font-weight: 800;
            margin-bottom: 15px;
            color: #ffffff;
        }
        .hero-content p {
            font-size: 1.1rem;
            max-width: 650px;
            margin: 0 auto 25px;
            color: #e0e0e0;
        }
        .hero-btn {
            background: var(--green);
            color: #ffffff;
            padding: 12px 30px;
            border-radius: 4px;
            text-decoration: none;
            font-weight: 700;
            display: inline-block;
            transition: background 0.2s ease, transform 0.2s ease;
        }
        .hero-btn:hover {
            background: var(--green-dark);
            transform: translateY(-2px);
        }


        /* --- RESTA STYLI --- */
        #loader {
            position: fixed; inset: 0; background: #ffffff; z-index: 99999;
            display: flex; flex-direction: column; align-items: center; justify-content: center;
            transition: opacity 1s ease, visibility 1s;
        }
        .loader-brand { text-align: center; margin-bottom: 15px; display: flex; flex-direction: column; align-items: center; }
        .loader-logo { max-width: 200px; height: auto; margin-bottom: 10px; object-fit: contain; }
        .loader-brand h1 { font-size: 1.8rem; color: var(--green); font-weight: 800; letter-spacing: 1px; margin: 0; }
        .loader-brand p { font-size: 0.8rem; color: #666; text-transform: uppercase; letter-spacing: 2px; margin-top: 2px; }
        .loader-spinner { width: 35px; height: 35px; border: 3px solid #e0e0e0; border-top: 3px solid var(--green); border-radius: 50%; animation: spin 0.6s linear infinite; }
        @keyframes spin { 100% { transform: rotate(360deg); } }


        header { position: sticky; top: 0; width: 100%; background: rgba(255, 255, 255, 0.98); backdrop-filter: blur(8px); box-shadow: 0 2px 10px rgba(0,0,0,0.05); z-index: 1000; }
        nav { max-width: 1200px; margin: 0 auto; padding: 10px 20px; display: flex; justify-content: space-between; align-items: center; }
        .logo-box { display: flex; align-items: center; gap: 10px; text-decoration: none; }
        .nav-logo-img { height: 38px; width: auto; object-fit: contain; }
        .logo-text { font-size: 1.3rem; font-weight: 800; color: var(--green); line-height: 1; }
        .logo-sub { font-size: 0.68rem; color: #666; display: block; font-weight: 600; margin-top: 2px; }
        .nav-links { display: flex; gap: 20px; list-style: none; }
        .nav-links a { text-decoration: none; color: var(--dark); font-weight: 600; transition: color 0.2s; }
        .nav-links a:hover { color: var(--green); }
        nav{display:flex;align-items:center;gap:8px}
        nav a{position:relative;padding:10px 12px;color:#222;text-decoration:none;font-size:.82rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase;transition:.25s}
        nav a:after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:#00a878;transform:scaleX(0);transform-origin:center;transition:.25s}
        nav a:hover{color:#00a878}
        nav a:hover:after{transform:scaleX(1)}

        .features-bar { background: var(--dark); color: #fff; padding: 25px 20px; width: 100%; }
        .f-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 15px; text-align: center; }
        .f-item i { font-size: 1.8rem; color: var(--yellow); margin-bottom: 8px; }
        .f-item h4 { font-size: 1rem; }
        .f-item p { font-size: 0.8rem; color: #aaa; }

        section { max-width: 1200px; margin: 0 auto; padding: 50px 20px; }
        .section-title { text-align: center; margin-bottom: 30px; }
        .section-title h2 { font-size: 2rem; color: var(--dark); }
        .section-title div { width: 50px; height: 3px; background: var(--green); margin: 8px auto 0; }

        .about-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; align-items: center; }
        .about-img img { width: 100%; border-radius: 8px; height: auto; }
        .about-text p { margin-bottom: 12px; color: #555; }
        .about-badge { display: inline-block; background: rgba(0, 154, 68, 0.1); color: var(--green); padding: 4px 10px; border-radius: 15px; font-weight: 700; font-size: 0.8rem; margin-bottom: 10px; }

        .collections-menu { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 25px; }
        .c-btn { background: var(--gray); border: 1px solid #e0e0e0; padding: 8px 16px; border-radius: 20px; font-weight: 600; cursor: pointer; transition: 0.2s; }
        .c-btn.active, .c-btn:hover { background: var(--green); color: #fff; border-color: var(--green); }

        .coll-header { background: #f9f9f9; padding: 15px; border-left: 4px solid var(--green); margin-bottom: 20px; border-radius: 0 6px 6px 0; }
        .coll-header h3 { font-size: 1.3rem; color: var(--dark); }
        .coll-header p { color: #666; font-size: 0.9rem; margin-top: 4px; }

        .gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 15px; }
        .item-card { background: #fff; border-radius: 6px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.05); transition: transform 0.2s; cursor: pointer; border: 1px solid #eee; }
        .item-card:hover { transform: translateY(-3px); }
        .img-box { position: relative; height: 200px; overflow: hidden; background: #eee; }
        .img-box img { width: 100%; height: 100%; object-fit: cover; }
        .zoom-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.3rem; opacity: 0; transition: opacity 0.2s; background: rgba(0,0,0,0.3); }
        .item-card:hover .zoom-overlay { opacity: 1; }
        .item-info { padding: 12px; text-align: center; }
        .item-symbol { font-weight: 800; color: var(--green); font-size: 1rem; }
        .item-desc { font-size: 0.85rem; color: #666; margin-top: 3px; }

        .lightbox { position: fixed; inset: 0; background: rgba(0,0,0,0.9); z-index: 10000; display: none; justify-content: center; align-items: center; }
        .lightbox-img-wrapper{width:90vw;height:80vh;overflow:auto;display:flex;justify-content:center;align-items:center}.lightbox img{max-width:none;max-height:none;width:auto;height:auto;transition:transform .15s ease;transform-origin:center center}
        .lightbox-controls { position: absolute; top: 15px; right: 15px; display: flex; gap: 10px; z-index: 10001; }
        .lb-btn { background: rgba(255,255,255,0.2); color: #fff; border: none; width: 40px; height: 40px; border-radius: 50%; font-size: 1.1rem; cursor: pointer; backdrop-filter: blur(4px); }
        .lb-btn:hover { background: var(--green); }
        .lb-caption { position: absolute; bottom: 20px; color: #fff; font-size: 1rem; font-weight: 600; background: rgba(0,0,0,0.7); padding: 6px 16px; border-radius: 15px; }

        .contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
        .contact-info { display: flex; flex-direction: column; gap: 15px; }
        .info-card { display: flex; align-items: center; gap: 12px; background: var(--gray); padding: 15px; border-radius: 6px; }
        .info-card i { font-size: 1.3rem; color: var(--green); width: 25px; text-align: center; }
        .map-box { height: 320px; border-radius: 6px; overflow: hidden; }

        footer { 
          background: var(--dark); color: #888; text-align: center;  font-size: 0.85rem; width: 100%;
          height: 50vh;
        }
    

 .collection-select-wrap{max-width:520px;margin:0 auto 40px;text-align:center}
.collection-select-wrap label{display:block;margin-bottom:12px;font-size:.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#777}
.collection-select-wrap{position:relative}
#collection-select{appearance:none;-webkit-appearance:none;width:100%;height:62px;padding:0 55px 0 22px;border:1px solid #d8d8d8;border-radius:12px;background:#fff;color:#222;font-family:inherit;font-size:1rem;font-weight:700;letter-spacing:.5px;cursor:pointer;outline:none;box-shadow:0 6px 20px rgba(0,0,0,.06);transition:all .25s ease}
#collection-select:hover{border-color:#999;box-shadow:0 8px 25px rgba(0,0,0,.09);transform:translateY(-1px)}
#collection-select:focus{border-color:#222;box-shadow:0 0 0 4px rgba(0,0,0,.06),0 8px 25px rgba(0,0,0,.08)}
.collection-select-wrap:after{content:"⌄";position:absolute;right:22px;bottom:15px;font-size:25px;line-height:25px;color:#555;pointer-events:none}
        
.catalog-download{padding:55px 20px;background:#f5f5f3;text-align:center}
.catalog-download-inner{max-width:600px;margin:auto}
.catalog-download .catalog-kicker{display:block;margin-bottom:8px;font-size:.68rem;font-weight:700;letter-spacing:3px;color:#00a878}
.catalog-download h2{margin:0 0 10px;font-size:1.8rem;color:#222}
.catalog-download p{margin:0 0 22px;color:#777;font-size:.9rem}
.catalog-download-btn{display:inline-flex;align-items:center;gap:10px;padding:13px 23px;background:#222;color:#fff;text-decoration:none;border-radius:7px;font-size:.75rem;font-weight:700;letter-spacing:1px;transition:.25s}
.catalog-download-btn:hover{background:#444;transform:translateY(-2px)}
.catalog-download-btn i{font-size:.95rem}
/* --- SEKCJA O NAS - ZDJĘCIE Z TEKSTEM NA PRZYCIEMNIONYM PANELU --- */
#about {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;

    padding: 0 !important;
    min-height: 600px;
    overflow: hidden;

    display: flex;
    justify-content: flex-end;
    align-items: center;

    box-sizing: border-box;
    border-top: 3px solid var(--green);
    border-bottom: 3px solid var(--green);
}

/* Zdjęcie jako tło */
#about .about-bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

/* Przyciemnienie zdjęcia */
#about .about-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.40);
    z-index: 1;
}

/* Przyciemniony kawałek pod tekstem */
#about .about-content {
    position: relative;
    z-index: 2;

    max-width: 600px;
    margin-left: auto;
    margin-right: 5%;
    padding: 40px 45px;

    text-align: left;

    background: rgba(0, 0, 0, 0.62);
    border-radius: 15px;
    backdrop-filter: blur(3px);

    color: #ffffff;
}

/* Zielona etykieta */
#about .about-badge {
    display: inline-block;
    background: var(--green);
    color: #ffffff !important;
    padding: 6px 18px;
    border-radius: 20px;
    font-weight: 700;
    font-size: 0.85rem;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Nagłówek */
#about .about-content h2 {
    font-size: 2.3rem;
    font-weight: 800;
    margin-bottom: 20px;
    color: #ffffff !important;
    line-height: 1.2;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

/* Tekst */
#about .about-content p {
    font-size: 1.05rem;
    color: #f0f0f0 !important;
    line-height: 1.7;
    margin-bottom: 15px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    text-shadow: 0 1px 3px rgba(0,0,0,0.8);
}

#about .about-content p strong {
    color: #ffffff !important;
}

/* Lista zalet */
#about .about-features-list {
    margin: 25px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

#about .af-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #ffffff !important;
    font-size: 0.95rem;
    background: rgba(0, 0, 0, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 10px 16px;
    border-radius: 30px;
    backdrop-filter: blur(4px);
}

#about .af-item i {
    color: var(--green);
    font-size: 1.1rem;
}

/* Badge 30+ */
#about .about-experience-badge {
    background: var(--green);
    color: #ffffff !important;
    padding: 12px 25px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
    margin-top: 10px;
}

#about .exp-years {
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1;
    font-family: 'Montserrat', sans-serif;
    color: #ffffff !important;
}

#about .exp-text {
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    text-align: left;
    max-width: 120px;
    color: #ffffff !important;
}

@media (max-width: 768px) {
    #about {
        min-height: auto;
    }

    #about .about-content {
        margin: 30px 15px;
        padding: 30px 20px;
    }

    #about .about-content h2 {
        font-size: 1.7rem;
    }

    #about .about-features-list {
        flex-direction: column;
        align-items: center;
    }

    #about .af-item {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

.prem-kick{
  display:block;
  margin-bottom:12px;
  color:#008e51;
  font-size:9px;
  font-weight:900;
  letter-spacing:2.6px;
}



/* ===== PREMIUM FOOTER - MŁOT MEBLE ===== */

.premium-footer {
  position: relative;
  width: 100%;
  background: #171513;
  color: #e8e3dc;
  overflow: hidden;
  font-family: inherit;
}

/* Główna część stopki */
.footer-main {
  max-width: 1440px;
  margin: 0 auto;
  padding: 75px 5% 60px;
  display: grid;
  grid-template-columns: 1.25fr 1fr 0.85fr 1fr;
  gap: 65px;
}

/* Kolumny */
.footer-column {
  min-width: 0;
}

.footer-column h3 {
  margin: 0 0 20px;
  color: #c5a477;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 4px;
}

.footer-line {
  display: block;
  width: 46px;
  height: 2px;
  background: #c5a477;
  margin-bottom: 28px;
}

/* O nas */
.footer-about h4 {
  margin: 0 0 12px;
  color: #f1ece5;
  font-size: 25px;
  font-weight: 500;
}

.footer-about p {
  max-width: 320px;
  margin: 0;
  color: #c5c0b9;
  font-size: 16px;
  line-height: 1.8;
}

.footer-about-line {
  display: block;
  width: 85px;
  height: 2px;
  margin-top: 30px;
  background: #c5a477;
}

/* Kontakt */
.footer-contact-list,
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-contact-list {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.footer-contact-list li {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  color: #ded8d0;
  font-size: 16px;
  line-height: 1.6;
}

.footer-contact-list i {
  width: 20px;
  margin-top: 5px;
  color: #c5a477;
  font-size: 17px;
  flex-shrink: 0;
}

.footer-contact-list a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-contact-list a:hover {
  color: #c5a477;
}

/* Linki */
.footer-links {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.footer-links a {
  position: relative;
  display: inline-block;
  color: #ded8d0;
  font-size: 16px;
  text-decoration: none;
  transition: color 0.3s ease,
              transform 0.3s ease;
}

.footer-links a::before {
  content: "›";
  display: inline-block;
  margin-right: 15px;
  color: #c5a477;
  font-size: 21px;
  transition: transform 0.3s ease;
}

.footer-links a:hover {
  color: #c5a477;
  transform: translateX(4px);
}

/* Ikony social media w stopce */
.footer-social-icons {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 4px;
}

.footer-social-icons li {
  margin: 0;
  padding: 0;
}

.footer-social-icons a {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(197, 164, 119, 0.65);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.04);
  color: #c5a477;
  font-size: 19px;
  text-decoration: none;
  transition: color 0.3s ease, background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.footer-social-icons a::before {
  display: none;
}

.footer-social-icons a:hover {
  color: #fff;
  background: #c5a477;
  border-color: #c5a477;
  transform: translateY(-3px);
}

/* Social media */

.footer-social-description {
  margin: 0 0 20px;
  color: #bdb6ad;
  font-size: 14px;
  line-height: 1.8;
}

.footer-social-links a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #c5a477;
  font-size: 14px;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-social-links a:hover {
  color: #e8d2b2;
}

.footer-social-links a span {
  font-size: 18px;
}

/* Dolny napis — sam dół, idealnie na środku, bez osobnego tła */
.footer-bottom {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12px 20px 8px;
  margin-top: auto;
  border-top: none;
  background: transparent !important;
  box-shadow: none !important;
}

.footer-bottom p {
  margin: 0;
  text-align: center;
  color: #aaa39a;
  font-size: 13px;
  line-height: 1.6;
}

/* ===== TABLET ===== */
@media (max-width: 1000px) {
  .footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 45px;
    padding: 60px 6% 50px;
  }
}

/* ===== TELEFON ===== */
@media (max-width: 600px) {
  .footer-main {
    grid-template-columns: 1fr;
    gap: 38px;
    padding: 48px 24px 40px;
  }

  .footer-column h3 {
    font-size: 14px;
    letter-spacing: 3px;
  }

  .footer-about h4 {
    font-size: 23px;
  }

  .footer-about p {
    font-size: 15px;
  }

  .footer-contact-list li,
  .footer-links a {
    font-size: 15px;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 20px 24px;
  }

  .footer-bottom p {
    font-size: 12px;
  }
}

/* =========================================================
   NOWY KATALOG SHOWROOM — JEDNO DUŻE ZDJĘCIE + SLIDER
   ========================================================= */

#oferta.catalog-section {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 85px 24px 100px;
    background: #f5f7f6;
    box-sizing: border-box;
}

.catalog-inner {
    width: min(1240px, 100%);
    margin: 0 auto;
}

.catalog-title {
    margin-bottom: 38px;
}

.catalog-kicker {
    display: inline-block;
    color: var(--green);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: 2.5px;
    margin-bottom: 10px;
}

#oferta .catalog-title h2 {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 850;
    letter-spacing: -1px;
}

#oferta .catalog-title p {
    max-width: 650px;
    margin: 14px auto 0;
    color: #707570;
    font-size: .98rem;
}

#oferta .collections-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin: 0 auto 28px;
}

#oferta .c-btn {
    background: rgba(255,255,255,.85);
    color: #343734;
    border: 1px solid #dfe4e0;
    padding: 10px 17px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .3px;
    transition: .25s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,.03);
}

#oferta .c-btn:hover {
    transform: translateY(-2px);
    border-color: var(--green);
    color: var(--green);
}

#oferta .c-btn.active {
    background: var(--green);
    border-color: var(--green);
    color: #fff;
    box-shadow: 0 7px 18px rgba(0,154,68,.20);
}

#oferta .coll-header {
    width: 100%;
    max-width: 1240px;
    box-sizing: border-box;
    margin: 0 auto 18px;
    padding: 19px 23px;
    background: #fff;
    border: 1px solid #e6ebe7;
    border-left: 4px solid var(--green);
    border-radius: 12px;
    box-shadow: 0 5px 22px rgba(0,0,0,.045);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

#oferta .coll-header h3 {
    margin: 2px 0 3px;
    color: var(--dark);
    font-size: 1.35rem;
    font-weight: 850;
}

#oferta .coll-header p {
    margin: 0;
    color: #777;
    font-size: .86rem;
}

.coll-label {
    color: var(--green);
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: 1.5px;
}

.collection-total {
    flex: 0 0 auto;
    background: #f0f6f2;
    color: var(--green-dark);
    border-radius: 999px;
    padding: 8px 13px;
    font-size: .75rem;
    font-weight: 800;
}

.showroom {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
}

.showroom-main {
    flex: 1;
    min-width: 0;
}

.showroom-photo-wrap {
    position: relative;
    width: 100%;
    height: min(67vh, 650px);
    min-height: 400px;
    background: #e9ecea;
    border-radius: 18px;
    overflow: hidden;
    cursor: zoom-in;
    box-shadow: 0 16px 45px rgba(0,0,0,.11);
    border: 1px solid #e3e7e4;
}

.showroom-photo-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(to top, rgba(0,0,0,.18), transparent 30%);
}

#showroom-img {
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    background:#f0f1f0;
    transition:opacity .18s ease, transform .24s cubic-bezier(.22,.7,.2,1), filter .18s ease;
    will-change:opacity,transform;
}
#showroom-img.is-changing{
    opacity:.18;
    transform:scale(.992);
    filter:blur(1.5px);
}
#showroom-img.slide-right{animation:showroomSlideRight .24s cubic-bezier(.22,.7,.2,1) both;}
#showroom-img.slide-left{animation:showroomSlideLeft .24s cubic-bezier(.22,.7,.2,1) both;}
@keyframes showroomSlideRight{
    from{opacity:.55;transform:translateX(10px) scale(.995)}
    to{opacity:1;transform:translateX(0) scale(1)}
}
@keyframes showroomSlideLeft{
    from{opacity:.55;transform:translateX(-10px) scale(.995)}
    to{opacity:1;transform:translateX(0) scale(1)}
}

#showroom-img.is-changing {
    opacity: .25;
    transform: scale(.985);
}

.photo-hint {
    position: absolute;
    right: 18px;
    bottom: 17px;
    z-index: 2;
    padding: 9px 13px;
    border-radius: 999px;
    background: rgba(0,0,0,.58);
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
    backdrop-filter: blur(8px);
}

.photo-hint i { margin-right: 6px; }

.showroom-arrow {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    border: 1px solid #dfe5e1;
    border-radius: 50%;
    background: #fff;
    color: #222;
    font-size: 1rem;
    cursor: pointer;
    box-shadow: 0 5px 18px rgba(0,0,0,.07);
    transition: .25s ease;
    z-index: 3;
}

.showroom-arrow:hover:not(:disabled) {
    background: var(--green);
    border-color: var(--green);
    color: #fff;
    transform: scale(1.07);
}

.showroom-arrow:disabled { opacity: .35; cursor: default; }

.showroom-info {
    margin-top: 14px;
    padding: 20px 22px;
    background: #fff;
    border: 1px solid #e6ebe7;
    border-radius: 14px;
    box-shadow: 0 5px 22px rgba(0,0,0,.045);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}

.zdjęcia-counter {
    display: inline-block;
    color: var(--green);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: 1px;
    margin-bottom: 4px;
}

#showroom-name {
    margin: 0;
    color: #202320;
    font-size: 1.25rem;
    font-weight: 850;
}

#showroom-desc {
    margin: 4px 0 0;
    color: #777;
    font-size: .84rem;
}

.showroom-controls {
    display: flex;
    align-items: center;
    gap: 10px;
}

.control-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border: 1px solid #dfe4e0;
    border-radius: 9px;
    background: #fff;
    color: #303330;
    font-size: .75rem;
    font-weight: 800;
    cursor: pointer;
    transition: .2s ease;
}

.control-btn:hover {
    border-color: var(--green);
    color: var(--green);
}

.control-next {
    background: var(--green);
    border-color: var(--green);
    color: #fff;
}

.control-next:hover { background: var(--green-dark); color: #fff; }

.slide-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    max-width: 180px;
    overflow: hidden;
}

.slide-dot {
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #cdd3cf;
    cursor: pointer;
    transition: .2s ease;
}

.slide-dot.active {
    width: 22px;
    border-radius: 999px;
    background: var(--green);
}

/* NOWY LIGHTBOX */
body.lightbox-open { overflow: hidden; }

.lightbox {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 25px;
    box-sizing: border-box;
    background: rgba(8,10,9,.96);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .25s ease, visibility .25s ease;
}

.lightbox.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.lightbox-content {
    position: relative;
    width: min(1200px, 92vw);
    height: min(88vh, 850px);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.lightbox-img-wrapper {
    width: 100%;
    height: calc(100% - 100px);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    touch-action: none;
}

.lightbox img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform .12s ease;
    transform-origin: center center;
    user-select: none;
}

.lb-close,
.lb-nav,
.lb-tool {
    border: 0;
    cursor: pointer;
    color: #fff;
    background: rgba(255,255,255,.10);
    backdrop-filter: blur(10px);
    transition: .2s ease;
}

.lb-close {
    position: absolute;
    top: 20px;
    right: 22px;
    width: 46px;
    height: 46px;
    z-index: 4;
    border-radius: 50%;
    font-size: 1.2rem;
}

.lb-close:hover,
.lb-nav:hover,
.lb-tool:hover { background: var(--green); }

.lb-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 52px;
    height: 52px;
    border-radius: 50%;
    z-index: 3;
    font-size: 1rem;
}

.lb-prev { left: 25px; }
.lb-next { right: 25px; }

.lightbox-counter {
    position: absolute;
    top: 0;
    left: 0;
    color: rgba(255,255,255,.72);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: 1px;
}

.lb-caption {
    max-width: 80%;
    margin-top: 10px;
    color: #fff;
    text-align: center;
    font-size: .9rem;
    font-weight: 700;
}

.lightbox-tools {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 7px;
}

.lb-tool {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    font-size: .85rem;
}

@media (max-width: 850px) {
    #oferta.catalog-section { padding: 60px 15px 70px; }
    #oferta .collections-menu {
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 4px 2px 12px;
        scrollbar-width: none;
    }
    #oferta .collections-menu::-webkit-scrollbar { display: none; }
    #oferta .c-btn { flex: 0 0 auto; }

    #oferta .coll-header { padding: 16px 18px; }
    .showroom { gap: 8px; }
    .showroom-arrow { flex-basis: 42px; width: 42px; height: 42px; }
    .showroom-photo-wrap { height: 55vh; min-height: 350px; border-radius: 13px; }
    .showroom-info { flex-direction: column; align-items: stretch; padding: 17px; gap: 15px; }
    .showroom-controls { justify-content: space-between; }
}

@media (max-width: 560px) {
    #oferta.catalog-section { padding: 48px 10px 60px; }
    #oferta .catalog-title { margin-bottom: 25px; }
    #oferta .catalog-title h2 { font-size: 1.8rem; }
    #oferta .catalog-title p { font-size: .86rem; }

    #oferta .coll-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
        margin-bottom: 10px;
    }

    .showroom { gap: 5px; }
    .showroom-arrow {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
        font-size: .8rem;
    }

    .showroom-photo-wrap {
        height: 52vh;
        min-height: 280px;
        border-radius: 11px;
    }

    .photo-hint {
        right: 9px;
        bottom: 9px;
        font-size: .62rem;
        padding: 7px 9px;
    }

    .showroom-info { margin-top: 9px; }
    #showroom-name { font-size: 1.05rem; }
    #showroom-desc { font-size: .76rem; }

    .showroom-controls { gap: 6px; }
    .control-btn { padding: 9px 10px; font-size: .68rem; }
    .control-btn span { display: none; }
    .slide-dots { max-width: 105px; }

    .lightbox { padding: 12px; }
    .lightbox-content { width: 100%; height: 88vh; }
    .lightbox-img-wrapper { height: calc(100% - 75px); }
    .lb-nav { width: 40px; height: 40px; }
    .lb-prev { left: 8px; }
    .lb-next { right: 8px; }
    .lb-close { top: 10px; right: 10px; width: 40px; height: 40px; }
    .lightbox-counter { top: 3px; left: 8px; }
    .lb-caption { font-size: .78rem; }
}


/* =========================================================
   PERFORMANCE + MOBILE POLISH
   ========================================================= */

html { scroll-padding-top: 70px; }
img { max-width: 100%; }


header {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.showroom-photo-wrap,
.item-card,
#about .about-content {
    contain: layout paint;
}

#showroom-img {
    will-change: opacity;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

@media (max-width: 768px) {
    nav {
        padding: 8px 12px;
        gap: 8px;
    }

    .logo-box {
        min-width: 0;
        gap: 7px;
    }

    .nav-logo-img {
        height: 34px;
    }

    .logo-text {
        font-size: .95rem;
    }

    .logo-sub {
        font-size: .56rem;
    }

    .nav-links {
        gap: 2px;
        margin-left: auto;
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .nav-links::-webkit-scrollbar {
        display: none;
    }

    nav a {
        padding: 9px 7px;
        font-size: .68rem;
        letter-spacing: .3px;
        white-space: nowrap;
    }

    nav a::after {
        left: 7px;
        right: 7px;
        bottom: 3px;
    }

    #home {
        min-height: 68svh;
        padding: 80px 18px 65px;
        background-position: center;
    }

    .hero-content h1 {
        font-size: clamp(2rem, 9vw, 2.65rem);
        line-height: 1.1;
        margin-bottom: 14px;
    }

    .hero-content p {
        font-size: .95rem;
        line-height: 1.55;
        margin-bottom: 22px;
    }

    .hero-btn {
        width: 100%;
        max-width: 280px;
        padding: 13px 20px;
    }

    .features-bar {
        padding: 20px 12px;
    }

    .f-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px 8px;
    }

    .f-item i {
        font-size: 1.5rem;
    }

    .f-item h4 {
        font-size: .82rem;
    }

    .f-item p {
        font-size: .68rem;
        line-height: 1.35;
    }

    #about {
        min-height: 0;
        border-width: 2px;
    }

    #about .about-bg-img {
        height: 100%;
        min-height: 720px;
        object-position: center;
    }

    #about .about-content {
        margin: 24px 12px;
        padding: 25px 18px;
        border-radius: 14px;
        background: rgba(0,0,0,.70);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    #about .about-content h2 {
        font-size: 1.55rem;
    }

    #about .about-content p {
        font-size: .9rem;
        line-height: 1.6;
    }

    #about .about-features-list {
        align-items: stretch;
        gap: 8px;
        margin: 18px 0;
    }

    #about .af-item {
        width: 100%;
        justify-content: flex-start;
        text-align: left;
        font-size: .8rem;
        padding: 10px 12px;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    #about .about-experience-badge {
        padding: 10px 16px;
    }

    #oferta.catalog-section {
        padding: 44px 10px 55px;
    }

    #oferta .catalog-title h2 {
        font-size: clamp(1.8rem, 8vw, 2.2rem);
    }

    #oferta .catalog-title p {
        line-height: 1.5;
    }

    #oferta .coll-header {
        padding: 14px;
    }

    #oferta .coll-header h3 {
        font-size: 1.08rem;
    }

    .showroom {
        gap: 4px;
    }

    .showroom-arrow {
        flex: 0 0 36px;
        width: 36px;
        height: 36px;
        box-shadow: 0 3px 10px rgba(0,0,0,.08);
    }

    .showroom-photo-wrap {
        height: 58svh;
        min-height: 280px;
        max-height: 560px;
        border-radius: 12px;
        box-shadow: 0 8px 24px rgba(0,0,0,.09);
    }

    .photo-hint {
        right: 8px;
        bottom: 8px;
        padding: 6px 9px;
        font-size: .6rem;
    }

    .showroom-info {
        margin-top: 8px;
        padding: 14px;
        border-radius: 12px;
        gap: 12px;
    }

    #showroom-name {
        font-size: 1rem;
    }

    #showroom-desc {
        font-size: .75rem;
        line-height: 1.45;
    }

    .slide-dots {
        max-width: 120px;
    }

    #kontakt {
        padding: 45px 14px;
    }

    .contact-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .info-card {
        padding: 13px;
        font-size: .86rem;
    }

    .map-box {
        height: 280px;
    }

    .catalog-download {
        padding: 45px 16px;
    }

    .catalog-download h2 {
        font-size: 1.5rem;
    }

    .catalog-download-btn {
        width: 100%;
        justify-content: center;
        padding: 14px 16px;
    }

    footer {
        padding: 14px 12px;
        font-size: .72rem;
        gap: 10px;
        flex-wrap: wrap;
    }
}

@media (max-width: 420px) {
    .logo-text {
        font-size: .82rem;
    }

    .logo-sub {
        display: none;
    }

    .nav-links a {
        font-size: .62rem;
        padding-left: 5px;
        padding-right: 5px;
    }

    #home {
        min-height: 64svh;
    }

    .f-grid {
        gap: 15px 5px;
    }

    .showroom-photo-wrap {
        height: 55svh;
        min-height: 255px;
    }

    .showroom-arrow {
        flex-basis: 32px;
        width: 32px;
        height: 32px;
        font-size: .72rem;
    }
}

/* Less GPU-heavy than blur on weaker phones */
@media (max-width: 768px) {
    .lb-close,
    .lb-nav,
    .lb-tool {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        background: rgba(30,30,30,.72);
    }
}


/* =========================================================
   NOWE ANIMACJE — MŁOT MEBLE
   Dopisane do istniejącego CSS
========================================================= */

.reveal-scroll {
    opacity: 0;
    transform: translateY(45px);
    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.2,.75,.2,1);
}

.reveal-scroll.visible {
    opacity: 1;
    transform: translateY(0);
}

.reveal-image {
    opacity: 0;
    transform: scale(.96) translateY(20px);
    transition:
        opacity .9s ease,
        transform 1s cubic-bezier(.16,1,.3,1);
}

.reveal-image.visible {
    opacity: 1;
    transform: scale(1) translateY(0);
}

/* Hero: subtelny ruch Twojego zdjęcia L1.webp */
#home {
    isolation: isolate;
    overflow: hidden;
}

#home::before {
    content: "";
    position: absolute;
    inset: -3%;
    z-index: -2;
    background:
        linear-gradient(rgba(0,0,0,.60), rgba(0,0,0,.60)),
        url("meb/L1.webp") center / cover no-repeat;
    animation: heroKenBurns 14s ease-in-out infinite alternate;
}

#home::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 45%, rgba(0,154,68,.08), transparent 38%),
        linear-gradient(to bottom, rgba(0,0,0,.08), rgba(0,0,0,.18));
}

.hero-content {
    position: relative;
    z-index: 2;
}

@keyframes heroKenBurns {
    from { transform: scale(1); }
    to   { transform: scale(1.045); }
}

/* Hero tekst */
.hero-content h1,
.hero-content p,
.hero-btn {
    opacity: 0;
    animation: heroEnter .85s cubic-bezier(.2,.75,.2,1) forwards;
}

.hero-content h1 { animation-delay: .15s; }
.hero-content p  { animation-delay: .30s; }
.hero-btn        { animation-delay: .45s; }

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

/* Pasek zalet */
.f-item {
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        background .35s ease;
}

.f-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 28px rgba(0,0,0,.15);
}

.f-item i {
    transition: transform .4s ease;
}

.f-item:hover i {
    transform: scale(1.14) rotate(-4deg);
}

/* O nas — Twoje Gl.webp */
#about .about-bg-img {
    transition: transform 1.2s cubic-bezier(.2,.7,.2,1);
}

#about:hover .about-bg-img {
    transform: scale(1.035);
}

#about .about-content {
    animation: aboutFloat 5s ease-in-out infinite;
}

@keyframes aboutFloat {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-4px); }
}

/* Kafelki zalet */
#about .af-item {
    transition:
        transform .3s ease,
        background .3s ease,
        border-color .3s ease;
}

#about .af-item:hover {
    transform: translateX(6px);
    background: rgba(0,154,68,.18);
    border-color: rgba(0,154,68,.55);
}

/* Badge 30+ */
#about .about-experience-badge {
    animation: experiencePulse 3.5s ease-in-out infinite;
}

@keyframes experiencePulse {
    0%, 100% {
        transform: translateY(0);
        box-shadow: 0 4px 20px rgba(0,0,0,.35);
    }
    50% {
        transform: translateY(-4px);
        box-shadow: 0 10px 28px rgba(0,154,68,.25);
    }
}

/* Wybór kolekcji */
#collection-select {
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

#collection-select:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(0,0,0,.10);
}

/* Nagłówek kolekcji */
#oferta .coll-header {
    animation: collectionHeaderIn .45s ease both;
}

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

/* Główne zdjęcie showroomu */
.showroom-photo-wrap {
    transition:
        transform .25s cubic-bezier(.2,.7,.2,1),
        box-shadow .25s ease;
}

.showroom-photo-wrap:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 55px rgba(0,0,0,.16);
}

#showroom-img {
    transition:
        opacity .35s ease,
        transform .55s cubic-bezier(.2,.7,.2,1),
        filter .35s ease;
    will-change: opacity, transform;
}

#showroom-img.is-changing {
    opacity: 0;
    transform: scale(.965) translateX(12px);
    filter: blur(4px);
}

/* Delikatny "shine" po najechaniu */
.showroom-photo-wrap::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 65%;
    height: 100%;
    z-index: 3;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.16),
        transparent
    );
    transform: skewX(-18deg);
    transition: left .9s ease;
}

.showroom-photo-wrap:hover::before {
    left: 145%;
}

/* Strzałki */
.showroom-arrow {
    transition:
        transform .3s ease,
        background .3s ease,
        box-shadow .3s ease;
}

.showroom-arrow:hover:not(:disabled) {
    transform: scale(1.10);
    box-shadow: 0 10px 25px rgba(0,154,68,.22);
}

/* Informacje pod zdjęciem */
.showroom-info {
    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.showroom-info:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

/* Kropki */
.slide-dot {
    transition:
        width .3s ease,
        transform .25s ease,
        background .25s ease;
}

.slide-dot:hover {
    transform: scale(1.35);
}

/* Lightbox */
.lightbox.is-open .lightbox-content {
    animation: lightboxIn .45s cubic-bezier(.2,.75,.2,1) both;
}

@keyframes lightboxIn {
    from {
        opacity: 0;
        transform: scale(.93) translateY(18px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.lb-close,
.lb-nav,
.lb-tool {
    transition:
        transform .25s ease,
        background .25s ease;
}

.lb-close:hover {
    transform: rotate(8deg) scale(1.08);
}

.lb-nav:hover,
.lb-tool:hover {
    transform: scale(1.08);
}

/* Kontakt */
.info-card {
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.info-card:hover {
    transform: translateX(6px);
    box-shadow: 0 12px 30px rgba(0,0,0,.08);
    border-color: rgba(0,154,68,.25);
}

.info-card i {
    transition: transform .35s ease;
}

.info-card:hover i {
    transform: scale(1.12);
}

/* Mapa */
.map-box {
    transition:
        transform .45s ease,
        box-shadow .45s ease;
}

.map-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 45px rgba(0,0,0,.13);
}

/* Katalog */
.catalog-download-inner {
    transition: transform .4s ease;
}

.catalog-download-inner:hover {
    transform: translateY(-3px);
}

.catalog-download-btn {
    position: relative;
    overflow: hidden;
}

.catalog-download-btn::after {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 70%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.20),
        transparent
    );
    transform: skewX(-20deg);
    transition: left .75s ease;
}

.catalog-download-btn:hover::after {
    left: 145%;
}

/* Stop animacji, jeśli użytkownik ma w systemie redukcję ruchu */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}


/* =========================================================
   MODERN LOOK 2026 — OPINIE GOOGLE + CTA + POLISH
========================================================= */

:root {
    --green: #0a9f61;
    --green-dark: #087c4c;
    --ink: #151817;
    --muted: #6d746f;
    --soft: #f4f6f4;
    --line: #e4e9e5;
}

/* Delikatnie bardziej premium */
body {
    background: #fff;
    color: var(--ink);
}

section {
    scroll-margin-top: 82px;
}

.section-title h2,
.catalog-title h2 {
    letter-spacing: -1.3px;
}

/* =========================================================
   OPINIE GOOGLE
========================================================= */

.reviews-section {
    position: relative;
    width: 100%;
    padding: 86px 20px;
    background:
        radial-gradient(circle at 10% 20%, rgba(10,159,97,.08), transparent 28%),
        radial-gradient(circle at 90% 80%, rgba(10,159,97,.05), transparent 30%),
        #fbfcfb;
    border-top: 1px solid #edf0ee;
    border-bottom: 1px solid #edf0ee;
}

.reviews-inner {
    width: min(1120px, 100%);
    margin: 0 auto;
}

.reviews-heading {
    max-width: 720px;
    margin: 0 auto 34px;
    text-align: center;
}

.reviews-kicker {
    display: inline-block;
    margin-bottom: 9px;
    color: var(--green);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: 2.8px;
}

.reviews-heading h2 {
    margin: 0;
    color: #171a18;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.08;
    letter-spacing: -1.5px;
}

.reviews-heading p {
    max-width: 610px;
    margin: 14px auto 0;
    color: var(--muted);
    font-size: .96rem;
}

.reviews-card {
    display: grid;
    grid-template-columns: 1fr auto 1.25fr auto;
    align-items: center;
    gap: 30px;
    padding: 28px 32px;
    border: 1px solid #e2e8e3;
    border-radius: 22px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 50px rgba(20,35,26,.08);
    transition: transform .35s ease, box-shadow .35s ease;
}

.reviews-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 25px 65px rgba(20,35,26,.12);
}

.google-mark {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #333;
    font-size: .82rem;
    font-weight: 800;
    white-space: nowrap;
}

.google-g {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #f4f7f5;
    font-family: Arial, sans-serif;
    font-size: 1.4rem;
    font-weight: 900;
}

.reviews-main {
    text-align: center;
    min-width: 120px;
}

.rating-number {
    font-family: 'Montserrat', sans-serif;
    font-size: 2.7rem;
    line-height: .95;
    font-weight: 900;
    letter-spacing: -2px;
}

.rating-stars {
    display: flex;
    justify-content: center;
    gap: 3px;
    margin: 8px 0 5px;
    color: #fbbc04;
    font-size: .9rem;
}

.rating-count {
    color: #858b87;
    font-size: .72rem;
    font-weight: 700;
}

.reviews-copy {
    display: flex;
    flex-direction: column;
    gap: 3px;
    color: #777;
    font-size: .79rem;
    line-height: 1.45;
}

.reviews-copy strong {
    color: #1b1e1c;
    font-size: .95rem;
}

.reviews-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 17px;
    border-radius: 10px;
    background: #171a18;
    color: #fff;
    text-decoration: none;
    font-size: .73rem;
    font-weight: 800;
    white-space: nowrap;
    transition: transform .25s ease, background .25s ease;
}

.reviews-button:hover {
    background: var(--green);
    transform: translateY(-2px);
}

/* =========================================================
   NOWOCZESNY CTA
========================================================= */

.modern-cta {
    position: relative;
    width: 100%;
    min-height: 410px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    isolation: isolate;
    color: #fff;
}

.modern-cta-bg {
    position: absolute;
    inset: -3%;
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(5,18,12,.92), rgba(5,18,12,.58)),
        url("zdfi/firma.webp") center / cover no-repeat;
    transition: transform 1s ease;
}

.modern-cta:hover .modern-cta-bg {
    transform: scale(1.035);
}

.modern-cta-content {
    width: min(850px, calc(100% - 40px));
    text-align: center;
    padding: 75px 20px;
}

.modern-cta-content > span {
    display: block;
    margin-bottom: 12px;
    color: #7ce3b1;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: 3px;
}

.modern-cta-content h2 {
    margin: 0 auto;
    max-width: 800px;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(2rem, 5vw, 3.6rem);
    line-height: 1.05;
    letter-spacing: -2px;
}

.modern-cta-content p {
    max-width: 650px;
    margin: 18px auto 28px;
    color: rgba(255,255,255,.78);
    font-size: .96rem;
}

.modern-cta-buttons {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.cta-primary,
.cta-secondary {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 10px;
    text-decoration: none;
    font-size: .75rem;
    font-weight: 850;
    transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

.cta-primary {
    background: var(--green);
    color: #fff;
}

.cta-secondary {
    border: 1px solid rgba(255,255,255,.28);
    background: rgba(255,255,255,.08);
    color: #fff;
}

.cta-primary:hover,
.cta-secondary:hover {
    transform: translateY(-3px);
}

.cta-primary:hover {
    background: #0bb873;
}

.cta-secondary:hover {
    border-color: rgba(255,255,255,.65);
    background: rgba(255,255,255,.14);
}

/* =========================================================
   PŁYWAJĄCY KONTAKT
========================================================= */

.floating-contact {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 1500;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 12px 16px;
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    text-decoration: none;
    box-shadow: 0 12px 30px rgba(0,0,0,.18);
    font-size: .72rem;
    font-weight: 850;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.floating-contact:hover {
    transform: translateY(-4px);
    background: var(--green-dark);
    box-shadow: 0 18px 38px rgba(0,0,0,.22);
}

.floating-contact i {
    font-size: .95rem;
}

/* =========================================================
   DROBNE ULEPSZENIA ISTNIEJĄCYCH ELEMENTÓW
========================================================= */

header {
    border-bottom: 1px solid rgba(0,0,0,.04);
}

.hero-btn,
.catalog-download-btn {
    border-radius: 10px;
}

.features-bar {
    background: linear-gradient(110deg, #121715, #1a211d);
}

.item-card {
    border-color: #e7ebe8;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,.055);
}

.item-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 40px rgba(0,0,0,.11);
}

.img-box img {
    transition: transform .65s cubic-bezier(.2,.75,.2,1);
}

.item-card:hover .img-box img {
    transform: scale(1.045);
}

.info-card {
    border: 1px solid transparent;
}

@media (max-width: 900px) {
    .reviews-card {
        grid-template-columns: 1fr 1fr;
        gap: 22px;
    }

    .google-mark {
        justify-self: center;
    }

    .reviews-button {
        justify-self: center;
    }
}

@media (max-width: 600px) {
    .reviews-section {
        padding: 62px 14px;
    }

    .reviews-heading h2 {
        font-size: 1.85rem;
    }

    .reviews-card {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 24px 18px;
        border-radius: 17px;
    }

    .google-mark,
    .reviews-button {
        justify-self: center;
    }

    .reviews-copy {
        align-items: center;
    }

    .modern-cta {
        min-height: 470px;
    }

    .modern-cta-content {
        padding: 60px 12px;
    }

    .modern-cta-content h2 {
        letter-spacing: -1px;
    }

    .cta-primary,
    .cta-secondary {
        width: min(330px, 100%);
        justify-content: center;
    }

    .floating-contact {
        right: 12px;
        bottom: 12px;
        padding: 12px 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .reviews-card,
    .modern-cta-bg,
    .item-card,
    .img-box img,
    .floating-contact {
        transition: none !important;
    }
}



/* ===== ZAUFANIE / PREMIUM ===== */
.trust-section{
  position:relative;
  padding:115px 0 105px;
  background:#f5f6f3;
  overflow:hidden;
}
.trust-section::before{
  content:"";
  position:absolute;
  width:620px;
  height:620px;
  right:-300px;
  top:-300px;
  border-radius:50%;
  background:rgba(10,159,97,.075);
}
.trust-inner{
  position:relative;
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}
.trust-top{
  display:grid;
  grid-template-columns:1.1fr .75fr;
  gap:80px;
  align-items:end;
  margin-bottom:55px;
}
.trust-top .eyebrow,
.trust-reviews-head .eyebrow{
  display:block;
  margin-bottom:13px;
  color:var(--green,#0a9f61);
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
}
.trust-top h2{
  margin:0;
  font-size:clamp(38px,5vw,68px);
  line-height:.98;
  letter-spacing:-.055em;
}
.trust-top h2 span{color:var(--green,#0a9f61);}
.trust-intro p{
  margin:0 0 22px;
  color:#69736d;
  line-height:1.8;
  font-size:15px;
}
.trust-button{
  display:inline-flex;
  align-items:center;
  min-height:48px;
  padding:0 21px;
  border-radius:999px;
  background:#111;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  transition:.25s ease;
}
.trust-button:hover{
  background:var(--green,#0a9f61);
  transform:translateY(-2px);
}
.trust-score{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:32px 36px;
  border:1px solid rgba(17,28,22,.08);
  border-radius:28px;
  background:#fff;
  box-shadow:0 22px 70px rgba(21,35,27,.08);
  margin-bottom:70px;
}
.score-main{
  display:flex;
  align-items:center;
  gap:24px;
}
.score-number{
  font-size:70px;
  line-height:.9;
  font-weight:900;
  letter-spacing:-.06em;
}
.score-stars{
  color:#f4b400;
  font-size:23px;
  letter-spacing:.12em;
  margin-bottom:7px;
}
.score-main strong,.score-main span{display:block;}
.score-main strong{font-size:16px;}
.score-main span{margin-top:4px;color:#7a827e;font-size:13px;}
.score-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  min-width:52%;
}
.score-points div{
  padding:16px;
  border-radius:18px;
  background:#f5f7f4;
}
.score-points b{
  display:block;
  margin-bottom:9px;
  color:var(--green,#0a9f61);
  font-size:11px;
}
.score-points span{
  display:block;
  font-size:13px;
  font-weight:750;
  line-height:1.35;
}
.trust-reviews-head{margin-bottom:25px;}
.trust-reviews-head h3{
  margin:0;
  font-size:clamp(27px,3vw,40px);
  letter-spacing:-.035em;
}
.trust-review-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.trust-review{
  padding:28px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(17,28,22,.08);
  box-shadow:0 12px 38px rgba(21,35,27,.05);
  transition:.3s ease;
}
.trust-review:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 55px rgba(21,35,27,.09);
}
.review-stars{
  color:#f4b400;
  font-size:19px;
  letter-spacing:.13em;
  margin-bottom:22px;
}
.trust-review p{
  margin:0 0 10px;
  font-size:21px;
  font-weight:850;
  letter-spacing:-.02em;
}
.trust-review span{
  color:#7a827e;
  font-size:13px;
  line-height:1.55;
}
.trust-source{
  margin:20px 0 0;
  color:#8a918d;
  font-size:11px;
  line-height:1.6;
}
@media(max-width:900px){
  .trust-top{grid-template-columns:1fr;gap:25px;}
  .trust-score{align-items:flex-start;flex-direction:column;}
  .score-points{width:100%;}
}
@media(max-width:650px){
  .trust-section{padding:80px 0;}
  .trust-inner{width:min(100% - 28px,1180px);}
  .trust-top h2{font-size:42px;}
  .trust-score{padding:25px;}
  .score-main{gap:17px;}
  .score-number{font-size:55px;}
  .score-points,.trust-review-grid{grid-template-columns:1fr;}
  .trust-review{padding:23px;}
}
@media(prefers-reduced-motion:reduce){
  .trust-button,.trust-review{transition:none;}
}


/* ===== PŁYNNIEJSZY SCROLL + NOWY UKŁAD OPINII ===== */
html{scroll-behavior:smooth;scroll-padding-top:92px;}
body{overflow-x:hidden;}
.reviews-section{
  position:relative;
  padding:96px 0 88px;
  background:#f5f6f3;
  overflow:hidden;
}
.reviews-inner{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}
.reviews-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  margin-bottom:34px;
}
.reviews-heading .eyebrow{
  display:block;
  margin-bottom:12px;
  color:var(--green,#0a9f61);
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
}
.reviews-heading h2{
  margin:0;
  font-size:clamp(34px,4.6vw,62px);
  line-height:.98;
  letter-spacing:-.055em;
}
.reviews-heading h2 span{color:var(--green,#0a9f61);}
.reviews-summary{
  display:flex;
  align-items:center;
  gap:17px;
  padding:15px 18px;
  border:1px solid rgba(17,28,22,.08);
  border-radius:20px;
  background:#fff;
  white-space:nowrap;
}
.reviews-rating{
  padding-right:17px;
  border-right:1px solid #e8ebe7;
}
.reviews-rating b{
  display:block;
  font-size:35px;
  line-height:1;
  letter-spacing:-.05em;
}
.reviews-rating span{
  color:#f4b400;
  font-size:14px;
  letter-spacing:.08em;
}
.reviews-summary strong,.reviews-summary small{display:block;}
.reviews-summary strong{font-size:13px;}
.reviews-summary small{margin-top:3px;color:#818983;font-size:11px;}
.reviews-track{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.review-card{
  min-height:190px;
  padding:18px;
  border:1px solid rgba(17,28,22,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 40px rgba(21,35,27,.055);
  transition:transform .3s ease,box-shadow .3s ease;
}
.review-card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 52px rgba(21,35,27,.09);
}
.review-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:32px;
}
.review-stars{
  color:#f4b400;
  font-size:17px;
  letter-spacing:.12em;
}
.review-source{
  color:#8b938e;
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
}
.review-card p{
  margin:0 0 9px;
  font-size:22px;
  font-weight:850;
  letter-spacing:-.03em;
}
.review-card small{
  color:#818983;
  font-size:12px;
}
.review-cta{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#111;
  color:#fff;
}
.review-cta .review-source{color:#8e9892;}
.review-cta strong{
  font-size:22px;
  line-height:1.12;
  letter-spacing:-.035em;
}
.review-cta a{
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
}
.review-cta a:hover{color:#79d7ae;}
.reviews-note{
  margin:14px 0 0;
  color:#8b928e;
  font-size:10px;
}

/* ===== LEPSZE BLOKI "01 / 02" ===== */
[class*="feature"] .number,
[class*="feature"] .num,
.feature-number,
.step-number{
  font-weight:900;
  letter-spacing:-.04em;
}
.feature-card,
.about-feature,
[class*="feature-card"]{
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.feature-card:hover,
.about-feature:hover,
[class*="feature-card"]:hover{
  transform:translateY(-4px);
}

/* ===== OBRAZ + TEKST — bardziej premium ===== */
.about,
.about-section,
.image-text-section{
  scroll-margin-top:92px;
}
.about img,
.about-section img,
.image-text-section img{
  transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease;
}
.about:hover img,
.about-section:hover img,
.image-text-section:hover img{
  transform:scale(1.025);
}
.about::after,
.about-section::after,
.image-text-section::after{
  pointer-events:none;
}

/* ===== LEKKI RYTM SEKCJI ===== */
section{
  scroll-margin-top:92px;
}
section + section{
  border-top:1px solid rgba(17,28,22,.025);
}
@media(max-width:900px){
  .reviews-heading{align-items:flex-start;flex-direction:column;}
  .reviews-track{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:600px){
  .reviews-section{padding:76px 0 68px;}
  .reviews-inner{width:min(100% - 28px,1180px);}
  .reviews-heading h2{font-size:42px;}
  .reviews-summary{width:100%;box-sizing:border-box;}
  .reviews-track{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding:4px 2px 15px;
    scrollbar-width:none;
  }
  .reviews-track::-webkit-scrollbar{display:none;}
  .review-card{
    min-width:78%;
    scroll-snap-align:start;
  }
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .review-card,.about img,.about-section img,.image-text-section img,
  .feature-card,.about-feature,[class*="feature-card"]{transition:none;}
}


/* ===== O NAS — EDITORIAL / NOWOCZESNY BLOK ===== */
.about-editorial{
  padding:110px 0 120px;
  background:#fff;
  overflow:hidden;
}
.about-editorial-inner{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:80px;
  align-items:center;
}
.about-image-panel{
  position:relative;
  min-height:650px;
  border-radius:28px;
  overflow:hidden;
  background:#e9ece8;
  box-shadow:0 25px 80px rgba(15,25,20,.12);
}
.about-image-panel img{
  width:100%;
  height:100%;
  min-height:650px;
  object-fit:cover;
  display:block;
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
}
.about-image-panel:hover img{transform:scale(1.035);}
.about-image-panel::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.35));
  pointer-events:none;
}
.about-image-label{
  position:absolute;
  z-index:2;
  left:24px;
  bottom:22px;
  color:#fff;
  font-size:11px;
  font-weight:850;
  letter-spacing:.14em;
}
.about-image-label span{margin:0 7px;color:#8de0bd;}
.about-year-badge{
  position:absolute;
  z-index:3;
  right:-22px;
  top:55px;
  width:130px;
  height:130px;
  border-radius:50%;
  background:#111;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.about-year-badge strong{
  font-size:37px;
  line-height:1;
  letter-spacing:-.06em;
}
.about-year-badge span{
  margin-top:5px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#b8c0bb;
}
.about-editorial-copy{padding-right:20px;}
.about-kicker{
  display:block;
  margin-bottom:20px;
  color:var(--green,#0a9f61);
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
}
.about-editorial-copy h2{
  margin:0 0 24px;
  font-size:clamp(38px,4.4vw,62px);
  line-height:1;
  letter-spacing:-.055em;
}
.about-editorial-copy h2 em{
  color:var(--green,#0a9f61);
  font-style:normal;
}
.about-lead{
  margin:0 0 34px;
  max-width:560px;
  color:#68716c;
  font-size:16px;
  line-height:1.8;
}
.about-points{
  border-top:1px solid #e7ebe8;
}
.about-point{
  display:grid;
  grid-template-columns:45px 1fr;
  gap:14px;
  padding:18px 0;
  border-bottom:1px solid #e7ebe8;
}
.about-point>span{
  color:#a0aaa4;
  font-size:11px;
  font-weight:900;
  padding-top:3px;
}
.about-point strong{
  display:block;
  margin-bottom:5px;
  font-size:15px;
}
.about-point p{
  margin:0;
  color:#7c8580;
  font-size:13px;
  line-height:1.5;
}
.about-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:30px;
  color:#111;
  text-decoration:none;
  font-size:13px;
  font-weight:850;
}
.about-link i{transition:transform .25s ease;}
.about-link:hover i{transform:translateX(5px);}

/* ===== ZAUFANIE — POD KOLEKCJAMI ===== */
.trust-reviews{
  padding:105px 0 115px;
  background:#f4f6f2;
}
.trust-reviews-inner{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}
.trust-reviews-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:35px;
  margin-bottom:32px;
}
.trust-kicker{
  display:block;
  margin-bottom:14px;
  color:var(--green,#0a9f61);
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
}
.trust-reviews-head h2{
  margin:0;
  font-size:clamp(35px,4.5vw,60px);
  line-height:.99;
  letter-spacing:-.055em;
}
.trust-reviews-head h2 span{color:var(--green,#0a9f61);}
.trust-google-button{
  flex:none;
  display:inline-flex;
  align-items:center;
  min-height:47px;
  padding:0 19px;
  border-radius:999px;
  background:#111;
  color:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  transition:.25s ease;
}
.trust-google-button:hover{
  background:var(--green,#0a9f61);
  transform:translateY(-2px);
}
.trust-rating-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  padding:25px 30px;
  margin-bottom:17px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(17,28,22,.07);
}
.trust-rating{
  display:flex;
  align-items:center;
  gap:17px;
}
.trust-rating>strong{
  font-size:48px;
  line-height:.9;
  letter-spacing:-.06em;
}
.trust-rating div span,.trust-rating div small{display:block;}
.trust-stars{
  color:#f4b400;
  font-size:16px;
  letter-spacing:.12em;
}
.trust-rating small{
  margin-top:4px;
  color:#808983;
  font-size:11px;
}
.trust-rating-row>p{
  max-width:520px;
  margin:0;
  color:#69736d;
  font-size:13px;
  line-height:1.65;
}
.trust-cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.trust-review-card{
  min-height:175px;
  padding:23px;
  border-radius:21px;
  background:#fff;
  border:1px solid rgba(17,28,22,.07);
  box-shadow:0 10px 35px rgba(21,35,27,.04);
  transition:.3s ease;
}
.trust-review-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 45px rgba(21,35,27,.08);
}
.trust-review-card blockquote{
  margin:28px 0 9px;
  font-size:20px;
  font-weight:850;
  letter-spacing:-.03em;
}
.trust-review-card small{
  color:#838b86;
  font-size:11px;
}
.trust-review-link{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#111;
  color:#fff;
}
.trust-review-link>span{
  color:#8b9690;
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
}
.trust-review-link strong{
  font-size:20px;
  line-height:1.1;
  letter-spacing:-.03em;
}
.trust-review-link a{
  color:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
}
.trust-review-link a:hover{color:#8de0bd;}

/* ===== NAV ACTIVE + PŁYNNOŚĆ ===== */
html{
  scroll-behavior:smooth;
  scroll-padding-top:88px;
}
.nav-links a{
  position:relative;
}
.nav-links a.active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-7px;
  height:2px;
  border-radius:10px;
  background:var(--green,#0a9f61);
}
section{scroll-margin-top:88px;}

@media(max-width:950px){
  .about-editorial-inner{grid-template-columns:1fr;gap:55px;}
  .about-image-panel,.about-image-panel img{min-height:520px;}
  .about-year-badge{right:20px;}
  .about-editorial-copy{padding-right:0;}
  .trust-cards{grid-template-columns:repeat(2,1fr);}
  .trust-rating-row{align-items:flex-start;flex-direction:column;}
}
@media(max-width:650px){
  .about-editorial{padding:75px 0 85px;}
  .about-editorial-inner,.trust-reviews-inner{width:min(100% - 28px,1180px);}
  .about-image-panel,.about-image-panel img{min-height:410px;}
  .about-year-badge{width:105px;height:105px;right:14px;top:20px;}
  .about-year-badge strong{font-size:30px;}
  .about-editorial-copy h2{font-size:41px;}
  .trust-reviews{padding:75px 0 80px;}
  .trust-reviews-head{align-items:flex-start;flex-direction:column;}
  .trust-reviews-head h2{font-size:41px;}
  .trust-rating-row{padding:22px;}
  .trust-cards{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding:3px 2px 12px;
    scrollbar-width:none;
  }
  .trust-cards::-webkit-scrollbar{display:none;}
  .trust-review-card{
    min-width:76%;
    scroll-snap-align:start;
  }
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .about-image-panel img,.about-link i,.trust-google-button,.trust-review-card{transition:none;}
}


/* =========================================================
   MŁOT MEBLE — O NAS / SZEROKIE ZDJĘCIE / PREMIUM LAYOUT
   ========================================================= */
.about-wide{
  position:relative;
  padding:0;
  min-height:690px;
  background:#fbfcfa;
  overflow:hidden;
}
.about-wide-bg{
  position:absolute;
  left:0;
  top:80px;
  bottom:58px;
  width:4.2%;
  min-width:58px;
  background:#064f35;
}
.about-wide .about-editorial-inner{
  position:relative;
  width:min(1600px,calc(100% - 90px));
  min-height:690px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(520px,1.06fr) minmax(520px,.94fr);
  gap:62px;
  align-items:center;
}
.about-wide-image{
  position:relative;
  width:100%;
  aspect-ratio:1.62 / 1;
  min-height:0 !important;
  max-height:none;
  border-radius:25px;
  overflow:hidden;
  box-shadow:0 24px 65px rgba(13,27,20,.14);
}
.about-wide-image img{
  display:block;
  width:100%;
  height:100%;
  min-height:0 !important;
  object-fit:cover;
  object-position:center center;
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
}
.about-wide-image:hover img{transform:scale(1.025);}
.about-wide-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 63%,rgba(0,0,0,.32));
  pointer-events:none;
}
.about-wide .about-image-label{
  left:24px;
  bottom:21px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(12,23,18,.72);
  backdrop-filter:blur(8px);
  font-size:10px;
}
.about-wide .about-year-badge{
  right:-18px;
  top:28px;
  width:120px;
  height:120px;
}
.about-wide-copy{
  position:relative;
  padding:48px 10px 48px 0;
}
.about-wide-copy::after{
  content:"02";
  position:absolute;
  right:-5px;
  top:-20px;
  z-index:0;
  color:rgba(13,31,23,.045);
  font-size:190px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.09em;
  pointer-events:none;
}
.about-wide-copy>*{position:relative;z-index:1;}
.about-wide .about-kicker{
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:22px;
}
.about-wide .about-kicker i{
  width:30px;
  height:2px;
  display:inline-block;
  background:var(--green,#0a9f61);
}
.about-wide .about-editorial-copy h2{
  max-width:720px;
  margin-bottom:25px;
  font-size:clamp(42px,4.5vw,68px);
  line-height:.97;
  letter-spacing:-.06em;
}
.about-wide .about-lead{
  max-width:650px;
  margin-bottom:32px;
  font-size:15px;
}
.about-points-wide{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid #e1e7e2;
  border-bottom:1px solid #e1e7e2;
}
.about-points-wide .about-point{
  display:block;
  min-height:155px;
  padding:20px 20px 18px 0;
  border-bottom:0;
  border-right:1px solid #e1e7e2;
}
.about-points-wide .about-point:last-child{
  border-right:0;
  padding-left:20px;
}
.about-points-wide .about-point:nth-child(2){
  padding-left:20px;
}
.about-points-wide .about-point>span{
  display:block;
  margin-bottom:24px;
  color:var(--green,#0a9f61);
  font-size:10px;
}
.about-points-wide .about-point strong{
  max-width:180px;
  margin-bottom:8px;
  font-size:14px;
  line-height:1.25;
}
.about-points-wide .about-point p{
  max-width:185px;
  font-size:11px;
  line-height:1.55;
}
.about-bottom-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:24px;
}
.about-bottom-line>span{
  color:#8a948e;
  font-size:11px;
  font-style:italic;
}
.about-wide .about-link{
  margin-top:0;
  padding:11px 17px;
  border-radius:999px;
  background:#0a5c3e;
  color:#fff;
  font-size:11px;
  transition:.25s ease;
}
.about-wide .about-link:hover{
  background:#111;
  color:#fff;
  transform:translateY(-2px);
}
.about-wide .about-link i{color:#fff;}

@media(max-width:1100px){
  .about-wide .about-editorial-inner{
    width:min(100% - 50px,1200px);
    grid-template-columns:minmax(430px,1fr) minmax(420px,1fr);
    gap:42px;
  }
  .about-wide .about-editorial-copy h2{font-size:48px;}
  .about-wide .about-year-badge{right:14px;}
}
@media(max-width:850px){
  .about-wide{
    padding:70px 0 80px;
  }
  .about-wide-bg{
    top:0;
    bottom:0;
    width:100%;
    height:7px;
    min-width:0;
  }
  .about-wide .about-editorial-inner{
    width:min(100% - 28px,760px);
    min-height:0;
    grid-template-columns:1fr;
    gap:45px;
  }
  .about-wide-image{
    aspect-ratio:1.55 / 1;
  }
  .about-wide-copy{
    padding:0;
  }
  .about-points-wide{
    grid-template-columns:1fr 1fr 1fr;
  }
  .about-points-wide .about-point,
  .about-points-wide .about-point:nth-child(2),
  .about-points-wide .about-point:last-child{
    padding:18px 13px;
  }
}
@media(max-width:600px){
  .about-wide .about-editorial-inner{
    width:calc(100% - 28px);
    gap:34px;
  }
  .about-wide-image{
    aspect-ratio:1.45 / 1;
    border-radius:20px;
  }
  .about-wide .about-year-badge{
    width:92px;
    height:92px;
    top:16px;
    right:12px;
  }
  .about-wide .about-year-badge strong{font-size:27px;}
  .about-wide .about-year-badge span{font-size:8px;text-align:center;}
  .about-wide .about-image-label{
    left:14px;
    bottom:14px;
    font-size:8px;
  }
  .about-wide .about-editorial-copy h2{
    font-size:40px;
    line-height:.98;
  }
  .about-points-wide{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .about-points-wide::-webkit-scrollbar{display:none;}
  .about-points-wide .about-point,
  .about-points-wide .about-point:nth-child(2),
  .about-points-wide .about-point:last-child{
    min-width:75%;
    scroll-snap-align:start;
    border-right:1px solid #e1e7e2;
    padding:20px;
  }
  .about-bottom-line{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media(prefers-reduced-motion:reduce){
  .about-wide-image img,.about-wide .about-link{transition:none;}
}


/* =========================================================

   MOBILNE MENU — hamburger + elegancki panel
   ========================================================= */
.mobile-menu-toggle{
    display:none;
    width:46px;
    height:46px;
    padding:0;
    border:1px solid rgba(0,0,0,.10);
    border-radius:12px;
    background:#fff;
    cursor:pointer;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    box-shadow:0 6px 18px rgba(0,0,0,.07);
    -webkit-tap-highlight-color:transparent;
    transition:background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.mobile-menu-toggle span{
    display:block;
    width:20px;
    height:2px;
    border-radius:3px;
    background:#202020;
    transition:transform .22s ease, opacity .18s ease;
}
.mobile-menu-toggle:hover{
    box-shadow:0 8px 22px rgba(0,0,0,.10);
}
.mobile-menu-toggle.is-open{
    background:#202020;
}
.mobile-menu-toggle.is-open span{
    background:#fff;
}
.mobile-menu-toggle.is-open span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
}
.mobile-menu-toggle.is-open span:nth-child(2){
    opacity:0;
}
.mobile-menu-toggle.is-open span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
}

@media (max-width:760px){
    header{
        position:sticky;
        top:0;
        z-index:1000;
    }
    header nav{
        position:relative;
        min-height:70px;
        padding:10px 16px;
    }
    .logo-box{
        min-width:0;
        gap:9px;
    }
    .nav-logo-img{
        max-width:46px;
        max-height:46px;
    }
    .logo-text{
        font-size:.72rem;
        letter-spacing:1.3px;
    }
    .logo-sub{
        font-size:.58rem;
        letter-spacing:2px;
    }

    .mobile-menu-toggle{
        display:flex;
        flex:0 0 auto;
        margin-left:auto;
    }

    header .nav-links{
        position:absolute;
        top:calc(100% + 8px);
        left:12px;
        right:12px;
        width:auto;
        margin:0;
        padding:8px;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:4px;
        background:rgba(255,255,255,.98);
        border:1px solid rgba(0,0,0,.08);
        border-radius:18px;
        box-shadow:0 18px 45px rgba(0,0,0,.16);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-8px) scale(.98);
        transform-origin:top right;
        transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
        z-index:1001;
    }

    header .nav-links.is-open{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0) scale(1);
    }

    header .nav-links li{
        width:100%;
        list-style:none;
    }

    header .nav-links li a{
        min-height:52px;
        width:100%;
        display:flex;
        align-items:center;
        padding:0 17px;
        border-radius:12px;
        color:#222;
        background:#fafafa;
        font-size:.82rem;
        font-weight:700;
        letter-spacing:1.2px;
        text-decoration:none;
        transition:background .18s ease, color .18s ease, padding-left .18s ease;
    }

    header .nav-links li a::after{
        content:"›";
        margin-left:auto;
        font-size:1.25rem;
        line-height:1;
        opacity:.45;
    }

    header .nav-links li a:hover,
    header .nav-links li a:focus-visible{
        background:#f0f0ee;
        color:#009a44;
        padding-left:21px;
        outline:none;
    }

    header .nav-links li a:active{
        background:#e8e8e5;
    }

    body.menu-open{
        overflow:hidden;
    }
}

@media (max-width:380px){
    header nav{
        padding-left:12px;
        padding-right:12px;
    }
    .mobile-menu-toggle{
        width:43px;
        height:43px;
    }
    header .nav-links{
        left:9px;
        right:9px;
    }
}


/* =========================================================
   FINAL MOBILE + PERFORMANCE POLISH
   ========================================================= */

/* Keep layout calculations simple and avoid accidental horizontal overflow. */
html, body {
  overflow-x: clip;
}
img {
  height: auto;
}

/* Mobile navigation: hamburger menu takes priority over the old horizontal nav rules. */
@media (max-width: 760px) {
  header {
    box-shadow: 0 2px 14px rgba(0,0,0,.07);
  }

  header nav {
    min-height: 66px;
    padding: 9px 14px;
  }

  .mobile-menu-toggle {
    display: flex !important;
  }

  header .nav-links {
    position: absolute !important;
    top: calc(100% + 7px) !important;
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    max-height: calc(100svh - 85px);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    align-items: stretch !important;
    background: rgba(255,255,255,.985);
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 17px;
    box-shadow: 0 18px 42px rgba(0,0,0,.15);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-7px) scale(.985);
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
    z-index: 1001;
  }

  header .nav-links.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
  }

  header .nav-links li {
    width: 100%;
    flex: 0 0 auto;
  }

  header .nav-links li a {
    width: 100%;
    min-height: 50px;
    padding: 0 16px !important;
    display: flex;
    align-items: center;
    border-radius: 11px;
    background: #f7f8f7;
    font-size: .78rem !important;
    font-weight: 800;
    letter-spacing: 1px;
    white-space: normal !important;
  }

  header .nav-links li a::after {
    content: "›";
    margin-left: auto;
    position: static;
    width: auto;
    height: auto;
    background: none;
    transform: none !important;
    opacity: .4;
    font-size: 1.2rem;
  }

  /* Hero */
  #home, .hero {
    min-height: 66svh;
    padding: 72px 18px 58px;
    background-position: center;
  }

  .hero-content {
    width: min(100%, 560px);
  }

  .hero-content h1 {
    font-size: clamp(1.85rem, 9vw, 2.45rem);
    line-height: 1.05;
  }

  .hero-content p {
    font-size: .9rem;
    line-height: 1.5;
  }

  .hero-btn {
    min-height: 48px;
    padding: 13px 22px;
  }

  /* Four feature items: two compact columns instead of cramped desktop rows. */
  .features-bar {
    padding: 21px 12px;
  }
  .f-grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px 8px;
  }
  .f-item {
    min-width: 0;
    padding: 4px 3px;
  }
  .f-item i {
    font-size: 1.45rem;
    margin-bottom: 5px;
  }
  .f-item h4 {
    font-size: .78rem;
    line-height: 1.2;
  }
  .f-item p {
    font-size: .67rem;
    line-height: 1.3;
  }

  /* About */
  .about-wide {
    padding: 48px 0 54px;
  }
  .about-wide .about-editorial-inner {
    width: calc(100% - 24px);
    gap: 28px;
  }
  .about-wide-image {
    aspect-ratio: 1.35 / 1;
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(13,27,20,.11);
  }
  .about-wide .about-year-badge {
    width: 82px;
    height: 82px;
    top: 11px;
    right: 11px;
  }
  .about-wide .about-year-badge strong {
    font-size: 24px;
  }
  .about-wide .about-editorial-copy h2 {
    font-size: clamp(2rem, 9.5vw, 2.65rem);
    line-height: 1;
    letter-spacing: -.045em;
    margin-bottom: 18px;
  }
  .about-wide .about-lead {
    font-size: .88rem;
    line-height: 1.6;
    margin-bottom: 22px;
  }
  .about-points-wide {
    gap: 0;
  }
  .about-points-wide .about-point,
  .about-points-wide .about-point:nth-child(2),
  .about-points-wide .about-point:last-child {
    min-width: 82%;
    padding: 17px;
  }
  .about-points-wide .about-point > span {
    margin-bottom: 16px;
  }
  .about-bottom-line {
    gap: 15px;
    padding-top: 19px;
  }
  .about-bottom-line > span {
    font-size: .67rem;
    line-height: 1.4;
  }
  .about-wide .about-link {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    padding: 11px 15px;
  }

  /* Collections */
  #oferta.catalog-section {
    padding: 44px 10px 52px;
  }
  #oferta .catalog-title {
    margin-bottom: 22px;
  }
  #oferta .catalog-title h2 {
    font-size: clamp(1.75rem, 8vw, 2.15rem);
  }
  #oferta .catalog-title p {
    font-size: .82rem;
    line-height: 1.5;
    margin-top: 10px;
  }

  .collection-select-wrap {
    max-width: none;
    margin-bottom: 24px;
  }
  .collection-select-wrap label {
    margin-bottom: 8px;
    font-size: .66rem;
    letter-spacing: 1.7px;
  }
  #collection-select {
    height: 54px;
    padding: 0 48px 0 16px;
    border-radius: 11px;
    font-size: .88rem;
    box-shadow: 0 4px 14px rgba(0,0,0,.05);
  }
  .collection-select-wrap:after {
    right: 17px;
    bottom: 12px;
    font-size: 22px;
  }

  #oferta .coll-header {
    padding: 14px 15px;
    border-left-width: 3px;
    border-radius: 10px;
    margin-bottom: 9px;
  }
  #oferta .coll-header h3 {
    font-size: 1.08rem;
  }
  #oferta .coll-header p {
    font-size: .74rem;
    line-height: 1.4;
  }
  .collection-total {
    padding: 6px 10px;
    font-size: .65rem;
  }

  /* Showroom: image fills a useful phone-sized area without making the page enormous. */
  .showroom {
    gap: 4px;
  }
  .showroom-arrow {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    box-shadow: 0 3px 12px rgba(0,0,0,.06);
  }
  .showroom-photo-wrap {
    height: min(58svh, 500px);
    min-height: 255px;
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(0,0,0,.09);
  }
  #showroom-img {
    object-fit: contain;
  }
  .photo-hint {
    right: 8px;
    bottom: 8px;
    padding: 6px 8px;
    font-size: .58rem;
  }
  .showroom-info {
    padding: 13px 12px;
    border-radius: 10px;
    margin-top: 8px;
    gap: 11px;
  }
  #showroom-name {
    font-size: 1rem;
  }
  #showroom-desc {
    font-size: .72rem;
    line-height: 1.45;
  }
  .showroom-controls {
    width: 100%;
  }
  .slide-dots {
    max-width: 100%;
    flex-wrap: nowrap;
  }
  .control-btn {
    min-height: 40px;
    padding: 8px 11px;
  }

  /* Trust/reviews */
  .trust-reviews {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* Contact */
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .map-box {
    height: 260px;
  }

  /* Catalog download */
  .catalog-download {
    padding: 42px 14px;
  }
  .catalog-download h2 {
    font-size: 1.5rem;
  }

  /* Mobile is more responsive and lighter: no expensive scroll entrance animations. */
  .reveal-scroll,
  .reveal-image {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .about-wide-image img,
  .showroom-photo-wrap img,
  .item-card img {
    transition: none !important;
  }

  .item-card:hover,
  .about-wide-image:hover img,
  .showroom-arrow:hover:not(:disabled),
  .catalog-download-btn:hover {
    transform: none !important;
  }

  .about-wide .about-image-label {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/* Very small phones */
@media (max-width: 380px) {
  header nav {
    padding-left: 10px;
    padding-right: 10px;
  }
  .mobile-menu-toggle {
    width: 42px;
    height: 42px;
  }
  #home, .hero {
    min-height: 62svh;
    padding-left: 14px;
    padding-right: 14px;
  }
  .hero-content h1 {
    font-size: 1.82rem;
  }
  .f-grid {
    gap: 11px 5px;
  }
  .showroom-arrow {
    flex-basis: 30px;
    width: 30px;
    height: 30px;
  }
  .showroom-photo-wrap {
    min-height: 230px;
  }
}

/* Desktop/tablet: avoid loading/animating unnecessary effects on touch devices. */
@media (hover: none) {
  .item-card:hover,
  .about-wide-image:hover img,
  .showroom-arrow:hover:not(:disabled),
  .catalog-download-btn:hover {
    transform: none;
  }
}


/* =========================================================
   FINAL MOBILE LAYOUT — MŁOT MEBLE
   Ostatnia warstwa: czytelność + brak ścisku + szybkie renderowanie
   ========================================================= */
@media (max-width:760px){
  body{font-size:15px;}
  section{scroll-margin-top:74px;}

  /* header */
  header nav{min-height:64px;padding:8px 12px;}
  .logo-box{gap:7px;max-width:calc(100% - 58px);}
  .nav-logo-img{width:auto;height:36px;max-width:44px;}
  .logo-text{font-size:.76rem;letter-spacing:1px;}
  .logo-sub{font-size:.54rem;letter-spacing:1.5px;}

  /* hero */
  #home,.hero{min-height:64svh;padding:74px 16px 52px;}
  .hero-content{max-width:560px;padding:0 4px;}
  .hero-content h1{font-size:clamp(1.85rem,9.2vw,2.5rem);line-height:1.06;}
  .hero-content p{font-size:.9rem;line-height:1.55;max-width:480px;}
  .hero-btn{width:100%;max-width:290px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;}

  /* four advantages */
  .features-bar{padding:19px 10px;}
  .f-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 7px;}
  .f-item{padding:3px 2px;min-width:0;}
  .f-item i{font-size:1.35rem;margin-bottom:5px;}
  .f-item h4{font-size:.76rem;line-height:1.25;}
  .f-item p{font-size:.64rem;line-height:1.35;}

  /* about */
  #about.about-wide{padding:44px 0 50px;}
  .about-wide .about-editorial-inner{width:calc(100% - 22px);grid-template-columns:1fr;gap:24px;}
  .about-wide-image{aspect-ratio:1.12/1;min-height:0 !important;border-radius:14px;}
  .about-wide-image img{min-height:0 !important;height:100%;object-fit:cover;}
  .about-wide .about-year-badge{width:76px;height:76px;right:10px;top:10px;}
  .about-wide .about-year-badge strong{font-size:22px;}
  .about-wide .about-year-badge span{font-size:.54rem;}
  .about-wide .about-image-label{left:10px;bottom:10px;padding:7px 9px;font-size:.56rem;}
  .about-wide .about-editorial-copy{padding:0 2px;}
  .about-wide .about-editorial-copy h2{font-size:clamp(2rem,9.8vw,2.65rem);line-height:1.02;letter-spacing:-.045em;margin-bottom:16px;}
  .about-wide .about-lead{font-size:.88rem;line-height:1.6;margin-bottom:20px;}
  .about-points-wide{display:grid;grid-template-columns:1fr;gap:9px;}
  .about-points-wide .about-point,
  .about-points-wide .about-point:nth-child(2),
  .about-points-wide .about-point:last-child{min-width:0;width:100%;padding:15px;border-radius:13px;}
  .about-points-wide .about-point>span{font-size:.65rem;margin-bottom:10px;}
  .about-points-wide .about-point strong{font-size:.88rem;}
  .about-points-wide .about-point p{font-size:.74rem;line-height:1.45;}
  .about-bottom-line{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding-top:17px;}
  .about-bottom-line>span{font-size:.64rem;}
  .about-wide .about-link{width:100%;justify-content:center;min-height:46px;}

  /* collections */
  #oferta.catalog-section{padding:43px 10px 50px;}
  #oferta .catalog-title{margin-bottom:20px;}
  #oferta .catalog-title h2{font-size:clamp(1.8rem,8.2vw,2.2rem);line-height:1.05;}
  #oferta .catalog-title p{font-size:.82rem;line-height:1.5;}
  .collection-select-wrap{margin-bottom:18px;}
  #collection-select{height:52px;border-radius:11px;font-size:.86rem;padding-left:15px;}
  #oferta .coll-header{padding:13px 14px;margin-bottom:8px;border-radius:10px;gap:7px;}
  #oferta .coll-header h3{font-size:1rem;}
  #oferta .coll-header p{font-size:.72rem;line-height:1.4;}
  .collection-total{font-size:.62rem;padding:5px 9px;}

  .showroom{gap:4px;align-items:center;}
  .showroom-arrow{flex:0 0 32px;width:32px;height:32px;font-size:.72rem;}
  .showroom-photo-wrap{height:min(56svh,440px);min-height:230px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.08);}
  #showroom-img{object-fit:contain;}
  .photo-hint{right:7px;bottom:7px;padding:5px 7px;font-size:.56rem;}
  .showroom-info{padding:12px;border-radius:10px;margin-top:7px;gap:10px;}
  #showroom-name{font-size:.98rem;}
  #showroom-desc{font-size:.7rem;line-height:1.4;}
  .showroom-controls{width:100%;justify-content:center;}
  .slide-dots{max-width:100%;}

  /* trust — do NOT use horizontal cards: full reviews are easier to read stacked */
  .trust-reviews{padding:55px 0 60px !important;}
  .trust-reviews-inner{width:calc(100% - 22px);}
  .trust-reviews-head{display:flex;flex-direction:column;align-items:stretch;gap:18px;margin-bottom:22px;}
  .trust-kicker{font-size:10px;margin-bottom:10px;}
  .trust-reviews-head h2{font-size:clamp(2rem,9vw,2.55rem);line-height:1.02;letter-spacing:-.045em;}
  .trust-google-button{width:100%;justify-content:center;min-height:45px;font-size:.72rem;}
  .trust-rating-row{display:block;padding:17px;margin-bottom:12px;border-radius:15px;}
  .trust-rating{gap:12px;margin-bottom:12px;}
  .trust-rating>strong{font-size:40px;}
  .trust-stars{font-size:14px;}
  .trust-rating-row>p{font-size:.76rem;line-height:1.55;}
  .trust-cards{display:grid !important;grid-template-columns:1fr !important;gap:10px;overflow:visible;padding:0 !important;}
  .trust-review-card{min-width:0 !important;min-height:0;padding:17px;border-radius:15px;}
  .trust-review-card blockquote{margin:16px 0 8px;font-size:.9rem;line-height:1.55;letter-spacing:-.015em;font-weight:750;}
  .trust-review-card small{font-size:.65rem;}
  .trust-review-link{min-height:150px;}
  .trust-review-link strong{font-size:1.15rem;}

  /* CTA */
  .modern-cta{min-height:auto !important;padding:58px 16px !important;}
  .modern-cta-content{width:100%;max-width:560px;}
  .modern-cta h2{font-size:clamp(1.9rem,8.7vw,2.45rem);line-height:1.05;}
  .modern-cta p{font-size:.82rem;line-height:1.55;}
  .modern-cta-buttons{display:flex;flex-direction:column;gap:9px;width:100%;}
  .modern-cta-buttons a{width:100%;justify-content:center;min-height:46px;}

  /* contact */
  #kontakt{padding:45px 12px 48px;}
  #kontakt .section-title{margin-bottom:22px;}
  #kontakt .section-title h2{font-size:1.8rem;line-height:1.1;}
  .contact-grid{grid-template-columns:1fr;gap:12px;}
  .contact-info{gap:9px;}
  .info-card{align-items:flex-start;padding:13px;border-radius:10px;font-size:.78rem;line-height:1.5;}
  .info-card i{flex:0 0 23px;font-size:1.05rem;margin-top:2px;}
  .map-box{height:245px;border-radius:10px;}

  /* catalog + footer */
  .catalog-download{padding:40px 14px;}
  .catalog-download h2{font-size:1.45rem;}
  .catalog-download p{font-size:.8rem;line-height:1.5;}
  .catalog-download-btn{width:100%;max-width:310px;justify-content:center;min-height:46px;}
  footer{display:flex;flex-direction:column;gap:4px;padding:16px 12px;font-size:.68rem;}

  /* remove costly mobile effects */
  #home::before{animation:none !important;transform:none !important;}
  .hero-content h1,.hero-content p,.hero-btn{animation:none !important;opacity:1 !important;transform:none !important;}
  .reveal-scroll,.reveal-image{opacity:1 !important;transform:none !important;transition:none !important;}
  .showroom-photo-wrap,.item-card{contain:layout paint;}
}

@media (max-width:380px){
  .logo-text{font-size:.68rem;}
  .nav-logo-img{height:33px;}
  #home,.hero{min-height:61svh;padding-top:68px;padding-bottom:45px;}
  .f-item h4{font-size:.71rem;}
  .f-item p{font-size:.6rem;}
  .showroom-arrow{flex-basis:29px;width:29px;height:29px;}
  .showroom-photo-wrap{min-height:215px;height:52svh;}
  .trust-review-card{padding:15px;}
}


/* =========================================================
   OPINIE — SZEROKI, POZIOMY SLIDER
   ========================================================= */
.trust-reviews-slider{
  position:relative;
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:0;
}
.trust-reviews-slider .trust-cards{
  flex:1;
  min-width:0;
  display:flex;
  gap:16px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding:8px 4px 18px;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.trust-reviews-slider .trust-cards::-webkit-scrollbar{display:none;}
.trust-reviews-slider .trust-review-card{
  flex:0 0 calc((100% - 32px) / 3);
  min-width:0;
  min-height:260px;
  max-height:300px;
  padding:25px 27px;
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  overflow:hidden;
}
.trust-reviews-slider .trust-review-card blockquote{
  margin:16px 0 10px;
  font-size:16px;
  line-height:1.55;
  font-weight:650;
  letter-spacing:-.015em;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:7;
}
.trust-reviews-slider .trust-review-card small{margin-top:auto;}
.trust-slider-arrow{
  flex:0 0 48px;
  width:48px;
  height:48px;
  border:1px solid rgba(17,28,22,.10);
  border-radius:50%;
  background:#fff;
  color:#222;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(21,35,27,.10);
  transition:transform .25s cubic-bezier(.2,.7,.2,1),
             background .25s ease,
             color .25s ease,
             box-shadow .25s ease,
             opacity .25s ease;
  z-index:4;
}
.trust-slider-arrow:hover:not(.is-disabled){
  transform:translateY(-2px) scale(1.06);
  background:var(--green);
  color:#fff;
  border-color:var(--green);
  box-shadow:0 12px 30px rgba(0,154,68,.22);
}
.trust-slider-arrow:active:not(.is-disabled){transform:scale(.94);}
.trust-slider-arrow.is-disabled{opacity:.28;cursor:default;pointer-events:none;}
.trust-slider-arrow i{transition:transform .25s ease;}
.trust-slider-prev:hover:not(.is-disabled) i{transform:translateX(-2px);}
.trust-slider-next:hover:not(.is-disabled) i{transform:translateX(2px);}

@media(max-width:950px){
  .trust-reviews-slider .trust-review-card{
    flex-basis:calc((100% - 16px) / 2);
  }
}
@media(max-width:650px){
  .trust-reviews-slider{display:block;}
  .trust-slider-arrow{display:none;}
  .trust-reviews-slider .trust-cards{
    margin:0 -2px;
    padding-bottom:12px;
  }
  .trust-reviews-slider .trust-review-card{
    flex-basis:86%;
    min-height:235px;
    max-height:270px;
    padding:21px;
  }
  .trust-reviews-slider .trust-review-card blockquote{
    font-size:15px;
    line-height:1.5;
    -webkit-line-clamp:8;
  }
}
@media(prefers-reduced-motion:reduce){
  .trust-reviews-slider .trust-cards{scroll-behavior:auto;}
  .trust-slider-arrow,.trust-slider-arrow i{transition:none;}
}

/* ===== NOWE MENU KOLEKCJI I WYSZUKIWANIE ===== */
.nav-links{align-items:center!important;}
.nav-links>li{display:flex;align-items:center;height:44px;}
.nav-links>li>a{height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;white-space:nowrap;}
.nav-collections{position:relative!important;}
.nav-collections-link{gap:6px;}
.nav-chevron{line-height:1;transition:transform .2s ease;}
.nav-collections.menu-open .nav-chevron{transform:rotate(180deg);}
.collections-dropdown{
 position:absolute!important;top:calc(100% + 7px)!important;left:50%!important;
 width:230px!important;padding:8px!important;background:#fff!important;
 border:1px solid #e4e8e5!important;border-radius:12px!important;
 box-shadow:0 15px 35px rgba(0,0,0,.14)!important;
 opacity:0;visibility:hidden;pointer-events:none;z-index:99999;
 transform:translateX(-50%) translateY(-6px)!important;transition:.2s ease!important;
}
.nav-collections:hover .collections-dropdown,.nav-collections.menu-open .collections-dropdown{
 opacity:1!important;visibility:visible!important;pointer-events:auto!important;
 transform:translateX(-50%) translateY(0)!important;
}
.collections-dropdown a{
 display:flex!important;align-items:center!important;height:34px!important;
 padding:0 12px!important;border-radius:7px!important;box-sizing:border-box;
 text-transform:uppercase!important;font-size:11px!important;font-weight:800!important;
 letter-spacing:.4px!important;color:#222!important;
}
.collections-dropdown a:after{display:none!important;}
.collections-dropdown a:hover{background:#f1f5f2!important;color:var(--green)!important;}
.collections-dropdown .dropdown-all{margin-top:5px;border-top:1px solid #e8ece9!important;justify-content:space-between!important;color:var(--green)!important;}
.top-search-item{margin-left:14px!important;}
.top-search{display:flex!important;align-items:center!important;width:245px!important;height:40px!important;background:#fff!important;border:1px solid #dfe5e1!important;border-radius:22px!important;margin:0!important;}
.top-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:0 12px;font:600 12px 'Open Sans',sans-serif;color:#222;}
.top-search button{width:40px;height:40px;border:0;background:transparent;color:var(--green);cursor:pointer;}
.top-search-results{position:absolute!important;right:0;top:47px;width:310px;background:#fff;border:1px solid #e1e6e2;border-radius:14px;box-shadow:0 15px 35px rgba(0,0,0,.13);overflow:hidden;z-index:100000;}
.top-search-hit{display:flex;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;color:#222;border-bottom:1px solid #edf0ee;}
.top-search-hit:hover{background:#f5f8f6;}
.top-search-hit img{width:46px;height:46px;object-fit:cover;border-radius:8px;background:#f1f3f2;}
.top-search-hit span{display:flex;flex-direction:column;gap:2px;}
.top-search-hit b{font-size:11px;}
.top-search-hit small{font-size:9px;color:#7c847f;}
.top-search-empty{padding:15px;font-size:11px;color:#777;}
.catalog-new-link{display:flex;justify-content:center;margin:-4px 0 22px;}
.catalog-all-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:0 18px;border:1px solid #dce4df;border-radius:999px;background:#fff;color:#1a1a1a;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.35px;text-transform:uppercase;}
.catalog-all-btn:hover{border-color:var(--green);color:var(--green);}
.catalog-all-btn:after{display:none!important;}
.page-catalog{padding:90px 20px 110px;background:#fff;min-height:70vh;}
.page-inner{max-width:1180px;margin:auto;}
.page-kicker{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--green);margin:0 0 10px;}
.page-catalog h1{font-size:clamp(32px,5vw,58px);margin:0 0 12px;color:#1a1a1a;}
.page-lead{max-width:720px;color:#69716c;line-height:1.7;margin:0 0 35px;}
.collection-grid,.product-grid-page{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.collection-card-page,.product-card-page{display:block;text-decoration:none;color:#222;background:#fff;border:1px solid #e7ebe8;border-radius:16px;overflow:hidden;box-shadow:0 8px 25px rgba(0,0,0,.05);transition:.2s;}
.collection-card-page:hover,.product-card-page:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.09);}
.collection-card-image,.product-card-image{aspect-ratio:1.55;background:#f1f3f1;overflow:hidden;}
.collection-card-image img,.product-card-image img{width:100%;height:100%;object-fit:cover;display:block;}
.collection-card-body,.product-card-body{padding:18px;}
.collection-card-body>span,.product-card-body>span{font-size:9px;font-weight:800;letter-spacing:1.5px;color:var(--green);}
.collection-card-body h2,.product-card-body h2{font-size:18px;margin:8px 0;color:#171917;}
.collection-card-body p,.product-card-body p{font-size:11px;line-height:1.55;color:#747c77;min-height:35px;}
.collection-card-body strong,.product-card-body strong{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:9px;letter-spacing:.8px;color:#222;}
.collection-card-body strong i,.product-card-body strong i{color:var(--green);}
.page-back{display:inline-flex;margin-bottom:24px;color:#555;text-decoration:none;font-size:12px;font-weight:700;}
.results-search{display:flex;max-width:720px;margin:0 0 20px;border:1px solid #dfe5e1;border-radius:999px;overflow:hidden;background:#fff;}
.results-search input{flex:1;border:0;outline:0;padding:14px 18px;font:600 13px 'Open Sans',sans-serif;}
.results-search button{border:0;padding:0 22px;background:var(--green);color:#fff;font-size:10px;font-weight:800;cursor:pointer;}
.search-suggestions{max-width:720px;margin:-10px 0 25px;background:#fff;border:1px solid #e0e6e1;border-radius:14px;box-shadow:0 15px 35px rgba(0,0,0,.10);overflow:hidden;}
.search-suggestion{display:flex;align-items:center;gap:12px;padding:9px 12px;text-decoration:none;color:#222;border-bottom:1px solid #edf0ee;}
.search-suggestion:last-child{border-bottom:0;}
.search-suggestion img{width:52px;height:52px;object-fit:cover;border-radius:9px;background:#eef1ef;}
.search-suggestion span{display:flex;flex-direction:column;gap:3px;flex:1;}
.search-suggestion b{font-size:11px;}
.search-suggestion small{font-size:9px;color:#7a817c;}
.search-suggestion i{color:var(--green);}
.no-results{padding:30px 0;color:#777;}
@media(max-width:900px){
 .nav-links>li{height:auto;}
 .nav-links>li>a{height:44px;}
 .top-search-item{margin-left:0!important;}
 .collections-dropdown{position:static!important;width:100%!important;transform:none!important;margin-top:4px;}
 .nav-collections.menu-open .collections-dropdown{display:block!important;opacity:1!important;visibility:visible!important;}
 .collection-grid,.product-grid-page{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
 .collection-grid,.product-grid-page{grid-template-columns:1fr;}
 .page-catalog{padding:65px 14px 80px;}
 .top-search{width:100%!important;}
}

/* ===== SHOWROOM — nowe sterowanie zdjęciem ===== */
.showroom-photo-controls{
  position:absolute;right:14px;bottom:14px;z-index:30;
  display:flex;align-items:center;gap:4px;
  padding:4px;background:rgba(20,20,20,.78);
  border-radius:999px;backdrop-filter:blur(8px);
}
.showroom-photo-controls button{
  width:32px;height:32px;border:0;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:.18s;
}
.showroom-photo-controls button:hover{background:rgba(255,255,255,.25);}
.showroom-photo-controls .zoom-level{
  min-width:42px;text-align:center;color:#fff;font-size:10px;font-weight:800;
}
.showroom-image-frame{overflow:hidden;position:relative;width:100%;height:100%;}
.showroom-image-frame img{
  transform-origin:center center;
  transition:transform .22s ease;
  cursor:zoom-in;
}
.showroom-image-frame.zoomed img{cursor:grab;}
.showroom-zoom-hint{
  position:absolute;left:14px;bottom:14px;z-index:20;
  padding:7px 10px;border-radius:999px;
  background:rgba(20,20,20,.7);color:#fff;font-size:9px;
  pointer-events:none;opacity:.9;
}

/* Oryginalny select zostaje tylko jako mechanizm JS; użytkownik korzysta z nowego menu. */
.collection-select-wrap{
  position:absolute!important;
  width:1px!important;height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;padding:0!important;margin:0!important;
}
.catalog-new-link{margin-bottom:10px!important;}

/* ===== OPINIE — NOWOCZESNA, KOMPAKTOWA WERSJA ===== */
#zaufanie{background:#f5f7f6!important;padding:70px 0 68px!important;}
#zaufanie .trust-reviews-inner{max-width:1120px!important;margin:auto!important;padding:0 22px!important;}
#zaufanie .trust-reviews-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:24px!important;margin-bottom:23px!important;}
#zaufanie .trust-kicker{font-size:9px!important;letter-spacing:2px!important;font-weight:800!important;color:#00a15a!important;}
#zaufanie .trust-reviews-head h2{margin:8px 0 0!important;font-size:clamp(30px,4vw,48px)!important;line-height:1.02!important;letter-spacing:-1.8px!important;}
#zaufanie .trust-reviews-head h2 span{color:#08a35c!important;}
#zaufanie .trust-google-button{padding:11px 16px!important;border-radius:999px!important;font-size:9px!important;font-weight:800!important;white-space:nowrap!important;}
#zaufanie .trust-rating-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;background:#fff!important;border:1px solid #e5eae7!important;border-radius:17px!important;padding:14px 20px!important;margin-bottom:15px!important;}
#zaufanie .trust-rating{display:flex!important;align-items:center!important;gap:13px!important;padding:0!important;background:none!important;}
#zaufanie .trust-rating strong{font-size:34px!important;line-height:1!important;}
#zaufanie .trust-rating-row>p{max-width:460px!important;margin:0!important;font-size:10px!important;line-height:1.5!important;color:#717a75!important;}
#zaufanie .trust-cards{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:13px!important;}
#zaufanie .trust-review-card{display:flex!important;flex-direction:column!important;min-height:175px!important;padding:17px 18px 15px!important;background:#fff!important;border:1px solid #e6ebe8!important;border-radius:15px!important;box-shadow:0 5px 18px rgba(20,30,24,.035)!important;}
#zaufanie .trust-review-card .trust-stars{font-size:11px!important;letter-spacing:1px!important;color:#efa800!important;}
#zaufanie .trust-review-card blockquote{margin:9px 0 12px!important;font-size:11px!important;line-height:1.48!important;color:#222!important;display:-webkit-box!important;-webkit-line-clamp:6!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
#zaufanie .trust-review-card>small{margin-top:auto!important;font-size:9px!important;color:#8a928d!important;}
#zaufanie .trust-review-link{background:#171918!important;border-color:#171918!important;color:#fff!important;}
#zaufanie .trust-review-link>span{font-size:9px!important;letter-spacing:1.5px!important;color:#8fe0b4!important;}
#zaufanie .trust-review-link>strong{font-size:14px!important;line-height:1.25!important;margin-top:auto!important;}
#zaufanie .trust-review-link>a{font-size:9px!important;color:#8fe0b4!important;margin-top:10px!important;}
#zaufanie .trust-slider-arrow{width:34px!important;height:34px!important;background:#fff!important;border:1px solid #e0e5e2!important;box-shadow:0 5px 14px rgba(0,0,0,.06)!important;}
#zaufanie .trust-slider-prev{left:-17px!important;} #zaufanie .trust-slider-next{right:-17px!important;}

@media(max-width:900px){
 #zaufanie .trust-reviews-head{align-items:flex-start!important;flex-direction:column!important;}
 #zaufanie .trust-rating-row{align-items:flex-start!important;flex-direction:column!important;}
 #zaufanie .trust-cards{grid-template-columns:repeat(2,1fr)!important;}
}
@media(max-width:600px){
 #zaufanie{padding:52px 0!important;}
 #zaufanie .trust-cards{grid-template-columns:1fr!important;}
 #zaufanie .trust-slider-arrow{display:none!important;}
}

/* Nie pokazuj starego selectora — wybór kolekcji jest tylko przez KOLEKCJE w nawigacji. */
.collection-select-wrap,.catalog-new-link{display:none!important;}
.nav-links>li>a{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:44px!important;white-space:nowrap!important;}

/* ===== V7: NOWE MENU KOLEKCJI ===== */
.nav-collections{position:relative!important;}
.nav-collections-link{gap:6px!important;}
.nav-chevron{font-size:12px;line-height:1;transition:transform .2s ease;}
.nav-collections:hover .nav-chevron,.nav-collections.menu-open .nav-chevron{transform:rotate(180deg);}
.collections-dropdown{
 position:absolute!important;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(-5px);
 width:235px;padding:8px;background:#fff;border:1px solid #e5e9e6;border-radius:16px;
 box-shadow:0 18px 45px rgba(22,32,27,.13);opacity:0;visibility:hidden;pointer-events:none;
 transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:1000;
}
.nav-collections:hover .collections-dropdown,.nav-collections.menu-open .collections-dropdown{
 opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);
}
.collections-dropdown a{
 display:flex!important;align-items:center!important;justify-content:flex-start!important;
 width:100%!important;height:36px!important;padding:0 12px!important;border-radius:9px!important;
 font-size:10px!important;font-weight:800!important;letter-spacing:.5px!important;color:#242725!important;
 text-decoration:none!important;box-sizing:border-box!important;
}
.collections-dropdown a:hover{background:#f1f6f3!important;color:#009a44!important;}
.collections-dropdown .dropdown-all{margin-top:5px;border-top:1px solid #edf0ee!important;border-radius:0 0 9px 9px!important;color:#009a44!important;justify-content:space-between!important;padding-top:7px!important;height:40px!important;}

/* ===== V7: WYSZUKIWANIE ===== */
.top-search-item{position:relative!important;}
.top-search-results{position:absolute;right:0;top:calc(100% + 9px);width:285px;background:#fff;border:1px solid #e5e9e6;border-radius:14px;padding:7px;box-shadow:0 18px 45px rgba(22,32,27,.14);z-index:1100;}
.top-search-hit{display:flex!important;align-items:center!important;gap:10px!important;padding:7px!important;border-radius:10px!important;text-decoration:none!important;color:#222!important;}
.top-search-hit:hover{background:#f3f7f5!important;}
.top-search-hit img{width:45px!important;height:40px!important;object-fit:cover!important;border-radius:7px!important;flex:none!important;}
.top-search-hit span{display:flex!important;flex-direction:column!important;min-width:0!important;flex:1!important;}
.top-search-hit b{font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.top-search-hit small{font-size:8px!important;color:#8a928d!important;margin-top:3px!important;}
.top-search-hit i{font-size:9px!important;color:#009a44!important;}
.top-search-empty{padding:14px 10px;font-size:10px;color:#7b837e;text-align:center;}

/* CTA tekst na kartach */
.product-card-page .product-card-body strong{font-size:9px!important;letter-spacing:1px!important;}

/* ===== V7: OPINIE — bardziej premium ===== */
#zaufanie{background:linear-gradient(180deg,#f5f7f6 0%,#f0f4f2 100%)!important;padding:76px 0 70px!important;}
#zaufanie .trust-reviews-inner{max-width:1080px!important;}
#zaufanie .trust-reviews-head{margin-bottom:25px!important;}
#zaufanie .trust-reviews-head h2{font-size:clamp(29px,3.8vw,46px)!important;letter-spacing:-1.6px!important;}
#zaufanie .trust-google-button{background:#111312!important;padding:10px 15px!important;box-shadow:0 8px 18px rgba(0,0,0,.08)!important;}
#zaufanie .trust-rating-row{padding:13px 19px!important;border-radius:15px!important;box-shadow:0 4px 16px rgba(20,30,24,.025)!important;}
#zaufanie .trust-rating strong{font-size:32px!important;}
#zaufanie .trust-cards{gap:12px!important;}
#zaufanie .trust-review-card{min-height:165px!important;padding:16px 17px 14px!important;border-radius:14px!important;box-shadow:0 6px 20px rgba(20,30,24,.035)!important;}
#zaufanie .trust-review-card blockquote{font-size:10.5px!important;line-height:1.5!important;-webkit-line-clamp:6!important;margin:8px 0 10px!important;}
#zaufanie .trust-review-card .trust-stars{font-size:10px!important;}
#zaufanie .trust-review-link{background:#161817!important;}

@media(max-width:900px){
 .collections-dropdown{position:static!important;transform:none!important;width:100%!important;margin-top:4px!important;display:none!important;box-shadow:none!important;}
 .nav-collections.menu-open .collections-dropdown{display:block!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
 .top-search-results{right:auto;left:0;width:min(285px,calc(100vw - 30px));}
}
@media(max-width:600px){
 #zaufanie .trust-review-card{min-height:150px!important;}
}

/* OLD COLLECTION INFO PANEL REMOVED */
.coll-header, #coll-header { display: none !important; }


/* =========================================================
   UJEDNOLICONY KATALOG / WYSZUKIWANIE / SZCZEGÓŁY
   ========================================================= */
.unified-catalog{padding-top:72px;background:#fff;}
.catalog-pills{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px;}
.catalog-pill{display:inline-flex;align-items:center;min-height:38px;padding:0 15px;border:1px solid #dfe5e1;border-radius:999px;background:#fff;color:#222;text-decoration:none;font-size:10px;font-weight:800;letter-spacing:.7px;transition:.2s ease;}
.catalog-pill:hover{border-color:var(--green);color:var(--green);transform:translateY(-1px);}
.product-detail-page{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:56px;align-items:center;margin-top:24px;}
.product-detail-image{background:#f3f5f3;border-radius:20px;overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.08);}
.product-detail-image img{display:block;width:100%;max-height:760px;object-fit:contain;aspect-ratio:1.15/1;}
.product-detail-copy h1{font-size:clamp(34px,5vw,62px);line-height:1.02;margin:4px 0 18px;}
.product-detail-desc{color:#626b65;line-height:1.75;max-width:520px;}
.product-detail-meta{margin:20px 0;color:#8a928d;font-size:11px;font-weight:700;letter-spacing:.5px;}
.product-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;}
.catalog-primary-btn,.catalog-outline-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 17px;border-radius:999px;text-decoration:none;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;}
.catalog-primary-btn{background:var(--green);color:#fff;}
.catalog-primary-btn:hover{background:var(--green-dark);}
.catalog-outline-btn{border:1px solid #dce4df;color:#222;background:#fff;}
.catalog-outline-btn:hover{border-color:var(--green);color:var(--green);}
.unified-catalog .page-back{display:inline-flex;margin-bottom:24px;}
.unified-catalog .results-search{max-width:720px;margin:20px 0 14px;}
.unified-catalog .product-grid-page{margin-top:18px;}
.unified-catalog .no-results{padding:34px 0;color:#747c77;font-size:14px;}
@media (max-width:760px){
  .unified-catalog{padding:48px 14px 75px;}
  .catalog-pills{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px;scrollbar-width:none;}
  .catalog-pills::-webkit-scrollbar{display:none;}
  .catalog-pill{flex:0 0 auto;}
  .product-detail-page{grid-template-columns:1fr;gap:28px;}
  .product-detail-image img{aspect-ratio:1/1;}
  .product-detail-copy h1{font-size:clamp(34px,11vw,52px);}
}

/* Drobne zabezpieczenie responsywne przywróconego panelu firmy */
.modern-cta-bg{background-position:center}
@media(max-width:650px){.modern-cta{min-height:360px}.modern-cta-content{padding:60px 16px}.modern-cta-content h2{letter-spacing:-1px}}



/* =========================================================
   OPINIE — EDITORIAL / COMPACT
   Jasna typografia + zdjęcie fabryki jako boczny akcent
========================================================= */
.trust-editorial{
  position:relative;
  width:100%;
  height:390px;
  overflow:hidden;
  isolation:isolate;
  background:#f3f5f2;
  color:#101411;
  border-top:1px solid rgba(8,100,55,.12);
  border-bottom:1px solid rgba(8,100,55,.10);
}
.trust-editorial-photo{
  position:absolute;
  z-index:-3;
  top:0;right:0;bottom:0;
  width:34%;
  background:url("zdfi/MM2.webp") center / cover no-repeat;
  filter:saturate(.68) contrast(.98);
}
.trust-editorial-shade{
  position:absolute;
  z-index:-2;
  inset:0;
  background:
    linear-gradient(90deg,#f3f5f2 0%,#f3f5f2 55%,rgba(243,245,242,.88) 69%,rgba(243,245,242,.08) 100%);
}
.trust-editorial-wrap{
  position:relative;
  width:min(1180px,calc(100% - 44px));
  height:100%;
  margin:auto;
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  grid-template-rows:1fr 44px;
  column-gap:64px;
  padding:46px 0 22px;
}
.trust-editorial-intro{
  grid-column:1;
  grid-row:1;
  align-self:center;
}
.trust-editorial-kicker{
  display:block;
  margin-bottom:12px;
  color:#008e51;
  font-size:9px;
  font-weight:900;
  letter-spacing:2.6px;
}
.trust-editorial-intro h2{
  margin:0;
  font-family:'Montserrat',sans-serif;
  font-size:38px;
  line-height:.96;
  letter-spacing:-2px;
  font-weight:850;
}
.trust-editorial-intro h2 em{
  color:#009b59;
  font-style:normal;
}
.trust-editorial-rating{
  display:flex;
  align-items:center;
  gap:11px;
  margin-top:27px;
}
.trust-editorial-rating strong{
  font-family:'Montserrat',sans-serif;
  font-size:31px;
  line-height:1;
  letter-spacing:-1.5px;
}
.trust-editorial-rating div{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.trust-editorial-rating span{
  color:#e6a400;
  font-size:10px;
  letter-spacing:1px;
}
.trust-editorial-rating small{
  color:#737a75;
  font-size:8px;
}
.trust-editorial-google{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:19px;
  padding:9px 13px;
  border-radius:999px;
  background:#111512;
  color:#fff;
  text-decoration:none;
  font-size:8px;
  font-weight:850;
  transition:.2s ease;
}
.trust-editorial-google:hover{
  background:#009b59;
  transform:translateY(-1px);
}
.trust-editorial-feature{
  position:relative;
  grid-column:2;
  grid-row:1;
  align-self:center;
  max-width:700px;
  min-width:0;
  padding:30px 36px 27px;
  border:1px solid rgba(15,42,28,.10);
  border-radius:18px;
  background:rgba(255,255,255,.88);
  box-shadow:0 18px 45px rgba(10,30,19,.09);
  backdrop-filter:blur(12px);
}
.trust-editorial-label{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:13px;
  color:#008e51;
  font-size:8px;
  font-weight:900;
  letter-spacing:2px;
}
.trust-editorial-label span{
  width:22px;
  height:1px;
  background:#009b59;
}
.trust-editorial-slider{
  position:relative;
  min-height:108px;
}
.trust-editorial-review{
  position:absolute;
  inset:0;
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .35s ease,transform .35s ease;
}
.trust-editorial-review.is-active{
  position:relative;
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.trust-editorial-stars{
  display:block;
  margin-bottom:8px;
  color:#e6a400;
  font-size:9px;
  letter-spacing:1.5px;
}
.trust-editorial-review blockquote{
  margin:0;
  max-width:620px;
  color:#151a17;
  font-family:'Montserrat',sans-serif;
  font-size:18px;
  line-height:1.42;
  letter-spacing:-.3px;
  font-weight:520;
}
.trust-editorial-author{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:11px;
  color:#777f79;
  font-size:8px;
  font-weight:700;
}
.trust-editorial-author i{
  display:grid;
  place-items:center;
  width:12px;height:12px;
  border-radius:50%;
  background:#009b59;
  color:#fff;
  font-size:6px;
}
.trust-editorial-nav{
  position:absolute;
  right:28px;
  bottom:22px;
  display:flex;
  align-items:center;
  gap:8px;
}
.trust-editorial-arrow{
  width:28px;height:28px;
  display:grid;place-items:center;
  border:1px solid rgba(15,42,28,.13);
  border-radius:50%;
  background:#fff;
  color:#26302a;
  cursor:pointer;
  transition:.2s ease;
}
.trust-editorial-arrow:hover{
  background:#009b59;
  border-color:#009b59;
  color:#fff;
}
.trust-editorial-count{
  display:flex;
  align-items:center;
  gap:4px;
  color:#a0a6a2;
  font-size:8px;
}
.trust-editorial-count b{color:#111;font-weight:900}
.trust-editorial-mini{
  grid-column:2;
  grid-row:2;
  align-self:end;
  display:flex;
  align-items:center;
  gap:4px;
  padding-left:4px;
}
.trust-editorial-dot{
  display:flex;
  align-items:center;
  gap:6px;
  height:27px;
  padding:0 9px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#87908a;
  cursor:pointer;
  font-size:7px;
  transition:.2s ease;
}
.trust-editorial-dot span{
  width:5px;height:5px;
  border-radius:50%;
  background:#cbd0cd;
}
.trust-editorial-dot.is-active{
  background:rgba(0,155,89,.08);
  color:#008e51;
}
.trust-editorial-dot.is-active span{
  width:7px;height:7px;
  background:#009b59;
}
.trust-editorial-dot b{font-weight:800}

@media(max-width:900px){
  .trust-editorial{height:410px}
  .trust-editorial-photo{width:28%;opacity:.65}
  .trust-editorial-shade{background:linear-gradient(90deg,#f3f5f2 0%,#f3f5f2 64%,rgba(243,245,242,.55) 100%)}
  .trust-editorial-wrap{width:min(100% - 30px,760px);grid-template-columns:235px minmax(0,1fr);column-gap:28px}
  .trust-editorial-intro h2{font-size:32px}
  .trust-editorial-feature{padding:25px 28px}
  .trust-editorial-review blockquote{font-size:16px}
}
@media(max-width:680px){
  .trust-editorial{height:auto;min-height:500px}
  .trust-editorial-photo{width:100%;height:170px;top:auto;opacity:1}
  .trust-editorial-shade{
    inset:0;
    background:linear-gradient(180deg,#f3f5f2 0%,#f3f5f2 62%,rgba(243,245,242,.10) 100%);
  }
  .trust-editorial-wrap{
    width:calc(100% - 28px);
    height:auto;
    min-height:500px;
    display:flex;
    flex-direction:column;
    padding:35px 0 24px;
  }
  .trust-editorial-intro h2{font-size:31px}
  .trust-editorial-rating{margin-top:18px}
  .trust-editorial-google{margin-top:13px}
  .trust-editorial-feature{
    margin-top:23px;
    padding:22px 20px 48px;
    border-radius:15px;
  }
  .trust-editorial-slider{min-height:135px}
  .trust-editorial-review blockquote{font-size:15px;line-height:1.4}
  .trust-editorial-nav{right:17px;bottom:13px}
  .trust-editorial-mini{
    order:5;
    margin-top:10px;
    overflow:hidden;
    padding:0;
  }
  .trust-editorial-dot{padding:0 7px}
  .trust-editorial-dot b{display:none}
}

/* FINAL FIX — OPINIE + CTA FLOW / FULL WIDTH */
#zaufanie.trust-editorial{
  position:relative;
  display:block;
  width:100%;
  max-width:none;
  height:390px;
  min-height:390px;
  margin:0;
  clear:both;
  overflow:hidden;
  z-index:1;
}
#zaufanie.trust-editorial + .modern-cta,
#zaufanie.trust-editorial ~ .modern-cta{
  position:relative;
  clear:both;
  margin-top:0 !important;
  transform:none !important;
  top:auto !important;
  z-index:0;
}
#zaufanie.trust-editorial .trust-editorial-wrap{
  width:min(1400px,calc(100% - 80px));
  max-width:none;
  margin:0 auto;
}
#zaufanie.trust-editorial .trust-editorial-feature{
  min-width:0;
}
#zaufanie.trust-editorial .trust-editorial-mini{
  width:100%;
}
@media(max-width:900px){
  #zaufanie.trust-editorial{
    height:410px;
    min-height:410px;
  }
  #zaufanie.trust-editorial .trust-editorial-wrap{
    width:calc(100% - 44px);
  }
}
@media(max-width:680px){
  #zaufanie.trust-editorial{
    height:auto;
    min-height:500px;
  }
  #zaufanie.trust-editorial .trust-editorial-wrap{
    width:calc(100% - 28px);
  }
}

/* Ensure the restored company photo block starts as a normal block,
   never over the review section. */
.modern-cta{
  position:relative !important;
  clear:both !important;
  float:none !important;
  margin-top:0 !important;
  transform:none !important;
  top:auto !important;
}
.modern-cta + *{
  clear:both;
}

/* =========================================================
   FINAL LAYOUT FIX — OPINIE + CTA
========================================================= */
#zaufanie.trust-editorial{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  height:390px !important;
  min-height:390px !important;
  max-height:390px !important;
  padding:0 !important;
  background:#f3f5f2 !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  position:relative !important;
  clear:both !important;
  float:none !important;
  transform:none !important;
  z-index:1 !important;
}
#zaufanie.trust-editorial .trust-editorial-wrap{
  width:min(1500px,calc(100% - 100px)) !important;
  max-width:none !important;
  height:100% !important;
  margin:0 auto !important;
  padding:38px 0 20px !important;
  box-sizing:border-box !important;
}
#zaufanie.trust-editorial .trust-editorial-photo{
  right:0 !important;
  width:31% !important;
}
#zaufanie.trust-editorial .trust-editorial-shade{
  background:
    linear-gradient(90deg,#f3f5f2 0%,#f3f5f2 52%,rgba(243,245,242,.91) 66%,rgba(243,245,242,.12) 100%) !important;
}
#zaufanie.trust-editorial .trust-editorial-feature{
  min-width:0 !important;
  max-width:none !important;
}
#zaufanie.trust-editorial .trust-editorial-mini{
  min-width:0 !important;
}

/* The restored company-photo CTA must occupy its own block after reviews. */
section.modern-cta.reveal-scroll{
  position:relative !important;
  display:flex !important;
  width:100% !important;
  min-height:410px !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  clear:both !important;
  float:none !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
  z-index:0 !important;
}
section.modern-cta.reveal-scroll .modern-cta-bg{
  position:absolute !important;
  inset:-3% !important;
}
section.modern-cta.reveal-scroll .modern-cta-content{
  position:relative !important;
  z-index:1 !important;
}

@media(max-width:900px){
  #zaufanie.trust-editorial{
    height:410px !important;
    min-height:410px !important;
    max-height:410px !important;
  }
  #zaufanie.trust-editorial .trust-editorial-wrap{
    width:calc(100% - 44px) !important;
    padding:30px 0 18px !important;
  }
}
@media(max-width:680px){
  #zaufanie.trust-editorial{
    height:auto !important;
    min-height:500px !important;
    max-height:none !important;
  }
  #zaufanie.trust-editorial .trust-editorial-wrap{
    width:calc(100% - 28px) !important;
    height:auto !important;
    min-height:500px !important;
    padding:35px 0 24px !important;
  }
  section.modern-cta.reveal-scroll{
    min-height:360px !important;
  }
}

/* =========================================================
   FINAL CTA — FULL WIDTH IMAGE / EDITORIAL
========================================================= */
section.modern-cta{
  width:100vw !important;
  max-width:none !important;
  min-height:470px !important;
  height:470px !important;
  margin:0 !important;
  padding:0 !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  position:relative !important;
  overflow:hidden !important;
  clear:both !important;
  box-sizing:border-box !important;
  isolation:isolate !important;
  border:0 !important;
}
section.modern-cta .modern-cta-bg{
  position:absolute !important;
  inset:0 !important;
  z-index:-3 !important;
  background:
    linear-gradient(90deg,rgba(3,12,8,.96) 0%,rgba(3,12,8,.80) 31%,rgba(3,12,8,.38) 62%,rgba(3,12,8,.48) 100%),
    url("zdfi/firma.webp") center 52% / cover no-repeat !important;
  transform:scale(1.015) !important;
  filter:blur(2px) !important;
  transition:transform 1.1s ease,filter .5s ease !important;
}
section.modern-cta:hover .modern-cta-bg{
  transform:scale(1.04) !important;
  filter:blur(2px) !important;
}
section.modern-cta .modern-cta-grain{
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:.10;
  background-image:
    radial-gradient(rgba(255,255,255,.35) .55px,transparent .7px);
  background-size:5px 5px;
  mix-blend-mode:soft-light;
}
section.modern-cta .modern-cta-content{
  position:relative !important;
  z-index:2 !important;
  width:min(780px,calc(100% - 90px)) !important;
  max-width:none !important;
  text-align:left !important;
  padding:58px 0 !important;
  margin-left:max(44px,calc((100vw - 1320px)/2)) !important;
}
.modern-cta-kicker{
  display:block;
  margin: bottom 12px;
  color:#69dda4;
  font-size:9px;
  font-weight:900;
  letter-spacing:2.6px;
}
.modern-cta-kicker span{color:#69dda4}
section.modern-cta .modern-cta-content > span{
  display:block;
  margin-bottom:12px;
  color:#69dda4;
  font-size:10px;
  font-weight:900;
  letter-spacing:3px;
}
section.modern-cta .modern-cta-content h2{
  margin:0;
  max-width:760px;
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:clamp(36px,4.7vw,67px);
  line-height:.98;
  letter-spacing:-3.2px;
  font-weight:850;
}
section.modern-cta .modern-cta-content h2 em{
  color:#69dda4;
  font-style:normal;
}
section.modern-cta .modern-cta-content p{
  max-width:550px;
  margin:19px 0 25px;
  color:rgba(255,255,255,.66);
  font-size:12px;
  line-height:1.65;
}
section.modern-cta .modern-cta-buttons{
  display:flex !important;
  align-items:center;
  gap:10px;
}
section.modern-cta .cta-primary,
section.modern-cta .cta-secondary{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 17px;
  border-radius:999px;
  text-decoration:none;
  font-size:9px;
  font-weight:900;
  transition:.25s ease;
}
section.modern-cta .cta-primary{
  background:#69dda4;
  color:#07120d;
}
section.modern-cta .cta-primary:hover{
  background:#fff;
  transform:translateY(-2px);
}
section.modern-cta .cta-secondary{
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.06);
  color:#fff;
  backdrop-filter:blur(10px);
}
section.modern-cta .cta-secondary:hover{
  border-color:#69dda4;
  background:rgba(105,221,164,.12);
  transform:translateY(-2px);
}

.modern-cta-scroll{
  position:absolute;
  right:28px;
  top:50%;
  transform:translateY(-50%) rotate(90deg);
  transform-origin:right center;
  color:rgba(255,255,255,.35);
  font-size:7px;
  font-weight:900;
  letter-spacing:3px;
}
.modern-cta-scroll span{
  display:inline-block;
  width:35px;
  height:1px;
  margin-right:9px;
  vertical-align:middle;
  background:#69dda4;
}
@media(max-width:900px){
  section.modern-cta{height:450px !important;min-height:450px !important}
  section.modern-cta .modern-cta-content{
    width:calc(100% - 70px) !important;
    margin-left:35px !important;
  }
}
@media(max-width:650px){
  section.modern-cta{height:510px !important;min-height:510px !important}
  section.modern-cta .modern-cta-bg{
    background:
      linear-gradient(180deg,rgba(3,12,8,.91) 0%,rgba(3,12,8,.77) 55%,rgba(3,12,8,.64) 100%),
      url("zdfi/firma.webp") 62% center / cover no-repeat !important;
  }
  section.modern-cta .modern-cta-content{
    width:calc(100% - 32px) !important;
    margin:0 16px !important;
    padding:45px 0 150px !important;
  }
  .modern-cta-kicker{margin-bottom:18px;font-size:8px}
  section.modern-cta .modern-cta-content h2{
    font-size:34px;
    letter-spacing:-1.7px;
  }
  section.modern-cta .modern-cta-content p{
    font-size:11px;
    margin:15px 0 20px;
  }
  section.modern-cta .modern-cta-buttons{flex-wrap:wrap}
  section.modern-cta .cta-primary,
  section.modern-cta .cta-secondary{min-height:39px;padding:0 14px}
  .modern-cta-scroll{display:none}
}

/* ===== Grupowanie zdjęć modeli + wygodniejsze wyszukiwanie ===== */
.product-group-card .product-group-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;aspect-ratio:1.55;background:#eef1ee;overflow:hidden}
.product-group-card .group-photo{min-width:0;overflow:hidden;background:#f1f3f1}
.product-group-card .group-photo.is-main{grid-column:span 2;grid-row:span 2}
.product-group-card .group-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.product-group-card:hover .group-photo img{transform:scale(1.035)}
.product-group-card .group-photo-count{display:inline-block;margin:0 0 9px;color:#657068;font-size:10px;letter-spacing:.8px;text-transform:uppercase}
.product-detail-gallery{position:relative;display:grid!important;place-items:center;background:#f1f3f1;min-height:520px;overflow:hidden}
.product-detail-gallery>img{display:none!important;width:100%;height:100%;object-fit:contain}
.product-detail-gallery>img.is-active{display:block!important}
.detail-gallery-thumbs{position:absolute;left:18px;right:18px;bottom:18px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.detail-thumb{width:62px;height:52px;padding:0;border:2px solid rgba(255,255,255,.7);background:#fff;cursor:pointer;border-radius:8px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.detail-thumb.is-active{border-color:#1f4938}
.detail-thumb img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:700px){.product-group-card .product-group-gallery{aspect-ratio:1.25}.product-detail-gallery{min-height:390px}.detail-gallery-thumbs{left:10px;right:10px;bottom:10px}.detail-thumb{width:52px;height:44px}}


/* ===== WYSZUKIWANIE NA ŻYWO ===== */
.top-search.has-live-search,.results-search.has-live-search{position:relative;z-index:50;}
.live-search-results{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;min-width:320px;background:rgba(255,255,255,.98);border:1px solid #e4e9e6;border-radius:14px;box-shadow:0 18px 45px rgba(20,35,28,.16);padding:7px;overflow:hidden;z-index:9999;backdrop-filter:blur(12px);}
.live-search-results.is-visible{display:block;}
.live-search-suggestion{display:grid;grid-template-columns:48px 1fr 20px;align-items:center;gap:10px;padding:8px;border-radius:10px;text-decoration:none;color:#18221d;transition:background .16s ease,transform .16s ease;}
.live-search-suggestion:hover{background:#f1f5f2;transform:translateX(2px);}
.live-search-thumb{width:48px;height:42px;border-radius:8px;overflow:hidden;background:#f0f2f1;display:block;}
.live-search-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.live-search-suggestion span:not(.live-search-thumb){min-width:0;display:flex;flex-direction:column;gap:2px;}
.live-search-suggestion b{font-family:Montserrat,sans-serif;font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.live-search-suggestion small{font-size:10px;color:#7a827d;}
.live-search-suggestion>i{font-size:10px;color:#08a35c;}
@media(max-width:760px){.live-search-results{position:fixed;top:64px;left:12px;right:12px;min-width:0;max-height:60vh;overflow:auto;}.top-search{position:relative!important;}}

/* v3 collection/product rendering */
.collection-page-hero{margin-bottom:28px}.collection-page-hero h1{margin-bottom:10px}.collection-page-hero .page-lead{max-width:850px}


/* ===== MŁOT MEBLE — premium contact + catalogue full-bleed refresh ===== */
#kontakt.contact-premium,
.catalog-download-premium {
  width:100vw!important;max-width:100vw!important;position:relative!important;left:50%!important;
  margin-left:-50vw!important;margin-right:-50vw!important;box-sizing:border-box!important;
}
#kontakt.contact-premium{padding:clamp(58px,7vw,104px) clamp(20px,5.5vw,88px)!important;background:#f3f0e9;color:#25251f;overflow:hidden;}
.contact-premium-inner{width:100%;max-width:1540px;margin:0 auto;}
.premium-kicker{display:inline-flex;align-items:center;gap:12px;font-size:10px;font-weight:800;letter-spacing:2.8px;color:#78804d;}
.premium-kicker i,.visual-caption i{display:inline-block;width:24px;height:1px;background:#9b9b78;}
.contact-heading{max-width:850px;margin:0 0 clamp(34px,4vw,58px);}
.contact-heading h2,.catalog-premium-copy h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(38px,5.3vw,74px);line-height:1.02;letter-spacing:-1.8px;margin:22px 0;color:#262720;}
.contact-heading h2 em,.catalog-premium-copy h2 em{font-weight:400;color:#008e51;}
.contact-heading>p,.catalog-premium-copy>p{max-width:540px;color:#77766e;font-size:15px;line-height:1.85;margin:0;}
.contact-premium-layout{display:grid;grid-template-columns:minmax(290px,.78fr) minmax(0,1.45fr);gap:clamp(28px,5vw,78px);align-items:stretch;}
.contact-premium-info{display:flex;flex-direction:column;align-items:stretch;padding:5px 0;}
.contact-info-label{font-size:10px;font-weight:800;letter-spacing:2px;color:#92917f;padding-bottom:17px;border-bottom:1px solid #d9d5ca;margin-bottom:5px;}
.contact-line{display:flex;align-items:center;gap:15px;padding:21px 0;border-bottom:1px solid #d9d5ca;text-decoration:none;color:#262720;transition:color .2s;}
.contact-line:hover{color:#7b8058;}
.contact-line-icon{width:42px;height:42px;flex:0 0 42px;border:1px solid #d9d5ca;border-radius:50%;display:grid;place-items:center;color:#7e825e;font-size:15px;}
.contact-line>span:nth-child(2){display:flex;flex-direction:column;gap:5px;min-width:0;}
.contact-line small,.contact-address-block small{font-size:9px;letter-spacing:1.8px;font-weight:800;color:#92917f;}
.contact-line strong,.contact-address-block strong{font-size:14px;font-weight:700;overflow-wrap:anywhere;}
.contact-line-arrow{font-size:11px;color:#a7a493;margin-left:auto;}
.contact-address-block{display:flex;align-items:flex-start;gap:15px;padding:24px 0 18px;}
.contact-address-block>div{display:flex;flex-direction:column;gap:7px;}
.contact-address-block p{font-size:13px;line-height:1.8;color:#77766e;}
.contact-tax{font-size:11px;letter-spacing:1px;color:#92917f;padding:12px 0 24px;}
.contact-tax strong{color:#55564b;margin-left:8px;letter-spacing:.3px;}
.contact-directions{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#7d815b;color:white;text-decoration:none;padding:17px 20px;font-size:10px;font-weight:800;letter-spacing:1.5px;transition:background .2s;}
.contact-directions:hover{background:#626747;}
.contact-premium-visuals{display:grid;grid-template-columns:1.05fr .95fr;gap:12px;min-height:510px;}
.contact-showroom-photo{position:relative;min-height:510px;overflow:hidden;background:#e3ded3;}
.contact-showroom-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;transition:transform .7s ease;}
.contact-showroom-photo:hover img{transform:scale(1.035);}
.visual-caption{position:absolute;bottom:18px;left:18px;display:flex;align-items:center;gap:9px;background:rgba(248,246,240,.92);padding:11px 13px;font-size:9px;font-weight:800;letter-spacing:1.5px;color:#46463c;}
.contact-map-panel{display:flex;flex-direction:column;min-width:0;background:#e7e3d9;padding:12px;}
.map-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 4px 13px;color:#62634e;}
.map-heading span{font-size:10px;font-weight:800;letter-spacing:1px;}
.map-heading span i{margin-right:6px;}
.map-heading small{font-size:8px;letter-spacing:1px;color:#92917f;text-align:right;}
.map-box-premium{height:auto;flex:1;min-height:360px;border-radius:0!important;overflow:hidden;}
.map-box-premium iframe{display:block;width:100%;height:100%;min-height:360px;border:0;filter:saturate(.72);}
.catalog-download-premium{padding:0!important;background:#24251f!important;color:#f7f5ef;text-align:left!important;overflow:hidden;}
.catalog-download-premium-inner{max-width:none!important;width:100%;margin:0!important;display:grid;grid-template-columns:1.05fr .95fr;min-height:550px;}
.catalog-premium-copy{padding:clamp(48px,7vw,105px) clamp(24px,8vw,125px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;}
.catalog-premium-copy .premium-kicker{color:#b8ba91;}
.catalog-premium-copy h2{color:#f6f3eb;margin:24px 0 20px;font-size:clamp(36px,4.5vw,64px);}
.catalog-premium-copy h2 em{color:#b7b89a;}
.catalog-premium-copy>p{color:#c1c0b6;max-width:490px;}
.catalog-meta{display:flex;gap:20px;flex-wrap:wrap;margin:28px 0 30px;color:#aead9f;font-size:9px;font-weight:800;letter-spacing:1.5px;}
.catalog-meta span{display:inline-flex;align-items:center;gap:8px;}
.catalog-download-premium-btn{display:inline-flex!important;align-items:center;gap:15px;background:#a3a681!important;color:#24251f!important;border-radius:0!important;padding:18px 23px!important;font-size:10px!important;font-weight:800!important;letter-spacing:1.4px;}
.catalog-download-premium-btn:hover{background:#c0c2a0!important;}
.catalog-btn-arrow{font-size:10px;margin-left:12px;}
.catalog-cover-wrap{position:relative;display:flex;align-items:center;justify-content:center;min-height:550px;padding:42px clamp(22px,6vw,90px);background:radial-gradient(ellipse at center,#414237 0%,#292a23 52%,#24251f 100%);overflow:hidden;}
.catalog-cover-wrap img{position:relative;z-index:1;display:block;width:min(100%,410px);max-height:490px;object-fit:contain;box-shadow:0 25px 55px rgba(0,0,0,.34);transform:rotate(1.5deg);transition:transform .45s ease;}
.catalog-cover-wrap:hover img{transform:rotate(0) translateY(-5px);}
.catalog-cover-glow{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:rgba(190,183,143,.10);filter:blur(55px);}
.catalog-cover-caption{position:absolute;bottom:24px;right:clamp(22px,5vw,70px);font-size:8px;letter-spacing:2px;color:#a8a894;}
@media(max-width:980px){.contact-premium-layout{grid-template-columns:1fr;}.contact-premium-visuals{min-height:420px;}.contact-showroom-photo{min-height:420px;}.map-box-premium,.map-box-premium iframe{min-height:300px;}.catalog-download-premium-inner{grid-template-columns:1fr 1fr;}.catalog-premium-copy{padding:48px 34px;}}
@media(max-width:640px){#kontakt.contact-premium{padding:54px 20px!important;}.contact-heading{margin-bottom:30px;}.contact-heading h2,.catalog-premium-copy h2{font-size:clamp(36px,10vw,49px);letter-spacing:-1px;}.contact-heading>p,.catalog-premium-copy>p{font-size:13px;}.contact-premium-layout{gap:28px;}.contact-premium-visuals{grid-template-columns:1fr;min-height:0;}.contact-showroom-photo{min-height:350px;height:68vw;max-height:460px;}.contact-map-panel{min-height:330px;}.map-box-premium,.map-box-premium iframe{min-height:280px;}.catalog-download-premium-inner{grid-template-columns:1fr;}.catalog-premium-copy{padding:56px 22px 38px;}.catalog-cover-wrap{min-height:400px;padding:30px 45px 55px;}.catalog-cover-wrap img{width:min(82%,340px);max-height:370px;}.catalog-cover-caption{bottom:18px;right:20px;}.catalog-download-premium-btn{width:100%;justify-content:center;}.catalog-meta{margin:23px 0;}}
/* Informacja o aktualności katalogu */
.catalog-download-premium .catalog-disclaimer {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  max-width: 480px;
  margin-top: 20px;
  color: #aaa39a;
  font-size: 12px;
  line-height: 1.7;
  text-align: left;
}

.catalog-download-premium .catalog-disclaimer i {
  color: #b08b60;
  font-size: 14px;
  margin-top: 3px;
  flex-shrink: 0;
}

/* ===== OPTIMIZACJA: MOBILE / WYDAJNOSC ===== */
img { height: auto; }
@media (max-width: 760px) {
  html, body { overflow-x: clip !important; }
  header { backdrop-filter: none; -webkit-backdrop-filter: none; }
  header nav {
    min-height: 64px;
    padding: 8px 16px;
    flex-wrap: wrap;
    gap: 8px;
  }
  .logo-box { min-width: 0; gap: 8px; }
  .nav-logo-img { max-width: 48px; height: 34px; }
  .logo-text { font-size: 1rem; }
  .logo-sub { font-size: .6rem; }
  .mobile-menu-toggle { flex: 0 0 44px; min-width: 44px; min-height: 44px; }
  header .nav-links {
    width: 100%;
    max-height: calc(100dvh - 76px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  header .nav-links li { width: 100%; }
  header .nav-links li a { width: 100%; min-height: 46px; }
  .top-search { width: 100%; }
  .top-search input { min-width: 0; width: 100%; }
  .hero, #home {
    min-height: 68svh;
    padding: 76px 18px;
    background-attachment: scroll !important;
  }
  .hero-content h1 { font-size: clamp(1.8rem, 7vw, 2.4rem); line-height: 1.15; }
  .hero-content p { font-size: 1rem; }
  section { padding: 38px 16px; }
  .about-grid, .contact-grid { grid-template-columns: minmax(0, 1fr); }
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .img-box { height: auto; aspect-ratio: 4 / 3; }
  .item-info { padding: 10px 8px; }
  .page-inner { padding-left: 14px; padding-right: 14px; }
}
@media (max-width: 420px) {
  .gallery-grid { grid-template-columns: minmax(0, 1fr); }
  .hero-btn { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
/* =========================================================
   MŁOT MEBLE — PŁYNNY PASEK INFORMACYJNY
   ========================================================= */
.features-bar {
  width: 100% !important;
  overflow: hidden !important;
  background: linear-gradient(110deg, #121715, #1a211d);
  color: #fff;
  padding: 22px 0 !important;
  display: block !important;
  position: relative;
}

.features-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: max-content !important;
  max-width: none !important;
  margin: 0 !important;
  gap: 0 !important;
  animation: mmFeaturesMarquee 24s linear infinite !important;
  will-change: transform;
}

.features-group {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  flex-shrink: 0 !important;
  width: max-content !important;
  margin: 0 !important;
  gap: 0 !important;
}

.features-group .f-item {
  box-sizing: border-box !important;
  flex: 0 0 280px !important;
  width: 280px !important;
  min-width: 280px !important;
  max-width: 280px !important;
  min-height: 78px !important;
  margin: 0 !important;
  padding: 5px 18px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  overflow: hidden !important;
}

.features-group .f-item {
  border-right: 1px solid rgba(255,255,255,.14);
}

.features-group .f-item:first-child {
  border-left: 1px solid rgba(255,255,255,.14);
}

.features-group .f-item i {
  display: block !important;
  flex: 0 0 auto !important;
  margin: 0 0 7px !important;
  font-size: 1.55rem !important;
  line-height: 1 !important;
  color: var(--yellow) !important;
}

.features-group .f-item h4 {
  width: 100% !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: .92rem !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  overflow-wrap: anywhere !important;
}

.features-group .f-item p {
  width: 100% !important;
  margin: 4px 0 0 !important;
  color: #aaa !important;
  font-size: .74rem !important;
  line-height: 1.2 !important;
  overflow-wrap: anywhere !important;
}

/* Elementy bez dodatkowego opisu */
.features-group .f-item p:empty {
  display: none !important;
}

@keyframes mmFeaturesMarquee {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(-1400px, 0, 0); }
}

/* Trzy identyczne grupy zapewniają ciągłe wypełnienie także na szerokich ekranach. */
.features-group {
  flex: 0 0 auto !important;
}

/* Komputer — zatrzymanie po najechaniu */
@media (hover: hover) and (pointer: fine) {
  .features-bar:hover .features-track {
    animation-play-state: paused !important;
  }
}

/* Telefon — wolniej i zatrzymanie po kliknięciu */
@media (max-width: 760px) {
  .features-bar {
    padding: 18px 0 !important;
    cursor: pointer;
  }

  .features-track {
    animation-duration: 18s !important;
  }

  .features-group .f-item {
    flex-basis: 220px !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    min-height: 72px !important;
    padding: 5px 12px !important;
  }

  @keyframes mmFeaturesMarqueeMobile {
    from { transform: translate3d(0, 0, 0); }
    to   { transform: translate3d(-1100px, 0, 0); }
  }

  .features-track {
    animation-name: mmFeaturesMarqueeMobile !important;
  }

  .features-group .f-item i {
    font-size: 1.35rem !important;
    margin-bottom: 5px !important;
  }

  .features-group .f-item h4 {
    font-size: .76rem !important;
    line-height: 1.18 !important;
  }

  .features-group .f-item p {
    font-size: .63rem !important;
    line-height: 1.2 !important;
  }

  .features-bar.is-paused .features-track {
    animation-play-state: paused !important;
  }
}

@media (max-width: 420px) {
  .features-group .f-item {
    flex-basis: 205px !important;
    width: 205px !important;
    min-width: 205px !important;
    max-width: 205px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
  }

  @keyframes mmFeaturesMarqueeSmall {
    from { transform: translate3d(0, 0, 0); }
    to   { transform: translate3d(-1025px, 0, 0); }
  }

  .features-track {
    animation-name: mmFeaturesMarqueeSmall !important;
  }

  .features-group .f-item h4 { font-size: .70rem !important; }
  .features-group .f-item p { font-size: .59rem !important; }
}


/* =========================================================
   MŁOT MEBLE — INTERAKTYWNY FLIPBOOK + ZDJĘCIA KOLEKCJI
   ========================================================= */
.interactive-catalog{padding:88px 20px 75px;background:#f5f6f4;border-top:1px solid #e5e9e6}
.interactive-catalog-head,.collection-gallery-head{max-width:760px;margin:0 auto 35px;text-align:center}
.interactive-kicker{display:block;color:var(--green);font-size:10px;font-weight:800;letter-spacing:2.5px;margin-bottom:10px}
.interactive-catalog h2,.collection-gallery-head h2{margin:0 0 12px;color:#171917;font:800 clamp(30px,4vw,48px) 'Montserrat',sans-serif;line-height:1.08}
.interactive-catalog h2 em,.collection-gallery-head h2 em{font-style:normal;color:var(--green)}
.interactive-catalog-head p,.collection-gallery-head p{margin:0;color:#747c77;font-size:14px;line-height:1.7}
.flipbook-shell{position:relative;max-width:1080px;margin:0 auto;background:#dfe3df;border:1px solid #d2d8d3;border-radius:18px;padding:25px;box-shadow:0 20px 55px rgba(0,0,0,.10);min-height:560px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.flipbook{width:min(100%,960px);min-height:500px;display:flex;justify-content:center;align-items:center;--flip-zoom:1}
.flipbook.is-ready{transform:scale(var(--flip-zoom));transform-origin:center center}
.flip-page{background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.08);overflow:hidden}
.flip-page canvas{display:block;width:100%;height:100%;background:#fff}
.flipbook-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#2a302c;background:rgba(245,246,244,.94);z-index:4;text-align:center}
.flipbook-loading small{color:#7a817c;font-size:11px}
.flipbook-spinner{width:36px;height:36px;border:3px solid #d9dfdb;border-top-color:var(--green);border-radius:50%;animation:mlotSpin .8s linear infinite;margin-bottom:6px}
@keyframes mlotSpin{to{transform:rotate(360deg)}}
.flipbook-error{padding:30px;text-align:center;color:#555;background:#fff;border-radius:12px}
.flipbook-error a{color:var(--green);font-weight:800}
.flipbook-toolbar{max-width:1080px;margin:18px auto 0;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
.flipbook-toolbar button,.flip-download{height:42px;min-width:42px;border:1px solid #d8ded9;background:#fff;color:#252a27;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;transition:.18s;font-size:12px;font-weight:800}
.flipbook-toolbar button:hover,.flip-download:hover{border-color:var(--green);color:var(--green);transform:translateY(-1px)}
.flipbook-toolbar #flipPage{min-width:115px;text-align:center;font-size:11px;font-weight:800;color:#555}
.flip-divider{height:25px;width:1px;background:#d9ddda;margin:0 4px}
.flip-download{padding:0 15px;gap:7px;background:#222;color:#fff;border-color:#222}
.flip-download:hover{background:var(--green);color:#fff;border-color:var(--green)}
.collection-gallery-section{padding:90px 20px 105px;background:#fff}
.collection-photo-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.collection-photo-card{background:#fff;border:1px solid #e5e9e6;border-radius:15px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.055);transition:transform .2s,box-shadow .2s}
.collection-photo-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.09)}
.collection-photo-box{position:relative;aspect-ratio:1.2;background:#f0f2f0;overflow:hidden}
.collection-photo-box>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.collection-photo-card:hover .collection-photo-box>img{transform:scale(1.025)}
.collection-photo-button{position:absolute;right:10px;bottom:10px;width:44px;height:44px;border:1px solid rgba(255,255,255,.5);border-radius:10px;background:rgba(20,20,20,.78);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(8px);transition:.18s}
.collection-photo-button:hover,.collection-photo-button:focus{background:var(--green);outline:none}
.collection-photo-info{padding:14px 15px 16px}.collection-photo-info span{font-size:8px;font-weight:800;letter-spacing:1.8px;color:var(--green)}
.collection-photo-info h3{margin:5px 0 0;font:800 17px 'Montserrat',sans-serif;color:#191d1a}
.collection-gallery-empty{grid-column:1/-1;text-align:center;color:#777;padding:40px}
.collection-lightbox{position:fixed;inset:0;z-index:100000;background:rgba(10,12,11,.94);display:none;align-items:center;justify-content:center;padding:70px 35px 80px}
.collection-lightbox.is-open{display:flex}
.collection-lightbox-stage{width:min(92vw,1200px);height:min(82vh,850px);display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}
.collection-lightbox-stage img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center center;user-select:none;-webkit-user-drag:none;cursor:grab;transition:transform .12s ease}
.collection-lightbox-control,.collection-lightbox-close{position:absolute;top:18px;width:44px;height:44px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}
.collection-lightbox-close{right:18px;font-size:17px}.collection-lightbox-control{right:74px}.collection-lightbox-control:nth-of-type(2){right:126px}
.collection-lightbox-control:hover,.collection-lightbox-close:hover{background:var(--green);border-color:var(--green)}
.collection-lightbox-caption{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);padding:9px 18px;border-radius:999px;background:rgba(0,0,0,.68);color:#fff;font:700 11px 'Montserrat',sans-serif;letter-spacing:.6px;white-space:nowrap}
body.lightbox-open{overflow:hidden}
@media(max-width:1000px){.collection-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.flipbook-shell{padding:16px;min-height:500px}}
@media(max-width:720px){.interactive-catalog,.collection-gallery-section{padding-left:14px;padding-right:14px}.flipbook-shell{padding:8px;border-radius:12px;min-height:430px}.flipbook{min-height:390px}.flipbook-toolbar{gap:5px}.flipbook-toolbar button,.flip-download{height:40px;min-width:40px}.flip-divider{display:none}.collection-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.collection-photo-info{padding:12px}.collection-photo-info h3{font-size:15px}.collection-lightbox{padding:60px 10px 65px}.collection-lightbox-stage{width:96vw;height:78vh}.collection-lightbox-control{right:68px}.collection-lightbox-control:nth-of-type(2){right:118px}}
@media(max-width:420px){.collection-photo-grid{grid-template-columns:1fr}.flipbook-toolbar #flipPage{order:-1;width:100%}}
@media(prefers-reduced-motion:reduce){.flipbook-spinner{animation:none}.collection-photo-card,.collection-photo-box>img,.flipbook-toolbar button{transition:none}}

/* ===== FLIPBOOK — naturalny, miękki grzbiet bez czarnej kreski ===== */
.flipbook-shell{background:#d7dbd8;}
.flipbook{position:relative;isolation:isolate;}

/* Usuwamy poprzednią ostrą linię. */
.flipbook.is-ready::before,
.flipbook.is-ready::after{
  display:none !important;
  content:none !important;
}

.flip-page{background:#fff;}
.flip-page canvas{display:block;background:#fff;}
.flipbook-loading{display:none!important;}
.flipbook-error{display:none;}
.flipbook.is-ready + .flipbook-error{display:none;}

/* Realistyczne zagłębienie w osi rozkładówki: szerokie, miękkie,
   bez żadnej pionowej krawędzi. Nakładka nie blokuje kliknięć. */
.online-catalog-wrap .flipbook-shell::before{
  content:"";
  position:absolute;
  z-index:30;
  top:2%;
  bottom:2%;
  left:50%;
  width:82px;
  transform:translateX(-50%);
  pointer-events:none;
  background:
    radial-gradient(ellipse at center,
      rgba(0,0,0,.20) 0%,
      rgba(0,0,0,.12) 17%,
      rgba(0,0,0,.055) 34%,
      rgba(0,0,0,.018) 48%,
      rgba(0,0,0,0) 72%);
  filter:blur(8px);
  opacity:.95;
  mix-blend-mode:multiply;
}

/* Lekkie "wybrzuszenie" papieru tuż obok rowka, dzięki któremu środek
   nie wygląda jak nałożona kreska, tylko jak załamany papier. */
.online-catalog-wrap .flipbook-shell::after{
  content:"";
  position:absolute;
  z-index:29;
  top:2%;
  bottom:2%;
  left:50%;
  width:150px;
  transform:translateX(-50%);
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.045) 24%,
      rgba(255,255,255,.09) 37%,
      rgba(255,255,255,0) 50%,
      rgba(255,255,255,.09) 63%,
      rgba(255,255,255,.045) 76%,
      rgba(255,255,255,0) 100%);
  filter:blur(9px);
  opacity:.9;
  mix-blend-mode:screen;
}

/* Cień samej krawędzi papieru od strony grzbietu. */
.online-catalog-wrap .flipbook .flip-page{
  box-shadow:
    inset 14px 0 24px -25px rgba(0,0,0,.40),
    inset -14px 0 24px -25px rgba(0,0,0,.40);
}

@media(max-width:720px){
  .online-catalog-wrap .flipbook-shell::before{width:58px;filter:blur(7px);opacity:.78;}
  .online-catalog-wrap .flipbook-shell::after{width:105px;filter:blur(8px);opacity:.68;}
}

/* KATALOG ONLINE */
.catalog-online-btn{margin-top:10px;background:#fff;color:#222;border:1px solid #d8ded9}
.catalog-online-btn:hover{background:var(--green);color:#fff;border-color:var(--green)}
.online-catalog-page{background:#f4f5f3}
.online-catalog-hero{padding:125px 20px 55px;text-align:center;background:#fff}
.online-catalog-kicker{display:inline-block;margin-bottom:12px;color:var(--green);font:800 10px 'Montserrat',sans-serif;letter-spacing:2.4px}
.online-catalog-hero h1{margin:0;color:#191d1a;font:800 clamp(32px,5vw,58px) 'Montserrat',sans-serif;letter-spacing:-1.8px}
.online-catalog-hero h1 em{font-style:normal;color:var(--green)}
.online-catalog-hero p{max-width:650px;margin:18px auto 0;color:#777;font:400 15px/1.7 'Open Sans',sans-serif}
.online-catalog-wrap{padding:20px 20px 80px}
.online-catalog-wrap .flipbook-shell{max-width:1180px;margin:0 auto;border-radius:14px;padding:18px;box-shadow:0 16px 45px rgba(0,0,0,.08)}
.online-catalog-wrap .flipbook-toolbar{max-width:1180px;margin:16px auto 0}
.online-catalog-note{max-width:1180px;margin:14px auto 0;text-align:center;color:#777;font-size:11px}
.online-catalog-back{display:flex;justify-content:center;padding:0 20px 70px}
.online-catalog-back a{color:#555;text-decoration:none;font:800 10px 'Montserrat',sans-serif;letter-spacing:1.4px}
.online-catalog-back a:hover{color:var(--green)}
@media(max-width:720px){
.online-catalog-hero{padding:105px 16px 38px}
.online-catalog-wrap{padding:10px 8px 55px}
.online-catalog-wrap .flipbook-shell{padding:7px}
.online-catalog-wrap .flipbook-toolbar{margin-top:10px}
}

.footer-bottom {
    width: 100%;
    max-width: 1100px;
    margin: 45px auto 0;
    padding: 0 20px 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    font-size: 12px;
    color: #b9b0a5;
}

.licznik {
    display: flex;
    align-items: center;
    gap: 5px;

    color: #b9b0a5;
    font-size: 12px;
    letter-spacing: 0.2px;
}

.licznik-label {
    color: #b9b0a5;
}

#licznik {
    color: #c8a06a;
    font-weight: 500;
    min-width: 15px;
}

.copyright {
    color: #9d958c;
    font-size: 12px;
}

/* =========================================================
   GRZBIET KATALOGU — REALISTYCZNE WKLĘŚNIĘCIE
   Bez czarnej pionowej kreski.
   ========================================================= */
.flipbook-shell {
    position: relative;
    isolation: isolate;
    background: #d7dbd8;
}

/* Żadnej linii generowanej przez nasze pseudo-elementy flipbooka. */
.flipbook.is-ready::before,
.flipbook.is-ready::after {
    display: none !important;
    content: none !important;
}

/* Miękki, szeroki cień zagłębienia. */
.online-catalog-wrap .flipbook-shell::before {
    content: "";
    position: absolute;
    z-index: 40;
    left: 50%;
    top: 1.5%;
    bottom: 1.5%;
    width: 72px;
    transform: translateX(-50%);
    pointer-events: none;
    background: radial-gradient(
        ellipse 18px 50% at 50% 50%,
        rgba(0,0,0,.24) 0%,
        rgba(0,0,0,.17) 24%,
        rgba(0,0,0,.09) 46%,
        rgba(0,0,0,.035) 62%,
        rgba(0,0,0,0) 78%
    );
    filter: blur(10px);
    opacity: .95;
    mix-blend-mode: multiply;
}

/* Delikatne światło na wypukłych częściach papieru obok grzbietu. */
.online-catalog-wrap .flipbook-shell::after {
    content: "";
    position: absolute;
    z-index: 39;
    left: 50%;
    top: 1.5%;
    bottom: 1.5%;
    width: 170px;
    transform: translateX(-50%);
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,.025) 24%,
        rgba(255,255,255,.10) 39%,
        rgba(255,255,255,0) 50%,
        rgba(255,255,255,.10) 61%,
        rgba(255,255,255,.025) 76%,
        rgba(255,255,255,0) 100%
    );
    filter: blur(11px);
    opacity: .85;
    mix-blend-mode: screen;
}

/* Lekki cień od krawędzi papieru przy samym grzbiecie. */
.online-catalog-wrap .flipbook .flip-page {
    box-shadow:
        inset 16px 0 26px -27px rgba(0,0,0,.48),
        inset -16px 0 26px -27px rgba(0,0,0,.48);
}

@media (max-width: 720px) {
    .online-catalog-wrap .flipbook-shell::before {
        width: 54px;
        filter: blur(8px);
        opacity: .82;
    }
    .online-catalog-wrap .flipbook-shell::after {
        width: 120px;
        filter: blur(9px);
        opacity: .62;
    }
    .online-catalog-wrap .flipbook .flip-page {
        box-shadow:
            inset 10px 0 20px -22px rgba(0,0,0,.42),
            inset -10px 0 20px -22px rgba(0,0,0,.42);
    }
}


/* Stopka — brak punktów listy przy ikonach social media */
.footer-social-icons,
.footer-social-icons li {
  list-style: none;
}

.footer-social-icons li::marker {
  content: none;
}


/* Dolny napis stopki — zawsze na środku i na samym dole */
.premium-footer > .footer-bottom {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 16px 20px 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  text-align: center;
}

.premium-footer > .footer-bottom p {
  margin: 0;
  text-align: center;
}

@media (max-width: 600px) {
  .premium-footer > .footer-bottom {
    align-items: center;
    justify-content: center;
    padding: 16px 24px 20px;
  }

  .premium-footer > .footer-bottom p {
    text-align: center;
  }
}

/* Strzałka powrotu na górę strony */


#back-to-top {
  position: fixed;
  right: 25px;
  bottom: 25px;
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  background: #171717;
  color: #fff;
  cursor: pointer;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .3s ease,
              transform .3s ease,
              background .3s ease,
              border-color .3s ease,
              visibility .3s ease;
}

#back-to-top svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .3s ease;
}

#back-to-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

#back-to-top:hover {
  background: #333;
  border-color: rgba(255, 255, 255, .5);
}

#back-to-top:hover svg {
  transform: translateY(-3px);
}

@media (max-width: 600px) {
  #back-to-top {
    right: 16px;
    bottom: 16px;
    width: 46px;
    height: 46px;
  }
}

/* Pasek sekcji */
/* BOCZNA NAWIGACJA SEKCJI — MŁOT MEBLE */
.section-dots {
  position: fixed;
  top: 50%;
  right: 22px;
  transform: translateY(-50%);
  z-index: 9000;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.section-dot {
  position: relative;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(161, 123, 76, 0.55);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #40372c;
  text-decoration: none;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.07);
  transition:
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
}

.section-dot-number {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 700;
}

.section-dot:hover,
.section-dot.is-active {
  background: #3d3328;
  border-color: #3d3328;
  color: #fff;
  transform: scale(1.08);
}

.section-dot-label {
  position: absolute;
  right: 48px;
  top: 50%;
  transform: translate(6px, -50%);
  padding: 8px 12px;
  border-radius: 5px;
  background: #3d3328;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.3px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.section-dot:hover .section-dot-label,
.section-dot:focus-visible .section-dot-label {
  opacity: 1;
  visibility: visible;
  transform: translate(0, -50%);
}

html {
  scroll-behavior: smooth;
}

#home,
#about,
#zaufanie,
#pytania,
#katalog,
#kontakt {
  scroll-margin-top: 90px;
}

@media (max-width: 760px) {
  .section-dots {
    right: 9px;
    gap: 9px;
  }

  .section-dot {
    width: 32px;
    height: 32px;
  }

  .section-dot-number {
    font-size: 10px;
  }

  .section-dot-label {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .section-dot,
  .section-dot-label {
    transition: none;
  }
}