/* LECH BUD v2 - style tylko dla podstron obslugiwanych przez plugin. */
:root {
  --lb-navy: #173247;
  --lb-navy-deep: #102838;
  --lb-red: #e5002d;
  --lb-text: #1f3546;
  --lb-muted: #5b6873;
  --lb-line: #dfe3e6;
  --lb-bg: #f5f5f3;
  --lb-white: #ffffff;
}

body.lechbud-managed-page .entry-header .entry-title,
body.lechbud-managed-page .page-header .page-title,
body.lechbud-managed-page .wp-block-post-title {
  display: none !important;
}

body.lechbud-managed-page .entry-content,
body.lechbud-managed-page .page-content,
body.lechbud-managed-page main .wp-block-post-content {
  max-width: none !important;
}

.lb-subpage,
.lb-subpage * {
  box-sizing: border-box;
}

.lb-subpage {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: min(1180px, calc(100vw - 32px));
  margin: 48px 0 72px;
  color: var(--lb-text);
  font-family: inherit;
}

.lb-section-heading {
  margin: 0 0 28px;
}

.lb-section-heading > span,
.lb-service-hero > div > span {
  display: block;
  margin-bottom: 6px;
  color: var(--lb-red);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
}

.lb-section-heading h1,
.lb-service-hero h1 {
  margin: 0;
  color: var(--lb-navy-deep);
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.08;
  font-weight: 800;
}

.lb-section-heading i {
  display: block;
  width: 72px;
  height: 3px;
  margin-top: 13px;
  background: var(--lb-red);
}

/* O firmie */
.lb-about-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.lb-about-card {
  position: relative;
  min-height: 220px;
  margin: 0;
  padding: 28px 26px 30px;
  overflow: hidden;
  background: var(--lb-white);
  border: 1px solid var(--lb-line);
  border-bottom: 4px solid var(--lb-red);
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(16, 40, 56, .08);
}

.lb-card-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 20px;
  background: var(--lb-navy-deep);
  border-radius: 50%;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.lb-about-card h2 {
  margin: 0 0 10px;
  color: var(--lb-navy-deep);
  font-size: 21px;
  line-height: 1.25;
  font-weight: 800;
}

.lb-about-card p {
  margin: 0;
  color: var(--lb-muted);
  font-size: 16px;
  line-height: 1.65;
}

/* Oferta - 4 kafelki jak w projekcie strony glownej */
.lb-service-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.lb-service-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  color: inherit !important;
  text-decoration: none !important;
  background: var(--lb-white);
  border: 1px solid #e1e4e6;
  border-bottom: 3px solid var(--lb-red);
  border-radius: 6px;
  box-shadow: 0 7px 22px rgba(16, 40, 56, .06);
  transition: transform .18s ease, box-shadow .18s ease;
}

.lb-service-card:hover,
.lb-service-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(16, 40, 56, .12);
}

.lb-service-image {
  display: block;
  width: 100%;
  aspect-ratio: 2.75 / 1;
  overflow: hidden;
  background: #ddd;
}

.lb-service-image img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}

.lb-service-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 17px 19px 18px;
}

.lb-service-copy strong {
  display: block;
  margin: 0 0 8px;
  color: #0d3470;
  font-size: 18px;
  line-height: 1.15;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}

.lb-service-copy em {
  display: block;
  flex: 1;
  margin: 0 0 15px;
  color: #273947;
  font-size: 14px;
  line-height: 1.42;
  font-style: normal;
  font-weight: 400;
}

.lb-service-copy b {
  display: block;
  color: var(--lb-red);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .01em;
}

.lb-service-copy b span {
  display: inline-block;
  margin-left: 5px;
  transition: transform .18s ease;
}

.lb-service-card:hover .lb-service-copy b span {
  transform: translateX(4px);
}

/* Podstrony pojedynczych uslug */
.lb-service-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  overflow: hidden;
  background: var(--lb-white);
  border: 1px solid var(--lb-line);
  border-radius: 10px;
  box-shadow: 0 12px 34px rgba(16, 40, 56, .09);
}

.lb-service-hero > img {
  display: block;
  width: 100%;
  min-height: 340px;
  height: 100%;
  margin: 0;
  object-fit: cover;
}

.lb-service-hero > div {
  padding: 46px 42px;
  align-self: center;
}

.lb-service-hero p {
  margin: 20px 0 26px;
  color: var(--lb-muted);
  font-size: 18px;
  line-height: 1.65;
}

.lb-button,
.lb-phone {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 13px 20px;
  color: #fff !important;
  text-decoration: none !important;
  background: var(--lb-red);
  border-radius: 5px;
  font-size: 14px;
  font-weight: 800;
}

/* Kontakt */
.lb-contact-panel {
  padding: 34px;
  background: var(--lb-white);
  border: 1px solid var(--lb-line);
  border-left: 5px solid var(--lb-red);
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(16, 40, 56, .07);
}

.lb-contact-panel h2 {
  margin: 0 0 10px;
  color: var(--lb-navy-deep);
}

.lb-contact-panel p {
  margin: 0 0 22px;
  line-height: 1.65;
}

@media (max-width: 980px) {
  .lb-about-grid {
    grid-template-columns: 1fr;
  }

  .lb-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lb-service-hero {
    grid-template-columns: 1fr;
  }

  .lb-service-hero > img {
    min-height: 260px;
    max-height: 360px;
  }
}

@media (max-width: 580px) {
  .lb-subpage {
    width: calc(100vw - 24px);
    margin-top: 30px;
    margin-bottom: 48px;
  }

  .lb-service-grid {
    grid-template-columns: 1fr;
  }

  .lb-service-copy strong {
    font-size: 17px;
  }

  .lb-service-hero > div {
    padding: 28px 22px 30px;
  }

  .lb-service-hero > img {
    min-height: 210px;
  }

  .lb-contact-panel,
  .lb-about-card {
    padding: 24px 20px;
  }
}

/* v3: bez wychodzenia poza kontener i rozciągania miniatur. */
.lb-subpage{left:auto;transform:none;width:100%;margin:24px 0 40px}
.lb-service-hero{grid-template-columns:1fr;box-shadow:none;border:0;overflow:visible}
.lb-service-hero>img{width:min(100%,600px);height:auto;min-height:0;max-height:none;aspect-ratio:2.75/1;object-fit:contain;border-radius:6px}
.lb-service-hero>div{padding:28px 0 8px;max-width:780px}
.lb-service-hero h1{font-size:clamp(28px,3.4vw,42px)}
.lb-service-hero p{font-size:17px;line-height:1.7;margin:18px 0 24px}
.lb-service-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}

/* 3.1 – tylko nagłówek i granice zdjęcia głównego. */
body.home .hero h1{font-size:clamp(1.7rem,2.65vw,2.45rem);line-height:1.1}
body.home .hero-art{right:max(32px,calc((100% - var(--max,1320px))/2));width:min(54%,calc(var(--max,1320px)*.54))}
@media(max-width:900px){body.home .hero h1{font-size:1.85rem}}
@media(max-width:640px){body.home .hero h1{font-size:clamp(1.5rem,6.2vw,2.1rem)}body.home .hero-art{right:16px;width:calc(100% - 32px)}}
