/* Podstrony: oferta, realizacje, kontakt, piekarnia. Te same tokeny i rytm co strona
   główna. Każdy wzorzec to grupa bloków z klasą, więc klientka podmienia teksty,
   zdjęcia i galerie w edytorze, a układ zostaje (narzedzia/zasiew-wspolne.php). */

.sekcja.krem { background: var(--krem); }
.sekcja.ciasna { padding: clamp(40px, 6vw, 72px) 0; }
.sekcja:not(.krem) + .sekcja:not(.krem):not(.pas-zapytaj) { padding-top: 0; }
.sekcja h2 { margin-bottom: 20px; }
/* Oferta: trzy akapity między zdjęciem a kaflami, pierwszy jako wyróżnione zdanie szeryfowe. */
.manifest .kontener { max-width: 760px; text-align: center; }
.manifest .kontener::before { content: ""; display: block; width: 48px; height: 1px; background: var(--akcent); margin: 0 auto 32px; }
.manifest p { color: var(--tekst-jasny); margin: 0 0 18px; }
.manifest p:first-child { font-family: var(--serif); font-size: clamp(1.4rem, 2.4vw, 1.85rem); line-height: 1.35; color: var(--grafit); margin-bottom: 28px; }
.manifest p:last-child { margin-bottom: 0; }
.sekcja .wstep { margin-bottom: 0; }
.sekcja h2 + .wstep { margin-bottom: 40px; }
.przycisk-ciemny .wp-block-button__link { background: transparent; color: var(--grafit); border-color: var(--grafit); }
.przycisk-ciemny .wp-block-button__link:hover { background: var(--grafit); color: var(--bialy); }

/* Nagłówek podstrony ze zdjęciem */
.naglowek-zdjecie { position: relative; min-height: min(62vh, 560px); display: flex; align-items: flex-end; overflow: hidden; color: var(--bialy); background: var(--grafit); }
.naglowek-zdjecie > .wp-block-image { position: absolute; inset: 0; }
.naglowek-zdjecie > .wp-block-image img { height: 100%; object-fit: cover; }
.naglowek-zdjecie::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(20,16,12,.78) 0%, rgba(20,16,12,.35) 55%, rgba(20,16,12,.15) 100%); pointer-events: none; }
.naglowek-tresc { position: relative; z-index: 2; width: 100%; padding-top: 120px; padding-bottom: clamp(40px, 6vw, 72px); }
.naglowek-tresc h1 { font-size: clamp(2.6rem, 6vw, 5rem); font-weight: 500; text-transform: uppercase; line-height: .98; max-width: 900px; margin: 0; }
.naglowek-tresc .nadtytul { color: var(--brzoskwinia); }
.naglowek-tresc .wstep { color: rgba(255,255,255,.88); margin: 22px 0 0; max-width: 620px; font-size: 1.05rem; }

/* Tekst obok zdjęcia */
/* Oferta sezonowa (2. runda): nagłówek w dwóch kolumnach i dwie okazje ze zdjęciem po lewej.
   Akcent karmelowy tylko tutaj, jak na makiecie klientki. */
.naglowek-dzielony { --karmel: #9C5B33; display: grid; grid-template-columns: 1fr 1fr; min-height: min(78vh, 720px); border-bottom: 1px solid var(--linia); }
.naglowek-dzielony > .tekst { align-self: center; padding: clamp(48px, 7vw, 96px) clamp(24px, 5vw, 72px) clamp(48px, 7vw, 96px) max(24px, calc((100vw - var(--szer)) / 2 + 24px)); }
.naglowek-dzielony .nadtytul { color: var(--karmel); }
.naglowek-dzielony h1 { font-size: clamp(2.4rem, 4.6vw, 4rem); font-weight: 500; text-transform: uppercase; margin-bottom: 28px; }
.naglowek-dzielony p:not(.nadtytul) { color: var(--tekst-jasny); max-width: 480px; margin: 0 0 18px; }
.naglowek-dzielony p strong { color: var(--grafit); font-weight: 600; }
.naglowek-dzielony > .wp-block-image { margin: 0; }
.naglowek-dzielony > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sezon { --karmel: #9C5B33; }
.sezon .okazja + .okazja { border-top: 1px solid var(--linia); padding-top: clamp(40px, 6vw, 72px); margin-top: clamp(40px, 6vw, 72px); }
.sezon .okazja > .wp-block-image img { aspect-ratio: 4/3; }
.para-zdjec { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(10px, 1.5vw, 18px); }
.tekst-zdjecie.odwrocone > .para-zdjec { order: -1; }
.sezon .okazja .tekst > p.numer { display: flex; align-items: center; gap: 16px; color: var(--karmel); font-size: .85rem; letter-spacing: .1em; margin: 0 0 18px; }
.sezon .okazja .tekst > p.numer::after { content: ""; width: 64px; height: 1px; background: currentColor; opacity: .6; }
.sezon h2 { text-transform: uppercase; font-weight: 500; margin-bottom: 12px; }
.sezon .okazja .tekst > p.podtytul { color: var(--karmel); font-size: .8rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; max-width: 420px; margin: 0 0 22px; }
.sezon .okazja .tekst > p.dopisek { font-size: .85rem; margin: 14px 0 0; }
.przycisk-karmel .wp-block-button__link { background: var(--karmel); border-color: var(--karmel); color: var(--bialy); }
.przycisk-karmel .wp-block-button__link::after { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--strzalka) center/contain no-repeat; mask: var(--strzalka) center/contain no-repeat; transition: transform .2s; }
.przycisk-karmel .wp-block-button__link[href]:hover { background: #82482A; border-color: #82482A; }
.przycisk-karmel .wp-block-button__link[href]:hover::after { transform: translateX(4px); }
.przycisk-wkrotce .wp-block-button__link { opacity: .55; cursor: default; }
.tekst-zdjecie { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.tekst-zdjecie.odwrocone > .wp-block-image { order: -1; }
.tekst-zdjecie > .wp-block-image img { aspect-ratio: 4/5; object-fit: cover; }
.tekst-zdjecie .tekst > p:not(.nadtytul) { color: var(--tekst-jasny); max-width: 540px; }
.tekst-zdjecie .tekst .wp-block-buttons { margin-top: 32px; }
.tekst-zdjecie .wp-block-list { padding-left: 1.1em; color: var(--tekst-jasny); }
.tekst-zdjecie .wp-block-list li { margin-bottom: 6px; }
.tekst-zdjecie .wp-block-list li::marker { color: var(--akcent-ciemny); }

/* Siatka usług: karty z tytułem i opisem rozdzielone liniami */
/* Linie rysują same karty, więc niepełny ostatni rząd nie zostawia pustej komórki w kolorze linii. */
.uslugi { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--linia); border-left: 1px solid var(--linia); }
.usluga { background: var(--tlo); padding: 32px 28px; border-right: 1px solid var(--linia); border-bottom: 1px solid var(--linia); }
.krem .usluga { background: var(--krem); }
.usluga h3 { font-size: 1.45rem; font-weight: 500; text-transform: uppercase; margin-bottom: 12px; }
.usluga h3::after { content: ""; display: block; width: 32px; height: 2px; background: var(--akcent); margin-top: 14px; }
.usluga p { margin: 0; color: var(--tekst-jasny); font-size: .95rem; }

/* Kafle podstron: ten sam kafel co oferta na stronie głównej */
.kafle3, .kafle4 { display: grid; gap: 10px; }
.kafle3 { grid-template-columns: repeat(3, 1fr); }
.kafle4 { grid-template-columns: repeat(4, 1fr); }

/* Realizacje jak portfolio (wizka Victorii, 2. runda): duże zdjęcie z podpisem i kadry obok,
   cały kafel prowadzi do podstrony realizacji. */
.naglowek-tekstowy { padding: clamp(48px, 7vw, 88px) 0 clamp(32px, 4vw, 52px); text-align: center; }
.naglowek-tekstowy .nadtytul { color: var(--tekst-jasny); }
.naglowek-tekstowy h1 { font-size: clamp(2.3rem, 4.8vw, 3.9rem); font-weight: 500; margin: 0 0 18px; }
.naglowek-tekstowy .wstep { max-width: 600px; margin: 0 auto; color: var(--tekst-jasny); }
.sekcja.galeria-portfolio { padding-top: 0; }
.galeria-realizacji { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.realizacja-portfolio { position: relative; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 4px; aspect-ratio: 3/2; }
.realizacja-portfolio.wysoki { aspect-ratio: 4/3; }
.realizacja-portfolio.szeroki { grid-column: 1 / -1; grid-template-columns: minmax(0, 3.4fr) repeat(2, minmax(0, 1fr)); aspect-ratio: 4/1; }
.realizacja-portfolio.szeroki > .wp-block-image:last-child { grid-column: 3; grid-row: 1 / -1; }
.realizacja-portfolio .wp-block-image { margin: 0; overflow: hidden; }
.realizacja-portfolio img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.realizacja-portfolio:hover img { transform: scale(1.04); }
.realizacja-portfolio:focus-within { outline: 2px solid var(--grafit); outline-offset: 3px; }
.realizacja-glowne { grid-row: 1 / -1; display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); overflow: hidden; }
.realizacja-glowne > * { grid-area: 1 / 1; }
.realizacja-tekst { align-self: end; z-index: 1; padding: 120px clamp(18px, 2vw, 26px) clamp(18px, 2vw, 24px); color: var(--bialy); background: linear-gradient(to top, rgba(20,16,12,.8), rgba(20,16,12,.45) 50%, rgba(20,16,12,0)); }
.realizacja-tekst h3 { margin: 0 0 6px; font-size: clamp(1.5rem, 2.4vw, 2.15rem); font-weight: 500; text-transform: uppercase; }
.realizacja-tekst h3 a { text-decoration: none; }
.realizacja-tekst h3 a:focus-visible { outline: none; }
.realizacja-tekst h3 a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.realizacja-tekst .opis { margin: 0 0 14px; font-size: .9rem; line-height: 1.45; color: rgba(255,255,255,.9); }
.realizacja-tekst .zobacz { display: flex; align-items: center; gap: 10px; margin: 0; font: 600 .72rem/1.6 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.realizacja-tekst .zobacz::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--strzalka) center / contain no-repeat; mask: var(--strzalka) center / contain no-repeat; transition: transform .3s; }
.realizacja-portfolio:hover .zobacz::after { transform: translateX(4px); }
/* Ikona play, gdy realizacja ma film (Art of food) */
.z-filmem .realizacja-glowne::before { content: ""; grid-area: 1 / 1; place-self: center; z-index: 1; width: 72px; height: 72px; border: 2px solid var(--bialy); border-radius: 50%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6.5v11l9-5.5z' fill='%23fff'/%3E%3C/svg%3E") center / 34px no-repeat; }
@media (max-width: 1080px) {
	.realizacja-portfolio.szeroki { aspect-ratio: 3/1; }
}
@media (max-width: 860px) {
	.galeria-realizacji { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
	.galeria-realizacji { gap: 24px; }
	.realizacja-portfolio, .realizacja-portfolio.wysoki, .realizacja-portfolio.szeroki { aspect-ratio: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; }
	.realizacja-portfolio.kadry3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.realizacja-portfolio.szeroki > .wp-block-image:last-child { grid-column: auto; grid-row: auto; }
	.realizacja-glowne { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 1; }
	.realizacja-portfolio > .wp-block-image { aspect-ratio: 1; }
	.realizacja-tekst { padding-top: 80px; }
}

/* Galeria: natywny blok, powiększenie po kliknięciu daje WordPress */
.wp-block-gallery.galeria { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 0; }
.wp-block-gallery.galeria .wp-block-image { width: auto !important; margin: 0 !important; aspect-ratio: 1; overflow: hidden; }
.wp-block-gallery.galeria .wp-block-image img { height: 100%; object-fit: cover; transition: transform .6s; cursor: zoom-in; }
.wp-block-gallery.galeria .wp-block-image:hover img { transform: scale(1.04); }
.galeria-tytul { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 28px; }
.galeria-tytul h2 { margin: 0; }
.galeria-tytul p { margin: 0; color: var(--tekst-jasny); max-width: 520px; }
.sekcja .galeria + .galeria-tytul, .sekcja .galeria + .wp-block-heading { margin-top: clamp(48px, 6vw, 80px); }
.sekcja .galeria + .wp-block-buttons { margin-top: 32px; }

/* Filmy pionowe obok siebie */
.filmy { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.filmy.jeden { grid-template-columns: minmax(0, 380px); justify-content: center; }
.wp-block-video.film { margin: 0; }
.wp-block-video.film video { width: 100%; aspect-ratio: 9/16; object-fit: cover; background: var(--grafit); }

/* Pas zachęty na końcu podstrony */
.pas-zapytaj { background: var(--brzoskwinia); text-align: center; }
.pas-zapytaj h2 { margin-bottom: 14px; }
.pas-zapytaj p { max-width: 560px; margin: 0 auto 28px; color: var(--tekst-jasny); }
.pas-zapytaj .wp-block-buttons { justify-content: center; }

/* Kontakt: formularz i kolumna z danymi */
.kontakt-uklad { display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(32px, 6vw, 88px); align-items: start; }
.kontakt-dane { display: grid; gap: 1px; background: var(--linia); border: 1px solid var(--linia); }
.kontakt-blok { background: var(--krem); padding: 26px 26px 20px; }
.kontakt-blok h3 { font-size: 1.35rem; font-weight: 500; text-transform: uppercase; margin-bottom: 10px; }
.kontakt-blok p { font-size: .93rem; margin-bottom: .6em; }
.kontakt-blok p.drobny { font-size: .82rem; color: var(--tekst-jasny); }
.kontakt-blok a { text-decoration: none; font-weight: 600; }
.kontakt-blok a:hover { color: var(--akcent-ciemny); }

.formularz { scroll-margin-top: 110px; }
.formularz .pola { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.formularz .pole-formularza { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.formularz .pole-formularza.cale { grid-column: 1 / -1; }
.formularz label, .formularz legend { font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.formularz input[type=text], .formularz input[type=email], .formularz input[type=tel], .formularz input[type=date], .formularz input[type=number], .formularz select, .formularz textarea { font: inherit; font-size: .95rem; padding: 12px 14px; border: 1px solid var(--linia); background: var(--bialy); color: var(--grafit); border-radius: 0; width: 100%; }
.formularz textarea { min-height: 150px; resize: vertical; }
.formularz input:focus, .formularz select:focus, .formularz textarea:focus { outline: 2px solid var(--akcent); outline-offset: 0; border-color: var(--akcent); }
.formularz fieldset { border: 0; padding: 0; margin: 0; }
.formularz .wybory { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 20px; margin-top: 10px; }
.formularz .wybor, .formularz .zgoda { display: flex; gap: 10px; align-items: flex-start; font-size: .92rem; font-weight: 400; letter-spacing: 0; text-transform: none; cursor: pointer; }
.formularz .wybor input, .formularz .zgoda input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--akcent-ciemny); }
.formularz .zgody { display: grid; gap: 12px; margin: 26px 0; }
.formularz .zgoda { font-size: .85rem; color: var(--tekst-jasny); }
.formularz .wymagane { color: var(--akcent-ciemny); }
.formularz .pulapka { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.formularz .blad-pola { color: #A3360B; font-size: .82rem; margin: 0; }
.formularz [aria-invalid=true] { border-color: #A3360B !important; }
.formularz button { font: 600 .8rem/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; min-height: 52px; padding: 12px 32px; background: var(--akcent); color: var(--grafit); border: 1.5px solid var(--akcent); cursor: pointer; }
.formularz button:hover { background: var(--akcent-ciemny); border-color: var(--akcent-ciemny); }
.formularz .administrator { font-size: .78rem; color: var(--tekst-jasny); margin: 20px 0 0; }
.komunikat { padding: 18px 22px; margin-bottom: 28px; border-left: 3px solid var(--akcent); background: var(--brzoskwinia); }
.komunikat.blad { border-left-color: #A3360B; background: #F8E3DA; }

/* Strony tekstowe (regulamin, polityki) */
.tresc-strony:not(.tresc-sekcje) h2 { font-size: clamp(1.5rem, 2.4vw, 1.9rem); margin: 1.6em 0 .6em; }
.tresc-strony:not(.tresc-sekcje) h3 { font-size: 1.3rem; margin: 1.4em 0 .5em; }
.tresc-strony:not(.tresc-sekcje) li { margin-bottom: .4em; }

@media (max-width: 1080px) {
	.uslugi, .kafle3 { grid-template-columns: 1fr 1fr; }
	.kafle4 { grid-template-columns: 1fr 1fr; }
	.wp-block-gallery.galeria { grid-template-columns: repeat(3, 1fr); }
	.kontakt-uklad { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
	.naglowek-dzielony { grid-template-columns: 1fr; min-height: 0; }
	.naglowek-dzielony > .tekst { padding: 40px 24px; }
	.naglowek-dzielony > .wp-block-image img { aspect-ratio: 4/5; height: auto; }
	.tekst-zdjecie { grid-template-columns: 1fr; }
	.tekst-zdjecie.odwrocone > .wp-block-image, .tekst-zdjecie.odwrocone > .para-zdjec { order: 0; }
	.tekst-zdjecie > .wp-block-image img { aspect-ratio: 4/3; }
	.uslugi, .kafle3, .kafle4 { grid-template-columns: 1fr; }
	.wp-block-gallery.galeria { grid-template-columns: 1fr 1fr; gap: 6px; }
	.filmy { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 72%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.filmy .film { scroll-snap-align: start; }
	.formularz .pola, .formularz .wybory { grid-template-columns: 1fr; }
	.naglowek-zdjecie { min-height: 440px; }
}
/* ---------- Pierwsza runda poprawek (2026-10-13): mniej powtarzalne podstrony ---------- */

/* Historia realizacji: ozdobny tytuł i tekst obok kolażu (wzór yummypartybox.pl/realizacje) */
.historia { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.historia + .historia { margin-top: clamp(72px, 10vw, 140px); }
.historia.odwrocone { grid-template-columns: 7fr 5fr; }
.historia.odwrocone > .tekst { order: 2; }
.historia .tekst > p:not(.nadtytul) { color: var(--tekst-jasny); max-width: 520px; }
.historia .tekst .wp-block-buttons { margin-top: 28px; }
.historia .wp-block-list { padding-left: 1.1em; color: var(--tekst-jasny); }
.historia .wp-block-list li::marker { color: var(--akcent-ciemny); }
.tytul-ozdobny { font-style: italic; font-weight: 500; text-transform: none !important; letter-spacing: 0 !important; font-size: clamp(2.3rem, 4.4vw, 3.6rem) !important; line-height: 1.02; margin-bottom: 22px !important; }
.sekcja > .kontener > h2 + .historia { margin-top: clamp(32px, 4vw, 56px); }

/* Kolaż: przesunięta siatka zdjęć i filmów różnej wysokości */
.kolaz { display: grid; grid-template-columns: 1.12fr 1fr; gap: 14px; align-items: start; }
.kolaz > * { margin: 0 !important; overflow: hidden; background: var(--linia); }
.kolaz > :nth-child(1) { aspect-ratio: 4/5; }
.kolaz > :nth-child(2) { aspect-ratio: 3/4; margin-top: 24% !important; }
.kolaz > :nth-child(3) { aspect-ratio: 1; }
.kolaz > :nth-child(4) { aspect-ratio: 4/5; margin-top: -16% !important; }
.kolaz > :nth-child(5) { grid-column: 1 / -1; aspect-ratio: 16/9; }
.kolaz.n3 > :nth-child(3) { grid-column: 1 / -1; aspect-ratio: 16/9; margin-top: 0 !important; }
.kolaz.n2 > :nth-child(2) { margin-top: 18% !important; }
/* Drugie zdjęcie przycięte od góry do kwadratu: boxy stoją na dole kadru i chowały się pod czwartym (Catering do biura, 2. runda). */
.kolaz.drugie-od-dolu > :nth-child(2) { aspect-ratio: 1; }
.kolaz.drugie-od-dolu > :nth-child(2) img { object-position: 50% 100%; }
.kolaz > * { width: 100%; } /* wysokość z aspect-ratio i szerokości kolumny; height: 100% brało ją z wiersza i rozpychało kolumnę */
.kolaz img, .kolaz .wp-block-video.film video { width: 100%; height: 100%; object-fit: cover; aspect-ratio: auto; }
.kolaz .wp-block-image img { cursor: zoom-in; transition: transform .6s; }
.kolaz .wp-block-image:hover img { transform: scale(1.03); }

/* Kategoria oferty: duże zdjęcie, karta z miniaturami, hasło i przyciski (wzór partyboxbyprzelom.pl/oferta) */
.kategoria-oferty + .kategoria-oferty { margin-top: clamp(80px, 11vw, 150px); padding-top: clamp(56px, 7vw, 96px); border-top: 1px solid var(--linia); }
.kategoria-oferty > h2 { margin-bottom: 28px; }
.kategoria-uklad { display: grid; grid-template-columns: 7fr 6fr; align-items: start; }
.kategoria-zdjecie { margin: 0; }
.kategoria-zdjecie img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.kategoria-karta { position: relative; z-index: 1; margin: 56px 0 0 -72px; padding: clamp(28px, 3.5vw, 44px); background: var(--bialy); border: 1px solid var(--linia); }
.kategoria-oferty.odwrocone .kategoria-uklad { grid-template-columns: 6fr 7fr; }
.kategoria-oferty.odwrocone .kategoria-zdjecie { order: 2; }
.kategoria-oferty.odwrocone .kategoria-karta { margin: 56px -72px 0 0; }
.kategoria-oferty.odwrocone > h2 { text-align: right; }
.etykieta { display: flex; align-items: center; gap: 18px; font-family: var(--serif); font-size: 1.5rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 18px; }
.etykieta::after { content: ""; flex: 1; height: 1px; background: var(--akcent); }
.kategoria-karta > p:not(.etykieta) { color: var(--tekst-jasny); }
.miniatury { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 24px; }
.miniatury .wp-block-image { margin: 0; aspect-ratio: 1; overflow: hidden; }
.miniatury img, .miniatury .wp-lightbox-container { width: 100%; height: 100%; object-fit: cover; cursor: zoom-in; }
.kategoria-cta { text-align: center; margin-top: clamp(32px, 4vw, 48px); }
.haslo { font-family: var(--serif); font-style: italic; font-size: clamp(1.5rem, 2.4vw, 2rem); margin-bottom: 20px; }
.kategoria-cta .wp-block-buttons { justify-content: center; }

/* Karty ze zdjęciem: wyróżniki cateringu, formy przyjęć, dodatki do wydarzenia */
.karty-p3, .karty-p4 { display: grid; gap: clamp(14px, 2vw, 24px); } /* -p: .karty3 jest już na stronie głównej (sekcje.css) */
.karty-p3 { grid-template-columns: repeat(3, 1fr); }
.karty-p4 { grid-template-columns: repeat(4, 1fr); }
.karta-zdjecie { background: var(--bialy); display: flex; flex-direction: column; }
.krem .karta-zdjecie { background: var(--tlo); }
.karta-zdjecie .wp-block-image { margin: 0; }
.karta-zdjecie img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.karta-zdjecie h3 { font-size: 1.35rem; font-weight: 500; text-transform: uppercase; margin: 20px 22px 8px; }
.karta-zdjecie p { margin: 0 22px 20px; color: var(--tekst-jasny); font-size: .93rem; }
.karta-zdjecie p.link-strzalka { margin-top: auto; }

/* Okazje: rząd małych zdjęć z podpisem obok tekstu */
.okazje-uklad, .formy-uklad { display: grid; grid-template-columns: 4fr 8fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.formy-uklad { grid-template-columns: 4fr 9fr; }
.okazje-uklad .tekst > p:not(.nadtytul), .formy-uklad .tekst > p:not(.nadtytul) { color: var(--tekst-jasny); }
.okazje-kafle { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; } /* nie .okazje: ta klasa to lista okazji na stronie głównej (sekcje.css) */
.okazja .wp-block-image { margin: 0; }
.okazja img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.okazja .podpis { margin: 12px 0 0; text-align: center; font-size: .74rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }

/* Baner: zdjęcie w tle na całą szerokość, treść po lewej */
.baner { position: relative; overflow: hidden; color: var(--bialy); background: var(--grafit); padding: clamp(72px, 9vw, 128px) 0; }
.baner > .wp-block-image { position: absolute; inset: 0; margin: 0; }
.baner > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.baner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,16,12,.82) 0%, rgba(20,16,12,.55) 45%, rgba(20,16,12,.1) 100%); pointer-events: none; }
.baner.ciemny::after { background: linear-gradient(90deg, rgba(20,16,12,.88) 0%, rgba(20,16,12,.72) 55%, rgba(20,16,12,.55) 100%); }
.baner.zdjecie-gora > .wp-block-image img { object-position: 50% 22%; } /* twarze w górnej części kadru */
.baner-tresc { position: relative; z-index: 2; }
.baner-tresc > h2, .baner-tresc > p { max-width: 560px; }
.baner-tresc p:not(.nadtytul) { color: rgba(255,255,255,.88); }
.baner .nadtytul { color: var(--brzoskwinia); }
.baner .wp-block-buttons { margin-top: 28px; }
.baner-kolumny { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.baner .cechy { grid-template-columns: repeat(3, 1fr); }
.baner .cecha { color: var(--bialy); text-align: center; font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.baner .cecha::before { margin: 0 auto 14px; background: var(--brzoskwinia); }
.cytat-odreczny { font-family: var(--serif); font-style: italic; font-size: clamp(1.6rem, 2.6vw, 2.2rem); text-align: right; color: var(--brzoskwinia) !important; margin: 36px 0 0; }

/* Pasek zdjęć różnej szerokości */
.pasek-zdjec { display: flex; gap: 10px; align-items: flex-end; }
.pasek-zdjec .wp-block-image { margin: 0; flex: 1 1 0; min-width: 0; overflow: hidden; height: clamp(180px, 20vw, 290px); }
.pasek-zdjec .wp-block-image:nth-child(3n+1) { flex-grow: 1.6; }
.pasek-zdjec .wp-block-image:nth-child(even) { height: clamp(150px, 16vw, 230px); }
.pasek-zdjec img { width: 100%; height: 100%; object-fit: cover; cursor: zoom-in; }

/* Cechy z ikoną */
.cechy { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(20px, 3vw, 40px); margin-top: 36px; }
.cecha { margin: 0; color: var(--tekst-jasny); font-size: .93rem; }
.cecha strong { display: block; color: var(--grafit); font-family: var(--serif); font-weight: 500; font-size: 1.35rem; text-transform: uppercase; margin-bottom: 8px; }
.cecha::before { content: ""; display: block; width: 40px; height: 40px; margin-bottom: 16px; background: var(--akcent-ciemny); -webkit-mask: var(--ikona) center/contain no-repeat; mask: var(--ikona) center/contain no-repeat; }
.ikona-ludzie { --ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.2'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3Ccircle cx='16.5' cy='9' r='2.5'/%3E%3Cpath d='M2.5 19c.6-3.3 2.8-5 5.5-5s4.9 1.7 5.5 5M13.5 14.6c.9-.7 1.9-1.1 3-1.1 2.3 0 4.1 1.5 4.6 4.5'/%3E%3C/svg%3E"); }
.ikona-lisc { --ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.2'%3E%3Cpath d='M5 19C5 10 10 5 20 4c-.5 10-5 15-14 15z'/%3E%3Cpath d='M5 19c3-5 6-8 10-10'/%3E%3C/svg%3E"); }
.ikona-serce { --ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.2'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10A4.3 4.3 0 0 1 12 7.4 4.3 4.3 0 0 1 19.5 10c0 5.4-7.5 10-7.5 10z'/%3E%3C/svg%3E"); }
.ikona-chleb { --ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.2'%3E%3Cpath d='M4 11c0-3.3 3.6-6 8-6s8 2.7 8 6c0 1-.7 1.6-1.5 1.8V19H5.5v-6.2C4.7 12.6 4 12 4 11z'/%3E%3Cpath d='M9 9.5l1.5 2M13 9l1.5 2'/%3E%3C/svg%3E"); }
.ikona-talerz { --ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.2'%3E%3Ccircle cx='12' cy='12' r='7'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M2.5 5v5M2.5 10v9M21.5 5c-1.2 1-1.5 3-1.5 5h1.5v9'/%3E%3C/svg%3E"); }
.ikona-auto { --ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.2'%3E%3Cpath d='M2.5 7h11v9h-11zM13.5 10h4l3 3v3h-7z'/%3E%3Ccircle cx='6.5' cy='17.5' r='1.6'/%3E%3Ccircle cx='17' cy='17.5' r='1.6'/%3E%3C/svg%3E"); }

/* Liczby i lista obsługiwanych wydarzeń */
.obsluga-uklad { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.obsluga-uklad .wp-block-list { columns: 2; column-gap: 32px; padding-left: 1.1em; color: var(--tekst-jasny); }
.obsluga-uklad .wp-block-list li::marker { color: var(--akcent-ciemny); }
.liczby { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--linia); border: 1px solid var(--linia); }
.liczba { margin: 0; background: var(--tlo); padding: 32px 22px; font-size: .85rem; color: var(--tekst-jasny); text-transform: uppercase; letter-spacing: .08em; }
.liczba strong { display: block; font-family: var(--serif); font-weight: 500; font-size: clamp(2.4rem, 4vw, 3.4rem); line-height: 1; color: var(--grafit); letter-spacing: 0; margin-bottom: 10px; }

/* Menu poglądowe z oferty B2B */
.menu-pogladowe { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(20px, 3vw, 40px); }
.menu-grupa h3 { font-size: 1.35rem; font-weight: 500; text-transform: uppercase; padding-bottom: 12px; border-bottom: 1.5px solid var(--akcent); }
.menu-grupa .wp-block-list { list-style: none; padding: 0; margin: 0; }
.menu-grupa li { padding: 7px 0; border-bottom: 1px solid var(--linia); font-size: .92rem; color: var(--tekst-jasny); }
.menu-uwaga { margin: 28px 0 0; font-size: .85rem; color: var(--tekst-jasny); }

.filmy.dwa { grid-template-columns: repeat(2, 1fr); }

@media (max-width: 1080px) {
	.karty-p4, .menu-pogladowe, .cechy { grid-template-columns: repeat(2, 1fr); }
	.okazje-uklad, .formy-uklad, .obsluga-uklad, .baner-kolumny { grid-template-columns: 1fr; }
	.okazje-kafle { grid-template-columns: repeat(5, minmax(120px, 1fr)); overflow-x: auto; scrollbar-width: none; }
}
@media (max-width: 760px) {
	.historia, .historia.odwrocone { grid-template-columns: 1fr; }
	.historia.odwrocone > .tekst { order: 0; }
	.kolaz { gap: 8px; }
	.kategoria-uklad, .kategoria-oferty.odwrocone .kategoria-uklad { grid-template-columns: 1fr; }
	.kategoria-oferty.odwrocone .kategoria-zdjecie { order: 0; }
	.kategoria-karta, .kategoria-oferty.odwrocone .kategoria-karta { margin: -32px 14px 0; }
	.kategoria-oferty.odwrocone > h2 { text-align: left; }
	.karty-p3, .karty-p4, .menu-pogladowe, .liczby { grid-template-columns: 1fr; }
	.cechy { grid-template-columns: 1fr 1fr; }
	.baner .cechy { grid-template-columns: repeat(3, 1fr); }
	.okazje-kafle { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 42%; scroll-snap-type: x mandatory; }
	.okazja { scroll-snap-align: start; }
	.pasek-zdjec { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.pasek-zdjec .wp-block-image { flex: 0 0 62% !important; height: 240px !important; scroll-snap-align: start; }
	.obsluga-uklad .wp-block-list { columns: 1; }
	.cytat-odreczny { text-align: left; }
	.filmy.dwa { grid-template-columns: none; }
}

/* Piekarnia (brief z 2. rundy): proces w trzech krokach, karuzela wypieków ze strzałkami
   z js/podano.js i kafle „Gdzie nas znajdziesz”. Proces według poprawek z 23.10: kroki jeden
   pod drugim, na przemian po obu stronach cienkiej osi, wjeżdżają przy przewijaniu (js/podano.js). */
.proces h2, .gdzie-nas-znajdziesz h2 { text-align: center; margin-bottom: clamp(28px, 4vw, 48px); }
.proces .karty-p3 { position: relative; counter-reset: krok; grid-template-columns: minmax(0, 1fr); gap: clamp(40px, 6vw, 72px); max-width: 920px; margin: 0 auto; }
.proces .karty-p3::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: var(--linia); }
.proces .karta-zdjecie, .krem .proces .karta-zdjecie { background: none; }
.proces .karta-zdjecie { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: 1fr auto auto 1fr; column-gap: clamp(56px, 9vw, 112px); transition: opacity .9s ease-out, transform .9s ease-out; }
.proces .karta-zdjecie.ukryty { opacity: 0; transform: translateY(32px); }
.proces .karta-zdjecie::after { content: ""; position: absolute; top: 50%; left: 50%; width: 9px; height: 9px; border-radius: 50%; background: var(--akcent); transform: translate(-50%, -50%); }
.proces .karta-zdjecie .wp-block-image { grid-column: 1; grid-row: 1 / 5; justify-self: end; width: min(100%, 240px); }
.proces .karta-zdjecie img { aspect-ratio: 1; width: 100%; }
.proces .karta-zdjecie h3, .proces .karta-zdjecie p { grid-column: 2; max-width: 340px; }
.proces .karta-zdjecie h3 { grid-row: 2; margin: 0 0 8px; }
.proces .karta-zdjecie h3::before { counter-increment: krok; content: "0" counter(krok); display: block; margin-bottom: 10px; font: 500 .78rem/1 var(--sans); letter-spacing: .2em; color: var(--akcent-ciemny); }
.proces .karta-zdjecie p { grid-row: 3; margin: 0; }
.proces .karta-zdjecie:nth-child(even) .wp-block-image { grid-column: 2; justify-self: start; }
.proces .karta-zdjecie:nth-child(even) h3, .proces .karta-zdjecie:nth-child(even) p { grid-column: 1; justify-self: end; text-align: right; }
.wypieki .naglowek-sekcji .tekst { max-width: 720px; }
.film-wydarzenia { max-width: 360px; margin: 0 auto 32px; }
.film-wydarzenia video { width: 100%; aspect-ratio: 9/16; background: var(--grafit); }
.wypieki .naglowek-sekcji p { color: var(--tekst-jasny); }
.wypieki .naglowek-sekcji .wp-block-buttons { margin-top: 24px; }
.wypieki .karuzela .wp-block-image { margin: 0; scroll-snap-align: start; }
.wypieki .karuzela img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.miejsca { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); }
.miejsce { display: flex; flex-direction: column; background: var(--bialy); }
.miejsce .wp-block-image { margin: 0; }
.miejsce img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.miejsce-tekst { display: flex; flex-direction: column; flex: 1; padding: 22px; }
.miejsce-tekst .nadtytul { color: var(--akcent-ciemny); margin-bottom: 10px; }
.miejsce-tekst h3 { font-size: 1.3rem; font-weight: 500; margin: 0 0 12px; }
.miejsce-tekst p:not(.nadtytul) { margin: 0 0 14px; font-size: .93rem; color: var(--tekst-jasny); }
.miejsce-tekst p.adres { color: var(--grafit); font-weight: 500; }
.miejsce-tekst .wp-block-buttons { margin-top: auto; padding-top: 6px; gap: 8px; }
/* Poranki: główny punkt sprzedaży, szerszy kafel w akcentowej ramce, przyciski pod nim. */
.miejsce-glowne { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); max-width: 980px; margin: 0 auto; border: 1.5px solid var(--akcent); }
.miejsce-glowne .miejsce-tekst { justify-content: center; padding: clamp(26px, 4vw, 52px); }
.miejsce-glowne .miejsce-tekst h3 { font-size: clamp(1.6rem, 2.6vw, 2.1rem); }
.miejsce-glowne img { height: 100%; }
.miejsce-glowne + .wp-block-buttons { justify-content: center; gap: 12px; margin: 28px 0 clamp(48px, 6vw, 72px); }
@media (max-width: 860px) {
	.miejsca, .miejsce-glowne { grid-template-columns: minmax(0, 1fr); }
	.miejsca { max-width: 520px; margin: 0 auto; }
}
@media (max-width: 760px) {
	.proces .karty-p3::before, .proces .karta-zdjecie::after { display: none; }
	.proces .karta-zdjecie { display: flex; flex-direction: column; align-items: center; text-align: center; }
	.proces .karta-zdjecie:nth-child(even) h3, .proces .karta-zdjecie:nth-child(even) p { text-align: center; }
	.proces .karta-zdjecie h3 { margin-top: 22px; }
	.proces .karta-zdjecie .wp-block-image { width: 200px; }
}

/* Długie adresy (np. UOKiK w regulaminie) łamią się zamiast poszerzać stronę na telefonie */
.tresc-strony p, .tresc-strony li, .wp-block-table td { overflow-wrap: anywhere; }
