@media (max-width: 1100px) {
  .header-inner { grid-template-columns: auto auto 1fr; }
  .primary-nav {
    position: fixed;
    top: 82px;
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    padding: 28px 24px;
    background: #fff;
    border-bottom: 1px solid var(--color-border);
    box-shadow: 0 16px 30px rgba(0,0,0,.08);
  }
  .primary-nav.is-open { display: flex; }
  .menu-toggle {
    display: inline-grid;
    width: 44px;
    height: 44px;
    place-content: center;
    gap: 4px;
    border: 1px solid var(--color-border);
    background: #fff;
    border-radius: 50%;
    cursor: pointer;
  }
  .menu-toggle span:not(.sr-only) { width: 18px; height: 2px; background: var(--color-primary); display: block; }
  .header-actions { margin-left: auto; }
  .brand-grid { grid-template-columns: repeat(3, 1fr); }
  .brand-tile-logo { height: 58px; }
  .b2b-grid { grid-template-columns: 1fr; gap: 42px; }
  .b2b-intro { border-right: 0; border-bottom: 1px solid var(--color-border); padding: 0 0 36px; }
  .b2b-intro h2 { max-width: 620px; }
  .steps { padding-top: 0; }
  .suppliers-grid { grid-template-columns: 1fr; gap: 42px; }
  .suppliers-intro { border-right: 0; border-bottom: 1px solid var(--color-border); padding: 0 0 36px; min-height: 0; }
  .suppliers-intro h2 { max-width: 620px; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .container { width: min(calc(100% - 32px), var(--container)); }
  .header-actions .btn { display: none; }
  .hero { min-height: 570px; }
  .hero-image { object-position: 64% center; }
  .hero-overlay {
    background: linear-gradient(90deg, rgba(4,35,26,.90) 0%, rgba(5,45,32,.76) 48%, rgba(5,45,32,.30) 78%, rgba(5,45,32,.10) 100%);
  }
  .hero-content { padding-block: 74px; }
  .hero-copy { max-width: 510px; }
  .benefits-grid { grid-template-columns: repeat(2, 1fr); }
  .benefit:nth-child(2) { border-right: 0; }
  .benefit:nth-child(-n+2) { border-bottom: 1px solid var(--color-border); }
  .heading-row { align-items: start; flex-direction: column; }
  .product-grid { grid-template-columns: 1fr; }
  .product-card { min-height: 290px; }
  .steps { grid-template-columns: 1fr; gap: 42px; }
  .steps li { padding-left: 88px; min-height: 72px; }
  .step-no { position: absolute; left: 0; top: 0; width: 64px; height: 64px; font-size: 1.75rem; }
  .steps h3 { margin: 2px 0 8px; }
  .steps p { max-width: 100%; }
  .steps li:not(:last-child)::after { content: "↓"; right: auto; left: 24px; top: calc(100% + 7px); font-size: 1.55rem; }
  .supplier-options { gap: 16px; }
  .supplier-options li { grid-template-columns: 64px 1fr; gap: 18px; padding: 20px; }
  .supplier-option-copy h3 { margin-top: 0; }
  .cta {
    min-height: 0;
    padding-bottom: 0;
    display: flex;
    flex-direction: column;
    background: #0b4b3c;
  }
  .cta-photo {
    position: relative;
    order: 1;
    z-index: 1;
    inset: auto;
    width: 100%;
    min-height: 220px;
    aspect-ratio: 16 / 9;
    background-position: center 58%;
    background-size: cover;
    background-repeat: no-repeat;
  }
  .cta::before {
    display: none;
  }
  .cta::after {
    display: none;
  }
  .cta-inner {
    order: 2;
    min-height: 0;
    padding-block: 44px 42px;
    background: linear-gradient(180deg, #0b4b3c 0%, #0a4d3d 100%);
  }
  .cta-copy {
    width: min(620px, 100%);
  }
  .locations-mini { margin-top: 30px; }
  .cta-decor--top {
    top: 170px;
    left: -54px;
    opacity: .035;
  }
  .cta-decor--bottom {
    left: auto;
    right: -24px;
    bottom: 18px;
    opacity: .035;
  }
  .about-strip { grid-template-columns: 1fr; }
  .about-strip::after { right: 18px; top: auto; bottom: 24px; width: 190px; transform: none; opacity: .06; }
  .about-strip-media { min-height: 260px; }
  .about-strip-content-inner { max-width: 100%; padding: 34px 28px 38px; }
  .brand-logo--about { width: min(100%, 320px); }
  .about-strip-text { font-size: 1rem; line-height: 1.68; }
}

@media (max-width: 620px) {
  .header-inner { min-height: 72px; gap: 12px; }
  .primary-nav { top: 72px; }
  .brand-logo { width: 150px; }
  .lang-switch { display: none; }
  .hero { min-height: 610px; }
  .hero-image { object-position: 68% center; }
  .hero-overlay {
    background: linear-gradient(90deg, rgba(4,35,26,.92) 0%, rgba(4,35,26,.78) 58%, rgba(4,35,26,.48) 100%);
  }
  .hero-content { padding-block: 70px 58px; }
  .hero h1 { font-size: clamp(2.65rem, 11.5vw, 3.8rem); }
  .hero-copy { max-width: 92%; font-size: 1rem; line-height: 1.55; }
  .section { padding: 64px 0; }
  .section h2 { font-size: clamp(2.2rem, 10vw, 3.3rem); }
  .b2b-grid { gap: 34px; }
  .b2b-intro { padding-bottom: 30px; }
  .suppliers-grid { gap: 34px; }
  .suppliers-intro { padding-bottom: 30px; }
  .suppliers-intro h2 { font-size: clamp(2.25rem, 10vw, 3.3rem); }
  .suppliers-intro > p:nth-of-type(2) { font-size: 1rem; line-height: 1.58; }
  .supplier-options li { grid-template-columns: 56px 1fr; padding: 18px; }
  .supplier-icon { width: 56px; height: 56px; }
  .supplier-option-copy h3 { font-size: 1.02rem; }
  .supplier-option-copy p { font-size: .96rem; }
  .benefits-grid { grid-template-columns: 1fr; }
  .benefit { border-right: 0; border-bottom: 1px solid var(--color-border); min-height: 88px; }
  .benefit:last-child { border-bottom: 0; }
  .brand-grid { grid-template-columns: repeat(2, 1fr); }
  .brand-tile { min-height: 102px; padding: 14px 12px; }
  .brand-tile-logo { height: 52px; }
  .cta-photo {
    min-height: 200px;
    aspect-ratio: 16 / 10;
    background-position: center center;
  }
  .cta-inner { padding-block: 38px 36px; }
  .cta h2 { font-size: clamp(2.5rem, 11vw, 3.55rem); }
  .cta-lead { font-size: 1rem; }
  .locations-mini { flex-direction: column; align-items: flex-start; gap: 16px; }
  .location-mini + .location-mini { border-left: 0; padding-left: 0; }
  .location-mini { min-width: 0; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { align-items: flex-start; flex-direction: column; padding-block: 20px; }
}

/* --- v0.3: mobile HERO as image + content, not text over image --- */
@media (max-width: 700px) {
  .hero {
    display: block;
    min-height: 0;
    overflow: visible;
    background: var(--color-primary-dark);
  }

  .hero-media {
    position: relative;
    inset: auto;
    z-index: 0;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #d9dfbd;
  }

  .hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 72% center;
  }

  .hero-overlay,
  .hero::after {
    display: none;
  }

  .hero-content {
    position: relative;
    z-index: 1;
    color: #fff;
    padding-block: 42px 50px;
  }

  .hero h1 {
    font-size: clamp(2.55rem, 11vw, 3.55rem);
    line-height: 1.02;
  }

  .hero-copy {
    max-width: 100%;
    margin: 22px 0 28px;
  }

  .benefits {
    background: #fff;
  }

  .benefits-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .benefit,
  .benefit:nth-child(2) {
    min-height: 122px;
    padding: 22px 18px;
    border-right: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
  }

  .benefit:nth-child(2n) {
    border-right: 0;
  }

  .benefit:nth-last-child(-n+2) {
    border-bottom: 0;
  }

  .benefit-icon {
    flex-basis: 46px;
    width: 46px;
    height: 46px;
  }

  .benefit-icon img {
    width: 46px;
    height: 46px;
  }

  .benefit p {
    font-size: .92rem;
    line-height: 1.35;
  }
}

@media (max-width: 420px) {
  .hero-media {
    aspect-ratio: 4 / 3;
  }

  .hero-image {
    object-position: 76% center;
  }

  .benefit {
    gap: 12px;
    padding-inline: 14px;
  }
}


@media (max-width: 420px) {
  .about-strip-media { min-height: 220px; }
  .about-strip-content-inner { padding: 30px 22px 34px; }
  .brand-logo--about { width: min(100%, 270px); }
}

/* --- v0.18: responsive "Dla producentów" --- */
@media (max-width: 1100px) {
  .producer-split { grid-template-columns: 1fr; gap: 42px; }
  .producer-section-intro { border-right: 0; border-bottom: 1px solid var(--color-border); padding: 0 0 36px; }
  .producer-section-intro h2 { max-width: 760px; }
  .producer-process-steps { --process-column-gap: 44px; grid-template-columns: repeat(2, minmax(0,1fr)); row-gap: 38px; column-gap: var(--process-column-gap); }
  .producer-process-steps li:nth-child(2)::after { display: none; }
  .producer-category-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 820px) {
  .producer-hero { min-height: 0; display: flex; flex-direction: column; }
  .producer-hero-media { position: relative; inset: auto; order: 1; width: 100%; aspect-ratio: 16 / 9; z-index: 0; }
  .producer-hero-overlay,
  .producer-hero::after { display: none; }
  .producer-hero-media img { object-position: 50% center; }
  .producer-hero-content { order: 2; width: min(calc(100% - 32px), var(--container)); padding: 50px 24px 56px; background: var(--color-primary-dark); }
  .producer-hero h1 { font-size: clamp(2.7rem, 9vw, 4rem); }
  .producer-hero-content > p:not(.eyebrow) { max-width: 100%; }
  .producer-category-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .producer-category-grid article { min-height: 0; }
  .producer-category-no { margin-bottom: 26px; }
  .producer-contact { min-height: 0; display: flex; flex-direction: column; }
  .producer-contact-photo { position: relative; order: 1; inset: auto; width: 100%; min-height: 220px; aspect-ratio: 16 / 9; z-index: 0; }
  .producer-contact::before,
  .producer-contact::after { display: none; }
  .producer-contact-photo { background-position: center 50%; }
  .producer-contact-inner { order: 2; min-height: 0; padding-block: 48px; background: #0b4b3c; }
  .producer-contact-copy { width: 100%; }
}

@media (max-width: 620px) {
  .producer-hero-content { width: min(calc(100% - 24px), var(--container)); padding: 42px 20px 48px; }
  .producer-category-grid { grid-template-columns: 1fr; }
  .producer-model-card { grid-template-columns: 64px 1fr; gap: 18px; padding: 20px 18px; }
  .producer-model-icon { width: 64px; height: 64px; }
  .producer-process-heading { margin-bottom: 38px; }
  .producer-process-steps { grid-template-columns: 1fr; gap: 34px; }
  .producer-process-steps li { display: block; padding-left: 82px; min-height: 70px; }
  .producer-process-steps li > span { position: absolute; left: 0; top: 0; width: 60px; height: 60px; font-size: 1.6rem; }
  .producer-process-steps li:not(:last-child)::after,
  .producer-process-steps li:nth-child(2)::after {
    content: "↓";
    display: block;
    left: 22px;
    right: auto;
    top: calc(100% + 5px);
    color: var(--color-primary);
    font-size: 1.45rem;
    line-height: 1;
  }
  .producer-process-steps h3 { display: block; margin: 0 0 8px; padding-top: 2px; min-height: 0; }
  .producer-contact h2 { font-size: clamp(2.5rem, 11vw, 3.6rem); }
}

/* --- v0.27: responsive "Dla partnerów handlowych" --- */
@media (max-width: 1100px) {
  .partner-audience-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .partner-page .partner-hero-media img { transform: none; object-position: 58% center; }
  .partner-product-card { min-height: 260px; }
  .partner-product-card--garden { background-position: center 55%; }
  .partner-product-card--home { background-position: center center; }
  .partner-contact-photo { background-position: center center; }
}

@media (max-width: 620px) {
  .partner-audience-card { grid-template-columns: 60px 1fr; min-height: 0; padding: 20px 18px; gap: 16px; }
  .partner-audience-icon, .partner-audience-icon img { width: 60px; height: 60px; }
  .partner-product-grid { grid-template-columns: 1fr; }
  .partner-product-card { min-height: 240px; }
}

/* --- v0.34: Products page responsive --- */
@media (max-width: 1100px) {
  .product-category,
  .product-category--image-right { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 820px) {
  .products-hero { min-height: 0; display: flex; flex-direction: column; }
  .products-hero-media { position: relative; inset: auto; order: 1; z-index: 0; width: 100%; aspect-ratio: 16 / 9; }
  .products-hero-media img { object-position: center 54%; }
  .products-hero-overlay { display: none; }
  .products-hero-content { order: 2; width: 100%; padding-block: 46px 52px; padding-inline: 10px; background: #0b4b3c; }
  .products-hero h1 { font-size: clamp(2.8rem, 9.5vw, 4rem); }
  .product-category,
  .product-category--image-right { grid-template-columns: 1fr; }
  .product-category--image-right .product-category-media,
  .product-category--image-right .product-category-copy { order: initial; }
  .product-category-media { min-height: 280px; }
  .product-category-copy { padding: 32px 28px 36px; }
  .products-contact { min-height: 0; display: flex; flex-direction: column; }
  .products-contact-photo { position: relative; inset: auto; order: 1; z-index: 1; width: 100%; aspect-ratio: 16 / 9; background-position: center 55%; }
  .products-contact::before { display: none; }
  .products-contact-inner { order: 2; min-height: 0; width: 100%; padding-block: 44px 42px; padding-inline: 10px; background: #0b4b3c; }
  .products-contact-copy { width: min(650px, 100%); }
}
@media (max-width: 620px) {
  .products-hero-media { aspect-ratio: 4 / 3; }
  .product-catalog-head { margin-bottom: 34px; }
  .product-category-list { gap: 18px; }
  .product-category { border-radius: 18px; }
  .product-category-media { min-height: 220px; }
  .product-category-copy { padding: 28px 22px 32px; }
  .product-category-copy h3 { font-size: clamp(2rem, 9vw, 2.75rem); }
  .products-contact-photo { aspect-ratio: 4 / 3; }
  .products-contact h2 { font-size: clamp(2.5rem, 11vw, 3.55rem); }
  .products-hero-content { padding-inline: 14px; }
  .products-contact-inner { padding-inline: 14px; }
}

/* --- v0.39: About page responsive --- */
@media (max-width: 1100px) {
  .about-story-grid,
  .about-locations-grid { grid-template-columns: 1fr; }
  .about-story-media { min-height: 360px; }
  .about-values-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .about-hero { min-height:0; display:flex; flex-direction:column; }
  .about-hero-media { position:relative; inset:auto; order:1; z-index:0; width:100%; aspect-ratio:16 / 9; }
  .about-hero-media img { object-position:center 58%; }
  .about-hero-overlay { display:none; }
  .about-hero-content { order:2; width:100%; padding-block:46px 52px; padding-inline:10px; background:#0b4b3c; }
  .about-hero h1 { font-size:clamp(2.8rem,9.5vw,4rem); }
  .about-story-media,
  .about-story-media img { min-height:300px; }
  .about-location-cards { grid-template-columns:1fr; }
  .about-contact { min-height:0; display:flex; flex-direction:column; }
  .about-contact-photo { position:relative; inset:auto; order:1; z-index:1; width:100%; aspect-ratio:16 / 9; background-position:center 48%; }
  .about-contact::before,
  .about-contact::after { display:none; }
  .about-contact-inner { order:2; min-height:0; width:100%; padding-block:44px 42px; padding-inline:10px; background:#0b4b3c; }
  .about-contact-copy { width:min(650px,100%); }
}
@media (max-width: 620px) {
  .about-hero-media,
  .about-contact-photo { aspect-ratio:4 / 3; }
  .about-hero-content,
  .about-contact-inner { padding-inline:14px; }
  .about-model-grid article { grid-template-columns:64px 1fr; padding:20px; }
  .about-model-icon,
  .about-model-icon img { width:64px; height:64px; }
  .about-values-grid { grid-template-columns:1fr; }
  .about-values-grid article { min-height:0; }
  .about-contact h2 { font-size:clamp(2.5rem,11vw,3.55rem); }
}

/* --- v0.42: Contact page responsive --- */
@media (max-width: 1100px) {
  .contact-direct-grid { grid-template-columns: 1fr; gap: 42px; }
  .contact-direct-intro { border-right: 0; border-bottom: 1px solid var(--color-border); padding: 0 0 36px; }
}

@media (max-width: 820px) {
  .contact-hero { min-height: 0; display: flex; flex-direction: column; }
  .contact-hero-media { position: relative; inset: auto; order: 1; z-index: 0; width: 100%; aspect-ratio: 16 / 9; }
  .contact-hero-media img { object-position: 58% 50%; }
  .contact-hero-overlay,
  .contact-hero::after { display: none; }
  .contact-hero-content { order: 2; width: 100%; padding-block: 46px 52px; padding-inline: 10px; background: #0b4b3c; }
  .contact-hero h1 { font-size: clamp(2.8rem,9.5vw,4rem); }
  .contact-hero-content > p:not(.eyebrow) { max-width: 100%; }
  .contact-direct-card { grid-template-columns: 80px 1fr; }
  .contact-direct-card > span:last-child { grid-column: 2; }
  .contact-location-grid,
  .contact-path-grid { grid-template-columns: 1fr; }
  .contact-cta { min-height: 0; display: flex; flex-direction: column; }
  .contact-cta-photo { position: relative; inset: auto; order: 1; z-index: 1; width: 100%; aspect-ratio: 16 / 9; background-position: center 50%; }
  .contact-cta::before,
  .contact-cta::after { display: none; }
  .contact-cta-inner { order: 2; min-height: 0; width: 100%; padding-block: 44px 42px; padding-inline: 10px; background: #0b4b3c; }
  .contact-cta-copy { width: min(650px,100%); }
}

@media (max-width: 620px) {
  .contact-hero-media,
  .contact-cta-photo { aspect-ratio: 4 / 3; }
  .contact-hero-content,
  .contact-cta-inner { padding-inline: 14px; }
  .contact-hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .contact-direct-card { grid-template-columns: 1fr; gap: 8px; padding: 22px 20px; }
  .contact-direct-card > span:last-child { grid-column: auto; margin-top: 6px; }
  .contact-location-card,
  .contact-path-card { min-height: 0; padding: 28px 22px; }
  .contact-cta h2 { font-size: clamp(2.5rem,11vw,3.55rem); }
}

/* --- v0.43: Contact page refinements responsive --- */
@media (max-width: 820px) {
  .contact-direct-card { grid-template-columns: 80px minmax(0,1fr) auto; }
  .contact-direct-action { grid-column: 3; }
}
@media (max-width: 620px) {
  .contact-direct-card { grid-template-columns: 1fr; gap: 10px; }
  .contact-direct-action { grid-column: auto; margin-top: 8px; }
  .contact-direct-action,
  .contact-path-action { min-height: 44px; padding: 11px 16px; }
}

/* Keep language selection available on mobile. */
@media (max-width: 620px) {
  .lang-switch { display: inline-flex; padding-inline: 4px; }
  .language-dropdown { position: fixed; top: 66px; right: 12px; width: min(268px, calc(100vw - 24px)); }
}

/* --- v0.49: legal + consent responsive --- */
@media (max-width: 900px) {
  .legal-layout { grid-template-columns: 1fr; gap: 28px; }
  .legal-aside { position: static; }
  .cookie-banner__inner { grid-template-columns: 1fr; gap: 18px; }
  .cookie-banner__actions { justify-content: flex-start; }
}

@media (max-width: 620px) {
  .legal-hero { padding: 68px 0 60px; }
  .legal-page { padding: 48px 0 72px; }
  .legal-content { padding: 26px 22px; }
  .legal-content h2 { margin-top: 36px; }
  .cookie-banner { inset: auto 10px 10px; }
  .cookie-banner__inner { padding: 20px; border-radius: 18px; }
  .cookie-banner__actions { display: grid; grid-template-columns: 1fr; }
  .cookie-btn { width: 100%; }
  .cookie-btn--text { min-height: 38px; }
  .cookie-modal-backdrop { padding: 10px; }
  .cookie-modal { border-radius: 20px; padding: 30px 22px 24px; }
  .cookie-choice { gap: 14px; }
  .cookie-modal__actions { flex-direction: column; align-items: stretch; }
}
