/* assets/css/blog.css */

/* A/B/C barvy (můžeš kdykoli doladit) */
:root{
  --rc-a: #3b82f6; /* majitelé */
  --rc-b: #f97316; /* obce */
  --rc-c: #10b981; /* investoři */
  --rc-card: rgba(0,0,0,.18);
  --rc-card-border: rgba(255,255,255,.12);
  --rc-muted: rgba(255,255,255,.72);
}

/* Layout wrapper (ať je to konzistentní napříč blogem) */
.rc-blog-wrap{
  max-width: 1100px;
  margin: 0px auto 0px;
  padding: 12px 20px 36px;
  color: var(--text);
}

.rc-post-wrap{
  max-width: 900px;
  margin: 110px auto 40px;
  padding: 0 20px;
  color: var(--text);
}

.rc-card{
  overflow: hidden;
  background: var(--rc-card);
}

.rc-card img{
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}

.rc-meta{
  font-size: 12px;
  opacity: .75;
}

.rc-h1{ font-size: 40px; line-height: 1.05; font-weight: 700; margin: 0 0 10px; }
.rc-h2{ font-size: 22px; line-height: 1.2; font-weight: 700; margin-top: 8px; }
.rc-h3{ font-size: 18px; line-height: 1.25; font-weight: 700; margin: 0; }

.rc-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--text);
  text-decoration: none;
  font-weight: 600;
}
.rc-btn:hover{ filter: brightness(1.12); }

/* Štítky (A/B/C + fallback) */
.rc-badges{ display:flex; gap:6px; flex-wrap:wrap; }
.rc-badge{
  display:inline-block;
  font-size:12px;
  padding:2px 10px;
  border-radius:999px;
  font-weight:700;
  color:#0b0b0b;
}
.rc-badge--majitele{ background: var(--rc-a); }
.rc-badge--obce{ background: var(--rc-b); }
.rc-badge--investori{ background: var(--rc-c); }

.rc-status{
  display:inline-block;
  font-size:12px;
  padding:2px 10px;
  border-radius:999px;
  border: 1px solid rgba(255,255,255,.18);
  opacity: .9;
}

/* Typografie obsahu článku (pro TinyMCE HTML) */
.rc-prose{
  line-height: 1.75;
  font-size: 16px;
  color: var(--text);
}

.rc-prose h1{ font-size: 34px; line-height: 1.1; margin: 26px 0 12px; font-weight: 800; }
.rc-prose h2{ font-size: 26px; line-height: 1.15; margin: 42px 0 18px; font-weight: 800; border-bottom: 1px solid rgba(255,255,255,.18); padding-bottom: 8px;}
.rc-prose h3{ font-size: 20px; line-height: 1.2; margin: 18px 0 8px; font-weight: 800; }

.rc-prose p{ margin: 12px 0; }
.rc-prose ul, .rc-prose ol{ margin: 12px 0 12px 22px; }
.rc-prose li{ margin: 6px 0; }

.rc-prose a{
 
}
.rc-prose a:hover{ filter: brightness(1.15); }

.rc-prose blockquote{
  border-left: 3px solid rgba(var(--primary-rgb), .9);
  padding: 10px 14px;
  margin: 16px 0;
  background: rgba(255,255,255,.05);
  border-radius: 12px;
}

.rc-prose img{
  max-width: 100%;
  height: auto;
  margin: 14px 0;
  border: 1px solid rgba(255,255,255,.10);
}

.rc-prose hr{
  border: none;
  border-top: 1px solid rgba(255,255,255,.12);
  margin: 22px 0;
}

.rc-prose table{
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
}
.rc-prose th, .rc-prose td{
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.rc-prose th{
  text-align:left;
  background: rgba(255,255,255,.06);
}

.rc-prose .rc-btn{
  margin: 10px 0;
}

/* ========== SERVICE TEMPLATE (A/B/C) ========== */

.rc-accent--majitele{ --rc-accent: var(--rc-a); }
.rc-accent--obce{ --rc-accent: var(--rc-b); }
.rc-accent--investori{ --rc-accent: var(--rc-c); }

.rc-btn--accent{
  border-color: color-mix(in srgb, var(--rc-accent) 55%, rgba(255,255,255,.14));
  background: color-mix(in srgb, var(--rc-accent) 80%, rgba(255,255,255,.06));
}
.rc-btn--accent:hover{ filter: brightness(1.16); }

.rc-service-hero{
  position: relative;
  padding-top: 18px;
}

.rc-hero-media{
  position: absolute;
  inset: 0;
  z-index: 0;
  display:block;
  overflow:hidden;
}
.rc-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  opacity: .88;
}
.rc-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background: linear-gradient(180deg, rgba(10,14,22,.45), rgba(10,14,22,.92));
}

.rc-hero-card{
  position: relative;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  background: rgba(0,0,0,.22);
  padding: 18px;
  backdrop-filter: blur(6px);
}

.rc-service-subtitle{
  font-size: 22px;
  font-style: italic;
  color: var(--rc-accent);
  margin: 2px 0 10px;
}

.rc-service-perex{
  max-width: 62ch;
  opacity: .92;
  margin: 0 0 10px;
}

.rc-hero-meta{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top: 10px;
}

/* Service box uprostřed článku */
.rc-service-box{
  display: grid;
  padding-left: 16px;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 20px 0;
  border: 1px solid rgba(255,255,255,.12);
  overflow:hidden;
  background: color-mix(in srgb, var(--rc-accent) 18%, rgba(0,0,0,.05));
}
@media (max-width: 900px){
  .rc-service-box{ grid-template-columns: 1fr; }
}
.rc-service-img img{
  object-fit:cover;
  display:block;
}
.rc-service-copy{ padding: 16px; height: 100%; display: flex; flex-direction: column;}
.rc-service-title{ font-size: 22px; font-weight: 800; margin-bottom: 6px; color: var(--rc-accent); border-bottom: 1px solid rgba(255,255,255,.12);}
.rc-service-desc{ opacity:.9; }

/* FAQ block */
.rc-faq{
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 0px;
  overflow: hidden;
  padding: 16px;
  background: color-mix(in srgb, var(--rc-accent) 10%, rgba(0,0,0,.10));
}
.rc-faq-title{
  font-size: 22px;
  font-weight: 900;
  color: var(--rc-accent);
  margin: 0 0 6px;
}
.rc-faq-intro{ opacity: .9; margin: 0 0 10px; }
.rc-faq-items{ display:flex; flex-direction:column; gap:10px; }
.rc-faq-item{
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(0,0,0,.10);
  padding: 0;
}
.rc-faq-q{
  list-style: none;
  cursor: pointer;
  user-select: none;
  padding: 12px 12px;
  font-weight: 800;
  color: var(--rc-accent);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}
.rc-faq-q::-webkit-details-marker{ display:none; }
.rc-faq-q::after{
  content: '▾';
  opacity: .8;
  transform: rotate(0deg);
  transition: transform .12s ease;
}
.rc-faq-item[open] .rc-faq-q::after{ transform: rotate(180deg); }
.rc-faq-a{
  padding: 0 12px 12px;
  opacity: .92;
  color: rgba(255,255,255,.92);
}
.rc-faq-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.18);
  color: rgba(255,255,255,.95);
  font-weight: 800;
  text-decoration: none;
}
.rc-faq-btn:hover{ opacity: .92; }

ol {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: item;
}

ol li {
  counter-increment: item;
  position: relative;
  padding-left: 2.2em; /* místo pro číslo */
  margin: 0.4em 0;
}

ol li::before {
  content: counter(item);
  color: var(--rc-accent);
  width: 1.6em;
  height: 1.6em;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  position: absolute;
  left: 0;
  top: 0.05em;
  border: 2px solid currentColor;
}

strong, b {
  color: var(--rc-accent);
}

/* CTA */
.rc-cta{
  margin: 24px 0 10px;
  padding: 18px;
  border-top: 1px solid rgba(255,255,255,.12);
  text-align:center;
}
.rc-cta-title{
  font-size: 34px;
  font-weight: 900;
  color: var(--rc-accent);
  letter-spacing: .2px;
}
.rc-cta-meta{ opacity:.9; margin-top: 6px; }

/* LIGHTBOX */
.rc-lightbox-overlay{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 22px;
  opacity: 0;
  transition: opacity .12s ease;
}
.rc-lightbox-overlay.open{ opacity: 1; }
.rc-lightbox-backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.78);
}
.rc-lightbox-img{
  position: relative;
  z-index: 1;
  max-width: min(1100px, 96vw);
  max-height: 88vh;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 20px 80px rgba(0,0,0,.55);
}

/* ===== Service HERO full-screen ===== */

.rc-service-hero{
  position: relative;
  overflow: hidden;
}

.rc-service-hero.has-hero{
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 0;           /* full-bleed */
}

.rc-service-hero.no-hero{
  padding-top: 110px;
  padding-bottom: 18px;
}

.rc-hero-media{
  position: absolute;
  inset: 0;
  z-index: 0;
  display:block;
}

.rc-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform: scale(1.02);
}

.rc-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background: linear-gradient(180deg, rgba(10,14,22,.35), rgba(10,14,22,.92));
}

/* obsah hera vycentrovaný, max šířka jako web */
.rc-hero-inner{
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

/* karta ve stylu webu */
.rc-hero-card{
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  background: rgba(0,0,0,.22);
  padding: 18px;
  backdrop-filter: blur(6px);
}

/* Title/subtitle/perex stejný font – jen různá velikost/weight */
.rc-service-titleH1{
  font-size: clamp(38px, 5vw, 64px);
  line-height: 1.05;
  font-weight: 900;
  margin: 0 0 10px;
  letter-spacing: .2px;
}

.rc-service-subtitle{
  font-size: clamp(20px, 2.4vw, 32px);
  line-height: 1.15;
  font-weight: 800;
  margin: 0 0 10px;
  color: var(--rc-accent);
  font-style: normal;   /* odstraněno italic */
}

.rc-service-perex{
  font-size: 16px;
  line-height: 1.65;
  max-width: 68ch;
  opacity: .92;
  margin: 0 0 12px;
}

/* po full-hero dej standardní spacing pro obsah */
.rc-after-hero{
  margin-top: 26px;
}
/* ===== Service HERO (homepage-like) ===== */

.rc-service-hero2{
  position: relative;
  overflow: hidden;
}

/* full screen hero pokud je obrázek */
.rc-service-hero2.has-hero{
  min-height: 100vh;
  display: flex;
  align-items: center;
}

/* fallback bez obrázku */
.rc-service-hero2.no-hero{
  padding-top: 110px;
  padding-bottom: 18px;
}

/* background jako CSS cover */
.rc-hero-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.02);
  cursor: zoom-in;
}

.rc-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background: radial-gradient(1200px 700px at 50% 40%, rgba(0,0,0,.85), rgba(15,23,42,.45));
}

/* obsah hera – center jako homepage */
.rc-hero-content{
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
  text-align: center;
}

/* typografie: stejné písmo, jen různé velikosti/weight */
.rc-hero-title{
  font-size: clamp(40px, 5.2vw, 70px);
  line-height: 1.05;
  font-weight: 900;
  margin: 0 0 10px;
  letter-spacing: .2px;
}

.rc-hero-subtitle{
  font-size: clamp(40px, 5.2vw, 70px);
  line-height: 1.05;
  font-weight: 900;
  margin: 0 0 12px;
  color: var(--rc-accent);
  font-style: normal;
}

.rc-hero-perex{
  font-size: 16px;
  line-height: 1.65;
  max-width: 74ch;
  margin: 0 auto 14px;
  opacity: .92;
  text-align: left;
}

.rc-hero-meta{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top: 10px;
}

.rc-hero-actions{
  margin-top: 18px;
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

/* ===== BLOG MOSAIC GRID + FILTERS ===== */

.rc-blog-filters{
  margin: 14px 0 10px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}

.rc-blog-filters select{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.18);
  color: var(--text);
}

.rc-blog-filters option{
  color: rgba(0,0,0,.88);
}

/* Mozaika: 6 sloupců, jednotka výšky = "čtverec" */
.rc-blog-grid{
  margin-top: 18px;
  display:grid;
  gap:14px;
  grid-template-columns: repeat(6, 1fr);
  grid-auto-rows: 120px;
  grid-auto-flow: dense;
}

/* responsivita */
@media (max-width: 1100px){
  .rc-blog-grid{ grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 700px){
  .rc-blog-grid{ grid-template-columns: repeat(2, 1fr); grid-auto-rows: 110px; }
}

.rc-grid-item{
  position:relative;
  display:block;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.35);
  text-decoration:none;
  color: var(--text);
  background: rgba(0,0,0,.12);
}

.rc-grid-media{
  position:absolute;
  inset:0;
  background-size: cover;
  background-position: center;
  background-repeat:no-repeat;
  transform: scale(1.02);
  transition: transform .25s ease;
}

.rc-grid-item:hover .rc-grid-media{ transform: scale(1.06); }

.rc-grid-overlay{
  position:absolute;
  inset:0;
  background: radial-gradient(900px 520px at 50% 45%, rgba(0,0,0,.65), rgba(15,23,42,.25));
}

/* Text přes fotku uprostřed */
.rc-grid-center{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding: 14px;
  gap: 6px;
}

.rc-grid-title,
.rc-grid-subtitle{
  font-weight: 900;
  line-height: 1.06;
  letter-spacing: .2px;
  margin: 0;
  max-width: 22ch;
  text-shadow: 0 6px 22px rgba(0,0,0,.55);
  /* stejná velikost pro title i subtitle, škálování dle tile */
  font-size: clamp(16px, calc(10px + (var(--w,2) + var(--h,1)) * 6px), 46px);
}

/* subtitle jen barva dle primární sekce */
.rc-grid-subtitle{ color: var(--rc-accent); }

/* status chip pro admin náhled */
.rc-grid-status{
  position:absolute;
  right: 10px;
  top: 10px;
  font-size:12px;
  padding:2px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.22);
}

.rc-prose ul {
  list-style: none;
  padding-left: 20px;         /* nebo nech a dej si vlastní odsazení */
  margin-left: 0;
}

.rc-prose ul li {
  position: relative;
  padding-left: 1.6em;     /* místo pro zatržítko */
}

.rc-prose ul li::before {
  content: "✓";
  color: color-mix(in srgb, var(--rc-accent) 50%, rgba(0,0,0,.5));
  position: absolute;
  left: 0;
  top: 0.05em;             /* jemné srovnání na řádek */
  font-weight: 700;
}

hr {
   border:1px solid color-mix(in srgb, var(--rc-accent) 20%, rgba(0,0,0,.2));
	
}





