/* --- euro.css: wspólne style wariantu Euro V2 (wyciągnięte z index-euro-v2.html) --- */
    /* ============================================================
       Euro V2 — promo-heavy: slider + kafle + karuzele + plakietki
       Tokens z main.css zachowane: --r-sm (8px) buttony, --r-md (12px) karty.
       ============================================================ */

    /* === BRAND BAR (zastąpienie cienkiego headera z common.js) === */
    .ev-brandbar{
      background:#fff;
      border-bottom:1px solid var(--line);
    }
    .ev-brandbar__inner{
      display:grid; grid-template-columns:auto 1fr auto; gap:1.5rem; align-items:center;
      padding-block:1rem;
    }
    .ev-brandbar__logo{display:flex;align-items:center}
    .ev-brandbar__logo img{height:58px;width:auto;display:block}
    .ev-brandbar__search{
      display:grid; grid-template-columns:auto 1fr auto; align-items:stretch;
      background:var(--bg-soft); border:1.5px solid var(--green-700); border-radius:var(--r-sm);
      max-width:680px; width:100%; justify-self:center;
      position:relative;
    }
    .ev-brandbar__search input{border-radius:0}
    .ev-brandbar__search-btn{border-radius:0 calc(var(--r-sm) - 2px) calc(var(--r-sm) - 2px) 0}
    /* === DROPDOWN KATEGORII w wyszukiwarce === */
    .ev-catmenu{position:relative; display:flex}
    /* mostek pod triggerem — wypełnia odstęp, żeby menu nie znikało przy przejściu myszą */
    .ev-catmenu::after{content:""; position:absolute; top:100%; left:0; right:0; height:14px; display:none}
    .ev-catmenu:hover::after, .ev-catmenu.is-open::after{display:block}
    /* chevron inline w tekście/przyciskach */
    .ev-chev{width:1em; height:1em; display:inline-block; vertical-align:-.12em; margin-left:.35em}
    .btn .ev-chev{margin-left:.45em; vertical-align:-.18em}
    .ev-brandbar__search-cat{
      padding:0 .9rem 0 1rem; background:var(--green-700); color:#fff; font-weight:700; font-size:.88rem;
      display:flex; align-items:center; gap:.45em; cursor:pointer; border:0;
      border-radius:calc(var(--r-sm) - 2px) 0 0 calc(var(--r-sm) - 2px);
      font-family:inherit; white-space:nowrap; height:100%;
    }
    .ev-brandbar__search-cat svg{width:14px;height:14px}
    .ev-catmenu__caret{transition:transform .2s}
    .ev-catmenu.is-open .ev-catmenu__caret{transform:rotate(180deg)}
    .ev-catmenu__panel{
      position:absolute; top:calc(100% + 8px); left:0; z-index:60;
      min-width:268px; background:#fff; border:1px solid var(--green-100,#dfe9e0);
      border-radius:var(--r-sm); box-shadow:0 18px 44px rgba(20,50,30,.18);
      padding:.5rem; opacity:0; visibility:hidden; transform:translateY(-6px);
      transition:opacity .16s ease, transform .16s ease;
    }
    .ev-catmenu:hover .ev-catmenu__panel,
    .ev-catmenu.is-open .ev-catmenu__panel{opacity:1; visibility:visible; transform:translateY(0)}
    .ev-catmenu__group{
      font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
      color:var(--green-700); padding:.5rem .7rem .3rem;
    }
    .ev-catmenu__panel a{
      display:flex; align-items:center; gap:.6em; padding:.55rem .7rem; border-radius:8px;
      color:var(--ink); font-size:.9rem; font-weight:600; text-decoration:none;
    }
    .ev-catmenu__panel a svg{width:18px;height:18px;color:var(--green-700);flex:none}
    .ev-catmenu__panel a:hover{background:var(--bg-soft); color:var(--green-700)}
    .ev-catmenu__sep{height:1px;background:var(--green-100,#e6efe7);margin:.4rem .3rem}
    .ev-brandbar__search input{
      border:0; background:transparent; padding:.85rem 1rem; outline:none;
      font-size:.95rem; color:var(--ink); min-width:0; width:100%;
    }
    .ev-brandbar__search-btn{
      padding:0 1.6rem; background:var(--gold); color:var(--ink); font-weight:700;
      display:flex; align-items:center; gap:.4em;
    }
    .ev-brandbar__search-btn:hover{background:var(--gold-dark); color:#fff}
    .ev-brandbar__user{display:flex;gap:1.4rem;align-items:center}
    .ev-brandbar__user-link{
      display:flex; flex-direction:column; gap:.05rem; align-items:center;
      font-size:.78rem; color:var(--ink-80); font-weight:600;
      text-align:center;
    }
    .ev-brandbar__user-link svg{width:22px;height:22px;color:var(--green-700)}
    .ev-brandbar__user-link strong{font-size:.85rem;color:var(--ink);font-weight:700}
    .ev-brandbar__user-link:hover{color:var(--green-700)}

    @media (max-width:980px){
      .ev-brandbar__inner{grid-template-columns:1fr;gap:.8rem}
      .ev-brandbar__user{justify-content:center}
    }

    /* === MEGAMENU BAR (jak niebieski pasek u Euro) === */
    .ev-megabar{
      background:var(--green-700); color:#fff;
    }
    .ev-megabar__inner{
      display:flex; gap:0; align-items:stretch; flex-wrap:wrap;
    }
    .ev-megabar__cats{
      background:var(--gold); color:var(--ink);
      padding:.85rem 1.2rem; display:flex; align-items:center; gap:.55em;
      font-weight:800; font-size:.95rem; min-width:240px;
    }
    .ev-megabar__cats svg{width:18px;height:18px}
    .ev-megabar__cats:hover{background:var(--gold-dark); color:#fff}
    .ev-megabar__benefits{
      flex:1; display:flex; align-items:center; justify-content:center; gap:1.4rem;
      padding:15px 1.2rem;
      flex-wrap:wrap;
    }
    .ev-megabar__benefit{
      display:flex; align-items:center; gap:.5em;
      font-size:.85rem; color:#fff; font-weight:600;
    }
    .ev-megabar__benefit svg{width:18px;height:18px;color:var(--gold)}
    .ev-megabar__benefit--accent{color:var(--gold);font-weight:700}

    @media (max-width:780px){
      .ev-megabar__inner{flex-direction:column}
      .ev-megabar__cats{min-width:0;width:100%;justify-content:center}
      .ev-megabar__benefits{padding:.6rem 1.2rem;justify-content:center}
    }
    /* na telefonie pasek korzyści ukryty */
    @media (max-width:680px){ .ev-megabar{display:none} }

    /* === HERO SLIDER === */
    .ev-hero{
      position:relative; background:#0a3520;
      overflow:hidden;
    }
    .ev-hero__slides{
      position:relative; height:clamp(320px, calc(100svh - 150px), 560px);
    }
    .ev-slide{
      position:absolute; inset:0;
      display:grid; grid-template-columns:1.1fr 1fr; align-items:center;
      padding:clamp(1.5rem, 4vw, 3rem) clamp(1.5rem, 6vw, 5rem);
      opacity:0; transition:opacity .4s ease;
      pointer-events:none;
    }
    .ev-slide.is-active{opacity:1; pointer-events:auto}
    .ev-slide__copy h2{
      font-size:clamp(2rem, 5vw, 3.6rem); line-height:1; margin:0 0 .8rem;
      color:#fff; font-weight:900; letter-spacing:-.02em;
    }
    .ev-slide__copy h2 em{color:var(--gold); font-style:normal}
    .ev-slide__copy h2 .huge{
      display:block; font-size:clamp(3rem, 8vw, 6rem); line-height:1;
      color:var(--gold); font-weight:900;
    }
    .ev-slide__copy p{font-size:1.05rem; color:rgba(255,255,255,.85); max-width:46ch; margin:0 0 1.4rem}
    .ev-slide__copy .btn{font-size:1rem; padding:1em 1.8em}
    .ev-slide__copy .ev-eyebrow{
      display:inline-block; padding:.4rem .8rem; background:var(--gold); color:var(--ink);
      font-weight:800; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase;
      border-radius:var(--r-xs); margin-bottom:1rem;
    }
    .ev-slide__media{
      display:grid; place-items:center; height:100%;
    }
    .ev-slide__media img{
      max-height:90%; max-width:90%; width:auto; height:auto;
      filter:drop-shadow(0 30px 60px rgba(0,0,0,.4));
    }

    /* Slider 1 — sezon: WIOSENNY PROGRAM (pole zboża) */
    .ev-slide--1{
      background:
        linear-gradient(100deg, rgba(10,42,29,.92) 0%, rgba(10,42,29,.55) 50%, rgba(10,42,29,.15) 100%),
        radial-gradient(700px 500px at 90% 50%, rgba(212,168,67,.25), transparent 60%),
        url('/webs/greeneco/assets/photos/hero-field.avif') center/cover no-repeat,
        linear-gradient(135deg, #0f3a28 0%, #176945 100%);
    }
    /* Slider 2 — bor kwitnienie (jabłonie kwitnące) */
    .ev-slide--2{
      background:
        linear-gradient(100deg, rgba(10,42,29,.92) 0%, rgba(10,42,29,.5) 55%, rgba(10,42,29,.1) 100%),
        radial-gradient(700px 500px at 10% 100%, rgba(40,160,107,.35), transparent 60%),
        url('/webs/greeneco/assets/photos/apples-693973.webp') center/cover no-repeat,
        linear-gradient(135deg, #0a2a1d 0%, #1e5f3e 100%);
    }
    /* Slider 3 — mikrobiologia (zdjęcie banner-owe) */
    .ev-slide--3{
      background:
        linear-gradient(100deg, rgba(10,42,29,.9) 0%, rgba(10,42,29,.55) 50%, rgba(10,42,29,.15) 100%),
        radial-gradient(800px 500px at 80% 0%, rgba(212,168,67,.3), transparent 60%),
        url('/webs/greeneco/assets/photos/baner2-strona.webp') center/cover no-repeat,
        linear-gradient(135deg, #1a4a30 0%, #176945 100%);
    }

    @media (max-width:780px){
      .ev-slide{grid-template-columns:1fr; text-align:center}
      .ev-slide__media{display:none}
    }

    .ev-hero__arrow{
      position:absolute; top:50%; transform:translateY(-50%); z-index:10;
      width:48px; height:48px; border-radius:var(--r-sm);
      background:rgba(0,0,0,.4); color:#fff;
      display:grid; place-items:center;
      transition:background var(--t-fast);
    }
    .ev-hero__arrow:hover{background:rgba(0,0,0,.65)}
    .ev-hero__arrow--prev{left:1rem}
    .ev-hero__arrow--next{right:1rem}
    .ev-hero__arrow svg{width:22px;height:22px}

    .ev-hero__dots{
      position:absolute; bottom:1.2rem; left:50%; transform:translateX(-50%);
      display:flex; gap:.5rem; z-index:10;
    }
    .ev-hero__dot{
      width:36px; height:4px; background:rgba(255,255,255,.3); border-radius:2px;
      cursor:pointer;
    }
    .ev-hero__dot.is-active{background:var(--gold)}

    /* Kafle (.ev-tile*) — definiowane wyłącznie inline w index.html (glassmorphism) */

    /* === SEKCJA KARUZELI „MAJOWE PROGRAMY" === */
    .ev-carousel-section{
      background:linear-gradient(180deg, #0e3a26 0%, #143f2b 100%);
      color:#fff; padding-block:clamp(2rem, 4vw, 3.5rem);
    }
    .ev-carousel-banner{
      display:grid; grid-template-columns:1.1fr 4fr; gap:1.2rem; align-items:stretch;
    }
    @media (max-width:980px){.ev-carousel-banner{grid-template-columns:1fr}}
    .ev-carousel-banner__promo{
      background:linear-gradient(135deg, #d93025 0%, #a52615 100%);
      color:#fff; padding:1.6rem 1.4rem;
      border-radius:var(--r-md);
      display:flex; flex-direction:column; justify-content:space-between; gap:1rem;
      position:relative; overflow:hidden;
    }
    .ev-carousel-banner__promo::before{
      content:"";position:absolute;top:-50px;right:-50px;width:200px;height:200px;
      background:radial-gradient(circle, rgba(255,255,255,.15), transparent 70%);
    }
    .ev-carousel-banner__promo .eyebrow{color:#fff;background:rgba(0,0,0,.25);padding:.3rem .65rem;border-radius:var(--r-xs)}
    .ev-carousel-banner__promo h3{
      color:#fff; font-size:clamp(1.4rem, 2.4vw, 1.9rem); font-weight:900; line-height:1.05; margin:0;
      letter-spacing:-.02em; hyphens:auto;
    }
    .ev-carousel-banner__promo .btn{white-space:normal; text-align:center; line-height:1.2; padding:.7em 1.1em}
    .ev-carousel-banner__promo p{margin:0;color:rgba(255,255,255,.92);font-size:.9rem}
    .ev-carousel-banner__promo .btn{
      background:var(--gold); color:var(--ink); font-weight:800;
      align-self:flex-start;
    }
    .ev-carousel-banner__promo .btn:hover{background:#fff;color:var(--ink)}

    .ev-carousel-wrap{position:relative}
    .ev-carousel{
      display:flex; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory;
      scrollbar-width:none; padding:.3rem 0 .8rem;
    }
    .ev-carousel::-webkit-scrollbar{display:none}
    .ev-carousel > *{flex:0 0 calc((100% - 3rem) / 4); scroll-snap-align:start}
    @media (max-width:1100px){.ev-carousel > *{flex-basis:calc((100% - 2rem) / 3)}}
    @media (max-width:780px){.ev-carousel > *{flex-basis:calc((100% - 1rem) / 2)}}
    @media (max-width:520px){.ev-carousel > *{flex-basis:80%}}

    .ev-carousel-arrow{
      position:absolute; top:40%; transform:translateY(-50%);
      width:42px; height:42px; border-radius:var(--r-sm);
      background:rgba(0,0,0,.6); color:#fff;
      display:grid; place-items:center; z-index:5;
    }
    .ev-carousel-arrow:hover{background:rgba(0,0,0,.85)}
    .ev-carousel-arrow--prev{left:-12px}
    .ev-carousel-arrow--next{right:-12px}

    /* === KARTA PRODUKTU "Euro-style" — z plakietką, gwiazdkami, ratami === */
    .ev-pcard{
      background:#fff; color:var(--ink);
      border:1px solid transparent; border-radius:var(--r-md);
      overflow:hidden; display:flex; flex-direction:column; position:relative;
      transition:border-color var(--t-base), transform var(--t-base);
    }
    .ev-pcard:hover{border-color:var(--gold); transform:translateY(-2px)}
    .ev-pcard__plakietka{
      position:absolute; top:.6rem; left:.6rem; z-index:2;
      background:#d93025; color:#fff; font-weight:800; font-size:.7rem;
      padding:.25rem .55rem; letter-spacing:.05em;
      border-radius:var(--r-xs);
    }
    .ev-pcard__plakietka--new{background:var(--green-700)}
    .ev-pcard__media{
      aspect-ratio:1; background:#fff; padding:1rem; display:grid; place-items:center;
    }
    .ev-pcard__media img{max-width:100%;max-height:100%;object-fit:contain}
    .ev-pcard__body{padding:.8rem 1rem 1rem; display:flex; flex-direction:column; gap:.45rem; flex:1}
    .ev-pcard__name{
      font-size:.92rem; font-weight:700; color:var(--ink); line-height:1.3; margin:0;
      min-height:2.4em;
      display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
    }
    .ev-pcard__stars{
      display:flex; gap:.15rem; align-items:center; font-size:.78rem; color:var(--ink-60);
    }
    .ev-pcard__stars svg{width:13px;height:13px;color:var(--gold)}
    .ev-pcard__price{
      font-size:1.7rem; font-weight:900; color:#d93025; line-height:1; letter-spacing:-.02em;
      display:flex; align-items:baseline; gap:.3em; flex-wrap:wrap;
    }
    .ev-pcard__price .unit{font-size:1rem;font-weight:700;color:#d93025}
    .ev-pcard__price .from{font-size:.7rem;font-weight:600;color:var(--ink-60)}
    .ev-pcard__raty{
      font-size:.78rem; color:var(--ink-80);
      padding:.25rem 0; border-top:1px solid var(--ink-10);
    }
    .ev-pcard__raty strong{color:var(--green-700);font-weight:700}
    .ev-pcard__najniza{
      font-size:.7rem; color:var(--ink-60); line-height:1.4;
    }
    .ev-pcard__klasa{
      display:inline-flex; align-items:center; gap:.4em;
      font-size:.75rem; font-weight:700; color:var(--ink-80); margin-top:.3rem;
    }
    .ev-pcard__klasa-letter{
      width:24px; height:18px; background:var(--green-700); color:#fff;
      display:grid; place-items:center; font-size:.78rem; font-weight:800;
      border-radius:2px;
    }
    .ev-pcard__klasa-letter--d{background:#d93025}
    .ev-pcard__klasa-letter--b{background:#9f8b1d}

    /* === HIT DNIA + NOWOŚCI === */
    .ev-hitnow{
      display:grid; grid-template-columns:1fr 2fr; gap:1.5rem;
    }
    @media (max-width:980px){.ev-hitnow{grid-template-columns:1fr}}
    .ev-hitnow__col h2{
      font-size:1.6rem; font-weight:900; margin:0 0 1.2rem; letter-spacing:-.02em;
      display:flex; align-items:center; gap:.7rem;
    }
    .ev-hitnow__col h2 .pill{
      display:inline-flex; align-items:center; padding:.2rem .65rem;
      background:var(--green-700); color:#fff; font-size:.8rem; font-weight:700;
      border-radius:var(--r-xs); letter-spacing:.05em;
    }
    .ev-hit-card{
      background:#fff; border:1px solid var(--line); border-radius:var(--r-md);
      padding:1.4rem; display:flex; flex-direction:column; gap:.8rem;
    }
    .ev-hit-card .ev-pcard__plakietka{position:static;align-self:flex-start;font-size:.78rem;padding:.3rem .7rem}
    .ev-hit-card__img{
      aspect-ratio:1; background:var(--bg-soft); border-radius:var(--r-sm); padding:1.5rem;
      display:grid; place-items:center; margin:-.4rem 0 .4rem;
    }
    .ev-hit-card__img img{max-width:100%;max-height:100%;object-fit:contain}
    .ev-hit-card h3{font-size:1.15rem;margin:0;color:var(--ink);line-height:1.3}
    .ev-hit-card__price{
      font-size:2.2rem; font-weight:900; color:#d93025; line-height:1; letter-spacing:-.02em;
    }
    .ev-hit-card__price .unit{font-size:1.2rem}
    .ev-hit-card__btn{
      margin-top:.4rem;
      padding:.9rem; background:var(--green-700); color:#fff; font-weight:800; font-size:.95rem;
      border-radius:var(--r-sm); text-align:center;
      transition:background var(--t-fast);
    }
    .ev-hit-card__btn:hover{background:var(--green-800); color:#fff}

    .ev-nowosci{
      display:grid; grid-template-columns:repeat(3, 1fr); gap:1rem;
    }
    @media (max-width:780px){.ev-nowosci{grid-template-columns:repeat(2, 1fr)}}
    @media (max-width:520px){.ev-nowosci{grid-template-columns:1fr}}

    /* === CATEGORY SPOTLIGHT (jak "Lepszy dzień zaczyna się od kawy") === */
    .ev-spotlight{
      background:#fff; border:1px solid var(--line); border-radius:var(--r-md);
      overflow:hidden;
    }
    .ev-spotlight__inner{
      display:grid; grid-template-columns:1.3fr 3fr; gap:0;
    }
    @media (max-width:980px){.ev-spotlight__inner{grid-template-columns:1fr}}
    .ev-spotlight__banner{
      position:relative; overflow:hidden;
      background-size:cover; background-position:center;
      min-height:420px;
      color:#fff;
      padding:2rem;
      display:flex; flex-direction:column; justify-content:space-between;
    }
    .ev-spotlight__banner::before{
      content:""; position:absolute; inset:0;
      background:linear-gradient(180deg, rgba(10,42,29,.85) 0%, rgba(10,42,29,.4) 50%, rgba(10,42,29,.85) 100%);
    }
    .ev-spotlight__banner > *{position:relative}
    .ev-spotlight__banner h2{
      font-size:clamp(1.6rem, 3vw, 2.4rem); color:#fff; font-weight:900; line-height:1.05;
      margin:0; letter-spacing:-.02em;
    }
    .ev-spotlight__banner h2 em{color:var(--gold);font-style:normal}
    .ev-spotlight__banner .btn{align-self:flex-start;background:var(--gold);color:var(--ink)}
    .ev-spotlight__banner .btn:hover{background:#fff}

    .ev-spotlight__grid{
      display:grid; grid-template-columns:repeat(4, 1fr); gap:0;
      border-left:1px solid var(--line);
    }
    @media (max-width:780px){.ev-spotlight__grid{grid-template-columns:repeat(2, 1fr)}}
    .ev-spotlight__cell{
      border-right:1px solid var(--line); border-bottom:1px solid var(--line);
      padding:1rem; display:flex; flex-direction:column; gap:.4rem;
      transition:background var(--t-fast);
    }
    .ev-spotlight__cell:hover{background:var(--bg-soft)}
    .ev-spotlight__cell:nth-child(4n){border-right:0}
    .ev-spotlight__cell:nth-last-child(-n+4){border-bottom:0}
    @media (max-width:780px){
      .ev-spotlight__cell{border-right:1px solid var(--line) !important}
      .ev-spotlight__cell:nth-child(2n){border-right:0 !important}
    }
    .ev-spotlight__cell img{
      width:100%; aspect-ratio:1; object-fit:contain; padding:.4rem;
      background:#fff;
    }
    .ev-spotlight__cell-name{
      font-size:.82rem; font-weight:700; color:var(--ink); line-height:1.3;
      display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
    }
    .ev-spotlight__cell-price{
      margin-top:auto; font-size:1.2rem; font-weight:900; color:#d93025;
    }
    .ev-spotlight__cell-price .unit{font-size:.85rem;font-weight:700}
    .ev-spotlight__cell-stars{display:flex;gap:.1rem;font-size:.72rem;color:var(--ink-60);align-items:center}
    .ev-spotlight__cell-stars svg{width:11px;height:11px;color:var(--gold)}


    /* utility — wyłączamy globalny site-header bo mamy własny brand-bar */
    #site-header{display:none}

/* ============================================================
   PODSTRONY — wspólne komponenty (breadcrumb, nagłówek, katalog, formularz)
   ============================================================ */
.ev-page{background:var(--bg-soft,#f4f7f3); min-height:60vh}
.ev-breadcrumb{padding:.9rem 0; font-size:.85rem; color:var(--ink-60,#5b6b60)}
.ev-breadcrumb a{color:var(--green-700); text-decoration:none; font-weight:600}
.ev-breadcrumb a:hover{text-decoration:underline}
.ev-breadcrumb .ev-chev{width:.8em;height:.8em;opacity:.5;margin:0 .15em}
.ev-pagehead{padding:1.2rem 0 1.6rem}
.ev-pagehead h1{font-size:clamp(1.3rem,1.8vw,1.55rem); margin:0 0 .35rem; color:var(--ink,#15241b); font-weight:900; letter-spacing:-.02em}
.ev-pagehead p{margin:0; color:var(--ink-70,#4a5a50); max-width:64ch; font-size:1rem}

/* katalog: sidebar + siatka */
.ev-shop{display:grid; grid-template-columns:248px 1fr; gap:1.6rem; align-items:start; padding-bottom:3rem}
@media (max-width:880px){.ev-shop{grid-template-columns:1fr}}
.ev-filters{position:sticky; top:1rem; background:#fff; border:1px solid var(--green-100,#e1ece3); border-radius:var(--r-md,12px); padding:1rem 1.1rem}
.ev-filters__group{margin-bottom:1.1rem}
.ev-filters__group:last-child{margin-bottom:0}
.ev-filters__title{font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--green-700); margin:0 0 .5rem}
.ev-filters__opt{display:flex; align-items:center; gap:.5em; padding:.3rem 0; font-size:.9rem; color:var(--ink,#22302a); cursor:pointer}
.ev-filters__opt input{accent-color:var(--green-700); width:16px; height:16px}
.ev-filters__opt .cnt{margin-left:auto; font-size:.78rem; color:var(--ink-50,#8a988f)}
.ev-shop__main{min-width:0}
.ev-shop__bar{display:flex; align-items:center; gap:1rem; justify-content:space-between; flex-wrap:wrap; margin-bottom:1rem}
.ev-shop__count{font-size:.9rem; color:var(--ink-70,#4a5a50)}
.ev-shop__count strong{color:var(--ink,#15241b)}
.ev-shop__sort{border:1px solid var(--green-100,#d7e4d9); border-radius:var(--r-sm,8px); padding:.5rem .8rem; font:inherit; font-size:.9rem; background:#fff; color:var(--ink,#22302a)}
.ev-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:1rem}
.ev-grid .ev-pcard{min-width:0}
.ev-empty{padding:3rem 1rem; text-align:center; color:var(--ink-60,#5b6b60)}
.ev-chips{display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1rem}
.ev-chip{display:inline-flex; align-items:center; gap:.4em; background:#fff; border:1px solid var(--green-100,#d7e4d9); border-radius:999px; padding:.35rem .8rem; font-size:.82rem; font-weight:600; color:var(--green-700); cursor:pointer}
.ev-chip:hover{background:var(--green-700); color:#fff}
.ev-chip .x{font-weight:900}

/* karta produktu — układ szczegółowy */
.ev-product{display:grid; grid-template-columns:1fr 1fr; gap:2.4rem; padding:1.5rem 0 3rem; align-items:start}
@media (max-width:880px){.ev-product{grid-template-columns:1fr}}
.ev-product__gallery{background:#fff; border:1px solid var(--green-100,#e1ece3); border-radius:var(--r-md,12px); display:grid; place-items:center; padding:2rem; min-height:360px}
.ev-product__gallery img{max-width:100%; max-height:420px; object-fit:contain}
.ev-product__info h1{font-size:clamp(1.3rem,1.9vw,1.65rem); margin:0 0 .5rem; color:var(--ink,#15241b); font-weight:900; letter-spacing:-.02em}
.ev-product__tagline{color:var(--ink-70,#4a5a50); margin:0 0 1.2rem; font-size:1.05rem}
.ev-product__price{font-size:2rem; font-weight:900; color:#d93025; margin:0 0 .3rem}
.ev-product__price .from{font-size:.85rem; font-weight:600; color:var(--ink-60,#5b6b60)}
.ev-product__badges{display:flex; gap:.5rem; flex-wrap:wrap; margin:1rem 0}
.ev-badge{display:inline-flex; align-items:center; gap:.4em; background:var(--bg-soft,#eef4ee); border:1px solid var(--green-100,#d7e4d9); border-radius:999px; padding:.35rem .8rem; font-size:.8rem; font-weight:700; color:var(--green-700)}
.ev-product__actions{display:flex; gap:.8rem; align-items:center; margin:1.5rem 0}
.ev-product__desc{margin-top:1.5rem; line-height:1.7; color:var(--ink-80,#33433a)}
.ev-product__desc h3{color:var(--ink,#15241b); font-size:1.1rem; margin:1.4rem 0 .5rem}
.ev-variants{display:flex; gap:.5rem; flex-wrap:wrap; margin:1rem 0}
.ev-variant{border:1.5px solid var(--green-100,#d7e4d9); border-radius:var(--r-sm,8px); padding:.5rem .9rem; font-size:.9rem; font-weight:700; cursor:pointer; background:#fff; color:var(--ink,#22302a)}
.ev-variant.is-active{border-color:var(--green-700); background:var(--green-700); color:#fff}

/* formularz kontaktu / strona prosta */
.ev-info{display:grid; grid-template-columns:1.2fr 1fr; gap:2.4rem; padding:1rem 0 3rem; align-items:start}
@media (max-width:880px){.ev-info{grid-template-columns:1fr}}
.ev-form{display:flex; flex-direction:column; gap:.8rem; background:#fff; border:1px solid var(--green-100,#e1ece3); border-radius:var(--r-md,12px); padding:1.6rem}
.ev-form input, .ev-form textarea{border:1.5px solid var(--green-100,#d7e4d9); border-radius:var(--r-sm,8px); padding:.85rem 1rem; font:inherit; font-size:.95rem; color:var(--ink,#22302a); background:var(--bg-soft,#f7faf6)}
.ev-form input:focus, .ev-form textarea:focus{outline:none; border-color:var(--green-700)}
.ev-form textarea{min-height:140px; resize:vertical}
.ev-contact-card{background:#fff; border:1px solid var(--green-100,#e1ece3); border-radius:var(--r-md,12px); padding:1.6rem}
.ev-contact-card h3{margin:0 0 1rem; color:var(--ink,#15241b)}
.ev-contact-row{display:flex; align-items:flex-start; gap:.7em; margin-bottom:1rem; font-size:.95rem; color:var(--ink-80,#33433a)}
.ev-contact-row svg{width:20px;height:20px;color:var(--green-700);flex:none;margin-top:2px}
.ev-prose{max-width:72ch; line-height:1.75; color:var(--ink-80,#33433a); padding-bottom:3rem}
.ev-prose h2{color:var(--ink,#15241b); margin:2rem 0 .6rem}
.ev-prose p{margin:0 0 1rem}

/* ============================================================
   SEKCJE TREŚCIOWE — wielokrotnego użytku (o nas, landing)
   ============================================================ */
.ev-band{background:linear-gradient(110deg, rgba(8,40,24,.94) 0%, rgba(14,58,38,.80) 42%, rgba(14,58,38,.40) 100%), url('/webs/greeneco/assets/photos/hero-onas.avif') center/cover no-repeat, #0e3a26; color:#fff; position:relative; overflow:hidden}
.ev-band::after{content:""; position:absolute; top:-80px; right:-60px; width:340px; height:340px; background:radial-gradient(circle, rgba(212,168,67,.22), transparent 65%); pointer-events:none}
.ev-band__inner{padding:clamp(2.4rem,5vw,4rem) 0; position:relative; z-index:1; max-width:760px}
.ev-band__eyebrow{display:inline-block; background:var(--gold,#d4a843); color:var(--ink,#15241b); font-weight:800; font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; padding:.35rem .8rem; border-radius:var(--r-xs,6px); margin-bottom:1rem}
.ev-band h1{font-size:clamp(1.5rem,2.8vw,2.1rem); line-height:1.1; margin:0 0 1rem; font-weight:900; letter-spacing:-.02em; color:#fff}
.ev-band h1 em{color:var(--gold,#d4a843); font-style:normal}
.ev-band p{font-size:1.1rem; line-height:1.6; color:rgba(255,255,255,.88); margin:0 0 1.6rem; max-width:60ch}
.ev-band__actions{display:flex; gap:.8rem; flex-wrap:wrap}

.ev-section{padding:clamp(1rem,2vw,1.6rem) 0}
.ev-section__head{text-align:center; max-width:60ch; margin:0 auto 1.3rem}
.ev-section__head h2{font-size:clamp(1.2rem,1.8vw,1.5rem); margin:0 0 .5rem; color:var(--ink,#15241b); font-weight:900; letter-spacing:-.02em}
.ev-section__head p{margin:0; color:var(--ink-70,#4a5a50)}

.ev-features{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.2rem}
.ev-feature{background:#fff; border:1px solid var(--green-100,#e1ece3); border-radius:var(--r-md,12px); padding:1.6rem 1.4rem; transition:transform .18s, box-shadow .18s}
.ev-feature:hover{transform:translateY(-3px); box-shadow:0 14px 30px rgba(20,50,30,.12)}
.ev-feature__icon{width:56px; height:56px; border-radius:16px; display:grid; place-items:center; background:linear-gradient(135deg,var(--green-500,#2e8b57),var(--green-700,#176945)); margin-bottom:1rem; box-shadow:0 8px 18px rgba(23,105,69,.25)}
.ev-feature__icon svg{width:30px; height:30px; fill:#fff}
.ev-feature h3{margin:0 0 .4rem; font-size:1.05rem; color:var(--ink,#15241b)}
.ev-feature p{margin:0; font-size:.92rem; line-height:1.55; color:var(--ink-70,#4a5a50)}

.ev-stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1rem; background:var(--bg-soft,#eef4ee); border-radius:var(--r-md,12px); padding:2rem 1.5rem}
.ev-stat{text-align:center}
.ev-stat__num{font-size:clamp(1.8rem,3.5vw,2.6rem); font-weight:900; color:var(--green-700,#176945); letter-spacing:-.02em; line-height:1}
.ev-stat__lbl{font-size:.86rem; color:var(--ink-70,#4a5a50); margin-top:.3rem}

.ev-split{display:grid; grid-template-columns:1fr 1fr; gap:2.4rem; align-items:center}
@media (max-width:820px){.ev-split{grid-template-columns:1fr}}
.ev-split__media{border-radius:var(--r-md,12px); overflow:hidden; background:var(--bg-soft,#eef4ee); min-height:300px; display:grid; place-items:center}
.ev-split__media img{width:100%; height:100%; object-fit:cover; display:block}
.ev-split__body h2{font-size:clamp(1.2rem,1.8vw,1.55rem); margin:0 0 1rem; color:var(--ink,#15241b); font-weight:900; letter-spacing:-.02em}
.ev-split__body p{margin:0 0 1rem; line-height:1.7; color:var(--ink-80,#33433a)}

.ev-cta{background:linear-gradient(135deg,#d4a843,#b8862a); border-radius:var(--r-md,12px); padding:clamp(1.8rem,4vw,2.8rem); display:flex; justify-content:space-between; align-items:center; gap:1.5rem; flex-wrap:wrap; color:var(--ink,#15241b)}
.ev-cta h2{margin:0 0 .3rem; font-size:clamp(1.15rem,1.8vw,1.5rem); font-weight:900; letter-spacing:-.02em}
.ev-cta p{margin:0; font-size:1rem; color:rgba(20,30,20,.8)}

/* === POLECANE — karuzela na karcie produktu === */
.ev-reco{padding:1rem 0 3rem}
.ev-reco__head{display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.1rem}
.ev-reco__head h2{font-size:clamp(1.1rem,1.6vw,1.4rem); margin:0; color:var(--ink,#15241b); font-weight:900; letter-spacing:-.02em}
.ev-reco__nav{display:flex; gap:.5rem}
.ev-reco__arrow{width:40px; height:40px; border-radius:var(--r-sm,8px); border:1.5px solid var(--green-100,#d7e4d9); background:#fff; color:var(--green-700,#176945); display:grid; place-items:center; cursor:pointer}
.ev-reco__arrow:hover{background:var(--green-700,#176945); color:#fff; border-color:var(--green-700,#176945)}
.ev-reco__arrow svg{width:20px; height:20px}
.ev-reco__track{display:grid; grid-auto-flow:column; grid-auto-columns:minmax(210px,1fr); gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding-bottom:.5rem; scrollbar-width:thin}
.ev-reco__track .ev-pcard{scroll-snap-align:start}
.ev-reco__track::-webkit-scrollbar{height:8px}
.ev-reco__track::-webkit-scrollbar-thumb{background:var(--green-100,#d7e4d9); border-radius:4px}

/* ============================================================
   RESPONSYWNOŚĆ — wspólne podstrony + nagłówek/stopka (mobile + tablet)
   Breakpointy: 980 (tablet), 680 (duży telefon), 480 (telefon), 360 (mały)
   Tylko nadpisania mobilne — desktop bez zmian.
   ============================================================ */

/* zabezpieczenie przed poziomym scrollem */
html,body{max-width:100%;overflow-x:hidden}

/* === BRANDBAR — układ mobilny: logo+akcje w rzędzie, wyszukiwarka pełna === */
@media (max-width:980px){
  .ev-brandbar__inner{
    grid-template-columns:auto 1fr;
    grid-template-areas:"logo user" "search search";
    gap:.7rem .8rem;
    row-gap:.7rem;
  }
  .ev-brandbar__logo{grid-area:logo;justify-self:start}
  .ev-brandbar__user{grid-area:user;justify-self:end;gap:.9rem}
  .ev-brandbar__search{grid-area:search;max-width:none;justify-self:stretch}
}
@media (max-width:680px){
  .ev-brandbar__logo img{height:44px}
  .ev-brandbar__user{gap:.7rem}
  /* skracamy podpisy pod ikonami, żeby się zmieściły */
  .ev-brandbar__user-link{font-size:0}
  .ev-brandbar__user-link strong{font-size:.78rem}
  .ev-brandbar__user-link svg{width:24px;height:24px}
  /* schowaj „Doradca" — zostaw telefon + koszyk */
  .ev-brandbar__user-link:first-child{display:none}
  .ev-brandbar__search-cat{font-size:0;gap:0;padding:0 1rem}
  .ev-brandbar__search-cat svg{width:24px;height:24px;max-width:none;flex:none}
  .ev-brandbar__search-cat svg.ev-catmenu__caret{display:none}
  .ev-brandbar__search input{font-size:16px;padding:.75rem .8rem}
  .ev-brandbar__search-btn{padding:0 1.1rem;font-size:0}
  .ev-brandbar__search-btn svg{width:24px;height:24px;max-width:none;flex:none}
  .ev-catmenu__panel{min-width:240px;max-width:84vw}
}
@media (max-width:360px){
  .ev-brandbar__logo img{height:38px}
  .ev-brandbar__user{gap:.5rem}
}

/* === MEGABAR — poziomy scroll zamiast łamania, mniejsza czcionka === */
@media (max-width:780px){
  .ev-megabar__benefits{
    flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;
    gap:1rem;padding:.55rem var(--gutter,1rem);
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  .ev-megabar__benefits::-webkit-scrollbar{display:none}
  .ev-megabar__benefit{font-size:.78rem;white-space:nowrap;flex:none}
}

/* === KATALOG SKLEP — filtry kompaktowe nad siatką === */
@media (max-width:880px){
  .ev-filters{position:static;top:auto}
  .ev-filters__group{margin-bottom:.9rem;padding-bottom:.9rem;border-bottom:1px solid var(--green-100,#e1ece3)}
  .ev-filters__group:last-child{border-bottom:0;padding-bottom:0}
  .ev-filters__title{margin-bottom:.4rem}
  /* opcje filtrów w poziomie, zawijane jako chipy — krótszy panel, mniej przewijania */
  .ev-filters__group{display:flex;flex-wrap:wrap;gap:.4rem .55rem}
  .ev-filters__title{flex:0 0 100%}
  .ev-filters__opt{
    padding:.4rem .7rem;border:1px solid var(--green-100,#d7e4d9);border-radius:999px;
    background:#fff;font-size:.84rem;
  }
  .ev-filters__opt .cnt{margin-left:.35em}
}
@media (max-width:680px){
  .ev-shop__bar{gap:.6rem}
  .ev-shop__sort{flex:1;min-width:0}
}
@media (max-width:480px){
  .ev-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
}
@media (max-width:360px){
  .ev-grid{grid-template-columns:1fr}
}

/* === KARTA PRODUKTU (podstrona) — CTA pełna szerokość === */
@media (max-width:880px){
  .ev-product{gap:1.4rem}
  .ev-product__gallery{min-height:260px;padding:1.4rem}
  .ev-product__gallery img{max-height:320px}
}
@media (max-width:680px){
  .ev-product__actions{flex-wrap:wrap}
  .ev-product__actions .btn{flex:1 1 100%;justify-content:center}
  .ev-product__actions .qty,.ev-product__actions .ev-qty{flex:0 0 auto}
}

/* === KONTAKT / INFO — kolumny pod sobą === */
@media (max-width:880px){
  .ev-info{gap:1.4rem}
  .ev-form,.ev-contact-card{padding:1.2rem}
}
@media (max-width:680px){
  .ev-form .btn{width:100%;justify-content:center}
  .ev-form input,.ev-form textarea{font-size:16px}
}

/* === SEKCJE TREŚCIOWE (o nas) === */
@media (max-width:680px){
  /* mocniejsze przyciemnienie tła hero — tekst czytelny na całej szerokości */
  .ev-band{background:linear-gradient(180deg, rgba(8,40,24,.92) 0%, rgba(14,58,38,.78) 100%), url('/webs/greeneco/assets/photos/hero-onas.avif') center/cover no-repeat, #0e3a26}
  .ev-band__inner{padding-block:clamp(2rem,8vw,3rem)}
  .ev-stats{grid-template-columns:repeat(2,1fr);padding:1.4rem 1rem}
  .ev-split{gap:1.4rem}
  .ev-split__media{min-height:200px}
  .ev-cta{flex-direction:column;align-items:flex-start;text-align:left;gap:1rem}
  .ev-cta .btn{width:100%;justify-content:center}
}

/* === KARUZELA POLECANYCH (podstrona produktu) === */
@media (max-width:520px){
  .ev-reco__track{grid-auto-columns:minmax(70%,1fr)}
}
