/* Este 2.0 - grupa „home": strona główna (C + D), karuzela, strony informacyjne, blog.
   Klasy z prototypu (.c-*, .d-*, .promo, .contact, .legal, .e404) są w este.css;
   tu tylko spoiwo dla znaczników WordPress. */

[data-reorder-toggle][hidden],
.promo__bar[hidden] { display: none; }

ul.grid { list-style: none; margin: 0; padding: 0; }
.home-notices { margin-top: 20px; }

/* Gość (C) */
.c-hero .h1 { margin-top: 14px; }
#marki { scroll-margin-top: 16px; }
.c-brand { color: var(--ink); }
.c-brand:focus-visible { outline: 2px solid var(--t400); outline-offset: 3px; }
.pro-note .lead { max-width: 40em; }
.wrap > .c-edu { margin-top: 56px; }
.c-edu .meta { font-size: 15px; }

/* Konto PRO (D) */
.d-top .h1 { margin-top: 10px; }
/* Promocje i nowości na górze strony konta PRO, powitanie pod nimi. */
.sec.d-first { padding: 48px 0 8px; }
.sec.d-first + .d-top, .promo + .d-top { margin-top: 40px; border-top: 1px solid var(--line); }
.d-top__order { color: var(--t400); text-decoration: underline; text-underline-offset: 3px; }
.d-head { margin-top: 8px; }
.d-chk { display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; }
.d-prod a { color: var(--ink); }
.d-prod a:hover { color: var(--t400); }
.d-table .stepper { height: 40px; grid-template-columns: 40px 40px 40px; }
.d-add { background: none; border: 0; padding: 0; min-height: 44px; font: inherit; font-size: 13px; color: var(--t400); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.d-empty { color: var(--graphite); margin: 0 0 18px; max-width: 34em; }
.d-new { padding-bottom: 0; }
.d-box h3 a, .d-box li a, .d-box__tel a, .d-box .meta a { color: inherit; }
.d-box li a:hover, .d-box h3 a:hover { color: var(--t400); }
.d-box__txt { color: var(--graphite); }
.d-box__tel { margin-top: 12px; }
.d-box__more { margin-top: 10px; }

/* Kontakt */
.cbig-list { margin-top: 22px; }
.cbig b.cbig__mail { font-size: 18px; }
.cbig:hover { border-color: var(--line-strong); }
.contact__pro { margin-top: 18px; font-size: 14px; }
.contact__h { margin: 30px 0 10px; }
.contact__addr { font-style: normal; line-height: 1.6; color: var(--graphite); }
.contact__content { margin-top: 18px; }
.cform { position: relative; }
.cform__sub { margin-bottom: 18px; }
.cform__hint { margin: -4px 0 14px; font-size: 13px; }
.cform__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cform__send { margin-top: 12px; }
.cform .woocommerce-message, .cform .woocommerce-error { margin-bottom: 16px; }

/* Regulamin, polityka prywatności, zwykła strona */
.toc-m ol { padding-left: 18px; }
.toc-m li a { display: flex; min-height: 44px; align-items: center; }
.legal-plain, .page-body { padding-bottom: 88px; }
/* Monolith ma tylko 300 i 400: sztuczne pogrubienie psuje literę „e”. Pogrubienia w treści w Grift 500. */
.entry-content strong, .entry-content b { font-family: var(--f-display); font-weight: 500; color: var(--ink); }

/* 404 */
.e404 .search .field { width: 100%; height: 52px; font-size: 16px; }
.e404__tel { margin-top: 26px; font-size: 14px; }

/* Blog */
.posts { list-style: none; margin: 0 0 40px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 24px; }
.posts__img { display: block; aspect-ratio: 4 / 3; background: var(--pearl); border-radius: var(--r); overflow: hidden; margin-bottom: 14px; }
.posts__img img { width: 100%; height: 100%; object-fit: cover; }
/* Packshot na białym tle: cały produkt, tło zdjęcia stapia się z jasnym polem. */
.posts__img img.is-fit { object-fit: contain; padding: 18px; mix-blend-mode: multiply; }
.posts h2 { margin: 6px 0 8px; }
.posts h2 a { color: var(--ink); }
.posts__ex { color: var(--graphite); font-size: 15px; margin-bottom: 10px; }
.archive-desc { margin-bottom: 24px; }
/* Strona główna: ostatnie wpisy, bez kart - linia nad wpisem, typografia niesie resztę. */
.sec.home-blog { padding-top: 16px; }
.posts--home { margin-bottom: 0; }
.posts--home article { border-top: 1px solid var(--line); padding-top: 18px; }
.posts--home .h3 { margin: 6px 0 8px; text-wrap: balance; }
.posts--home .h3 a { color: var(--ink); }
.posts--home .h3 a:hover { color: var(--t400); }
.posts--home .posts__img { margin-bottom: 16px; }
.blog-empty { padding-bottom: 88px; }
.single-post { padding: 26px 0 88px; }
.single-post__title { margin: 10px 0 22px; }
.single-post__img { margin: 0 0 26px; }
.single-post__img img { border-radius: var(--r); width: 100%; height: auto; }
.post-nav { display: flex; justify-content: space-between; gap: 24px; margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 14px; }
.post-nav a { color: var(--t400); }

/* Dopasowania strony głównej do danych z WooCommerce (dłuższe nazwy, stepper w tabeli). */
.d-table .c-price, .d-table .c-sku, .d-table .c-last { white-space: nowrap; }

@media (max-width: 1100px) {
	.posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.c-hero { grid-template-columns: 1fr; gap: 20px; }
	.c-brand--sm { grid-column: span 6; }
	.d-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
	.c-hero { padding: 36px 0 28px; }
	.c-grid { gap: 14px; }
	.c-brand { min-height: 0; }
	.c-brand--lg { grid-column: span 12; padding: 24px; }
	.c-brand--lg .c-brand__img { position: static; height: 160px; max-width: 100%; margin: 18px auto 14px; }
	.c-brand--sm { grid-column: span 6; padding: 18px; }
	.c-brand--sm .c-brand__img { height: 120px; margin: 12px auto 10px; }
	.c-brand--sm .c-brand__logo { height: 32px; max-width: 100%; }
	.c-brand--sm .c-brand__txt { font-size: 13px; margin-top: 10px; }
	.c-brand--sm .c-brand__foot { flex-direction: column; gap: 2px; }
	.c-edu { grid-template-columns: 1fr; gap: 10px; }
	.b-rows.b-rows--plain li { grid-template-columns: 1fr; gap: 6px; padding: 22px 0; }
	.b-rows.b-rows--plain li p { grid-column: auto; }
	.b-rows h3 { font-size: 21px; }
	.b-duo { grid-template-columns: 1fr; }
	.b-duo div { height: 300px; }
	.d-top { flex-direction: column; align-items: flex-start; gap: 14px; }
	.d-layout { gap: 32px; padding: 28px 0 56px; }
	.d-table td { border: 0; padding: 0; }
	.d-sum { align-items: stretch; }
	.d-box li { min-height: 44px; align-items: center; }
	.d-table .stepper { height: var(--tap); grid-template-columns: var(--tap) 44px var(--tap); }
	.d-table .c-qty { justify-self: end; }
	.posts { grid-template-columns: 1fr; }
	.post-nav { flex-direction: column; }
	.sec.d-first { padding-top: 36px; }
}

/* ---------- zadanie 10 (audyt 2026-09-20): pierwszy ekran partnera ---------- */
.d-top__go { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.d-top__go .btn { min-height: 48px; }
.d-layout--reorder { padding-bottom: 8px; grid-template-columns: minmax(0, 1fr); }
.d-layout--boxes { padding-top: 8px; grid-template-columns: minmax(0, 1fr); }
.d-boxes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.d-boxes .d-box { margin-bottom: 0; }
.d-empty p { margin: 0 0 12px; color: var(--graphite); }
.d-empty__go { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.d-empty__go .link { min-height: 44px; display: inline-flex; align-items: center; }
.promo--compact { margin-top: 8px; }
@media (max-width: 1100px) { .d-boxes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
	.d-top { padding: 22px 0 18px; gap: 10px; }
	.d-top .h1 { margin-top: 4px; font-size: 30px; }
	.d-top__go { margin-top: 10px; width: 100%; }
	.d-top__go .btn { flex: 1 1 45%; }
	.d-boxes { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.promo--compact .promo__slide { min-height: 0; }
	.promo--compact .promo__img, .promo--compact .promo__pic { max-height: 200px; }
	.d-layout--reorder { padding-top: 20px; }
	/* Pierwszy ekran (audyt 26.09.2026, P-38): slajd miał ~650 px, CTA i sterowanie karuzeli
	   chowały się pod dolnym paskiem (64 px). Niższe zdjęcie, mniejszy tytuł i opis. */
	.promo:not(.promo--compact) .promo__media { height: 140px; padding: 14px 20px; }
	.promo:not(.promo--compact) .promo__packs img { max-height: 112px; }
	.promo:not(.promo--compact) .promo__text { padding: 18px 20px 20px; gap: 10px; }
	.promo:not(.promo--compact) .promo__title { font-size: 24px; }
	.promo:not(.promo--compact) .promo__lead { font-size: 14px; }
	.promo:not(.promo--compact) .promo__cta { margin-top: 4px; }
	.promo:not(.promo--compact) .promo__bar { padding-top: 10px; }
}

/* ---------- marki na stronie startowej: jednakowe małe kafle (decyzja właściciela 2026-09-22) ----------
   Sześć marek w równej siatce: 3 w rzędzie na komputerze, 2 na tablecie i telefonie. Zdjęcie produktu
   w kaflu pod opisem, w tej samej wysokości dla wszystkich marek. */
#marki { grid-auto-rows: 1fr; }
#marki .c-brand--sm { grid-column: span 4; min-height: 0; padding: 24px; }
#marki .c-brand--sm .c-brand__img { position: static; height: 150px; max-width: 100%; margin: 14px auto 10px; align-self: center; }
#marki .c-brand--sm .c-brand__logo { height: 36px; max-width: 100%; }
#marki .c-brand--sm .c-word { font-size: 22px; }
#marki .c-brand--sm .c-brand__txt { font-size: 14px; margin-top: 12px; }
@media (max-width: 1100px) {
	#marki .c-brand--sm { grid-column: span 6; }
}
@media (max-width: 760px) {
	#marki .c-brand--sm { grid-column: span 6; padding: 16px; }
	#marki .c-brand--sm .c-brand__img { height: 110px; margin: 10px auto 8px; }
	#marki .c-brand--sm .c-brand__logo { height: 28px; }
	#marki .c-brand--sm .c-word { font-size: 18px; letter-spacing: .1em; }
	#marki .c-brand--sm .c-brand__txt { font-size: 12.5px; margin-top: 8px; }
	#marki .c-brand--sm .c-brand__foot { flex-direction: column; gap: 2px; }
}

/* „Co daje konto PRO" (2026-09-23, wariant A): 4 kolumny na komputerze, 2 na tablecie,
   lista z ikonami na telefonie. Każda korzyść: ikona, tytuł, jedna linia opisu. */
.pro-perks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 32px; border-top: 1px solid var(--line); }
.pro-perks li { display: grid; grid-template-columns: 1fr; align-content: start; gap: 6px; padding: 28px 0 24px; border-bottom: 1px solid var(--line); }
.pro-perks__i { width: 44px; height: 44px; border-radius: 50%; background: var(--t100); color: var(--t400); display: flex; align-items: center; justify-content: center; margin-bottom: 10px; }
.pro-perks__i svg { width: 22px; height: 22px; }
.pro-perks__t { font: 300 21px/1.25 var(--f-display); color: var(--ink); margin: 0; }
.pro-perks__d { margin: 0; color: var(--graphite); font-size: 15px; line-height: 1.4; }
.pro-note { margin-top: 24px; align-items: center; }
.pro-note__txt { margin: 0; color: var(--muted); font-size: 15px; max-width: 40em; }
@media (max-width: 1100px) {
	.pro-perks { grid-template-columns: repeat(2, 1fr); column-gap: 40px; }
}
@media (max-width: 760px) {
	#pro-h { margin-bottom: 0; }
	section[aria-labelledby="pro-h"] .sec__head { margin-bottom: 16px; }
	.pro-perks { grid-template-columns: 1fr; }
	.pro-perks li { grid-template-columns: 44px 1fr; gap: 2px 12px; padding: 14px 0; align-items: center; }
	.pro-perks__i { grid-row: span 2; margin-bottom: 0; }
	.pro-perks__t { font-size: 17px; font-weight: 400; }
	.pro-perks__d { font-size: 14px; }
	.pro-note { display: block; margin-top: 14px; }
	.pro-note__txt { font-size: 14px; }
	.pro-note .btn { display: flex; width: 100%; justify-content: center; margin-top: 14px; }
}

/* „Porady i aktualności" (2026-09-23, wariant A): najnowszy wpis duży ze zdjęciem,
   kolejne jako tekst w prawej kolumnie; na telefonie jeden pod drugim, bez zajawek w liście. */
.blog-mag { display: grid; grid-template-columns: 1.35fr 1fr; gap: 48px; border-top: 1px solid var(--line); padding-top: 28px; }
.blog-mag__img { display: block; margin-bottom: 18px; border-radius: 12px; overflow: hidden; }
.blog-mag__img img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.blog-mag__img img.is-fit { object-fit: contain; background: var(--pearl); }
.blog-mag__k { margin: 0; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--t400); }
.blog-mag__t { margin: 8px 0 10px; text-wrap: balance; }
.blog-mag__t a { color: var(--ink); }
.blog-mag__t a:hover { color: var(--t400); }
.blog-mag__lead .blog-mag__t { font: 300 30px/1.2 var(--f-display); }
.blog-mag__ex { margin: 0 0 12px; color: var(--graphite); max-width: 34em; }
.blog-mag__list { list-style: none; margin: 0; padding: 0; }
.blog-mag__list li { padding: 22px 0; border-bottom: 1px solid var(--line); }
.blog-mag__list li:first-child { padding-top: 0; }
.blog-mag__list .blog-mag__t { font: 300 22px/1.25 var(--f-display); margin: 6px 0; }
.blog-mag__list .blog-mag__ex { font-size: 15px; margin: 0; }
@media (max-width: 760px) {
	.blog-mag { grid-template-columns: 1fr; gap: 8px; padding-top: 18px; }
	.blog-mag__lead .blog-mag__t { font-size: 24px; }
	.blog-mag__list li:first-child { padding-top: 18px; border-top: 1px solid var(--line); }
	.blog-mag__list .blog-mag__t { font-size: 19px; }
	.blog-mag__list .blog-mag__ex { display: none; }
}

/* Kafelki marek z zdjęciem studyjnym (2026-09-24, układ V1): zdjęcie 4:3 na całą szerokość kafelka,
   pod nim logo, liczba produktów i link. Opisy pod nazwami marek usunięte. */
#marki .c-brand--shot { padding: 0; justify-content: flex-start; }
.c-brand__shot { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; background: var(--pearl); }
#marki .c-brand--shot .c-brand__head { display: flex; align-items: center; min-height: 72px; padding: 18px 24px 4px; }
#marki .c-brand--shot .c-brand__logo { height: 30px; max-width: 70%; }
#marki .c-brand--shot .c-word { font-size: 20px; }
#marki .c-brand--shot .c-brand__foot { margin-top: auto; padding: 6px 24px 20px; }
#marki .c-brand--shot:hover .c-brand__shot { filter: brightness(1.02); }
/* Wyrównanie optyczne logotypów o innych proporcjach (M.A.D prawie kwadratowe, ZQ-II po przycięciu marginesów). */
#marki .c-brand--shot .c-brand__logo[src*="mad-logo-trim"] { height: 44px; }
#marki .c-brand--shot .c-brand__logo[src*="zq-logo-trim"] { height: 22px; }
@media (max-width: 760px) {
	#marki .c-brand--shot { padding: 0; }
	#marki .c-brand--shot .c-brand__head { min-height: 48px; padding: 12px 14px 2px; }
	#marki .c-brand--shot .c-brand__logo { height: 22px; max-width: 80%; }
	#marki .c-brand--shot .c-brand__logo[src*="mad-logo-trim"] { height: 32px; }
	#marki .c-brand--shot .c-brand__logo[src*="zq-logo-trim"] { height: 16px; }
	#marki .c-brand--shot .c-word { font-size: 15px; letter-spacing: .12em; }
	#marki .c-brand--shot .c-brand__foot { padding: 2px 14px 14px; font-size: 12px; }
}


/* ---------- audyt 26.09.2026, P-35: sekcje produktów na stronie głównej ----------
   Pobieramy 6 kart: pełne rzędy przy 3 (tablet) i 2 kolumnach (telefon); przy 5 kolumnach szósta się chowa. */
@media (min-width: 1101px) {
	.sec .grid--5 > li:nth-child(n+6) { display: none; }
}
