:root{
  --ar-red:#A8151F;
  --ar-red2:#d4002a;
  --ar-blue:#005499;

  --ar-text:#1e1e1e;
  --ar-muted:#6c757d;

  --ar-bg:#ffffff;
  --ar-soft:#f3f3f3;
  --ar-border:rgba(0,0,0,.12);

  /* radius systém – decentní, ne pill */
  --ar-radius-sm:6px;
  --ar-radius:8px;
  --ar-radius-lg:12px;
}

/* === BASE === */
html,body{height:100%}
body{
  font-family:Poppins,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ar-text);
  background:var(--ar-bg);
  overflow-x:hidden;
}
a{text-decoration:none}
a:hover{text-decoration:none}
img{max-width:100%;height:auto;display:block}

/* === UTILITIES === */
.tm-section{padding:1.25rem 0}
.tm-soft{background:var(--ar-soft)}
.tm-muted{color:var(--ar-muted)}
.tm-shadow{box-shadow:0 6px 18px rgba(0,0,0,.08)}

/* === BUTTONS === */
.tm-btn-red{
  background:var(--ar-red);
  border:1px solid var(--ar-red);
  color:#fff;
  border-radius:var(--ar-radius);
  font-weight:700;
}
.tm-btn-red:hover,
.tm-btn-red:focus{
  background:var(--ar-red2);
  border-color:var(--ar-red2);
  color:#fff;
}

.tm-btn-outline-red{
  background:#fff;
  border:1px solid var(--ar-red);
  color:var(--ar-red);
  border-radius:var(--ar-radius);
  font-weight:700;
}
.tm-btn-outline-red:hover,
.tm-btn-outline-red:focus{
  background:var(--ar-red);
  color:#fff;
}

/* === FILTERS === */
.tm-filter{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  justify-content:center;
}
.tm-filter-btn{
  background:#fff;
  border:1px solid var(--ar-red);
  color:var(--ar-red);
  border-radius:var(--ar-radius);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.2px;
  padding:.45rem .9rem;
}
.tm-filter-btn:hover{
  background:var(--ar-red);
  color:#fff;
}
.tm-filter-btn.active,
.tm-filter-btn[aria-pressed="true"]{
  background:var(--ar-red);
  border-color:var(--ar-red);
  color:#fff;
}
.tm-filter-btn:focus{
  box-shadow:0 0 0 .2rem rgba(168,21,31,.18);
}

/* === CAR GRID + CARDS === */
.tm-car{
  border:1px solid var(--ar-border);
  border-radius:var(--ar-radius-lg);
  overflow:hidden;
  background:#fff;
}
.tm-car img{
  width:100%;
  height:190px;
  object-fit:contain;
  background:var(--ar-soft);
}
.tm-badge{
  position:absolute;
  right:.75rem;
  top:.75rem;
  background:var(--ar-blue);
  color:#fff;
  border-radius:var(--ar-radius-sm);
  padding:.35rem .55rem;
  font-weight:800;
  text-transform:uppercase;
  font-size:.75rem;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
}
.tm-card-title{
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.2px;
  line-height:1.25;
}
.tm-car .small{line-height:1.2}
.tm-car .btn{font-weight:700}

/* === HEADINGS / CONTENT === */
h1,h2,h3,h4{font-weight:800}
h1{letter-spacing:.4px}
h2,h3{color:var(--ar-text)}
p{line-height:1.7}

/* === NAV / HEADER HELPERS (BS5) === */
.tm-navbar{
  background:#fff;
  border-bottom:1px solid var(--ar-border);
}
.tm-brand img{
  height:44px;
  width:auto;
}
.tm-navlink{
  font-weight:700;
}
.tm-navlink:hover,
.tm-navlink.active{
  color:var(--ar-red);
}
.tm-nav-en{
  background:var(--ar-red);
  color:#fff !important;
  border-radius:var(--ar-radius);
  padding:.35rem .7rem;
}
.tm-nav-en:hover{
  background:var(--ar-red2);
}

/* === CONTACT STRIP === */
.tm-contact{
  background:#fff;
  border:1px solid var(--ar-border);
  border-radius:var(--ar-radius-lg);
  padding:1rem;
}
.tm-contact dl{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem 1rem;
  margin:0;
}
.tm-contact dt{
  margin:0;
  font-weight:800;
}
.tm-contact dd{
  margin:0;
}

/* === VIDEO === */
.tm-video{
  border:1px solid var(--ar-border);
  border-radius:var(--ar-radius-lg);
  overflow:hidden;
  background:#000;
}

/* === FOOTER === */
footer{
  background:var(--ar-red2);
  color:#fff;
}
footer a{color:#fff}
footer a:hover{opacity:.85}

/* === RESPONSIVE === */
@media(max-width:575.98px){
  .tm-brand img{height:40px}
  .tm-car img{height:170px}
}

/* CONTENT (sjednocení typografie v boxech) */
.tm-content{font-size:1rem;line-height:1.7}
.tm-content p{margin:0 0 .75rem 0}
.tm-content ul{margin:.25rem 0 0 0;padding-left:1.15rem;margin-bottom:0}
.tm-content li{margin:.2rem 0}
.tm-content h3{margin:0 0 .5rem 0}
.tm-content h3.h5{font-size:1.15rem}
.tm-content h3.h6{font-size:1.02rem}

@media (max-width:991.98px){
  .card iframe[title^="Mapa"]{min-height:320px}
}


