/* Własne style DAR-BUD (strona główna i podstrony) – ładowane po style.min.css */

/* H1 w bannerze strony głównej wyglądem zbliżony do akapitu */
.banner-style-34 .content-box h1.banner-seo-title { font-size: 22px; line-height: 30px; font-weight: 600; max-width: 420px; margin-bottom: 15px; }

/* Stopka: kolumny kontaktu wyrównane w siatce 2x2 */
@media (min-width: 500px) {
  .footer-style-two .about-widget .inner-box { display: grid; grid-template-columns: 1fr 1fr; column-gap: 30px; align-items: start; }
}


.subpage-intro .lead-text { font-size: 20px; line-height: 32px; color: #333; }
.subpage-section h2, .subpage-intro h1 { color: #161837; }

.breadcrumbs ol { list-style: none; padding: 0; margin: 0 0 25px; display: flex; flex-wrap: wrap; font-size: 15px; }
.breadcrumbs li + li:before { content: "›"; margin: 0 10px; color: #999; }
.breadcrumbs a { color: #6E6E6E; }
.breadcrumbs a:hover { color: var(--theme-color); }
.breadcrumbs li[aria-current] { color: #161837; font-weight: 600; }

.subpage-figure { margin: 0 0 30px; }
.subpage-figure img { width: 100%; height: auto; display: block; }
.subpage-figure figcaption { font-size: 14px; color: #888; margin-top: 8px; }

.subpage-cta-inline { display: flex; flex-wrap: wrap; gap: 15px; margin: 30px 0; }
.theme-btn-cta { display: inline-block; padding: 14px 28px; background: var(--theme-color); color: #fff; border: 2px solid var(--theme-color); font-family: 'Jost', sans-serif; font-weight: 600; font-size: 17px; transition: background-color .25s, color .25s, border-color .25s; }
.theme-btn-cta:hover { background: #161837; border-color: #161837; color: #fff; }
.theme-btn-cta.alt { background: transparent; color: #161837; border-color: #161837; }
.theme-btn-cta.alt:hover { background: var(--theme-color); border-color: var(--theme-color); color: #fff; }

.service-card { border: 1px solid #e6e6e6; border-top: 3px solid var(--theme-color); padding: 30px; margin-bottom: 30px; height: calc(100% - 30px); }
.service-card h3 { font-size: 24px; line-height: 32px; font-family: 'Jost', sans-serif; font-weight: 600; color: #161837; margin-bottom: 12px; }
.service-card a { color: var(--theme-color); font-weight: 600; }

.subpage-steps { background: #f6f6f6; }
.steps-list { list-style: none; padding: 0; margin: 0; counter-reset: step; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
.steps-list li { counter-increment: step; position: relative; padding-left: 70px; }
.steps-list li:before { content: counter(step, decimal-leading-zero); position: absolute; left: 0; top: -4px; font-family: 'Barlow', sans-serif; font-size: 44px; font-weight: 900; line-height: 1; color: var(--theme-color); }
.steps-list h3 { font-size: 21px; line-height: 28px; font-family: 'Jost', sans-serif; font-weight: 600; color: #161837; margin-bottom: 8px; }

.link-more { font-family: 'Jost', sans-serif; font-weight: 600; color: var(--theme-color); }

.subpage-faq { padding-top: 60px; }
.subpage-faq + .subpage-faq { padding-top: 0; }
.subpage-faq .faq-heading { font-size: 34px; line-height: 44px; font-family: 'Jost', sans-serif; font-weight: 600; color: #161837; margin-bottom: 30px; }

.related-links { list-style: none; padding: 0; }
.related-links li { margin-bottom: 8px; }
.related-links a { color: #161837; font-weight: 600; border-bottom: 1px solid var(--theme-color); }

.cta-box { background: #1a1a1a; color: #c1c0cc; padding: 40px; margin-top: 10px; }
.cta-box h3 { color: #fff; font-size: 30px; line-height: 38px; font-family: 'Jost', sans-serif; font-weight: 600; margin-bottom: 12px; }
.cta-box .theme-btn-cta { margin: 15px 0 12px; }
.cta-box .theme-btn-cta:hover { background: #fff; border-color: #fff; color: #161837; }
.cta-box p { color: #fff; }
.cta-box .cta-mail { display: table; color: #fff; transition: color .3s; }
.cta-box .cta-mail:hover { color: var(--theme-color); }

.quote-card { background: #fff; border-left: 3px solid var(--theme-color); padding: 25px 30px; margin: 0 0 30px; height: calc(100% - 30px); }
.quote-card p { font-size: 18px; line-height: 28px; color: #333; font-style: italic; margin-bottom: 12px; }
.quote-card footer { font-size: 14px; color: #888; }

.contact-list .contact-item { margin-bottom: 30px; }
.contact-list h3 { font-size: 16px; line-height: 24px; font-family: 'Jost', sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: #888; margin-bottom: 6px; }
.contact-list p { font-size: 20px; line-height: 30px; color: #161837; margin-bottom: 6px; }
.contact-list p a { color: #161837; }
.contact-list p a.link-more { font-size: 16px; color: var(--theme-color); }
.map-box { position: relative; width: 100%; min-height: 420px; height: 100%; }
.map-box iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

@media (max-width: 767px) {
  .subpage-intro h1 { font-size: 32px; line-height: 40px; }
  .steps-list { grid-template-columns: 1fr; }
  .subpage-faq .faq-heading { font-size: 28px; line-height: 36px; }
}

/* Podstrony mają czarny pasek pod nagłówkiem – numer telefonu musi być jasny */
.subpage .header-style-34 .phone-box a { color: #fff; }
.subpage .header-style-34 .phone-box a:hover { color: var(--theme-color); }

/* Strzałka przy rozwijanym menu „Usługi” (szablon rezerwuje na nią miejsce, ale jej nie pokazuje) */
.header-style-34 .main-menu .navigation>li.dropdown>a { padding-right: 18px; }
.header-style-34 .main-menu .navigation>li.dropdown>a:after { content: ""; position: absolute; right: 2px; top: 50%; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-75%) rotate(45deg); }

/* Ikony mediów społecznościowych na stronie kontaktu */
.contact-social { list-style: none; padding: 0; margin: 4px 0 0; display: flex; gap: 12px; }
.contact-social a { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: #161837; color: #fff; font-size: 20px; transition: background-color .3s; }
.contact-social a:hover { background: var(--theme-color); color: #fff; }
