/* Lekkie sekcje stron statycznych Korbanek */
.page-section{width:100%}
.page-section__inner{width:min(1320px,calc(100% - 40px));margin:auto;padding:54px 0}
.section-heading{text-align:center;margin:0 0 28px;font-size:clamp(28px,3vw,44px)}

.machine-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.machine-card{position:relative;min-height:350px;overflow:hidden;border-radius:20px;background:#111;color:#fff;isolation:isolate}
.machine-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1);will-change:transform}
.machine-card:hover>img,.machine-card:focus-within>img{transform:scale(1.055)}
.machine-card__shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.18),rgba(0,0,0,.15) 40%,rgba(0,0,0,.82));z-index:1}
.machine-card__main-link{position:absolute;inset:0;z-index:2}
.machine-card__content{position:relative;z-index:3;min-height:350px;padding:16px 34px 28px;display:flex;flex-direction:column;align-items:center;pointer-events:none}

/* Nagłówki kafelków — większe i w bardziej technicznej czcionce. */
.machine-card__content h3{
    margin:0;
    text-align:center;
    font-family:"Trebuchet MS","Arial Narrow",Arial,sans-serif;
    font-size:clamp(28px,2.35vw,36px);
    font-weight:700;
    line-height:1.05;
    letter-spacing:.02em;
    text-transform:uppercase;
    text-shadow:0 2px 8px #000;
}

/*
 * Przycisk zaczyna jako sam napis. Po najechaniu na kafelek żółta ramka
 * pojawia się z krótkim opóźnieniem i płynnie rozszerza od środka.
 */
.machine-card__button{
    pointer-events:auto;
    position:relative;
    z-index:5;
    margin:auto 0 26px;
    display:inline-flex;
    min-width:116px;
    min-height:52px;
    align-items:center;
    justify-content:center;
    padding:12px 25px;
    border:0;
    border-radius:12px;
    background:#fff200;
    color:#050505;
    text-decoration:none;
    font-family:"Trebuchet MS",Arial,sans-serif;
    font-size:16px;
    font-weight:800;
    letter-spacing:.025em;
    text-transform:uppercase;
    text-shadow:none;
    transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease,color .18s ease;
}
.machine-card__button::before{
    content:"";
    position:absolute;
    inset:0;
    border:2px solid rgba(255,255,255,.82);
    border-radius:12px;
    opacity:0;
    transform:scaleX(.56) scaleY(.88);
    transition:opacity .18s ease .11s,transform .22s cubic-bezier(.2,.75,.25,1) .11s;
    pointer-events:none;
}
.machine-card:hover .machine-card__button,
.machine-card:focus-within .machine-card__button,
.machine-card__button:hover,
.machine-card__button:focus-visible{
    transform:translateY(-2px);
    background:#ffef00;
    box-shadow:0 8px 24px rgba(0,0,0,.3);
    color:#050505;
}
.machine-card:hover .machine-card__button::before,
.machine-card:focus-within .machine-card__button::before,
.machine-card__button:hover::before,
.machine-card__button:focus-visible::before{
    opacity:1;
    transform:scale(1);
}
.machine-card__button:focus-visible{outline:3px solid rgba(255,242,0,.42);outline-offset:4px}

.machine-card__content p{width:100%;margin:0;font-size:16px;line-height:1.45;text-shadow:0 1px 5px #000}
.page-section--content{background:#fff}
.page-section--content h2{font-size:clamp(28px,3vw,44px)}
.page-section--content p{font-size:18px;line-height:1.7}

@media(max-width:980px){
    .machine-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:650px){
    .page-section__inner{width:min(100% - 24px,1320px);padding:34px 0}
    .machine-cards{grid-template-columns:1fr;gap:16px}
    .machine-card,.machine-card__content{min-height:330px}
    .machine-card__content{padding:14px 24px 24px}
    .machine-card__content h3{font-size:30px}
    .machine-card__button{margin:auto 0 22px;background:#fff200;color:#050505}
    .machine-card__button::before{opacity:1;transform:scale(1);transition:none}
}

@media(prefers-reduced-motion:reduce){
    .machine-card>img{transition:none}
    .machine-card:hover>img{transform:none}
    .machine-card__button,.machine-card__button::before{transition:none}
}


/* Blok marek — lekki układ bez JavaScriptu */
.manufacturers-block{width:min(1320px,calc(100% - 40px));margin:0 auto;padding:54px 0}
.manufacturers-title{max-width:980px;margin:0 auto 28px;text-align:center;font-family:"Trebuchet MS","Arial Narrow",Arial,sans-serif;font-size:clamp(25px,3vw,40px);line-height:1.15;text-transform:uppercase}
.manufacturers-title a{color:inherit;text-decoration:none}
.manufacturers-heading-logo{display:flex;align-items:center;gap:18px;margin:0 0 34px}
.manufacturers-heading-logo::before,.manufacturers-heading-logo::after{content:"";height:1px;flex:1;background:#d7d7d7}
.manufacturers-heading-logo img{display:block;width:100px;height:auto}
.manufacturers-logos{list-style:none;margin:0;padding:0;display:grid;justify-content:center;align-items:center}
.manufacturers-logos--large{grid-template-columns:repeat(3,minmax(0,354px));gap:26px;margin-bottom:34px}
.manufacturers-logos--small{grid-template-columns:repeat(5,minmax(0,205px));gap:18px}
.manufacturers-logos li{display:flex;align-items:center;justify-content:center;min-width:0}
.manufacturers-logos a{display:flex;align-items:center;justify-content:center;width:100%;border-radius:12px;transition:transform .18s ease,box-shadow .18s ease;background:#fff}
.manufacturers-logos a:hover,.manufacturers-logos a:focus-visible{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.1)}
.manufacturers-logos img{display:block;max-width:100%;object-fit:contain}
.manufacturers-logos--large img{width:354px;height:102px}
.manufacturers-logos--small img{width:205px;height:100px}
@media(max-width:1160px){.manufacturers-logos--small{grid-template-columns:repeat(4,minmax(0,205px))}}
@media(max-width:920px){.manufacturers-logos--large{grid-template-columns:repeat(2,minmax(0,354px))}.manufacturers-logos--small{grid-template-columns:repeat(3,minmax(0,205px))}}
@media(max-width:650px){.manufacturers-block{width:min(100% - 24px,1320px);padding:36px 0}.manufacturers-logos--large{grid-template-columns:1fr}.manufacturers-logos--small{grid-template-columns:repeat(2,minmax(0,205px));gap:12px}.manufacturers-heading-logo{gap:10px}.manufacturers-logos a:hover{transform:none}}
@media(max-width:430px){.manufacturers-logos--small{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.manufacturers-logos a{transition:none}}

/* Dynamiczna sekcja: Serwis + Dealerzy + Aktualności */
.home-bottom-boxes-section {
  background: #f5f5f5;
}
.home-bottom-boxes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  padding-top: 34px;
  padding-bottom: 34px;
}
.home-bottom-box {
  min-width: 0;
}
.home-bottom-box__heading {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 14px;
  color: #7a4e1e;
  font-size: 23px;
  line-height: 1.2;
  font-weight: 500;
  text-transform: uppercase;
}
.home-bottom-box__heading::before,
.home-bottom-box__heading::after {
  content: "";
  height: 1px;
  flex: 1;
  background: #a98254;
}
.home-bottom-box__heading span { white-space: nowrap; }
.home-bottom-box__image-link { display: block; }
.home-bottom-box__image-link img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 8.65;
  object-fit: cover;
  border-radius: 10px;
}
.home-bottom-box__text {
  margin: 18px 0 16px;
  font-size: 14px;
  line-height: 1.55;
}
.home-bottom-box__more {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin: 18px 0 0;
  padding-top: 8px;
  border-top: 1px solid #a98254;
  font-size: 13px;
}
.home-bottom-box__more a {
  color: #9a672e;
  text-decoration: none;
  text-transform: uppercase;
}
.home-dealers-top {
  display: grid;
  grid-template-columns: minmax(150px, .95fr) minmax(150px, 1fr);
  gap: 18px;
  align-items: center;
}
.home-dealers-top img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.home-dealers-top__cta {
  text-align: center;
}
.home-dealers-top__cta p {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 700;
}
.home-dealers-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 22px;
  border-radius: 4px;
  background: linear-gradient(#bd9668, #997044);
  box-shadow: 0 8px 18px rgba(0,0,0,.18);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.home-news-list { display: grid; gap: 14px; }
.home-news-item {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid #d8d8d8;
}
.home-news-item__image img {
  display: block;
  width: 100%;
  height: 80px;
  object-fit: cover;
  border-radius: 8px;
}
.home-news-item__content h3 {
  margin: 0 0 4px;
  font-size: 14px;
  line-height: 1.3;
}
.home-news-item__content h3 a { color: #333; text-decoration: none; }
.home-news-item__content time {
  display: block;
  margin-bottom: 5px;
  color: #888;
  font-size: 12px;
}
.home-news-item__content p {
  margin: 0 0 5px;
  font-size: 13px;
  line-height: 1.35;
}
.home-news-item__more {
  display: block;
  color: #9a672e;
  font-size: 12px;
  text-align: right;
  text-decoration: none;
}
.home-news-empty {
  margin: 0;
  padding: 24px;
  border: 1px dashed #c9c9c9;
  color: #666;
  font-size: 14px;
  text-align: center;
}
@media (max-width: 1100px) {
  .home-bottom-boxes { grid-template-columns: 1fr 1fr; }
  .home-bottom-box--news { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .home-bottom-boxes { grid-template-columns: 1fr; gap: 34px; }
  .home-bottom-box--news { grid-column: auto; }
  .home-dealers-top { grid-template-columns: 1fr; }
  .home-news-item { grid-template-columns: 110px minmax(0, 1fr); }
}
