﻿:root {
  --bg: #ffffff !important;
  --card: #ffffff !important;
  --text: #000000 !important;
  --muted: #333333 !important;
  --accent: #168447 !important;
  --navy: #000000 !important;
  --navy-soft: #168447 !important;
  --line: #e5e5e5 !important;
  --shadow: 0 14px 36px rgba(0,0,0,0.10) !important;
}

html,
body {
  background: #ffffff !important;
  color: #000000 !important;
}

.top-nav,
.brand::before,
.brand::after,
.top-nav::before,
.card,
.product-card,
.contact-card,
.cta-banner,
.map-card,
.seo-card,
.hero-copy,
.hero-visual,
.article-main,
.article-aside,
.cookie-modal,
.cookie-card,
.cookie-preferences,
.details-card,
.info-card,
.price-card,
.sample-card,
.offer-card,
.policy-card,
.content-card,
.panel,
.box {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: #e5e5e5 !important;
}

.nav-links a,
.nav-domain,
h1,
h2,
h3,
h4,
strong,
.price,
.product-lead,
.price-line,
.product-link-note,
.map-copy,
.map-copy h3,
.map-copy .address,
.seo-card h2,
.seo-card h3,
.article-main h2,
.article-aside h3,
.hero-copy h1,
.article-tag,
.highlight-card,
.highlight-card strong,
.highlight-card .highlight-label,
.highlight-card p,
.cta-text-dark,
.cta-banner .price-title {
  color: #000000 !important;
}

p,
li,
.muted,
.years-note,
.map-copy p,
.seo-card p,
.seo-card li,
.product-body p,
.price-line span,
.article-main p,
.article-aside ul,
.hero-copy p,
.map-consent-note,
.cookie-text,
.cookie-note {
  color: #333333 !important;
}

a:hover,
.product-link-note,
.article-tag {
  color: #168447 !important;
}

/* Przyciski zamówienia na podstronach produktów muszą zachować biały napis.
   Ta reguła celowo nadpisuje ogólny zielony kolor linków po najechaniu. */
a.order-button:hover,
a.order-button:focus-visible,
a.quick-order:hover,
a.quick-order:focus-visible,
a.calculation-order:hover,
a.calculation-order:focus-visible {
  background: #116737 !important;
  color: #ffffff !important;
}

.phone,
.btn-primary,
.cookie-accept,
.cookie-save,
.cookie-primary,
button[type="submit"],
input[type="submit"],
.highlight-card::before,
.highlight-card--shop::before,
.highlight-card--delivery::before,
.highlight-card--advice::before {
  background: #168447 !important;
  border-color: #168447 !important;
  color: #ffffff !important;
}

.phone:hover,
.btn-primary:hover,
.cookie-accept:hover,
.cookie-save:hover,
.cookie-primary:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  background: #116737 !important;
  border-color: #116737 !important;
  color: #ffffff !important;
}

.btn-secondary,
.cookie-secondary,
.cookie-manage,
.cookie-toggle,
.btn:not(.btn-primary) {
  background: #ffffff !important;
  border-color: #000000 !important;
  color: #000000 !important;
}

.btn-secondary:hover,
.cookie-secondary:hover,
.cookie-manage:hover,
.cookie-toggle:hover,
.btn:not(.btn-primary):hover {
  border-color: #168447 !important;
  color: #168447 !important;
}

.article-cta,
footer,
.article-cta {
  background: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
}

.article-cta h3,
.article-cta p,
footer,
footer a,
.footer-meta a {
  color: #ffffff !important;
}

/* Wspólna stopka dla wszystkich podstron — wzorzec z index.html. */
footer {
  box-sizing: border-box;
  width: 100%;
  margin: 32px 0 0;
  padding: 18px;
  flex-shrink: 0;
  text-align: center;
  font-size: 14px;
  color: #e5e7eb !important;
  background: #020617 !important;
}

.footer-meta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

.footer-meta a {
  color: #e5e7eb !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 640px) {
  .footer-meta {
    flex-direction: column;
    gap: 8px;
  }
}

.article-cta .btn-primary {
  background: #168447 !important;
  border-color: #168447 !important;
  color: #ffffff !important;
}

.article-cta .btn-secondary {
  background: transparent !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}

.nav-toggle {
  border-color: #000000 !important;
  color: #000000 !important;
}

.nav-toggle span {
  background: #000000 !important;
}

.nav-links a + a::before,
.product-card,
.card,
.seo-card,
.map-frame,
table,
th,
td {
  border-color: #e5e5e5 !important;
}

.nav-links a:hover {
  background: rgba(22,132,71,0.10) !important;
  color: #168447 !important;
}

body.home-page .nav-links a[href="index.html"],
body.products-page .nav-links a[href="produkty.html"],
body.usage-page .nav-links a[href="uzytkowanie.html"],
body.articles-page .nav-links a[href="artykuly.html"],
body.samples-page .nav-links a[href="probki.html"],
body.contact-page .nav-links a[href="kontakt.html"] {
  color: #168447 !important;
}

.article-tag,
[class*="tag"],
[class*="badge"],
[class*="pill"] {
  background: #edf8f1 !important;
  color: #168447 !important;
}

.hero-visual,
.map-frame,
.product-card img,
.highlight-card,
.cookie-preference-row,
thead,
th {
  background: #f7f7f7 !important;
}

.highlight-card::after {
  border-top-color: #168447 !important;
  border-right-color: #168447 !important;
}

.hero .overlay {
  background: linear-gradient(180deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.70) 100%) !important;
  color: #ffffff !important;
}

.hero .overlay h1,
.hero .overlay p,
.hero .overlay .hero-content,
.hero .overlay a {
  color: #ffffff !important;
}



.cookie-backdrop {
  background: rgba(0,0,0,0.55) !important;
}

::selection {
  background: #168447;
  color: #ffffff;
}

@media (max-width: 980px) {
  .nav-links {
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-self: auto !important;
    background: #ffffff !important;
    border-color: #e5e5e5 !important;
    box-shadow: 0 18px 36px rgba(0,0,0,0.16) !important;
  }

  .nav-links a {
    color: #000000 !important;
  }

  .nav-links a:hover,
  body.home-page .nav-links a[href="index.html"],
  body.products-page .nav-links a[href="produkty.html"],
  body.usage-page .nav-links a[href="uzytkowanie.html"],
  body.articles-page .nav-links a[href="artykuly.html"],
  body.samples-page .nav-links a[href="probki.html"],
  body.contact-page .nav-links a[href="kontakt.html"] {
    color: #168447 !important;
    background: #edf8f1 !important;
  }

  .phone {
    background: #168447 !important;
    border-color: #168447 !important;
    color: #ffffff !important;
  }

  .top-nav.open .nav-toggle {
    background: #ffffff !important;
    border-color: #000000 !important;
  }

  .top-nav.open .nav-toggle span {
    background: #000000 !important;
  }
}
@media (min-width: 981px) {
  .nav-inner {
    grid-template-columns: 380px minmax(0, 1fr) 72px max-content !important;
  }

  .brand {
    width: 355px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
  }

  .brand img {
    height: 72px !important;
    max-width: none !important;
    transform: none !important;
    transform-origin: left center !important;
  }
}

@media (min-width: 981px) and (max-width: 1180px) {
  .nav-inner {
    grid-template-columns: 330px minmax(0, 1fr) 72px max-content !important;
  }

  .brand {
    width: 305px !important;
  }

  .brand img {
    height: 64px !important;
  }
}

@media (max-width: 980px) {
  .brand img {
    transform: scale(1.16) !important;
    transform-origin: left center !important;
  }
}

@media (min-width: 981px) {
  .top-nav {
    --nav-pad-y: 4px !important;
  }
}
.cookie-banner {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: #e5e5e5 !important;
  box-shadow: 0 14px 34px rgba(0,0,0,0.16) !important;
}

.cookie-copy,
.cookie-copy strong,
.cookie-copy p,
.cookie-copy a {
  color: #000000 !important;
}

.cookie-copy a:hover,
.cookie-copy a:focus-visible {
  color: #168447 !important;
}

.cookie-banner .cookie-btn,
.cookie-modal-panel .cookie-btn {
  background: #168447 !important;
  border: 1px solid #168447 !important;
  color: #ffffff !important;
}

.cookie-banner .cookie-btn:hover,
.cookie-banner .cookie-btn:focus-visible,
.cookie-modal-panel .cookie-btn:hover,
.cookie-modal-panel .cookie-btn:focus-visible {
  background: #116737 !important;
  border-color: #116737 !important;
  color: #ffffff !important;
}

.cookie-banner .cookie-btn-secondary,
.cookie-modal-panel .cookie-btn-secondary {
  background: #ffffff !important;
  border: 1px solid #000000 !important;
  color: #000000 !important;
}

.cookie-banner .cookie-btn-secondary:hover,
.cookie-banner .cookie-btn-secondary:focus-visible,
.cookie-modal-panel .cookie-btn-secondary:hover,
.cookie-modal-panel .cookie-btn-secondary:focus-visible {
  background: #ffffff !important;
  border-color: #168447 !important;
  color: #168447 !important;
}

.cookie-modal-panel {
  background: #ffffff !important;
  color: #000000 !important;
}

.cookie-modal-panel h2,
.cookie-modal-intro,
.cookie-option-copy strong,
.cookie-option-copy small {
  color: #000000 !important;
}
@media (min-width: 981px) {
  .nav-inner {
    grid-template-columns: 320px minmax(560px, 1fr) 96px max-content !important;
    column-gap: 16px !important;
  }

  .brand {
    width: 315px !important;
    margin-left: -44px !important;
  }

  .brand img {
    height: 72px !important;
  }

  .nav-links {
    gap: 10px !important;
    justify-content: space-between !important;
  }

  .nav-links a {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .nav-domain {
    width: 96px !important;
    text-align: center !important;
  }
}

@media (min-width: 981px) and (max-width: 1180px) {
  .nav-inner {
    grid-template-columns: 280px minmax(500px, 1fr) 88px max-content !important;
    column-gap: 12px !important;
  }

  .brand {
    width: 276px !important;
    margin-left: -30px !important;
  }

  .brand img {
    height: 64px !important;
  }

  .nav-links {
    gap: 6px !important;
  }

  .nav-links a {
    font-size: 14px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .nav-domain {
    width: 88px !important;
  }
}
/* Samples page hero - simple white panel */
body:has(.sample-layout) header.hero {
  position: relative !important;
  min-height: 0 !important;
  background: #ffffff !important;
  border: 1px solid #e5e5e5 !important;
  border-left: 8px solid #168447 !important;
  box-shadow: 0 14px 34px rgba(0,0,0,0.08) !important;
  overflow: hidden !important;
}

body:has(.sample-layout) header.hero::before,
body:has(.sample-layout) header.hero::after {
  content: none !important;
}

body:has(.sample-layout) header.hero .overlay {
  position: relative !important;
  z-index: 1 !important;
  min-height: 0 !important;
  width: 100% !important;
  display: block !important;
  padding: 34px 40px !important;
  background: transparent !important;
}

body:has(.sample-layout) header.hero h1 {
  max-width: 760px !important;
  margin: 0 0 18px !important;
  color: #000000 !important;
  font-size: clamp(32px, 3.4vw, 50px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.04em !important;
  text-shadow: none !important;
}

body:has(.sample-layout) header.hero p {
  max-width: 720px !important;
  margin: 0 !important;
  color: #333333 !important;
  font-size: 20px !important;
  line-height: 1.45 !important;
  text-shadow: none !important;
}

@media (max-width: 640px) {
  body:has(.sample-layout) header.hero {
    border-left-width: 5px !important;
  }

  body:has(.sample-layout) header.hero .overlay {
    padding: 26px 22px !important;
  }

  body:has(.sample-layout) header.hero h1 {
    font-size: 26px !important;
  }

  body:has(.sample-layout) header.hero p {
    font-size: 16px !important;
  }
}
/* Home mobile floating phone button */
@media (max-width: 980px) {
  body.home-page .top-nav::before {
    height: 154px !important;
  }

  body.home-page .nav-inner {
    padding: 14px 16px 16px !important;
    row-gap: 10px !important;
  }

  body:has(.mobile-home) .top-nav {
    margin-bottom: 0 !important;
    background: transparent !important;
  }

  body:has(.mobile-home) .top-nav::before {
    height: 126px !important;
  }

  body:has(.mobile-home) .nav-inner {
    padding: 14px 16px 16px !important;
    row-gap: 10px !important;
  }

  body:has(.mobile-home) .phone {
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    margin-top: 2px !important;
    padding: 13px 16px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    line-height: normal !important;
    text-align: center !important;
    box-shadow: 0 14px 28px rgba(0,0,0,0.16) !important;
  }

  body:has(.mobile-home) .mobile-home .wrap {
    padding-top: 0 !important;
  }

  body:has(.mobile-home) .mobile-home .hero-media {
    margin-top: 10px !important;
  }

  body:has(.mobile-home) .mobile-home .hero-stock-badge {
    min-height: 72px !important;
  }
}
/* Larger mobile logo */
@media (max-width: 980px) {
  .brand {
    width: min(58vw, 360px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
  }

  .brand img {
    height: clamp(54px, 14vw, 72px) !important;
    max-width: none !important;
    transform: none !important;
  }
}

@media (max-width: 420px) {
  .brand {
    width: min(62vw, 300px) !important;
  }

  .brand img {
    height: clamp(50px, 13vw, 64px) !important;
  }
}
/* Shared mobile nav layout */
@media (max-width: 980px) {
  .top-nav {
    margin-bottom: 0 !important;
    background: transparent !important;
  }

  .top-nav::before {
    height: 94px !important;
  }

  .nav-inner {
    padding-bottom: 16px !important;
  }

  .phone {
    position: relative !important;
    z-index: 3 !important;
    order: 3 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 2px 0 0 !important;
    padding: 13px 16px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    text-align: center !important;
    box-shadow: 0 14px 28px rgba(0,0,0,0.16) !important;
  }
}
/* Desktop nav spacing tune */
@media (min-width: 981px) {
  .nav-inner {
    max-width: 1200px !important;
    grid-template-columns: 310px minmax(0, 1fr) max-content !important;
    column-gap: 18px !important;
    padding: 10px 24px !important;
  }

  .brand {
    width: auto !important;
    margin-left: -34px !important;
    padding: 0 !important;
  }

  .brand img {
    height: 58px !important;
    max-width: 300px !important;
    transform: scale(1.28) !important;
    transform-origin: left center !important;
  }

  .nav-links {
    width: 100% !important;
    justify-self: stretch !important;
    justify-content: space-between !important;
    gap: 0 !important;
  }

  .nav-links a {
    flex: 1 1 0 !important;
    padding: 8px 10px !important;
    font-size: 15px !important;
    text-align: center !important;
  }

  .nav-domain {
    display: none !important;
  }

  .phone {
    padding: 14px 22px !important;
    border-radius: 14px !important;
    font-size: 18px !important;
    letter-spacing: 0.02em !important;
    justify-self: end !important;
  }
}

@media (min-width: 981px) and (max-width: 1180px) {
  .nav-inner {
    grid-template-columns: 250px minmax(0, 1fr) max-content !important;
    column-gap: 12px !important;
  }

  .brand {
    margin-left: -24px !important;
  }

  .brand img {
    height: 50px !important;
    max-width: 245px !important;
    transform: scale(1.2) !important;
    transform-origin: left center !important;
  }

  .nav-links {
    gap: 0 !important;
  }

  .nav-links a {
    font-size: 14px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
}
/* Contact page call label */
a.quick-card.link-card[href^="tel:"] p strong,
a.quick-card.link-card[href^="mailto:"] p strong {
  color: #168447 !important;
}

a.quick-card.link-card[href^="tel:"]:hover p strong,
a.quick-card.link-card[href^="tel:"]:focus-visible p strong,
a.quick-card.link-card[href^="mailto:"]:hover p strong,
a.quick-card.link-card[href^="mailto:"]:focus-visible p strong {
  color: #116737 !important;
}

/* Contact page hours accent */
.hours-card {
  border-left: 8px solid #168447 !important;
}

@media (max-width: 640px) {
  .hours-card {
    border-left-width: 5px !important;
  }
}

/* Contact page transport accent */
.transport-card {
  border-right: 8px solid #168447 !important;
}

@media (max-width: 640px) {
  .transport-card {
    border-right-width: 5px !important;
  }
}

/* Usage page label */
.eyebrow {
  background: #edf8f1 !important;
  color: #168447 !important;
}

/* Product cards CTA */
.product-card .product-link-note,
.product-card .product-link-note::after {
  color: #168447 !important;
}

.product-card:hover .product-link-note,
.product-card:hover .product-link-note::after {
  color: #116737 !important;
}

/* Products page mobile spacing */
@media (max-width: 640px) {
  body:has(#sekcja-produkty) .wrap {
    margin-top: 0 !important;
    padding-top: 12px !important;
  }
}

/* Final red theme guard */
.phone,
.btn-primary,
.hero-products-link,
.transport-products-link,
.cookie-accept,
.cookie-save,
.cookie-primary,
button[type="submit"],
input[type="submit"],
.highlight-card::before,
.highlight-card--shop::before,
.highlight-card--delivery::before,
.highlight-card--advice::before {
  background: #168447 !important;
  border-color: #168447 !important;
  color: #ffffff !important;
}

.phone:hover,
.btn-primary:hover,
.hero-products-link:hover,
.transport-products-link:hover,
.cookie-accept:hover,
.cookie-save:hover,
.cookie-primary:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  background: #116737 !important;
  border-color: #116737 !important;
  color: #ffffff !important;
}

.nav-links a:hover,
body.home-page .nav-links a[href="index.html"],
body.products-page .nav-links a[href="produkty.html"],
body.usage-page .nav-links a[href="uzytkowanie.html"],
body.articles-page .nav-links a[href="artykuly.html"],
body.samples-page .nav-links a[href="probki.html"],
body.contact-page .nav-links a[href="kontakt.html"],
.product-link-note,
.article-tag,
.eyebrow {
  color: #168447 !important;
}

.highlight-card::after,
.product-card .product-link-note::after {
  border-top-color: #168447 !important;
  border-right-color: #168447 !important;
  color: #168447 !important;
}

@media (max-width: 980px) {
  body.home-page .top-nav::before {
    height: calc(100% - 38px) !important;
  }

  body.home-page .top-nav {
    overflow: visible !important;
  }

  body.home-page .mobile-nav-claim {
    width: calc(100% + 40px) !important;
    margin: 4px -20px 0 !important;
    padding: 2px 20px 0 !important;
    background: #ffffff !important;
  }

  .top-nav.open .nav-toggle {
    background: #ffffff !important;
    border-color: #000000 !important;
  }

  .top-nav.open .nav-toggle span {
    background: #000000 !important;
  }
}





