:root{
  --brand:#0b3d59;
  --brand-dark:#082c40;
  --brand-2:#124e73;
  --accent:#12b886;
  --accent-dark:#0ca678;
  --accent-ink:#0ca678;
  --accent-light:#e6faf3;
  --ink:#16222f;
  --font-display:"Sora","Segoe UI",system-ui,sans-serif;
  --font-body:"Inter","Segoe UI",system-ui,sans-serif;

  /* zaoblení – přebírá Bootstrap proměnné, aby se sladily i standardní komponenty */
  --bs-border-radius:.5rem;
  --bs-border-radius-sm:.35rem;
  --bs-border-radius-lg:.75rem;
  --bs-border-radius-xl:1rem;
  --bs-border-radius-2xl:1.5rem;

  --page-bg:#ffffff;
  --section-alt-bg:#f4f6f9;
  --surface:#ffffff;
  --text:var(--ink);
  --text-muted:#5c6b7a;
  --border:#e3e7ed;
  --link:var(--brand-2);
  --link-visited:var(--link);
  --link-on-dark:#cfe0f5;
  --link-on-dark-visited:var(--link-on-dark);
  --skip-link-bg:#ffffff;
  --skip-link-text:#16222f;
  --accent-text:var(--accent-ink);
}

body{font-family:var(--font-body);color:var(--text);background:var(--page-bg);}
h1,h2,h3,h4,.navbar-brand span{font-family:var(--font-display);letter-spacing:-.01em;}
.bg-brand{background-color:var(--brand)!important;}
.bg-brand-dark{background-color:var(--brand-dark)!important;}
.text-accent{color:var(--accent-text)!important;}
.text-secondary{color:var(--text-muted)!important;}

/* ---- Odkazy (vč. čitelných navštívených odkazů, zejména na tmavém pozadí) ---- */
a{color:var(--link);}
a:visited{color:var(--link-visited);}
.content-body a,.post-meta a{text-decoration-thickness:1px;}

/* Navigace, tlačítka, stránkování a další "chrome" odkazy si barvu po navštívení
   nesmí měnit – čtou vlastní barvu přímo z Bootstrap proměnné dané komponenty,
   která se dědí stejně bez ohledu na :visited. */
.navbar .nav-link:visited{color:var(--bs-navbar-color);}
.navbar .nav-link.active:visited{color:var(--bs-navbar-active-color);}
.dropdown-item:visited{color:var(--bs-dropdown-link-color);}
.page-link:visited{color:var(--bs-pagination-color);}
.card-hover .stretched-link:visited{color:inherit;}
.navbar-brand:visited{color:var(--bs-navbar-brand-color);}

/* Odkazy na tmavém pozadí (patička, hero, CTA pruh, cookie lišta) – jasně čitelné i po navštívení.
   Tlačítka (.btn) jsou vyloučená, aby si podržela vlastní barvu. */
footer a:not(.btn),.hero a:not(.btn),.cta-band a:not(.btn),.cookie-bar a:not(.btn){color:var(--link-on-dark);text-decoration:none;}
footer a:not(.btn):visited,.hero a:not(.btn):visited,.cta-band a:not(.btn):visited,.cookie-bar a:not(.btn):visited{color:var(--link-on-dark-visited);}
footer a:not(.btn):hover,.hero a:not(.btn):hover,.cta-band a:not(.btn):hover,.cookie-bar a:not(.btn):hover{text-decoration:underline;}

.btn{border-radius:var(--bs-border-radius);font-weight:600;padding-inline:1.15rem;}
/* Tlačítko-odkaz po navštívení nemění barvu textu (je to ovládací prvek, ne obsahový odkaz).
   Stavy hover/focus/active si řídí Bootstrap, resp. pravidla pro .btn-accent níže. */
.btn:visited:not(:hover):not(:focus-visible):not(:active){color:var(--bs-btn-color);}
/* Klidový stav: zelený podklad, vždy bílý text. */
.btn-accent,.btn-accent:visited,.btn-check:checked+.btn-accent{color:#fff !important;}
.btn-accent{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);border-color:var(--accent-dark);box-shadow:0 .35rem 1rem rgba(18,184,134,.28);}
/* Najetí myší / fokus / stisknutí: inverze – bílý podklad, zelený text a rámeček. */
.btn-accent:hover,.btn-accent:focus-visible,.btn-accent:active{background:#fff !important;border-color:var(--accent) !important;color:var(--accent-dark) !important;transform:translateY(-1px);box-shadow:0 .5rem 1.25rem rgba(18,184,134,.25);}
.btn-accent:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px;}
.btn-lg{border-radius:var(--bs-border-radius-lg);}

/* ---- Navbar ---- */
.navbar{transition:box-shadow .2s ease,background-color .2s ease;}
.navbar.is-scrolled{box-shadow:0 .25rem 1rem rgba(0,0,0,.15);}
.navbar-brand span{font-weight:700;letter-spacing:.2px;}
.navbar .dropdown-menu{border:0;box-shadow:0 .75rem 1.5rem rgba(8,20,33,.2);border-radius:var(--bs-border-radius);}
.skip-link{position:absolute;top:.5rem;left:.5rem;z-index:1080;background:var(--skip-link-bg);color:var(--skip-link-text);padding:.5rem .75rem;border-radius:var(--bs-border-radius-sm);}

/* ---- Hero ---- */
.hero{position:relative;overflow:hidden;background:linear-gradient(150deg,var(--brand) 0%,var(--brand-dark) 55%,#050a13 100%);color:#fff;padding:5.5rem 0 6rem;}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.09) 1.5px,transparent 1.5px);background-size:26px 26px;mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 85%);pointer-events:none;}
.hero::after{content:"";position:absolute;right:-12%;top:-18%;width:46rem;height:46rem;background:radial-gradient(circle,rgba(18,184,134,.25) 0%,rgba(18,184,134,0) 65%);pointer-events:none;}
.hero>.container{position:relative;}
.hero .eyebrow{text-transform:uppercase;font-size:.8rem;font-weight:700;letter-spacing:.08em;color:var(--accent);}
.hero h1{font-weight:800;font-size:clamp(2rem,4.2vw,3.15rem);line-height:1.12;color:#fff;}
.hero .lead{color:rgba(255,255,255,.85);max-width:34rem;font-size:1.15rem;}
.hero-art{position:relative;z-index:1;filter:drop-shadow(0 1.5rem 2.5rem rgba(0,0,0,.35));}

/* ---- Sections ---- */
.section{padding:4.5rem 0;}
.section-alt{background:var(--section-alt-bg);}
.section-title{font-weight:800;}
.eyebrow{text-transform:uppercase;font-size:.78rem;font-weight:700;letter-spacing:.08em;color:var(--accent-text);}

.feature-icon{width:3.25rem;height:3.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--bs-border-radius-lg);background:var(--accent-light);color:var(--accent-text);font-size:1.5rem;box-shadow:inset 0 0 0 1px rgba(18,184,134,.15);}
.card-hover{transition:transform .18s ease,box-shadow .18s ease;}
.card-hover:hover{transform:translateY(-4px);box-shadow:0 1rem 2.25rem rgba(16,28,51,.16);}
.card{background-color:var(--surface);}

.step-num{width:2.75rem;height:2.75rem;border-radius:50%;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:1.15rem;flex:none;}
.step-line{position:absolute;top:1.35rem;left:2.75rem;right:-1rem;height:2px;background:repeating-linear-gradient(90deg,var(--border) 0 8px,transparent 8px 14px);}

.content-body h2{margin-top:2rem;font-size:1.5rem;font-family:var(--font-display);}
.content-body h3{margin-top:1.5rem;font-size:1.2rem;font-family:var(--font-display);}
.content-body ul,.content-body ol{margin:0 0 1rem;padding-left:1.5rem;}
.content-body li{margin-bottom:.3rem;}
.content-body li>p{margin-bottom:0;}
/* Záložní zobrazení pro obsah dříve uložený ve formátu editoru Quill (data-list) */
.content-body .ql-ui{display:none;}
.content-body li[data-list=bullet]{list-style:disc;}
.content-body li[data-list=ordered]{list-style:decimal;}
.content-body img{border-radius:var(--bs-border-radius);height:auto;}
.content-body table{width:100%;border-collapse:collapse;margin:1rem 0;}
.content-body td,.content-body th{border:1px solid var(--border);padding:.5rem .75rem;}

.cookie-bar{position:fixed;left:0;right:0;bottom:0;z-index:1050;background:var(--brand-dark);color:#fff;box-shadow:0 -.25rem 1rem rgba(0,0,0,.25);}

.post-meta{color:var(--text-muted);font-size:.85rem;}
figure.ref-logo{background:#fff;border:1px solid #e3e9ef;border-radius:var(--bs-border-radius-lg);display:flex;align-items:center;justify-content:center;padding:1rem;min-height:7rem;transition:box-shadow .15s ease,transform .15s ease;}
figure.ref-logo:hover{box-shadow:0 .5rem 1.25rem rgba(16,28,51,.12);transform:translateY(-2px);}

.cta-band{background:linear-gradient(120deg,var(--brand) 0%,var(--brand-2) 100%);color:#fff;border-radius:var(--bs-border-radius-2xl);position:relative;overflow:hidden;}
.cta-band::after{content:"";position:absolute;right:-4rem;bottom:-4rem;width:14rem;height:14rem;border-radius:50%;background:rgba(18,184,134,.25);}

@media (max-width:575.98px){.hero{padding:3.5rem 0 4rem;}.section{padding:2.75rem 0;}}
