/* --- Layout bazowy --- */
.container{ width:min(100%, 1200px); margin-inline:auto; padding-inline:16px; }
.ts-content{ padding-bottom:24px; }

/* --- Nagłówek: lewo brand, środek telefon (zielone tło), prawa menu --- */
.ts-header{ position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid #e5e7eb; }
.ts-header__bar{
  display:grid;
  grid-template-columns: 1fr auto auto; /* brand | phone | menu */
  gap:18px; align-items:center; padding:10px 0;
}
.ts-brand__text{ font-weight:800; font-size:20px; color:#111; }
.ts-header__phone{ justify-self:center; }
.ts-phone__badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; border-radius:999px;
  background:#2ecc71; color:#fff; font-weight:700;
}
.ts-header__nav .ts-menu{ list-style:none; display:flex; gap:16px; margin:0; padding:0; }
.ts-header__nav .ts-menu > li > a{ display:block; padding:8px 10px; border-radius:10px; color:#111; }
.ts-header__nav .ts-menu > li > a:hover{ background:#f3f7ff; }

/* --- HERO pełnoekranowy --- */
.ts-hero{ position:relative; min-height: calc(100vh - 70px); }
.ts-hero__bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.ts-hero__content{ position:relative; z-index:2; padding:48px 0; color:#fff; }

/* --- Sekcje --- */
.ts-section{ padding:56px 0; }
.ts-section .container{ display:block; }

/* --- Sidebar (dla bloga) --- */
.with-sidebar{
  display:grid; grid-template-columns: 1fr 320px; gap:28px;
}
.widget{
  background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:16px; margin-bottom:18px;
}
.widget-title{ font-weight:700; margin-bottom:.6rem; }

/* --- Stopka --- */
.ts-footer{ background:#0f172a; color:#dbe3ff; margin-top:32px; }
.ts-footer__inner{ display:flex; justify-content:space-between; gap:16px; padding:16px 0; }
.ts-menu--footer{ list-style:none; display:flex; gap:12px; margin:0; padding:0; }
.ts-footer a{ color:#fff; }

/* --- RWD --- */
@media (max-width:1024px){
  .with-sidebar{ grid-template-columns:1fr; }
}
@media (max-width:780px){
  .ts-header__bar{ grid-template-columns: 1fr auto; }
  .ts-header__nav{ grid-column: 1 / -1; justify-self:end; }
}
@media (max-width:560px){
  .ts-phone__badge{ font-size:14px; padding:7px 12px; }
  .ts-header__nav .ts-menu{ gap:10px; flex-wrap:wrap; }
}