
/* ===========================
   Galini Psyche — firmy.css (v11, consolidated)
   For /firmy (homepage) and /strony/firmy/* (subpages)
   =========================== */

/* ---- Tokens ---- */
:root{
  --c-bg:#ffffff;
  --c-text:#1b2a2f;
  --c-muted:#6b8a93;
  --c-deep:#2b6d79;
  --c-turq:#19e5d9;
  --c-cta:#FF6D4A;
  --c-line:#9fdde0;
  --c-card:#f7fbfc;
  --r-lg:18px;
  --r-md:14px;
  --shadow-sm:0 2px 8px rgba(0,0,0,.06);
  --shadow-md:0 6px 20px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:"Lato",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--c-text);
  background:var(--c-bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:var(--c-deep);text-decoration:none}
a:hover{opacity:.92}

/* ---- Containers ---- */
.container{max-width:1100px;margin:0 auto;padding:0 16px}
header .container, main .container, footer .container{padding-left:16px;padding-right:16px}

/* ---- Breadcrumbs ---- */
nav.breadcrumbs{font-size:.95rem;color:var(--c-muted);padding-top:14px}
nav.breadcrumbs a{color:var(--c-deep)}

/* ---- HERO (homepage & subpages) ---- */
header .hero{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:center;margin:8px 0 20px}
@media (max-width: 900px){ header .hero{grid-template-columns:1fr;gap:16px} }

.hero .photo{
  width:100%; height:300px;
  background:#eef6f7; overflow:hidden;
  border-radius:var(--r-lg); box-shadow:var(--shadow-md);
}
.hero .photo img{width:100%;height:100%;object-fit:cover;display:block}

.hero .copy .tag{
  display:inline-block;padding:6px 12px;border:2px solid var(--c-turq);
  color:var(--c-deep);border-radius:999px;font-weight:800;font-size:.9rem;margin-bottom:10px;
}
.hero h1{
  font-family:"Playfair Display", Georgia, "Times New Roman", serif;
  font-weight:700;font-size:2.1rem;line-height:1.2;margin:6px 0 8px;color:var(--c-deep);
}
.hero p{color:var(--c-muted);margin:0 0 8px;font-size:1rem}

a.cta{
  display:inline-block;padding:12px 18px;border-radius:var(--r-md);
  background:var(--c-cta);color:#fff!important;text-decoration:none;
  font-weight:900;box-shadow:0 4px 12px rgba(255,109,74,.25);
}

/* ---- Sections ---- */
main{padding-bottom:60px}
.card{
  background:var(--c-card);
  border:1px solid var(--c-line);
  border-radius:var(--r-md);
  padding:18px;box-shadow:var(--shadow-sm);
}
.section-title{display:flex;align-items:center;gap:14px;margin:0 0 10px}
.section-title h2{
  font-family:"Playfair Display", Georgia, serif;font-weight:700;color:var(--c-deep);
  font-size:1.35rem;margin:0
}
.section-title .line{flex:1;height:1px;background:var(--c-line);opacity:.75}

/* ---- Lists ---- */
ul.check{list-style:none;margin:10px 0 0;padding:0}
ul.check li{position:relative;margin:6px 0;padding-left:26px}
ul.check li:before{content:"✓";position:absolute;left:0;top:0;color:var(--c-turq);font-weight:900}

/* ---- HOMEPAGE: grid of trainings ---- */
.kafle{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:16px}
@media (max-width: 900px){ .kafle{grid-template-columns:1fr} }

.kafel{
  display:grid;grid-template-columns:240px 1fr;gap:12px;
  background:#fff;border:1px solid var(--c-line);border-radius:var(--r-md);padding:10px;align-items:stretch;
}
@media (max-width: 900px){ .kafel{grid-template-columns:1fr} }

.kafel img{
  width:100%;height:160px;object-fit:cover;border-radius:12px;display:block;box-shadow:var(--shadow-sm);
}
@media (max-width: 900px){
  .kafel img{ height: 200px; }
}
.k-body{display:grid;gap:8px;align-content:start}
.k-title{
  font-family:"Playfair Display", Georgia, serif;font-weight:700;color:var(--c-deep);
  font-size:1.12rem;line-height:1.25;margin:0
}
.k-benefit{color:var(--c-muted);font-size:.98rem;margin:0}
.k-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
a.badge{
  display:inline-block;padding:8px 12px;border:1px solid var(--c-turq);
  color:var(--c-deep)!important;background:#fff;text-decoration:none;border-radius:999px;font-weight:800;font-size:.92rem;
}

/* ---- SUBPAGES: content images (do NOT touch .kafel img) ---- */
.card > img{
  width:100%;height:360px;object-fit:cover;display:block;border-radius:14px;
}
.card .figure img, figure.figure img, div.figure img{
  width:100%;height:360px;object-fit:cover;display:block;border-radius:0;
}
@media (max-width: 900px){
  .card > img, .card .figure img, figure.figure img, div.figure img{ height:220px; }
  .card{ overflow:hidden; } /* keep rounded corners clean */
}

/* ---- Secondary button: "Wróć do listy szkoleń" ---- */
a[href="/firmy"], a[href="/firmy/"], a[href$="/firmy"], a[href*="/strony/firmy"], a[href*="/firmy.html"]{
  display:inline-block;padding:10px 14px;border-radius:14px;border:2px solid var(--c-turq);
  background:#fff;color:var(--c-deep)!important;font-weight:800;text-decoration:none;
}

/* ---- Footer ---- */
footer{color:var(--c-muted);font-size:.95rem;margin:24px 0}

/* ---- Generic image safety ---- */
img{max-width:100%;height:auto}
