:root{
  --tentino:#E30613;
  --tentino-hover:#c20510;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --sticky-h:64px;
}
*{ -webkit-text-size-adjust:100%; text-rendering:optimizeLegibility; }
.bg-tentino{ background:var(--tentino); }
.text-tentino{ color:var(--tentino); }

.btn-tentino{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.8rem 1.15rem; border-radius:.9rem; font-weight:800;
  background:var(--tentino); color:#fff; text-decoration:none;
  box-shadow:0 8px 24px rgba(227,6,19,.25);
  transition:transform .15s, box-shadow .15s, background .15s;
}
.btn-tentino:hover{ background:var(--tentino-hover); transform:translateY(-1px); box-shadow:0 12px 28px rgba(227,6,19,.32); }
.btn-outline{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.72rem 1.05rem; border-radius:.9rem; font-weight:800;
  border:2px solid var(--tentino); color:var(--tentino); background:#fff; text-decoration:none;
  transition:.15s;
}
.btn-outline:hover{ background:#fff3f4; }

.card{ background:#fff; border:1px solid rgba(2,6,23,.06); border-radius:1.25rem; box-shadow:0 8px 24px rgba(2,6,23,.06); overflow:hidden; }
.card:hover{ box-shadow:0 14px 32px rgba(2,6,23,.10); }
.ratio-16-9{ aspect-ratio:16/9; } .ratio-4-3{ aspect-ratio:4/3; }
.img-cover{ width:100%; height:100%; object-fit:cover; display:block; }
.img-contain{ width:100%; height:100%; object-fit:contain; display:block; }
.equal-card{ display:flex; flex-direction:column; height:100%; }
.equal-card .card-body{ display:flex; flex-direction:column; gap:.5rem; flex:1; }
.no-scrollbar{ scrollbar-width:none; } .no-scrollbar::-webkit-scrollbar{ display:none; }

/* ===== HLAVIČKA ===== */
#siteHeader{
  position:relative;
  background:rgba(255,255,255,.95); border-bottom:1px solid rgba(2,6,23,.12);
  backdrop-filter:saturate(1.05) blur(6px); z-index:20;
}
@media (min-width:1024px){
  #siteHeader{ position:sticky; top:0; }
  html{ scroll-padding-top:84px; }
}

/* ===== HERO ===== */
.hero-wrap{ position:relative; isolation:isolate; min-height:clamp(420px, 62svh, 720px); overflow:visible; }
.hero-bg{ position:absolute; inset:0; z-index:-2; }
.hero-bg img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.hero-overlay{ position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.65) 100%); }
.hero-copy{ position:relative; min-height:inherit; display:flex; align-items:flex-start; padding:16px 0 16px; overflow:visible; }
.hero-title{ font-weight:800; line-height:1.26; margin:0; padding-top:.1em; overflow:visible; }
.hero-sub{ color:rgba(255,255,255,.95); }

/* ===== MOBIL – "těsnější" offset ===== */
@media (max-width:767px){
  .hero-title{ font-size:clamp(1.02rem, 3.6vw + .54rem, 1.62rem); line-height:1.28; }
  .hero-sub  { font-size:clamp(.96rem, 3vw, 1.06rem); }
  body{ padding-bottom: calc(var(--sticky-h) + var(--safe-bottom)); }
  .trust{ font-size:.95rem; gap:.6rem; padding:.5rem 0; }
  /* menší výchozí odsazení – zbytek dopočítá JS */
  .hero-content{ margin-top: max(56px, 6vh) !important; }
}
@media (max-width:360px){
  .hero-title{ font-size:1.46rem; }
  .hero-wrap{ min-height:clamp(390px, 55svh, 640px); }
  .hero-content{ margin-top: max(64px, 7.5vh) !important; }
}

/* ===== STICKY CTA (mobil) ===== */
.sticky-cta{ position:fixed; left:0; right:0; bottom:0; z-index:40; transform:translateY(110%); transition:transform .25s ease; }
.sticky-cta.show{ transform:translateY(0); }
@media(min-width:768px){ .sticky-cta{ display:none; } }
