/* Dach Bud — podstrony (page templates, generyczne strony) */
.db-page-hero{background:linear-gradient(135deg,var(--db-navy) 0%,var(--db-navy-3) 100%);color:#fff}
.db-page-hero-in{max-width:var(--db-wrap);margin-inline:auto;padding:46px var(--db-pad) 44px}
.db-page-hero .db-kicker{color:var(--db-amber)}.db-page-hero .db-kicker::before{background:var(--db-amber)}
.db-page-hero h1{font-family:var(--db-font-disp);font-size:clamp(28px,4vw,46px);margin:12px 0 12px}
.db-page-hero h1 em{font-style:normal;color:var(--db-amber)}
.db-page-hero p{color:rgba(255,255,255,.84);max-width:660px;font-size:17px;margin:0}

.db-crumbs{font-size:13.5px;color:rgba(255,255,255,.7)}
.db-crumbs a{color:rgba(255,255,255,.9)}
.db-crumbs b{color:#fff;font-weight:700}
.db-crumbs span{opacity:.5;margin:0 4px}

.db-inner{max-width:var(--db-wrap);margin-inline:auto;padding:clamp(40px,6vw,72px) var(--db-pad)}
.db-inner-narrow{max-width:820px}
.db-prose{font-size:17px;line-height:1.75;color:var(--db-ink)}
.db-prose h2{font-family:var(--db-font-disp);font-size:clamp(23px,3vw,33px);color:var(--db-navy);margin:1.6em 0 .5em}
.db-prose h3{font-size:21px;color:var(--db-navy);margin:1.4em 0 .4em}
.db-prose p{margin:0 0 1.1em}
.db-prose ul,.db-prose ol{margin:0 0 1.2em;padding-left:1.3em}
.db-prose li{margin-bottom:.5em}
.db-prose a{color:var(--db-blue-d);font-weight:600;text-decoration:underline}
.db-prose img{border-radius:var(--db-radius);margin:1.2em 0}
.db-prose blockquote{border-left:4px solid var(--db-orange);margin:1.4em 0;padding:6px 0 6px 22px;color:var(--db-muted);font-style:italic}

/* O firmie */
.db-vals{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:40px 0}
.db-val{background:#fff;border:1px solid var(--db-line);border-radius:var(--db-radius);padding:26px;box-shadow:var(--db-shadow)}
.db-val svg{color:var(--db-orange);margin-bottom:12px}
.db-val h3{font-size:18px;color:var(--db-navy);margin:0 0 8px}
.db-val p{font-size:14.5px;color:var(--db-muted);margin:0}
.db-stats-band{background:var(--db-cream);border-radius:22px;padding:36px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:44px 0}
.db-stats-band .db-stat{background:transparent;border:0;box-shadow:none;padding:0;text-align:center}
@media (max-width:820px){.db-vals{grid-template-columns:1fr}.db-stats-band{grid-template-columns:1fr 1fr}}

/* Realizacje */
.db-real-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.db-real-grid figure{margin:0;border-radius:var(--db-radius);overflow:hidden;position:relative;box-shadow:var(--db-shadow);aspect-ratio:4/3}
.db-real-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.db-real-grid figure:hover img{transform:scale(1.06)}
.db-real-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(transparent,rgba(6,26,48,.88));color:#fff;font-weight:700;font-size:14px}
@media (max-width:820px){.db-real-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.db-real-grid{grid-template-columns:1fr}}

/* Oddziały */
.db-oddz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:10px}
.db-oddz{background:#fff;border:1px solid var(--db-line);border-radius:var(--db-radius);padding:26px;box-shadow:var(--db-shadow)}
.db-oddz.is-main{border-color:var(--db-orange);border-width:2px}
.db-oddz h3{font-size:19px;color:var(--db-navy);margin:0 0 4px;display:flex;align-items:center;gap:8px}
.db-oddz .tag{background:var(--db-orange);color:#fff;font-size:10.5px;font-weight:800;text-transform:uppercase;padding:2px 8px;border-radius:20px}
.db-oddz p{margin:0 0 10px;color:var(--db-muted);font-size:14.5px;display:flex;align-items:flex-start;gap:9px}
.db-oddz p svg{color:var(--db-orange);flex:none;margin-top:2px}
.db-oddz a.tel{font-weight:800;color:var(--db-navy);font-size:16px}
.db-map{border-radius:22px;overflow:hidden;border:1px solid var(--db-line);height:440px;margin-bottom:34px;background:var(--db-cream)}
.db-map iframe{width:100%;height:100%;border:0}
@media (max-width:820px){.db-oddz-grid{grid-template-columns:1fr}}

.db-inner-cta{background:linear-gradient(135deg,var(--db-navy),var(--db-navy-3));border-radius:22px;padding:44px;text-align:center;color:#fff;margin-top:50px}
.db-inner-cta h2{font-family:var(--db-font-disp);font-size:clamp(23px,3vw,32px);margin:0 0 10px}
.db-inner-cta h2 em{font-style:normal;color:var(--db-amber)}
.db-inner-cta p{color:rgba(255,255,255,.82);margin:0 0 22px}
/* ghost/line button na ciemnym bandzie CTA — bez tego dark tekst+border znika na navy tle */
.db-inner-cta .db-btn-line{color:#fff;border-color:rgba(255,255,255,.42)}
.db-inner-cta .db-btn-line:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.09)}

/* ---------- KARTY ODDZIAŁÓW (współdzielone: /oddzialy/, /kontakt/, kategorie) ---------- */
.odz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.odz-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.odz-card:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.odz-foto{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--cream)}
.odz-foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.odz-card:hover .odz-foto img{transform:scale(1.06)}
.odz-badge{position:absolute;top:12px;left:12px;background:linear-gradient(135deg,var(--gold-l),var(--gold));color:#2C2107;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:5px 11px;border-radius:20px}
.odz-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:9px;flex:1}
.odz-body h3{font-family:var(--font);font-weight:800;font-size:19px;color:var(--db-900);margin:0}
.odz-adres,.odz-godz{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--ink-2);margin:0;line-height:1.4}
.odz-adres svg,.odz-godz svg{color:var(--db-500);flex:none;margin-top:1px}
.odz-kontakt{display:flex;flex-direction:column;gap:6px;margin:4px 0 2px}
.odz-kontakt a{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:700;color:var(--db);transition:color .2s}
.odz-kontakt a:hover{color:var(--gold-d)}
.odz-kontakt svg{color:var(--gold-d);flex:none}
.odz-cta{display:flex;gap:10px;margin-top:auto;padding-top:6px}
.odz-cta .db-btn{flex:1;padding:11px 12px;min-height:auto;font-size:14px}
@media(max-width:900px){.odz-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.odz-grid{grid-template-columns:1fr}}
