/* =========================================================================
   Volta: dodatki dla WordPressa (sekcje spoza makiety, treści z edytora, panel).
   Główny wygląd: styl.css (ten sam plik co w zaakceptowanej makiecie).
   ========================================================================= */

.h2 + .lead { margin-top: 18px; }
.muted { color: var(--c-tekst-2); }
.wrap--tekst { max-width: calc(820px + 2 * var(--gutter)); }

/* pasek admina zalogowanego użytkownika */
body.admin-bar .hdr { top: 32px; }
body.admin-bar .drawer { inset: calc(var(--hdr-h) + 32px) 0 0 0; }
@media (max-width: 782px) {
	body.admin-bar .hdr { top: 46px; }
	body.admin-bar .drawer { inset: calc(var(--hdr-h) + 46px) 0 0 0; }
}
@media (max-width: 600px) { body.admin-bar .hdr { top: 0; } }

/* menu z WordPressa */
.nav__list li, .drawer__list li { list-style: none; }
.nav__list .current-menu-item > a, .nav__list .current_page_item > a { color: var(--c-rozeta); }
.drawer__list a { gap: 12px; }

/* stopka */
.ftr__h { font-size: .8125rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--c-rozeta-jasna); margin-bottom: 14px; font-family: var(--font-body); }
.ftr__kontakt { margin-top: 12px; }
.ftr__legal { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.ftr__legal li { margin: 0; }

/* formularz: komunikaty */
.form__err { margin: 0; padding: 12px 14px; border-radius: 12px; background: #FBE9E5; color: #8E2A1A; font-weight: 600; font-size: .9375rem; }
.form--ok { align-content: start; }
.form--ok .h3 { color: var(--c-sosna); }
.form--ok p { margin: 0; color: var(--c-tekst-2); }
.form--ok a { color: var(--c-sosna); font-weight: 700; }
.fld small { font-weight: 500; color: var(--c-tekst-2); }

/* hero podstrony z jednym zdjęciem */
.subhero__media--1 { grid-template-columns: 1fr; }
.subhero--tekst { padding-bottom: 40px; }
.subhero--tekst .lead { margin-top: 18px; }

/* mozaika z mniejszą liczbą zdjęć */
.horses__media--1 { grid-template-columns: 1fr; }
.horses__media--1 .hv-1 { grid-row: auto; aspect-ratio: 4 / 3; }
.horses__media--2 .hv-1 { grid-row: auto; aspect-ratio: 3 / 4; }
.horses__media--2 .hv-2 { aspect-ratio: 3 / 4; }
.horses__media--3 .hv-1 { grid-row: 1 / 3; }

/* wydarzenia i ceny: mniej kart */
@media (min-width: 900px) {
	.events__grid--1 { grid-template-columns: minmax(0, 520px); }
	.events__grid--2 { grid-template-columns: repeat(2, 1fr); }
	.prices--2 { grid-template-columns: repeat(2, 1fr); }
	.prices--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1180px) { .prices--4 { grid-template-columns: repeat(4, 1fr); } }
.prices__note { margin: 20px 0 0; font-size: .9375rem; color: var(--c-tekst-2); max-width: 60em; }
.camp__lead { color: rgba(234, 223, 203, .86); }
.camp__list li { grid-template-columns: 150px 1fr; }
@media (max-width: 479px) { .camp__list li { grid-template-columns: 1fr; gap: 4px; } }
.section--piasek .price { background: #fff; border-color: transparent; }
.section--piasek .price--main { background: var(--c-piasek); }
.h2 + .prose, .lead + .prose { margin-top: 22px; }

/* karty usług */
.cards { display: grid; gap: 16px; }
.card { border-radius: var(--r-karta); background: #fff; border: 1px solid var(--c-linia); overflow: hidden; display: flex; flex-direction: column; }
.section--piasek .card { border-color: transparent; }
.card__img { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; }
.card__img img { width: 100%; height: 100%; object-fit: cover; }
.card__ico { width: 36px; height: 36px; color: var(--c-rozeta); margin: 26px 26px 0; stroke-width: 1.5; }
.card__body { padding: 24px 26px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.card__body .h3 { color: var(--c-sosna); }
.card__body p { margin: 0; color: var(--c-tekst-2); }
.card__body .tlink { margin-top: auto; align-self: flex-start; padding-top: 6px; }
@media (min-width: 760px) { .cards--2, .cards--3 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .cards--3 { grid-template-columns: repeat(3, 1fr); } }

/* tekst ze zdjęciem */
.text-sec { display: grid; gap: 36px; }
.text-sec__img { margin: 0; border-radius: var(--r-foto); overflow: hidden; aspect-ratio: 4 / 3; }
.text-sec__img img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 980px) {
	.text-sec--img { grid-template-columns: 7fr 5fr; gap: clamp(48px, 6vw, 96px); align-items: center; }
	.text-sec--lewa .text-sec__img { order: -1; }
	.text-sec--lewa { grid-template-columns: 5fr 7fr; }
}
.text-sec:not(.text-sec--img) { max-width: 820px; }

/* treść z edytora */
.prose { font-size: 1.0625rem; line-height: 1.7; }
.prose > * + * { margin-top: 1em; }
.prose h2 { font-family: var(--font-display); font-weight: var(--display-weight); letter-spacing: var(--display-track); font-size: clamp(1.6rem, 1.2vw + 1.1rem, 2.1rem); line-height: 1.15; color: var(--c-sosna); margin-top: 1.6em; }
.prose h3 { font-weight: 700; font-size: 1.25rem; color: var(--c-sosna); margin-top: 1.4em; }
.prose ul, .prose ol { padding-left: 1.3em; }
.prose ul { list-style: disc; }
.prose ol { list-style: decimal; }
.prose li + li { margin-top: .4em; }
.prose li::marker { color: var(--c-rozeta); }
.prose a { color: var(--c-sosna); font-weight: 600; text-decoration-color: var(--c-rozeta); text-underline-offset: 3px; }
.prose blockquote { margin: 1.4em 0; padding: 6px 0 6px 20px; border-left: 3px solid var(--c-rozeta); font-family: var(--font-display); font-size: 1.25rem; color: var(--c-sosna); }
.prose img { border-radius: var(--r-foto); }
.prose figure { margin: 1.6em 0; }
.prose figcaption { font-size: .875rem; color: var(--c-tekst-2); margin-top: 8px; }
.prose p { margin: 0; }
.section--sosna .prose a { color: #fff; }

/* strona bez sekcji (np. polityka prywatności) */
.page-plain { padding-top: 32px; }
.page-plain__h1, .post__h1 { color: var(--c-sosna); font-size: clamp(2.3rem, 3vw + 1.2rem, 3.6rem); margin: 6px 0 28px; }
.page-404 { min-height: 60vh; }
.page-404 .h1 { color: var(--c-sosna); margin: 10px 0 18px; }

/* poradnik */
.posts { display: grid; gap: 18px; }
@media (min-width: 760px) { .posts { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .posts { grid-template-columns: repeat(3, 1fr); } }
.post-card__link { display: flex; flex-direction: column; height: 100%; border-radius: var(--r-karta); overflow: hidden; background: #fff; border: 1px solid var(--c-linia); text-decoration: none; transition: border-color .2s; }
.post-card__link:hover { border-color: var(--c-sosna); }
.post-card__img { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; }
.post-card__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; transition: transform .7s var(--ease); }
.post-card__link:hover .post-card__img img { transform: scale(1.04); }
.post-card__body { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.post-card__date { font-size: .8125rem; font-weight: 600; color: var(--c-tekst-2); }
.post-card__title { color: var(--c-sosna); }
.post-card__ex { color: var(--c-tekst-2); }
.post-card .door__go { color: var(--c-rozeta); margin-top: auto; }
.pager { margin-top: 36px; }
.pager .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.pager .page-numbers { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: 0 14px; border-radius: 999px; border: 1px solid var(--c-linia); text-decoration: none; font-weight: 600; }
.pager .current { background: var(--c-sosna); color: #fff; border-color: var(--c-sosna); }
.post { padding-top: 32px; }
.post__meta { color: var(--c-tekst-2); font-size: .9375rem; margin: -14px 0 26px; }
.post__img { margin: 0 0 32px; border-radius: var(--r-foto); overflow: hidden; aspect-ratio: 4 / 3; }
.post__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; }
.post__next { margin-top: 40px; }

/* sekcja „Zobacz też" */
.section--links { padding-top: 0; }

/* lista z ikonami bez zdjęcia */
.safe__grid--1 { grid-template-columns: 1fr !important; max-width: 820px; }

/* wyrównania z edytora */
.alignleft { float: left; margin: 0 1.2em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.2em; }
.aligncenter { margin-left: auto; margin-right: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.ftr__bar a { text-decoration: underline; text-underline-offset: 3px; }
