/* Podstrony z treścią z panelu */
.p-head { padding: 26px 0 56px; }
.p-head h1 { font-size: clamp(40px, 6vw, 72px); margin: 14px 0 12px; max-width: 16ch; }
.p-lead { font-size: 20px; color: var(--ink-soft); max-width: 52ch; margin: 0; }
.p-body { display: grid; gap: 88px; padding-top: 72px; }
.p-body h2 { font-size: clamp(26px, 3vw, 36px); }
.prose p { margin: 0 0 1em; max-width: 64ch; }
.prose p:last-child { margin-bottom: 0; }

.b-text { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: 48px; align-items: start; }
.b-text h2 { position: sticky; top: 100px; margin: 0; }
.b-text .prose { font-size: 18px; color: var(--ink-soft); }

.b-quote { margin: 0; padding: 8px 0 8px 28px; border-left: 4px solid var(--amber); }
.b-quote blockquote { margin: 0; font: 600 clamp(32px, 4.2vw, 50px)/1.1 var(--f-hand); }
.b-quote figcaption { margin-top: 10px; color: var(--muted); }

.facts-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.fact-card { border: 1.5px solid var(--line); border-radius: var(--r-m); padding: 20px; background: #fff; }
.fact-card b { display: block; font: 700 19px var(--f-head); margin-bottom: 6px; }
.fact-card b::before { content: ""; display: block; width: 28px; height: 4px; border-radius: 2px; background: var(--amber); margin-bottom: 14px; }
.fact-card p { margin: 0; color: var(--ink-soft); font-size: 15.5px; }

.b-steps .tape {
  height: 40px; border: 2px solid var(--ink); border-radius: 8px; background-color: var(--amber);
  background-image: repeating-linear-gradient(90deg, var(--ink) 0 1.5px, transparent 1.5px 100%), repeating-linear-gradient(90deg, var(--ink) 0 1px, transparent 1px 100%);
  background-size: 60px 18px, 12px 9px; background-repeat: repeat-x; margin-top: 8px;
}
.b-steps .steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 4), 1fr); }
.b-steps .steps li { padding: 24px 24px 0 12px; border-left: 2px solid var(--ink); position: relative; }
.b-steps .steps li:first-child { border-left: 0; padding-left: 0; }
.b-steps .steps h3 { font-size: 20px; margin-bottom: 6px; }
.b-steps .steps p { margin: 0; color: var(--ink-soft); font-size: 16px; }
.b-steps .steps .hand { display: block; color: var(--amber-deep); font-size: 21px; margin-top: 8px; }

.b-faq { max-width: 860px; }
.b-faq details { border-bottom: 1px solid var(--line); }
.b-faq details:first-of-type { border-top: 1.5px solid var(--ink); }
.b-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; padding: 20px 0; font: 700 19px/1.3 var(--f-head); }
.b-faq summary::-webkit-details-marker { display: none; }
.b-faq summary::after { content: "+"; font-size: 26px; line-height: 1; transition: transform .2s var(--ease); }
.b-faq details[open] summary::after { transform: rotate(45deg); }
.b-faq .prose { padding: 0 0 22px; color: var(--ink-soft); }

.ptable { width: 100%; max-width: 760px; border-collapse: collapse; font-size: 17px; }
.ptable th, .ptable td { text-align: left; padding: 14px 0; border-bottom: 1px solid var(--line); }
.ptable th { font-weight: 500; }
.ptable td { text-align: right; font-weight: 700; font-family: var(--f-head); }
.note-s { font-size: 14px; margin-top: 10px; }

.b-image { margin: 0; }
.b-image img { width: 100%; border-radius: var(--r-l); border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); }
.b-image figcaption { margin-top: 12px; color: var(--muted); font-size: 14px; }

.gal { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px 24px; }
.gal-img { border-radius: var(--r-m); aspect-ratio: 4/3; display: grid; place-items: center; padding: 14px 18px; position: relative; overflow: hidden; }
.gal-photo { position: absolute; right: 12px; bottom: 10px; font: 600 17px var(--f-hand); color: var(--ink-soft); background: rgba(251,247,240,.85); padding: 0 8px; border-radius: 6px; }
.gal-meta { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-top: 14px; }
.gal-meta h3 { margin: 0; font-size: 20px; }
.gal-meta .hand { color: var(--amber-deep); font-size: 20px; white-space: nowrap; }
.gal-item p { color: var(--ink-soft); font-size: 15.5px; margin: 6px 0 4px; }
.gal-item .btn-ghost { padding: 0; min-height: 36px; font-size: 15px; }

.b-cta { background: var(--ink); color: var(--paper); border-radius: var(--r-l); padding: 44px 48px; display: flex; justify-content: space-between; align-items: center; gap: 28px; flex-wrap: wrap; }
.b-cta h2 { color: var(--paper); margin-bottom: 8px; }
.b-cta p { color: #d9cfbf; margin: 0; max-width: 52ch; }

.b-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 48px; align-items: start; }
.contact-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ccard { display: flex; gap: 14px; align-items: flex-start; padding: 18px; border: 1.5px solid var(--line); border-radius: var(--r-m); background: #fff; text-decoration: none; }
a.ccard:hover { border-color: var(--ink); box-shadow: var(--pop); }
.ccard svg { width: 24px; height: 24px; flex: none; color: var(--amber-deep); margin-top: 2px; }
.ccard small { display: block; color: var(--muted); font-size: 13px; }
.ccard b { display: block; font: 700 17px/1.25 var(--f-head); }
.map { grid-column: 1 / -1; aspect-ratio: 16/9; border-radius: var(--r-m); border: 1.5px solid var(--line); display: grid; place-items: center; position: relative; }
.map .hand { position: absolute; left: 16px; bottom: 10px; font-size: 24px; color: var(--ink-soft); }
.map .pin { position: absolute; left: 58%; top: 40%; background: var(--amber); border: 2px solid var(--ink); border-radius: 999px; padding: 4px 12px; font-weight: 600; font-size: 14px; box-shadow: var(--pop); }
.cform { display: grid; gap: 16px; padding: 30px; border: 2px solid var(--ink); border-radius: var(--r-l); background: #fff; box-shadow: 6px 6px 0 var(--ink); }
.cform h2 { margin: 0; font-size: 28px; }
.cform > p { margin: -6px 0 4px; }
.check-s { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; cursor: pointer; }
.check-s input { width: 20px; height: 20px; accent-color: var(--ink); margin: 1px 0 0; flex: none; }
.err { color: var(--danger); font-weight: 600; margin: 0; min-height: 1px; }
.sent { text-align: center; padding: 30px 10px; }
.sent svg { width: 56px; height: 56px; color: var(--leaf); margin: 0 auto 10px; }

.b-legal { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 56px; align-items: start; }
.toc { position: sticky; top: 100px; font-size: 15px; }
.toc b { display: block; margin-bottom: 10px; font-family: var(--f-head); }
.toc ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.toc a { color: var(--ink-soft); text-decoration: none; }
.toc a:hover { color: var(--ink); text-decoration: underline; }
.legal-body { display: grid; gap: 32px; max-width: 760px; }
.legal-body h2 { font-size: 22px; margin-bottom: 8px; }
.legal-body .prose { color: var(--ink-soft); }

.p-404 { padding: 80px 16px; }

@media (max-width: 900px) {
  .b-text, .b-contact, .b-legal { grid-template-columns: 1fr; gap: 20px; }
  .b-text h2, .toc { position: static; }
  .gal { grid-template-columns: 1fr 1fr; }
  .b-steps .steps { grid-template-columns: 1fr 1fr; }
  .b-steps .steps li:nth-child(odd) { border-left: 0; padding-left: 0; }
  .b-steps .steps li { padding-bottom: 24px; }
  .b-steps .tape { display: none; }
  .b-cta { padding: 32px 24px; }
}
@media (max-width: 560px) {
  .gal, .contact-cards, .b-steps .steps { grid-template-columns: 1fr; }
  .b-steps .steps li { border-left: 0; padding-left: 0; }
}
