/* theme.css — Excelentt.cz
   Jednotný vzhled + stabilizace tabulkové (sliced) hlavičky
   (vyčištěno od duplicit, připraveno pro 1sloupcový index)
*/

/* (VOLITELNÉ) pokud nechceš dávat fonty do <head>, odkomentuj:
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;600;700&family=Merriweather:wght@400;700&display=swap');
*/

:root{
  --bg: #f4f6f8;
  --surface: #ffffff;
  --surface-2: #f9fafb;
  --text: #111827;
  --muted: #374151;
  --border: #e5e7eb;

  --brand: #0b5d47;
  --brand2: #084b3a;

  --radius: 14px;
  --shadow: 0 12px 30px rgba(0,0,0,.08);

  --max: 1200px;   /* šířka celé tabulky */
  --inner: 955px;  /* “vnitřek” pod hero obrázkem */
  --reading: 62ch; /* maximální čtecí šířka textu */

  /* kompatibilita se starším style.css (kdyby někde používal staré proměnné) */
  --pozadi: var(--bg);
  --povrch: var(--surface);
  --okraj: var(--border);
  --hlavni-barva: var(--text);
  --sekundarni-barva: var(--muted);
  --akcent: var(--brand);
  --akcent-hover: var(--brand2);
}

*,
*::before,
*::after{ box-sizing: border-box; }

html{
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body{
  margin:0;
  background: var(--bg);
  color: var(--text);

  font-family: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 18px;
  line-height: 1.75;

  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

@media (max-width: 640px){
  body{ font-size: 17px; }
}

/* u tebe blockquote často slouží jako wrapper */
blockquote{ margin:0; padding:0; }

/* odkazy */
a{
  color: var(--brand);
  text-decoration: underline;
  text-decoration-thickness: .12em;
  text-underline-offset: .18em;
}
a:hover{ color: var(--brand2); }
a:focus-visible{
  outline: 3px solid rgba(11,93,71,.35);
  outline-offset: 3px;
  border-radius: 10px;
}

/* obrázky – bez globálního zaoblování (kvůli sliced hlavičce) */
img{
  max-width: 100%;
  height: auto;
  border-radius: 0;
}

/* typografie */
h1,h2{
  font-family: "Merriweather", Georgia, "Times New Roman", serif;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--text);
  margin: .35em 0 .65em;
  text-align: center;
}
h1{ font-size: clamp(24px, 3.0vw, 36px); }
h2{ font-size: clamp(20px, 2.2vw, 28px); }

h3{
  font-weight: 700;
  margin: 1.1em 0 .4em;
  color: var(--text);
  font-size: 1.15rem;
}

p{ margin: .85em 0; color: var(--muted); }
strong{ color: var(--text); }

ul{ padding-left: 1.25rem; }
li{ margin: .35em 0; }

/* utility */
.center{ text-align: center !important; }
.small{ font-size: .95rem; }
.muted{ color: var(--muted) !important; }
.lead{ font-size: 1.05rem; }

/* =========================================================
   Tlačítka
   ========================================================= */
.cta, .btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;

  padding: 14px 22px;
  border-radius: 12px;

  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.2;

  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;

  transition: transform .08s ease, background-color .2s ease, border-color .2s ease;
  box-shadow: 0 10px 18px rgba(0,0,0,.14);
}

.cta, .btn{
  background: var(--brand);
  color: #fff !important;
}
.cta:hover, .btn:hover{ background: var(--brand2); }
.cta:active, .btn:active{ transform: translateY(1px); }

.btn--ghost{
  background: #fff;
  color: var(--brand) !important;
  border-color: var(--border);
  box-shadow: none;
}
.btn--ghost:hover{
  background: rgba(11,93,71,.06);
  border-color: rgba(11,93,71,.25);
}

/* CTA nahoře */
.top-call{
  text-align: center;
  margin: 18px 0;
  padding: 0 12px;
}
.top-call .cta{
  font-size: clamp(18px, 2.2vw, 22px);
}

/* =========================================================
   Tabulková (sliced) hlavička — stabilizace
   ========================================================= */
#Table_01,
#Obsah{
  width: 100%;
  max-width: var(--max);
  margin: 0 auto;
  border-collapse: collapse;
  border-spacing: 0;
  background: #fff;
}

/* odstranění "puzzle mezer" v prvních 3 řádcích */
#Table_01 > tbody > tr:nth-child(-n+3) td,
#Obsah   > tbody > tr:nth-child(-n+3) td{
  padding: 0 !important;
  line-height: 0;
  font-size: 0;
}
#Table_01 > tbody > tr:nth-child(-n+3) img,
#Obsah   > tbody > tr:nth-child(-n+3) img{
  display:block;
}

/* krajní buňky s &nbsp; (rowspan) */
#Table_01 > tbody > tr:first-child > td[rowspan],
#Obsah   > tbody > tr:first-child > td[rowspan]{
  padding: 0 !important;
  line-height: 0;
  font-size: 0;
}

/* =========================================================
   Karty / obsah
   ========================================================= */
.page-card{
  width: min(92%, 920px);
  margin: 18px auto 28px;
  padding: clamp(18px, 2.8vw, 34px);

  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

/* v kartách chceme nadpisy spíš vlevo */
.page-card h2{ text-align: left; }

/* čtecí šířka */
.page-card p,
.page-card ul{
  max-width: var(--reading);
  margin-left: auto;
  margin-right: auto;
}
.page-card p{ text-align: left; }

/* jemný oddělovač */
.divider{
  border: 0;
  border-top: 1px solid var(--border);
  margin: 26px auto;
  max-width: var(--reading);
}

/* =========================================================
   INDEX (row-home) — 1 sloupec, kratší řádky, lepší rozložení
   ========================================================= */
.row-home > td{ padding: 0; }

.home-hero{ text-align: center; }
.home-hero h1{
  font-size: clamp(22px, 2.25vw, 32px);
  line-height: 1.16;
  margin-top: 0;
  text-wrap: balance;
}
.home-subtitle{ font-size: 1.05rem; margin-top: .25em; }
.home-tagline{ margin-top: .75em; color: var(--text); }

/* tlačítka v úvodu */
.home-actions{
  margin-top: 18px;
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr;
  justify-items: center;
}
@media (min-width: 720px){
  .home-actions{ grid-template-columns: repeat(3, auto); }
}

/* zvýrazněný “rychlý box” */
.home-kicker{
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px 16px;
  max-width: var(--reading);
  margin: 16px auto 0;
  text-align: left;
}

/* Akordeon pro dlouhé texty */
details.accordion{
  max-width: var(--reading);
  margin: 16px auto;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #fff;
  padding: 0;
  overflow: hidden;
}
details.accordion > summary{
  cursor: pointer;
  list-style: none;
  padding: 14px 16px;
  font-weight: 800;
  color: var(--text);
  background: rgba(11,93,71,.05);
}
details.accordion[open] > summary{
  border-bottom: 1px solid var(--border);
}
details.accordion > summary::-webkit-details-marker{ display:none; }
details.accordion .accordion__body{
  padding: 14px 16px 18px;
}

/* dvousloupcový text (jen na širokých displejích) */
@media (min-width: 1000px){
  .two-columns{
    column-count: 2;
    column-gap: 28px;
  }
  .two-columns p{ break-inside: avoid; }
}

/* Kanceláře — karty */
.office-grid{
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr;
  max-width: var(--reading);
  margin: 0 auto;
}
@media (min-width: 820px){
  .office-grid{ grid-template-columns: repeat(3, 1fr); }
}
.office-card{
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px 14px 16px;
  background: #fff;
}
.office-card h3{
  margin-top: 0;
  text-align: left;
}
.office-card p{
  margin: .4em 0;
  text-align: left;
}
.office-card .btn{
  width: 100%;
  margin-top: 10px;
  box-shadow: none;
}

/* ikonky/loga v řadě */
.inline-icons{
  display: flex;
  gap: 12px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 12px 0 0;
}
.inline-icons a, .inline-icons img{ display: inline-block; }

/* footer (kdyby byl použit) */
footer{
  background: #111;
  color: #fff;
  text-align: center;
  padding: 2rem 1rem;
  font-size: 0.95rem;
}
footer a{ color: #fff; }

/* galerie */
.gallery{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  padding: 1rem 0;
}
/* ========= Kontakt – moderní karta ========= */
.page-card--contact{
  max-width: 980px;
  margin: 0 auto;
  padding: 26px 22px;
}

.contact-hero{
  display:flex;
  gap:16px;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
}

.contact-hero__title h1{
  margin:0 0 6px;
  letter-spacing:.2px;
}

.contact-hero__title .lead{
  margin:0;
  max-width: 56ch;
}

.contact-hero__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:stretch;
  justify-content:flex-end;
}

.btn__sub{
  display:block;
  font-size:.9em;
  opacity:.85;
  margin-top:2px;
}

/* „Proužek“ s rychlými čísly */
.contact-strip{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:10px;
  margin: 16px 0 6px;
}

.strip-item{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:12px 14px;
  background: rgba(255,255,255,.75);
}

.strip-item__k{
  font-size:.85em;
  color: rgba(0,0,0,.65);
  margin-bottom:4px;
}

.strip-item__v{
  font-size:1.06em;
  font-weight:700;
}

.section-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.section-head p{ margin:0; }

.office-grid--v2{
  margin-top: 12px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}

.office-card{
  border: 1px solid rgba(0,0,0,.09);
  border-radius: 18px;
  padding: 14px 14px 12px;
  background: rgba(255,255,255,.85);
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
}

.office-card--main{
  grid-column: span 3;
  padding: 16px 16px 14px;
}

.office-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom: 10px;
}

.office-card__head h3{
  margin:0;
}

.badge{
  display:inline-block;
  font-size:.78em;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(57,193,155,.16);
  border: 1px solid rgba(57,193,155,.35);
  margin-left: 8px;
  vertical-align: middle;
}

.office-card__actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding: 7px 10px;
  border-radius: 999px;
  text-decoration:none;
  border: 1px solid rgba(57,193,155,.45);
  background: rgba(57,193,155,.12);
  font-weight:700;
  font-size:.92em;
}

.chip--ghost{
  background: rgba(255,255,255,.75);
  border-color: rgba(0,0,0,.12);
  font-weight:600;
}

.office-meta{
  display:grid;
  gap: 10px;
  font-size: .98em;
}

.meta-row{
  display:grid;
  grid-template-columns: 24px 1fr;
  gap:10px;
  align-items:start;
}

.meta-ico{
  line-height:1.3;
  opacity:.9;
}

.sep{
  margin: 0 6px;
  opacity:.55;
}

.office-card__foot{
  margin-top: 12px;
}

/* Dokumenty */
.doc-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
  margin-top: 10px;
}

.doc-card{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.09);
  background: rgba(255,255,255,.85);
  text-decoration:none;
}

.doc-ico{
  font-size: 1.4em;
}

.doc-title{
  font-weight: 800;
}

.doc-sub{
  margin-left:auto;
  font-size:.9em;
  opacity:.7;
}

/* Dva sloupce v detailu */
.two-col{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px 18px;
}

/* Responsivita */
@media (max-width: 980px){
  .page-card--contact{ padding: 20px 14px; }
  .office-card--main{ grid-column: span 1; }
  .office-grid--v2{ grid-template-columns: 1fr; }
  .doc-grid{ grid-template-columns: 1fr; }
  .contact-strip{ grid-template-columns: 1fr; }
  .two-col{ grid-template-columns: 1fr; }
  .contact-hero__actions{ justify-content:flex-start; }
}

/* =========================================================
   Fotografie v kartách kanceláří
   (vložit na konec theme.css)
   ========================================================= */

.office-photo{
  display:block;
  margin: -14px -14px 12px;            /* “přetáhne” fotku až do okrajů karty */
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  position: relative;
  text-decoration: none;
}

/* větší fotka pro hlavní (širokou) kartu */
.office-card--wide .office-photo,
.office-card--main .office-photo{
  margin: -16px -16px 12px;
  border-radius: 18px;
}

.office-photo img{
  width: 100%;
  height: 170px;                        /* výška fotky u běžných karet */
  object-fit: cover;
  display: block;
  transform: scale(1);
  transition: transform .35s ease;
}

/* větší fotka u široké / hlavní karty */
.office-card--wide .office-photo img,
.office-card--main .office-photo img{
  height: 240px;
}

/* jemné ztmavení spodku (lepší čitelnost, modernější vzhled) */
.office-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(to bottom, rgba(0,0,0,0) 55%, rgba(0,0,0,.22) 100%);
  pointer-events:none;
}

.office-card:hover .office-photo img{
  transform: scale(1.03);
}

/* na mobilu trochu vyšší fotka */
@media (max-width: 980px){
  .office-photo img{ height: 190px; }
  .office-card--wide .office-photo img,
  .office-card--main .office-photo img{ height: 210px; }
}

/* Sliced hlavička: nesmí se responsivně škálovat po jednotlivých slicích */
#Table_01 > tbody > tr:nth-child(-n+3) img{
  max-width: none !important;
}

/* =========================================================
   1 sloupec + moderní vzhled pro staré oddíly (h3 + .skryvany)
   ========================================================= */

.page-card--wide{
  width: min(96%, var(--inner)); /* srovná se na vnitřní šířku 955px */
}

/* Moderní “accordion” vzhled pro tvé stávající h3 oddíly */
.legacy-accordion h3{
  cursor: pointer;
  text-decoration: none;          /* pryč s podtržením */
  margin: 12px 0 0;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(11,93,71,.05);
  font-weight: 800;
}

/* obsah oddílu */
.legacy-accordion .skryvany{
  margin: 0 0 12px;
  border: 1px solid var(--border);
  border-top: 0;
  border-radius: 0 0 12px 12px;
  padding: 14px 16px 18px;
  background: #fff;
}

/* lepší vzhled miniatur (expando galerie) */
.legacy-accordion img.expando{
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
  margin: 6px;
}

/* ===== Skupiny + moderní akordeon pro tvé h3/oddilX ===== */

.group-nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
  margin: 12px 0 22px;
}

.section-group{
  margin-top: 26px;
  padding-top: 8px;
}
.section-group + .section-group{
  border-top: 1px solid var(--border);
  padding-top: 26px;
}

/* nadpisy skupin vlevo (modernější než centrování) */
.section-group h2{
  text-align:left;
  margin-top: 0;
}

/* Akordeon vzhled pro tvoje EXISTUJÍCÍ <h3 onClick=...> */
.grouped h3{
  cursor: pointer;
  text-decoration: none !important;

  margin: 12px 0 0;
  padding: 14px 16px;

  border: 1px solid var(--border);
  border-radius: 12px;

  background: rgba(11,93,71,.05);
  font-weight: 800;
}

.grouped h3:hover{
  border-color: rgba(11,93,71,.28);
  background: rgba(11,93,71,.07);
}

.grouped .skryvany{
  margin: 0 0 12px;
  padding: 14px 16px 18px;

  border: 1px solid var(--border);
  border-top: 0;
  border-radius: 0 0 12px 12px;

  background: #fff;
}

/* aby divy s align="left" nebyly divné */
.grouped .skryvany div[align="left"]{ text-align:left; }

/* galerie miniatur (expando) – ať nevypadá „z roku 2009“ */
.grouped img.expando{
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
  margin: 6px;
}

/* =========================================================
   Sticky zelené volací CTA (na všech stránkách)
   ========================================================= */
.top-call{
  position: sticky;
  top: 0;
  z-index: 10000;
  padding: 10px 12px;
  background: rgba(244,246,248,.88);
  backdrop-filter: blur(10px);
}

.cta--call{
  width: min(100%, var(--max));
  margin: 0 auto;

  border-radius: 18px;
  padding: 16px 18px;

  background: linear-gradient(90deg, var(--brand), #0f8b6a);
  border: 0;

  color: #fff !important;
  font-weight: 900;
  letter-spacing: .2px;
  text-decoration: none;

  box-shadow: 0 14px 34px rgba(0,0,0,.22);
}

.cta--call:hover{
  transform: translateY(-1px);
  filter: brightness(1.02);
}

.cta--call:active{
  transform: translateY(0);
}

/* =========================================================
   Akordeon (h3 onclick + .skryvany) – modernější + zelený akcent
   ========================================================= */
h3[onclick]{
  display: flex;
  align-items: center;
  gap: 12px;

  margin: 14px 0 0;
  padding: 16px 18px;

  border-radius: 16px;
  border: 1px solid rgba(11,93,71,.18);
  background: linear-gradient(180deg, rgba(11,93,71,.10), rgba(11,93,71,.04));
  box-shadow: 0 10px 22px rgba(0,0,0,.06);

  text-decoration: none !important;
}

h3[onclick]::before{
  content:"";
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #39c19b;
  flex: 0 0 10px;
}

h3[onclick]::after{
  content:"▾";
  margin-left: auto;
  opacity: .65;
  transition: transform .2s ease;
}

h3[onclick].open::after{
  transform: rotate(180deg);
}

.skryvany{
  border: 1px solid rgba(11,93,71,.14);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 22px rgba(0,0,0,.06);
  padding: 16px 18px;
  margin-top: 10px;
}

/* =========================================================
   CTA — horní volání (Zavolejte ZDARMA)
   (vlož na konec theme.css)
   ========================================================= */

.top-call{
  position: sticky;
  top: 0;
  z-index: 2000;

  margin: 0;              /* zruší mezery nahoře */
  padding: 10px 12px;

  background: rgba(255,255,255,.88);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.cta.cta--call{
  display: flex;          /* aby šla šířka + centrování */
  justify-content: center;
  align-items: center;
  gap: 10px;

  width: min(100%, var(--max));
  margin: 0 auto;

  padding: 14px 18px;
  border-radius: 16px;

  background: linear-gradient(90deg, var(--brand), var(--brand2)) !important;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 14px 34px rgba(0,0,0,.18);

  font-weight: 900;
  letter-spacing: .2px;
}

.cta.cta--call:hover{
  background: linear-gradient(90deg, var(--brand), var(--brand2)) !important;
  filter: brightness(1.04);
}

.cta.cta--call:active{
  transform: translateY(1px);
}


/* ===== CTA – volání (horní lišta) ===== */
.top-call{
  position: sticky;
  top: 0;
  z-index: 9999;
  padding: 10px 12px;
  text-align: center;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(0,0,0,.08);
}

/* hlavní styl tlačítka */
.cta--call{
  display: inline-block;
  width: min(955px, 100%);
  padding: 12px 16px;
  border-radius: 999px;
  background: var(--accent, #16a34a);
  color: #fff !important;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(0,0,0,.16);
}

.cta--call:hover{
  filter: brightness(.96);
}

.cta--call:active{
  transform: translateY(1px);
}

.cta--call:focus-visible{
  outline: 3px solid rgba(22,163,74,.35);
  outline-offset: 3px;
}

/* mobil: ať je to pohodlně „na celou šířku“ */
@media (max-width: 520px){
  .cta--call{
    display: block;
    border-radius: 14px;
  }
}

/* ================================
   QUICK FIX – zelená CTA + centrování + chips
   (vložit na konec theme.css)
=================================== */

:root{
  /* Zelená z volacího tlačítka (podle screenshotu) */
  --brand-green: #0b5d47;
  --brand-green-dark: #083d2f;

  /* když někde používáš var(--accent), nastavíme ho na zelenou */
  --accent: var(--brand-green);
}

/* Horní volací pruh */
.top-call{
  position: sticky;
  top: 0;
  z-index: 9999;
  padding: 10px 12px;
  background: #fff;
}

/* Zelené volací tlačítko */
.cta--call{
  display: block;
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 14px;
  border-radius: 12px;
  background: var(--brand-green);
  color: #fff;
  text-align: center;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
  letter-spacing: .2px;
}
.cta--call:hover,
.cta--call:focus{
  text-decoration: none;
  filter: brightness(1.06);
}

/* 1) Nadpis pod horním pruhem – vystředit H1 (H2 už ti sedí) */
.page-title{
  text-align: center;
}
.page-title h1,
.page-title h2{
  text-align: center;
}

/* 2) Nadpis + podnadpis v kartě pod obrázkem – vystředit */
.content-card > h1,
.content-card > p.lead{
  text-align: center;
}

/* "Objednat služby online" jako zelené tlačítko s bílým textem */
.kontakt a[href^="formular"]{
  display: inline-block;
  margin-top: 10px;
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--brand-green);
  color: #fff;
  font-weight: 900;
  text-decoration: none;
}
.kontakt a[href^="formular"]:hover,
.kontakt a[href^="formular"]:focus{
  text-decoration: none;
  filter: brightness(1.06);
}

/* Navigační tlačítka (chips) – zelené s bílým textem */
.group-nav .chip{
  display: inline-block;
  padding: 9px 14px;
  border-radius: 999px;
  background: var(--brand-green);
  border: 1px solid var(--brand-green);
  color: #fff;
  font-weight: 900;
  text-decoration: none;
}
.group-nav .chip:hover,
.group-nav .chip:focus{
  text-decoration: none;
  filter: brightness(1.06);
}

/* Nadpisy sekcí (Převoz zesnulého, Pohřby, …) – tmavě zelené */
.content-card h2{
  color: var(--brand-green-dark);
}

/* ===== NAV "chips" jako obyčejný text (tmavě zelený) ===== */
.group-nav{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center; /* když chceš vlevo, dej left */
  align-items:center;
  margin: 10px 0 18px;
}

.group-nav .chip{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;

  color: var(--brand-green-dark, #083d2f) !important;
  font-weight: 800;
  text-decoration: none;
}

.group-nav .chip:hover,
.group-nav .chip:focus{
  text-decoration: underline;
}

/* ===== QUICK FIX (brand green + layout tweaks) ===== */
:root{
  /* zelená z tvého volacího tlačítka */
  --accent: #0B5D47;

  /* stejné/odvozené odstíny pro texty */
  --brand-green: #0B5D47;
  --brand-green-dark: #005048;
}

/* === Zelené volací tlačítko nahoře === */
.top-call{
  padding: 10px 0 14px;
}

.top-call .cta--call{
  display: block;
  width: calc(100% - 24px);
  max-width: 1200px;
  margin: 0 auto;

  padding: 10px 16px;
  border-radius: 10px;

  background: var(--brand-green);
  color: #fff;

  text-align: center;
  font-weight: 800;
  text-decoration: none;

  box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

.top-call .cta--call:hover{
  filter: brightness(1.05);
  text-decoration: none;
}

/* === Vycentrování nadpisů: nahoře pod call barem + pod obrázkem v kartě === */
.page-title{
  text-align: center;
}

.page-title h1,
.page-title h2,
.content-card h1,
.content-card .lead{
  text-align: center !important;
}

/* === "Objednat služby online" jako zelené tlačítko s bílým textem === */
/* (platí jen pro přímý odkaz uvnitř .kontakt = ten druhý odkaz, ne telefon v <p>) */
.kontakt > a{
  display: inline-block;
  margin-top: 6px;

  padding: 10px 14px;
  border-radius: 10px;

  background: var(--brand-green);
  color: #fff !important;

  font-weight: 800;
  text-decoration: none;
}

.kontakt > a:hover{
  filter: brightness(1.05);
  text-decoration: none;
}

/* === Rychlá navigace: místo "chipů" jen text tmavě zeleně === */
.group-nav{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  justify-content: center;
  margin: 18px 0 8px;
}

.group-nav .chip{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;

  color: var(--brand-green-dark) !important;

  font-family: Georgia, "Times New Roman", serif;
  font-weight: 800;
  font-size: 1.2rem;
  line-height: 1.2;

  text-decoration: none;
}

.group-nav .chip:hover,
.group-nav .chip:focus-visible{
  text-decoration: underline;
}

/* === Nadpisy sekcí (Pohřby, Vsypy, ...) tmavě zeleně === */
.section-group > h2{
  color: var(--brand-green-dark);
}

/* =========================
   QUICK FIX – Excelentt CTA + green typography
   vloženo na konec theme.css
   ========================= */

:root{
  /* zelená z tvého vzoru + tlačítka */
  --brand: #0b5d47;
  --brand-dark: #114e45;

  /* aby odkazy nebyly modré (a navázalo to na tvé a{ color:var(--accent);} ) */
  --accent: var(--brand);

  /* „pěkný“ serif styl jako na vzoru */
  --heading-font: Georgia, "Times New Roman", serif;
}

/* ===== Top call bar ===== */
.top-call{
  max-width: 1200px;
  margin: 10px auto 0;
  padding: 0 10px;
}

a.cta--call{
  display: block;
  width: 100%;
  box-sizing: border-box;

  text-align: center;
  background: var(--brand);
  color: #fff;

  font-weight: 800;
  font-size: 18px;
  line-height: 1.2;

  padding: 12px 14px;
  border-radius: 10px;
  text-decoration: none;

  box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

a.cta--call:hover{
  text-decoration: none;
  filter: brightness(1.05);
}

/* ===== Zarovnání H1/H2 nahoře (pod zeleným pruhem) ===== */
.page-title,
.page-title h1,
.page-title h2{
  text-align: center !important;
}

.page-title h1{
  font-family: var(--heading-font);
  color: var(--brand-dark);
}

/* ===== Zarovnání H1 + lead textu v kartě (pod obrázkem) ===== */
.content-card > h1,
.content-card > .lead{
  text-align: center;
}

.content-card > h1{
  font-family: var(--heading-font);
  color: var(--brand-dark);
}

/* ===== Nadpisy sekcí (Převoz zesnulého, Pohřby...) tmavě zelené ===== */
.section-group > h2{
  color: var(--brand-dark);
  font-family: var(--heading-font);
  text-align: center;
}

/* ===== Objednat služby online – zelené tlačítko, bílý text ===== */
.kontakt .cta--order{
  display: inline-block;
  margin-top: 8px;

  background: var(--brand);
  color: #fff !important;

  padding: 10px 16px;
  border-radius: 12px;

  font-weight: 800;
  text-decoration: none;

  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}

.kontakt .cta--order:hover{
  text-decoration: none;
  filter: brightness(1.05);
}

/* ===== Rychlá navigace: z "chipů" udělej text v tmavě zelené + serif ===== */
.group-nav{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin: 18px 0 8px;
}

.group-nav .chip{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;

  color: var(--brand-dark) !important;
  font-family: var(--heading-font);
  font-weight: 700;

  font-size: 1.15rem;
  text-decoration: none;
}

.group-nav .chip:hover{
  text-decoration: underline;
}

@media (max-width: 600px){
  a.cta--call{ font-size: 16px; }
  .group-nav .chip{ font-size: 1.05rem; }
}

/* ===== Naše kanceláře – rozbalovací seznam ===== */
.office-accordion{
  margin: 6px 0 0 !important;
}

.office-accordion details{
  margin: 8px 0 !important;
}

/* klikací text (Sokolov/Chodov/Cheb) */
.office-accordion summary{
  cursor: pointer !important;
  color: #0b4f3a !important;                 /* tmavě zelená */
  font-weight: 600 !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  list-style: none !important;              /* odstraní defaultní styl */
}

/* schová defaultní šipku v Chrome/Safari */
.office-accordion summary::-webkit-details-marker{
  display: none;
}

/* vlastní šipka */
.office-accordion summary::after{
  content: "▾";
  margin-left: 10px;
  opacity: .7;
  display: inline-block;
  transform: translateY(-1px);
}
.office-accordion details[open] summary::after{
  transform: translateY(-1px) rotate(180deg);
}

/* panel s obsahem */
.office-accordion .office-panel{
  margin-top: 10px !important;
  padding: 12px 14px !important;
  border: 1px solid var(--border, #e5e7eb) !important;
  border-radius: 12px !important;
  background: #f9fafb !important;
  text-align: left !important;
}
.office-accordion .office-panel a{
  font-weight: 700 !important;
}

/* ============================
   EXCELENTT – rychlé opravy UI
   (vlož na ÚPLNÝ KONEC theme.css)
   ============================ */

:root{
  /* tmavě zelená jako nadpisy */
  --green-dark: #00504A;

  /* olivová jako text „Služby“ (pro ikonky) */
  --olive: #9EA74A;

  /* serif font podobný tomu z tvého screenshotu */
  --serif: Georgia, "Times New Roman", serif;

  /* protože mažeš inline --accent (modrou), nastavíme akcent tady */
  --accent: var(--green-dark);
}

/* === TOP call CTA (kdyby to někde přebíjelo) === */
.top-call{
  padding: 10px 12px;
  background: transparent;
}
.cta--call{
  display:block;
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 16px;
  background: var(--green-dark);
  color: #fff;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(0,0,0,.15);
}
.cta--call:hover{ filter: brightness(.97); }

/* === Nadpisy nahoře i v kartě – na střed + zelený serif === */
.page-title h1,
.page-title h2,
.content-card > h1,
.content-card > .lead{
  text-align: center !important;
}

.page-title h1,
.content-card > h1{
  font-family: var(--serif) !important;
  color: var(--green-dark) !important;
}

/* === Nadpisy sekcí (Pohřby, Převoz…) === */
.content-card h2,
.section-group > h2{
  font-family: var(--serif) !important;
  color: var(--green-dark) !important;
  text-align: center !important;
}

/* === "Objednat služby online" jako zelené tlačítko === */
/* (bere jen přímý <a> uvnitř .kontakt – tedy ne telefon v <p>) */
.kontakt > a{
  display: inline-block !important;
  margin-top: 8px !important;
  padding: 10px 14px !important;
  background: var(--green-dark) !important;
  color: #fff !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}
.kontakt > a:hover{ filter: brightness(.97); }

/* === Navigace (chip) – žádné pilulky, jen text === */
.group-nav{
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 6px 18px !important;
  padding: 0 !important;
  margin: 14px 0 18px !important;
}

.group-nav .chip{
  display: inline-block !important;
  padding: 0 !important;
  margin: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;

  font-family: var(--serif) !important;
  font-size: 17px !important;   /* MENŠÍ, aby se to neslévalo */
  font-weight: 500 !important;  /* netučné */
  line-height: 1.25 !important;

  color: var(--green-dark) !important;
  text-decoration: none !important;
}

.group-nav .chip:hover,
.group-nav .chip:focus{
  text-decoration: underline !important;
}

@media (max-width: 700px){
  .group-nav .chip{ font-size: 16px !important; }
}

/* === Rozbalovací "Naše kanceláře" === */
.offices{
  margin: 8px 0 16px;
}

.office{
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}

.office + .office{ margin-top: 10px; }

.office > summary{
  list-style: none;
  cursor: pointer;
  padding: 12px 14px;
  background: #f9fafb;

  font-family: var(--serif);
  font-size: 18px;
  font-weight: 600;
  color: var(--green-dark);

  position: relative;
}

.office > summary::-webkit-details-marker{ display:none; }

.office > summary::after{
  content: "▾";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  opacity: .6;
  transition: transform .2s ease;
}

.office[open] > summary::after{
  transform: translateY(-50%) rotate(180deg);
}

.office__content{
  padding: 12px 14px 14px;
  text-align: left;
}

.office__phone{
  display: inline-flex;
  align-items: center;
  gap: 8px;

  text-decoration: none;
  font-weight: 700;
  color: var(--green-dark);
}

.office__phone .ico-phone{
  width: 22px;
  height: 22px;
  flex: none;
  color: var(--olive); /* ikonka v olivové jako "Služby" */
}

.office__hours{
  margin-top: 10px;
}

.office__hoursTitle{
  font-weight: 700;
  margin-bottom: 4px;
}

/* === Kanceláře: ikonka vlevo, šipka vpravo (fix) === */
.offices details > summary{
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;

  padding: 12px 14px !important;
  background: #f9fafb !important;
  border: 1px solid var(--border, #e5e7eb) !important;
  border-radius: 14px !important;

  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--green-dark, #00504A) !important;
}

/* skryje defaultní trojúhelník vlevo */
.offices details > summary::-webkit-details-marker{ display:none !important; }
.offices details > summary::marker{ content:"" !important; }

/* naše šipka vpravo */
.offices details > summary::after{
  content: "▾";
  margin-left: auto;
  opacity: .6;
  transition: transform .2s ease;
}
.offices details[open] > summary::after{
  transform: rotate(180deg);
}

/* malá ikonka */
.offices .office__ico{
  width: 16px !important;
  height: 16px !important;
  flex: none !important;
}

/* rozbalený panel */
.offices details[open] > summary{
  border-radius: 14px 14px 0 0 !important;
}

.offices .office__content{
  border: 1px solid var(--border, #e5e7eb);
  border-top: 0;
  border-radius: 0 0 14px 14px;
  padding: 12px 14px;
}

/* telefon */
.offices .office__phone{
  display: inline-block;
  margin-top: 8px;
  font-weight: 700;
  color: var(--green-dark, #00504A);
  text-decoration: none;
}
.offices .office__phone:hover{ text-decoration: underline; }

/* ================================
   EXCELENTT – UI úpravy (rychlý fix)
   ================================ */

:root{
  --brand-green:#0b5d47;                 /* tmavě zelená (jako horní call lišta) */
  --brand-olive:#bac172;                 /* barva jako "Služby" */
  --brand-serif: Georgia, "Times New Roman", Times, serif;

  /* přepíše případné staré nastavení akcentu */
  --accent: var(--brand-green) !important;
}

/* centrování hlavních textů */
.page-title h1,
.page-title h2,
.content-card > h1,
.content-card > .lead{
  text-align:center !important;
}

.content-card > h1{
  font-family:var(--brand-serif);
  font-weight:700;
  color:var(--brand-green);
}

.content-card > .lead{
  font-family:var(--brand-serif);
  font-weight:400;
}

/* H2 nadpisy sekcí tmavě zelené */
.section-group > h2,
.content-card h2{
  color:var(--brand-green);
  font-family:var(--brand-serif);
  font-weight:700;
  text-align:center;
}

/* "Objednat služby online" jako zelené tlačítko */
.kontakt a:last-child{
  display:inline-block;
  margin-top:12px;
  padding:12px 18px;
  border-radius:999px;
  background:var(--brand-green);
  color:#fff !important;
  text-decoration:none;
  font-family:var(--brand-serif);
  font-weight:700;
}
.kontakt a:last-child:hover{
  filter:brightness(.95);
  text-decoration:none;
}

/* Rychlá navigace (chips) -> pouze text */
.group-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 22px;
  margin:18px 0 12px;
}

.group-nav .chip{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;

  color:var(--brand-green) !important;
  font-family:var(--brand-serif);
  font-weight:500; /* ne tučné */
  font-size:clamp(14px, 1.5vw, 17px); /* menší, aby se to neslévalo */
  line-height:1.2;
  text-decoration:none;
}
.group-nav .chip:hover{
  text-decoration:underline;
}

/* Nadpisy akordeonu (Jak objednat pohřeb?) – méně tučné, serif */
h3[onclick]{
  font-family:var(--brand-serif);
  font-weight:600 !important;     /* méně než 800 */
  font-size:1rem !important;
  color:var(--brand-green) !important;
}
h3[onclick]::after{
  opacity:.6;
}

/* Naše kanceláře (details) */
.offices{
  margin:10px 0 18px;
  display:grid;
  gap:8px;
}

.office{
  border:1px solid var(--border, #e5e7eb);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}

.office summary{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 14px;
  cursor:pointer;
  background:#f9fafb;

  font-family:var(--brand-serif);
  font-size:1rem;
  font-weight:600;
  color:var(--brand-green);
}

/* schovat default šipku (abychom měli ikonku před šipkou) */
.office summary::-webkit-details-marker{ display:none; }
.office summary::marker{ content:""; }

.office-ico{
  width:18px;
  height:18px;
  flex:0 0 18px;
  color:var(--brand-olive);  /* barva jako "Služby" */
}

.office-arr{
  width:12px;
  flex:0 0 12px;
  display:inline-grid;
  place-items:center;
  opacity:.7;
}
.office-arr::before{
  content:"▸";
  font-size:12px;
  line-height:1;
}
.office[open] .office-arr::before{
  content:"▾";
}

.office__body{
  padding:12px 14px 14px;
  line-height:1.5;
}

.office__phone{
  display:inline-block;
  margin-top:4px;
  font-weight:700;
  color:var(--brand-green);
}

.office__hours{
  margin-top:8px;
  color:var(--muted, #6b7280);
}

/* ================================
   MOBILE / TABLET ladění
   ================================ */

/* sticky horní volací lišta – na mobilu je to super praktické */
.top-call{
  position: sticky;
  top: 0;
  z-index: 9999;
  padding-top: calc(8px + env(safe-area-inset-top));
}

/* mobilní typografie + rytmus */
@media (max-width: 820px){

  /* obecně menší odsazení karet */
  .content-wrap{ padding: 12px 10px !important; }
  .content-card{ padding: 16px 14px !important; }

  /* horní H1/H2 nad slideshow i v kartě */
  .page-title{ padding: 10px 0 8px !important; text-align:center; }
  .page-title h1{
    font-size: 26px !important;
    line-height: 1.15 !important;
  }
  .page-title h2{
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .content-card > h1{
    font-size: 26px !important;
    line-height: 1.15 !important;
  }
  .content-card > .lead{
    font-size: 1rem !important;
  }

  /* hero call – na mobilu do sloupce */
  .hero-call{ padding: 12px 12px !important; }
  .hero-call__row{
    flex-direction: column !important;
    gap: 6px !important;
    align-items: center !important;
  }

  /* zelené call tlačítko */
  .cta--call{
    font-size: 15px !important;
    padding: 10px 12px !important;
    border-radius: 999px !important;
  }

  /* rychlá navigace – na mobilu menší a čitelnější */
  .group-nav{
    gap: 8px 16px !important;          /* víc prostoru, ať se to neslévá */
    margin: 14px 0 10px !important;
  }
  .group-nav .chip{
    font-size: 14px !important;        /* menší než desktop */
    font-weight: 500 !important;       /* netučné */
    padding: 6px 8px !important;       /* větší klikací plocha, ale pořád "text" */
  }

  /* sekční nadpisy */
  .section-group > h2,
  .content-card h2{
    font-size: 22px !important;
    margin: 18px 0 10px !important;
  }

  /* akordeon (h3) – příjemnější na mobilu */
  h3[onclick]{
    font-size: 0.98rem !important;
    padding: 12px 14px !important;
  }
  h3[onclick]::after{
    right: 12px !important;
  }
  .skryvany{
    padding: 12px 14px !important;
  }

  /* dokumenty do 1 sloupce */
  .doc-grid{
    grid-template-columns: 1fr !important;
  }

  /* kanceláře (details) */
  .office summary{
    padding: 10px 12px !important;
    gap: 8px !important;
    font-size: 0.98rem !important;
    line-height: 1.25 !important;
  }
  .office-ico{
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px !important;
  }
  .office-arr{
    width: 10px !important;
    flex: 0 0 10px !important;
  }
  .office__body{
    padding: 10px 12px 12px !important;
  }
}

/* extra malé telefony */
@media (max-width: 420px){

  .page-title h1{ font-size: 24px !important; }
  .page-title h2{ font-size: 14px !important; }

  .content-card > h1{ font-size: 24px !important; }

  .group-nav{
    gap: 6px 14px !important;
  }
  .group-nav .chip{
    font-size: 13.5px !important;
    padding: 6px 6px !important;
  }

  .section-group > h2,
  .content-card h2{
    font-size: 20px !important;
  }

  .cta--call{
    font-size: 14.5px !important;
  }
}

/* === NONSTOP linka (olivová + patkový font + ikonka telefonu) === */
:root{
  --olive: #ADB55E; /* barva jako "Služby" */
}

/* řádek NONSTOP linky */
.kontakt .nonstop-line{
  margin: 0 0 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;

  font-family: Georgia, "Times New Roman", Times, serif !important;
  font-size: 1.05rem !important;
  line-height: 1.25 !important;

  color: var(--olive) !important;
}

/* ikonka telefonu */
.kontakt .nonstop-line__ico{
  width: 18px !important;
  height: 18px !important;
  display: inline-block !important;
  flex: 0 0 18px !important;

  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;

  /* SVG ikonka – rovnou olivová */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ADB55E'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.07 21 3 13.93 3 5a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.46.57 3.59a1 1 0 0 1-.25 1.01l-2.2 2.19z'/%3E%3C/svg%3E") !important;
}

/* text NONSTOP linka */
.kontakt .nonstop-line__label{
  color: var(--olive) !important;
  font-weight: 400 !important; /* nemusí být tučné */
}

/* telefonní číslo */
.kontakt .nonstop-line__phone{
  color: var(--olive) !important;
  font-weight: 800 !important; /* tučně */
  text-decoration: none !important;
  border: 0 !important;
  background: none !important;
  padding: 0 !important;
}

.kontakt .nonstop-line__phone:hover{
  text-decoration: underline !important;
}

/* mobil – ať se to hezky láme */
@media (max-width: 520px){
  .kontakt .nonstop-line{
    font-size: 1rem !important;
    gap: 8px !important;
  }
}

/* === NONSTOP + objednání (oprava vzhledu a klikatelnosti) === */
:root{
  /* olivová jako text „Služby“ (doladěno podle screenshotu) */
  --olive:#ABB45C;

  /* tmavě zelená jako horní volací lišta (když už ji máš jinde, klidně to smaž) */
  --green-dark:#0f5d4a;

  /* patkový font */
  --serif: Georgia, "Times New Roman", Times, serif;
}

/* celé zarovnání na střed */
.kontakt.kontakt--cta{
  text-align:center;
}

/* NONSTOP řádek: střed, olivová, patkový font */
.kontakt.kontakt--cta .nonstop-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 14px;
  color:var(--olive);
  font-family:var(--serif);
}

/* malá ikonka telefonu */
.kontakt.kontakt--cta .nonstop-line__icon{
  width:16px;
  height:16px;
  display:inline-block;
  flex:0 0 16px;
  fill:currentColor; /* bude olivová */
  transform:translateY(1px);
}

/* text NONSTOP linka */
.kontakt.kontakt--cta .nonstop-line__label{
  color:var(--olive);
  font-weight:600;
  font-size:1.02rem;
}

/* číslo: olivové, tučnější, malinko větší, bez bubliny */
.kontakt.kontakt--cta .nonstop-line__phone{
  color:var(--olive);
  font-weight:800;
  font-size:1.12rem;

  /* klíčové: zruší „bublinu“, i kdyby ji dělaly starší styly */
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;

  text-decoration:none;
  border-bottom:2px solid currentColor;
}
.kontakt.kontakt--cta .nonstop-line__phone:hover{
  border-bottom-color:transparent;
}

/* ✅ Objednání online = zase klikací zelené tlačítko */
.kontakt.kontakt--cta .cta.cta--order{
  display:block;
  width:100%;
  max-width:640px;
  margin:0 auto;

  background:var(--green-dark);
  color:#fff;
  text-decoration:none;

  padding:14px 18px;
  border-radius:999px;

  font-family:var(--serif);
  font-weight:700;
  letter-spacing:.2px;
  text-align:center;
}
.kontakt.kontakt--cta .cta.cta--order:hover{
  filter:brightness(1.06);
}

/* Mobil: ať se to neslévá a dobře se trefuje */
@media (max-width: 520px){
  .kontakt.kontakt--cta .nonstop-line__label{ font-size:1rem; }
  .kontakt.kontakt--cta .nonstop-line__phone{ font-size:1.10rem; }
  .kontakt.kontakt--cta .cta.cta--order{ padding:13px 16px; }
}

/* === NONSTOP linka (oprava obřího černého sluchátka + olivový styl) === */
:root{
  --olive: #b4bc68;     /* olivová jako text "Služby" */
  --green-dark: #0b5a45; /* tmavě zelená jako horní call bar */
}

.kontakt--nonstop{
  text-align:center !important;
  background-image:none !important; /* kdyby se ti ikonka nastavila jako background */
}

/* Schová jakýkoliv původní obří obrázek/svg sluchátka v tomto boxu */
.kontakt--nonstop img,
.kontakt--nonstop svg:not(.ico-phone){
  display:none !important;
}

.kontakt--nonstop .nonstop-line{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;

  margin:0 0 14px !important;

  font-family: Georgia, "Times New Roman", serif !important; /* patkový font */
  font-size:16px !important;
  line-height:1.2 !important;

  color:var(--olive) !important;
}

.kontakt--nonstop .ico-phone{
  width:18px !important;
  height:18px !important;
  flex:0 0 auto !important;
  color:var(--olive) !important; /* SVG jede přes currentColor */
}

.kontakt--nonstop .nonstop-label{
  font-weight:400 !important;   /* nemusí být tučné */
  color:var(--olive) !important;
}

.kontakt--nonstop .nonstop-phone{
  font-weight:700 !important;   /* číslo tučně */
  font-size:18px !important;    /* o chlup větší než label */
  color:var(--olive) !important;

  background:transparent !important; /* odstraní bublinu */
  padding:0 !important;
  border-radius:0 !important;

  text-decoration:none !important;
  border-bottom:1px solid currentColor;
}

.kontakt--nonstop .nonstop-phone:hover{
  opacity:.85;
}

/* Zpět + styl pro "Objednat služby online" (zelené, bílé písmo) */
.kontakt--nonstop .cta--order{
  display:block !important;
  width:100% !important;
  max-width:680px !important;
  margin:0 auto !important;

  padding:14px 18px !important;
  border-radius:999px !important;

  background:var(--green-dark) !important;
  color:#fff !important;

  font-family: Georgia, "Times New Roman", serif !important;
  font-weight:700 !important;

  text-decoration:none !important;
}

/* Mobil */
@media (max-width:480px){
  .kontakt--nonstop .nonstop-line{ gap:8px !important; }
  .kontakt--nonstop .nonstop-phone{ font-size:17px !important; }
}

/* =================================================
   MOBIL – bezpečné menu + neschová slideshow
   ================================================= */

.mobile-site-nav{ display:none; }

@media (max-width: 1024px){

  /* nové mobilní menu zobrazit */
  .mobile-site-nav{
    display:block;
    padding:14px 10px;
    text-align:center;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--border);
  }

  .mobile-site-nav__row{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
    margin: 8px 0;
  }

  .mobile-site-nav a{
    font-family: "Merriweather", Georgia, "Times New Roman", serif;
    font-size:15px;
    color: var(--brand);
    text-decoration:none;
    font-weight:700;
    padding:6px 10px;
    border-radius:999px;
  }

  .mobile-site-nav a:hover{
    background: rgba(11,93,71,.08);
  }

  .mobile-site-nav__langs a{
    border:1px solid #dcdcdc;
    font-size:14px;
  }

  /* NErozbíjej tabulku na blocky – jen ji zúžíme */
  #Table_01{
    width:100% !important;
    max-width: 1200px;
    height:auto !important;
  }

  /* Skryj jen staré obrázkové hlavičkové řádky (většinou 1–3)
     = jazykové vlajky + staré menu z obrázků
     (slideshow je až další řádek => zůstane) */
  #Table_01 > tbody > tr:nth-child(1),
  #Table_01 > tbody > tr:nth-child(2),
  #Table_01 > tbody > tr:nth-child(3){
    display:none;
  }

  /* Odstraní boční “prázdné” buňky (rowspan=9), aby nebyly okraje */
  #Table_01 td[rowspan="9"]{
    display:none;
  }

  /* slideshow NEschováme, jen pojistíme overflow */
  #slideshowHolder{
    max-width:100%;
    overflow:hidden;
  }
}

/* FIX: hlavičková tabulka nesmí být natažená na 100% na velkých monitorech */
#Table_01{
  width: 1200px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  border-collapse: collapse;
  border-spacing: 0;
}
#Table_01 td{ padding: 0 !important; }
#Table_01 img{ display:block; }

/* na menších obrazovkách ať se vejde */
@media (max-width: 1240px){
  #Table_01{
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* =========================
   THEME: klidný moderní obsah
   (aplikuje se jen tam, kde máš .container a .content)
   ========================= */

:root{
  --brand:#0b5d47;
  --brand2:#084b3a;
  --bg:#f4f6f8;
  --surface:#ffffff;
  --text:#0f172a;
  --muted:#334155;
  --border:#e5e7eb;
  --shadow:0 14px 34px rgba(0,0,0,.08);
  --radius:16px;
  --font-body:"Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-head:"Merriweather", Georgia, "Times New Roman", serif;
}

/* pozadí stránky + základní typografie */
body{
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--text);
  line-height: 1.75;
  font-size: 18px;
}

/* odkazy */
a{ color: var(--brand); }
a:hover{ color: var(--brand2); }

/* CTA tlačítko (tvé zelené) */
a.btn, a.cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding: 14px 22px;
  border-radius: 12px;
  background: var(--brand);
  color:#fff !important;
  font-weight: 800;
  text-decoration:none;
  box-shadow: 0 10px 22px rgba(0,0,0,.16);
}
a.btn:hover, a.cta:hover{ background: var(--brand2); }

/* kontejner */
.container{
  width: min(92%, 1040px);
  margin: 0 auto;
}

/* hlavní H1 nahoře (už ne „word“ střed) */
.container > h1{
  font-family: var(--font-head);
  font-weight: 700;
  letter-spacing: -0.01em;
  font-size: clamp(28px, 3.0vw, 40px);
  line-height: 1.15;
  margin: 28px 0 16px;
  text-align: left;
}

/* karta obsahu */
.content{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: clamp(18px, 3vw, 34px);
}

/* čitelná šířka řádků – tohle dělá největší rozdíl */
.content > *{
  max-width: 74ch;
  margin-left: auto;
  margin-right: auto;
}

/* text */
.content p{
  margin: 0.95em auto;
  color: var(--muted);
}
.content strong{ color: var(--text); }

/* H2 jako “sekce” – hned to přestane splývat */
.content h2{
  font-family: var(--font-head);
  color: var(--text);
  text-align: left;
  font-size: clamp(20px, 2.2vw, 28px);
  margin: 2.2em auto 0.9em;
  padding: 12px 14px;
  background: #f3f7f5;
  border-left: 5px solid var(--brand);
  border-radius: 12px;
}
.content h2:first-of-type{ margin-top: 0.8em; }

/* tvoje “h3 odrážky” nahoře – uděláme z toho elegantní seznam */
.content h3{
  font-family: var(--font-body);
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--text);
  margin: 0.55em auto;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  text-align: left;
}
.content h3::before{
  content: "›";
  color: var(--brand);
  font-weight: 900;
  margin-top: 1px;
}

/* seznamy – přehlednější a na desktopu ve 2 sloupcích */
.content ul{
  padding-left: 1.1rem;
  margin: 0.85em auto 1.2em;
  color: var(--muted);
}
.content li{ margin: 0.45em 0; }
@media (min-width: 900px){
  .content ul{ columns: 2; column-gap: 2.2rem; }
  .content li{ break-inside: avoid; }
}

/* “oddělovač” (obr_36) zjemníme, aby to nepůsobilo jako Word */
img[src*="obr_36"]{
  opacity: .45;
  display: block;
  margin: 18px auto;
}

/* mobil */
@media (max-width: 640px){
  body{ font-size: 17px; }
  .container > h1{ text-align:center; }
  .content ul{ columns: 1; }
}

/* =========================
   V2 ÚPRAVY: OLIVOVÁ + HRANATÉ ŠTÍTKY (bez bublin)
   ========================= */

:root{
  /* Olivová (tmavší = čitelnější) */
  --olive: #6b7b0f;
  --olive2: #55630b;

  /* Rohy – když chceš úplně ostré, dej 0px */
  --chip-radius: 4px;   /* štítky / odkazy */
  --btn-radius: 6px;    /* tlačítka */
}

/* Odkazy a akcenty olivově (CTA tlačítko zůstává tmavě zelené) */
.mx-shell a,
.mx-card a{
  color: var(--olive);
}
.mx-shell a:hover,
.mx-card a:hover{
  color: var(--brand2);
}

/* Zrušení “pill” (bublin) → obdélníky */
.mx-quicklinks a,
.mx-toc a,
.mx-contactItem{
  border-radius: var(--chip-radius) !important;
}

.mx-btn{
  border-radius: var(--btn-radius) !important;
}

/* Feature karty (✓) – taky méně „kulaté“ */
.mx-feature{
  border-radius: 8px !important; /* když chceš ostřeji: 0px */
}
.mx-feature::before{
  background: rgba(107,123,15,.18) !important;  /* olive pozadí */
  color: var(--olive) !important;               /* olive fajfka */
}

/* Oddělovač pod nadpisem sekce (olivový akcent) */
.mx-section h2{
  position: relative;
  padding-bottom: 10px;
}
.mx-section h2::after{
  content:"";
  display:block;
  width: 84px;
  height: 2px;
  background: var(--olive);
  margin-top: 10px;
  opacity: .9;
}

/* Jemně olivové „note“ boxy */
.mx-note{
  border-left-color: rgba(107,123,15,.65) !important;
  background: rgba(107,123,15,.07) !important;
}

/* Rychlé odkazy nahoře – víc „web“, méně „pill“ */
.mx-quicklinks a{
  font-weight: 800;
  padding: 10px 12px;
}
/* =========================
   V2.2 – OLIVOVÁ + HRANATÉ PRVKY
   vlož na KONEC CSS (ať přepíše staré)
   ========================= */

:root{
  /* olivová pro text/odkazy a zvýraznění */
  --olive: #556B2F;      /* tmavá olivová (dobrý kontrast) */
  --olive2:#3F4F23;      /* ještě tmavší */
  --olive-bg: rgba(85,107,47,.10);
  --olive-bg2: rgba(85,107,47,.06);

  /* když chceš, můžeš nechat CTA tlačítko tmavě zelené (jak se ti líbí) */
  /* --brand: #0b5d47; --brand2:#084b3a; */
}

/* Odkazy – OLIVOVÉ */
a{ color: var(--olive) !important; }
a:hover{ color: var(--olive2) !important; }

/* Podbarvení (note boxy, CTA karta) – OLIVOVÉ */
.mx-ctaCard{
  background: linear-gradient(180deg, rgba(85,107,47,.14), rgba(85,107,47,.03)) !important;
  border: 1px solid rgba(85,107,47,.24) !important;
}

.mx-note{
  border-left-color: rgba(85,107,47,.55) !important;
  background: var(--olive-bg2) !important;
}

/* “Bubliny” => HRANATÉ */
.mx-quicklinks a,
.mx-toc a,
.mx-contactItem{
  border-radius: 0 !important;   /* ostrý roh */
}

/* klidně i tlačítko mírně hranaté (ne úplně “pill”) */
.mx-btn{
  border-radius: 6px !important; /* dej 0 pokud chceš úplně ostře */
}

/* karty výhod – méně “oblá” */
.mx-feature{
  border-radius: 0 !important;
}
.mx-feature::before{
  border-radius: 0 !important;   /* i ikonka bude hranatá */
  background: var(--olive-bg) !important;
  color: var(--olive) !important;
}

/* podtržítko/akcent pod H2 – moderní a v olivové */
.mx-section h2{
  position: relative;
  padding-bottom: 10px;
}
.mx-section h2::after{
  content:"";
  display:block;
  width: 84px;
  height: 3px;
  background: var(--olive);
  margin-top: 10px;
}

/* Quicklinks “štítky” trošku olivové */
.mx-quicklinks a{
  background: var(--olive-bg2) !important;
  border-color: rgba(85,107,47,.20) !important;
}

/* TOC (Historie / Přístup...) olivové */
.mx-toc a{
  background: var(--olive-bg2) !important;
  border-color: rgba(85,107,47,.20) !important;
  color: var(--olive) !important;
}

.content figure.ona-figure {
  max-width: none !important;
  margin: 22px 0 18px;
}
.content figure.ona-figure img {
  width: 100%;
  display: block;
  border-radius: 0;
  border: 1px solid rgba(85,107,47,.22);
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
}
.content figure.ona-figure fig

.page-photo{
  max-width: 74ch;
  margin: 22px auto;
}
.page-photo img{
  width: 100%;
  display: block;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 0; /* ostré rohy */
}
.page-photo figcaption{
  margin-top: 8px;
  font-size: .95rem;
  color: var(--muted, #374151);
}

/* =========================================
   DESKTOP FIX – Excelentt.cz
   ========================================= */

/* 1) Rozšíření obsahu na desktopu */
@media (min-width: 1100px){

  .mx-shell{
    max-width: 1200px !important;
    width: 1200px !important;
  }

  .mx-card{
    max-width: 1200px !important;
  }

  /* text už nebude „sloupeček uprostřed“ */
  .mx-prose,
  .mx-lead,
  .mx-note,
  .mx-contactGrid{
    max-width: 100% !important;
  }
}

/* 2) Hranaté prvky – konec bublin */
.mx-quicklinks a,
.mx-toc a,
.mx-feature,
.mx-note,
.mx-contactItem,
.mx-btn{
  border-radius: 0 !important;
}

/* 3) OLIVOVÁ – sjednocení */
:root{
  --olive:#6b7b0f;
  --olive-soft: rgba(107,123,15,.12);
}

/* textové odkazy */
a:not(.mx-btn):not(.mx-phone){
  color: var(--olive) !important;
}

/* podbarvení místo světle zelené */
.mx-note,
.mx-ctaCard{
  background: var(--olive-soft) !important;
  border-color: rgba(107,123,15,.35) !important;
}

/* ikonky fajfek */
.mx-feature::before{
  background: var(--olive-soft) !important;
  color: var(--olive) !important;
}

/* 4) Sekční nadpisy – silnější, profesionální */
.mx-section h2{
  font-size: 32px;
  margin-top: 48px;
  border-bottom: 2px solid rgba(0,0,0,.08);
  padding-bottom: 12px;
}

/* =========================================================
   PATCH – OLIVOVÁ + HRANATÉ ŠTÍTKY + ŠIRŠÍ DESKTOP + MOBIL MENU
   VLOŽTE NA ÚPLNÝ KONEC theme.css
   ========================================================= */

:root{
  /* Olivová (písmo/štítky/podbarvení) */
  --olive: #556B2F;
  --olive2: #3F4F23;

  --oliveSoft:  rgba(85,107,47,.10);
  --oliveSoft2: rgba(85,107,47,.06);
  --oliveBorder: rgba(85,107,47,.28);

  /* rohy štítků: 0px = ostré, 6px = jemně moderní */
  --chipRadius: 0px;

  /* širší text na PC (méně hluchých míst v kartě) */
  --readingWidth: 92ch;
}

/* ====== 1) MOBILNÍ MENU + JAZYKY (nav .mobile-site-nav) ====== */
.mobile-site-nav{ display:none; }

@media (max-width: 1024px){

  .mobile-site-nav{
    display:block;
    position: sticky;
    top: 0;
    z-index: 9999;

    background: rgba(255,255,255,.92);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid rgba(0,0,0,.08);

    padding: 10px 10px 12px;
  }

  .mobile-site-nav__langs{
    display:flex;
    justify-content:center;
    gap:10px;
    margin-bottom: 8px;
  }

  .mobile-site-nav__langs img{
    width: 30px;
    height: 30px;
    border-radius: 999px;
    display:block;
  }

  .mobile-site-nav__menu{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
  }

  .mobile-site-nav__menu a{
    text-decoration:none;
    font-weight:800;

    padding:8px 10px;
    border:1px solid var(--oliveBorder);
    background: var(--oliveSoft2);
    color: var(--olive2);

    border-radius: var(--chipRadius);
  }

  .mobile-site-nav__menu a:hover{
    background: var(--oliveSoft);
  }

  /* Na mobilu skryjeme starou obrázkovou hlavičku (řádky 1–3) */
  #Table_01 > tbody > tr:nth-child(1),
  #Table_01 > tbody > tr:nth-child(2),
  #Table_01 > tbody > tr:nth-child(3){
    display:none !important;
  }

  /* A odstraníme boční prázdné buňky (rowspan=9), aby nebyly okraje */
  #Table_01 td[rowspan="9"]{
    display:none !important;
  }

  /* Tabulka na mobilu bez velkých okrajů */
  #Table_01{
    margin: 0 auto !important;
    border-radius: 0 !important;
  }
}

/* ====== 2) OLIVOVÁ + HRANATÉ “BUBLINY” v moderní části ====== */

/* linky v moderní části olivově
   (CTA tlačítka necháváme tmavě zelené) */
.mx-shell a:not(.mx-btn):not(.mx-phone){
  color: var(--olive) !important;
}
.mx-shell a:not(.mx-btn):not(.mx-phone):hover{
  color: var(--olive2) !important;
}

/* quicklinks + toc + kontaktní “pill” => hranaté + olivové */
.mx-shell .mx-quicklinks a,
.mx-shell .mx-toc a,
.mx-shell .mx-contactItem{
  border-radius: var(--chipRadius) !important;
  background: var(--oliveSoft2) !important;
  border-color: var(--oliveBorder) !important;
  color: var(--olive2) !important;
}

/* “výhody” (mx-feature) => hranaté + olivová fajfka */
.mx-shell .mx-feature{
  border-radius: var(--chipRadius) !important;
}
.mx-shell .mx-feature::before{
  background: var(--oliveSoft) !important;
  color: var(--olive) !important;
  border-radius: var(--chipRadius) !important;
}

/* poznámky a CTA karta: olivové podbarvení */
.mx-shell .mx-ctaCard{
  background: linear-gradient(180deg, rgba(85,107,47,.13), rgba(85,107,47,.03)) !important;
  border-color: var(--oliveBorder) !important;
}
.mx-shell .mx-note{
  border-left-color: rgba(85,107,47,.60) !important;
  background: var(--oliveSoft2) !important;
  border-radius: var(--chipRadius) !important;
}

/* ====== 3) DESKTOP: širší text (méně “hluchých míst”) ====== */
.mx-shell .mx-lead,
.mx-shell .mx-prose,
.mx-shell .mx-contactGrid{
  max-width: var(--readingWidth) !important;
}

/* ====== 4) Fotky v článku (figure.page-photo) ====== */
.mx-shell .page-photo{
  max-width: var(--readingWidth);
  margin: 18px auto 12px;
}
.mx-shell .page-photo img{
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: var(--chipRadius);
}
.mx-shell .page-photo figcaption{
  margin-top: 8px;
  font-size: .95rem;
  color: rgba(0,0,0,.65);
}









