/* ====================================================
   Co podniknout? — Frontend Styles
   Outdoor / příroda styl
==================================================== */
:root {
  --cp-forest:   #3a6b35;
  --cp-leaf:     #8bc34a;
  --cp-earth:    #795548;
  --cp-bark:     #5d4037;
  --cp-sky:      #0288d1;
  --cp-sun:      #f9a825;
  --cp-cream:    #f8f6f1;
  --cp-white:    #ffffff;
  --cp-border:   #e0dcd4;
  --cp-text:     #2c2c2c;
  --cp-muted:    #666;
  --cp-radius:   12px;
  --cp-shadow:   0 2px 14px rgba(58,107,53,.12);
  --cp-shadow-h: 0 6px 28px rgba(58,107,53,.2);
  --cp-font:     inherit;
  --cp-transition: .2s ease;
}

/* ── Widget wrapper ─────────────────────────────── */
.cp-widget {
  font-family: var(--cp-font);
  color: var(--cp-text);
  line-height: 1.6;
}

/* ── Filters ────────────────────────────────────── */
.cp-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  margin-bottom: 28px;
  padding: 16px 20px;
  background: var(--cp-cream);
  border-radius: var(--cp-radius);
  border: 1px solid var(--cp-border);
}
.cp-filter-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.cp-filter-label {
  font-size: .82rem;
  font-weight: 700;
  color: var(--cp-muted);
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.cp-btn-kat {
  padding: 6px 14px;
  border-radius: 20px;
  border: 1.5px solid var(--cp-border);
  background: var(--cp-white);
  color: var(--cp-muted);
  font-size: .82rem;
  font-weight: 600;
  cursor: pointer;
  transition: var(--cp-transition);
  white-space: nowrap;
}
.cp-btn-kat:hover    { border-color: var(--cp-forest); color: var(--cp-forest); }
.cp-btn-kat.active   { background: var(--cp-forest); border-color: var(--cp-forest); color: #fff; }
.cp-sel-obtiznost {
  padding: 6px 10px;
  border-radius: 8px;
  border: 1.5px solid var(--cp-border);
  background: var(--cp-white);
  font-size: .85rem;
  cursor: pointer;
  color: var(--cp-text);
}
.cp-filter-count {
  margin-left: auto;
  font-size: .8rem;
  color: var(--cp-muted);
  white-space: nowrap;
}
.cp-visible-count { font-weight: 700; color: var(--cp-forest); }

/* ── Grid ───────────────────────────────────────── */
.cp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 900px) { .cp-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .cp-grid { grid-template-columns: 1fr; } }

/* ═══════════════════════════════════════════════
   KARTA — moderní design 2.0
═══════════════════════════════════════════════ */
.cp-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 1px 4px rgba(0,0,0,.06), 0 4px 16px rgba(58,107,53,.08);
  border: 1px solid #eceae4;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease;
  position: relative;
}
.cp-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 8px rgba(0,0,0,.08), 0 12px 36px rgba(58,107,53,.16);
}
.cp-card[aria-hidden="true"] { display: none !important; }

/* Accent bar — barevný proužek nahoře podle kategorie */
.cp-card-accent-bar {
  height: 4px;
  background: var(--cp-accent, #3a6b35);
  flex-shrink: 0;
}

/* Inner padding wrapper */
.cp-card-inner { padding: 18px 20px 4px; display: flex; flex-direction: column; }

/* ── Badges ─────────────────────────────────── */
.cp-card-badges  { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:12px; }
.cp-badge        { display:inline-flex; align-items:center; gap:3px; font-size:.7rem;
                   font-weight:700; padding:3px 10px; border-radius:20px; white-space:nowrap; color:#fff; }
.cp-badge-obt    {}
.cp-obt-snadna   { background:#2e7d32; }
.cp-obt-stredni  { background:#e65100; }
.cp-obt-narocna  { background:#c62828; }
.cp-obt-nordic   { background:#0277bd; }
.cp-obt-workout  { background:#bf360c; }
.cp-badge-znacka { }

/* ── Název ──────────────────────────────────── */
.cp-card-title {
  margin: 0 0 5px;
  line-height: 1.3;
}
.cp-card-title a {
  font-size: 1.05rem;
  font-weight: 800;
  color: #1a2e18;
  text-decoration: none;
  transition: color .2s;
}
.cp-card-title a:hover { color: var(--cp-accent, #3a6b35); }

.cp-card-note {
  font-size: .75rem; color: #0277bd; font-weight: 600;
  margin: 0 0 8px; display:flex; align-items:center; gap:3px;
}
.cp-card-note::before { content:'💡'; }

/* ── Excerpt ────────────────────────────────── */
.cp-card-excerpt {
  font-size: .85rem; color: #666; line-height: 1.6;
  margin: 0 0 12px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* ── Stats pills ────────────────────────────── */
.cp-card-stats { margin: 0 0 4px; }
.cp-card-stat-row {
  display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px;
}
.cp-card-stat-row span {
  display: flex; flex-direction: column; align-items: center;
  background: #f5f3ee; border-radius: 8px;
  padding: 6px 12px; min-width: 60px; flex: 1;
}
.cp-card-stat-row strong { font-size: .88rem; font-weight: 800; color: #1a2e18; line-height: 1.2; }
.cp-card-stat-row em     { font-size: .65rem; color: #999; font-style: normal; text-transform: uppercase; letter-spacing: .05em; }
.cp-card-start { font-size: .78rem; color: #777; margin-bottom: 8px; }

/* ── Mapa ───────────────────────────────────── */
.cp-map-wrap { flex-shrink:0; overflow:hidden; border-top:1px solid #f0ece5; }
.cp-map { height:190px; width:100%; background:#e8f0e4; display:block; }
.cp-map-placeholder { height:120px; display:flex; align-items:center; justify-content:center;
                      background:#f8f6f1; font-size:1.8rem; }

/* ── Footer / CTA ───────────────────────────── */
.cp-card-footer { padding: 14px 20px; border-top: 1px solid #f0ece5; }
.cp-card-btn-detail {
  display: block; text-align: center;
  background: var(--cp-accent, #3a6b35);
  color: #fff !important; font-size: .84rem; font-weight: 700;
  padding: 10px 16px; border-radius: 10px;
  text-decoration: none; transition: filter .18s, transform .18s;
  letter-spacing: .01em;
}
.cp-card-btn-detail:hover { filter: brightness(1.12); transform: translateY(-1px); color: #fff !important; }

/* ── Marker ─────────────────────────────────── */
.cp-marker-dot { width:13px; height:13px; background:#3a6b35; border:3px solid #fff;
                 border-radius:50%; box-shadow:0 1px 6px rgba(0,0,0,.35); }

/* ── Empty / Leaflet ────────────────────────── */
.cp-empty { grid-column:1/-1; text-align:center; padding:48px; color:#999; }
.cp-map .leaflet-control-attribution { font-size:9px!important; opacity:.65; }

/* ════════════════════════════════════════════════
   FANCY HOMEPAGE WIDGET [co_podniknout_widget]
════════════════════════════════════════════════ */
.cp-hw { font-family:inherit; }

/* Header */
.cp-hw-header { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap;
                gap:12px; margin-bottom:20px; }
.cp-hw-title  { font-size:clamp(1.2rem,2.5vw,1.6rem); font-weight:800; color:#2c2c2c; margin:0; }
.cp-hw-title span { color:#3a6b35; }
.cp-hw-sub    { font-size:.88rem; color:#666; margin:4px 0 0; }
.cp-hw-all    { display:inline-flex; align-items:center; gap:5px; background:#3a6b35; color:#fff!important;
                font-size:.82rem; font-weight:700; padding:8px 18px; border-radius:20px; text-decoration:none;
                transition:.2s; white-space:nowrap; }
.cp-hw-all:hover { background:#795548; color:#fff!important; }

/* Quick filters */
.cp-hw-filters { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px; }
.cp-hw-btn { padding:5px 14px; border-radius:16px; border:1.5px solid #e0dcd4; background:#fff;
             color:#666; font-size:.8rem; font-weight:600; cursor:pointer; transition:.2s; }
.cp-hw-btn:hover { border-color:#3a6b35; color:#3a6b35; }
.cp-hw-btn.active { background:#3a6b35; border-color:#3a6b35; color:#fff; }

/* Horizontal scroll grid */
.cp-hw-track-wrap  { overflow:hidden; position:relative; }
.cp-hw-track       { display:flex; gap:18px; overflow-x:auto; padding-bottom:8px; scroll-snap-type:x mandatory;
                     scrollbar-width:thin; scrollbar-color:#c5b99a #f8f6f1; }
.cp-hw-track::-webkit-scrollbar       { height:5px; }
.cp-hw-track::-webkit-scrollbar-track { background:#f8f6f1; border-radius:3px; }
.cp-hw-track::-webkit-scrollbar-thumb { background:#c5b99a; border-radius:3px; }

/* Mini card */
.cp-hw-card { flex:0 0 260px; scroll-snap-align:start; background:#fff; border-radius:14px;
              box-shadow:0 2px 14px rgba(58,107,53,.1); border:1px solid #e8e4dd; overflow:hidden;
              display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s; }
.cp-hw-card:hover { transform:translateY(-3px); box-shadow:0 6px 24px rgba(58,107,53,.18); }

.cp-hw-card-top { padding:14px 14px 0; }
.cp-hw-card-kat { display:inline-flex; align-items:center; gap:3px; font-size:.68rem; font-weight:700;
                  padding:2px 8px; border-radius:10px; color:#fff; margin-bottom:7px; }
.cp-hw-card-kat.cyklostezky { background:#1976d2; }
.cp-hw-card-kat.pesi        { background:#3a6b35; }
.cp-hw-card-kat.pamatky     { background:#6a1b9a; }
.cp-hw-card-kat.priroda     { background:#388e3c; }
.cp-hw-card-kat.nordic      { background:#0277bd; }
.cp-hw-card-kat.workout     { background:#bf360c; }

.cp-hw-card-title { font-size:.9rem; font-weight:700; color:#2c2c2c; line-height:1.3;
                    margin:0 0 8px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cp-hw-card-stats { list-style:none; padding:0; margin:0 0 10px; display:flex; flex-direction:column; gap:2px; }
.cp-hw-card-stats li { font-size:.77rem; color:#555; display:flex; gap:4px; align-items:center; }

/* Mini map in widget card */
.cp-hw-map-wrap { margin:0; flex-shrink:0; }
.cp-hw-map      { height:130px; width:100%; background:#e8f0e4; }
.cp-hw-map-ph   { height:130px; display:flex; align-items:center; justify-content:center;
                  background:#f5f2ed; color:#aaa; font-size:1.8rem; }

.cp-hw-card-btn { display:block; text-align:center; background:#3a6b35; color:#fff!important;
                  font-size:.78rem; font-weight:700; padding:9px; margin:10px 14px 14px;
                  border-radius:7px; text-decoration:none; transition:.2s; }
.cp-hw-card-btn:hover { background:#795548; color:#fff!important; }

/* Nav arrows */
.cp-hw-nav { display:flex; justify-content:flex-end; gap:8px; margin-top:12px; }
.cp-hw-arrow { width:36px; height:36px; border-radius:50%; border:1.5px solid #e0dcd4;
               background:#fff; cursor:pointer; font-size:1rem; display:flex; align-items:center;
               justify-content:center; transition:.2s; }
.cp-hw-arrow:hover { background:#3a6b35; color:#fff; border-color:#3a6b35; }
.cp-hw-arrow:disabled { opacity:.35; cursor:default; }

@media(max-width:600px) {
  .cp-hw-card { flex:0 0 240px; }
  .cp-hw-header { flex-direction:column; align-items:flex-start; }
}

/* Admin management bar (pouze pro přihlášené) */
.cp-admin-mgmt { display:flex; gap:10px; margin-bottom:12px; padding:8px 12px;
                 background:#fff3cd; border:1px solid #ffc107; border-radius:8px;
                 font-size:.8rem; flex-wrap:wrap; }
.cp-admin-mgmt a { font-weight:700; color:#795548; text-decoration:none; }
.cp-admin-mgmt a:hover { color:#3a6b35; }
