:root{--bg:#eef2f7;--card:#ffffff;--text:#111827;--muted:#5f6b7a;--brand:#0078d7;--brand2:#005fa3;--warn:#f39c12;--danger:#d93025;--ok:#1e8e3e;--lock:#6b7280;--nav-bg:#444;--nav-text:#fff;--line:#dbe3ee;--soft:#f6f9fc;--input-bg:#fff;--shadow:0 10px 28px rgba(15,23,42,.08);}
:root[data-theme="dark"]{--bg:#111827;--card:#1f2937;--text:#f3f4f6;--muted:#c1c7d0;--brand:#60a5fa;--brand2:#3b82f6;--warn:#d97706;--danger:#dc2626;--ok:#16a34a;--lock:#6b7280;--nav-bg:#111827;--nav-text:#f9fafb;--line:#374151;--soft:#273244;--input-bg:#111827;--shadow:0 0 0 rgba(0,0,0,0);}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text);transition:background .2s ease,color .2s ease;overflow-x:hidden}a{color:var(--brand);text-decoration:underline}a:hover{color:var(--brand2)}img{max-width:100%;height:auto}.container{max-width:1180px;margin:0 auto;padding:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:22px;margin-top:18px}h1,h2,h3{margin:0 0 10px 0;word-break:break-word}p{line-height:1.5}label{display:block;margin:12px 0 6px;font-weight:700}input,select,textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;font-size:16px;font-family:inherit;background:var(--input-bg);color:var(--text)}textarea{min-height:120px;resize:vertical}button,.btn{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;line-height:1.2;background:var(--brand);color:#fff;border:none;padding:12px 18px;border-radius:8px;font-size:16px;min-height:46px;cursor:pointer;text-decoration:none;transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease,filter .18s ease}
.btn:link,.btn:visited,.btn:hover,.btn:focus,.btn:active{color:#fff;text-decoration:none}
button:hover,.btn:hover,button:focus,.btn:focus{background:var(--brand2);transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.16);filter:brightness(1.04)}
button:active,.btn:active{background:var(--brand2);color:#fff;transform:translateY(0);box-shadow:none;filter:none}.btn.disabled{background:var(--lock);cursor:not-allowed;pointer-events:none;transform:none;box-shadow:none;filter:none}.small{color:var(--muted);font-size:14px}footer{margin-top:28px;background:#222;color:#fff;text-align:center;padding:16px}hr{border:none;border-top:1px solid var(--line);margin:18px 0}.msg{padding:12px 14px;border-radius:8px;margin:14px 0;transform:none !important;box-shadow:none !important;filter:none !important;transition:none !important}.msg.ok{background:#16a34a;border:1px solid #15803d;color:#fff}.msg.err{background:#dc2626;border:1px solid #b91c1c;color:#fff}.row{display:flex;gap:16px;flex-wrap:wrap}.col{flex:1;min-width:260px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;margin-top:14px}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}tbody tr:hover{background:var(--soft)}.badge{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.badge.active{background:#e8fff0;color:#136c2e}.badge.waiting{background:#fff4db;color:#9a5b00}.badge.blocked{background:#ffe2e2;color:#b21717}.badge.no{background:#f1f1f1;color:#555}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions form{margin:0}.smallbtn{padding:9px 12px !important;font-size:14px !important;min-height:38px;line-height:1.2}.warn{background:var(--warn)!important}.danger{background:var(--danger)!important}.admin-nav{display:flex;gap:10px;flex-wrap:wrap}.admin-nav .btn{padding:10px 14px}.admin-thumb{width:80px;height:50px;object-fit:contain;border-radius:6px;background:#eee;display:block}.banner-card{padding:18px}.banner-card-admin .banner-editor.editing{cursor:grab}.banner-editor{position:relative;user-select:none}.banner-editor.dragging{cursor:grabbing}
/* Patch 3.1: vrácení menší výšky banneru */
.banner-image{width:100%;height:180px;object-fit:cover;object-position:center center;border-radius:18px;display:block;background:var(--soft);border:1px solid var(--line)}
.banner-admin-corner{position:absolute;right:14px;top:14px}.banner-admin-panel{margin-top:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:14px;background:var(--soft);border:1px solid var(--line);box-shadow:var(--shadow)}.banner-admin-row{display:flex;flex-direction:column;gap:3px}.banner-admin-title{font-size:14px;font-weight:700}.banner-admin-hint{font-size:12px;color:var(--muted)}.banner-admin-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.banner-admin-btn{padding:10px 12px !important;font-size:14px !important;border-radius:10px !important}.banner-admin-btn.ghost{background:var(--card)!important;color:var(--text)!important;border:1px solid var(--line)!important}.banner-admin-btn.okbtn{background:var(--brand)!important;color:#fff!important}.banner-admin-status{display:inline-block;margin-top:10px;padding:8px 10px;border-radius:10px;font-size:13px;background:var(--soft);color:var(--text);border:1px solid var(--line)}
.menu-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 20px}
.menu-left{grid-column:1;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;min-width:0}
.menu-left-banners{justify-content:center}
.menu-banner-link{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:40px;
padding:9px 16px;
border-radius:999px;
background:var(--soft);
border:1px solid var(--line);
color:var(--text);
text-decoration:none;
font-weight:700;
line-height:1.2;
white-space:nowrap;
}
.menu-banner-link:hover,
.menu-banner-link:focus{
text-decoration:none;
background:var(--card);
color:var(--text);
}
.menu-banner-link.is-active{
background:var(--card);
box-shadow:var(--shadow);
}
.menu-right{grid-column:2;justify-self:end;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.theme-toggle-inline{background:var(--card);color:var(--text);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px;padding:10px 14px;font-size:14px;font-weight:700;line-height:1}.theme-toggle-inline:hover,.theme-toggle-inline:focus{background:var(--soft)!important;color:var(--text)!important;border-color:var(--line)!important}.theme-toggle-inline:active{background:var(--soft)!important;color:var(--text)!important;border-color:var(--line)!important}
.home-showcase{padding-top:28px;padding-bottom:28px}.home-showcase-title{text-align:center;font-size:32px;font-weight:800;margin-bottom:12px;text-shadow:0 6px 16px rgba(0,0,0,.12)}.home-showcase-description{text-align:center;max-width:900px;margin:0 auto 18px auto}.home-showcase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;align-items:stretch}.home-showcase-item{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);height:100%}.home-showcase-link{text-decoration:none;color:inherit;display:block;height:100%}.home-showcase-item.has-image-text .home-showcase-link,.home-showcase-item.text-only .home-showcase-link{display:flex;flex-direction:column;height:100%}.home-showcase-media{background:transparent;border:0;border-radius:14px;padding:0;min-height:170px;display:flex;align-items:center;justify-content:center;transition:transform .18s ease, box-shadow .18s ease;margin-bottom:14px}.home-showcase-item.image-only .home-showcase-media{margin-bottom:0}.home-showcase-link:hover .home-showcase-media{transform:none;box-shadow:none}.home-showcase-media img{width:100%;max-height:260px;object-fit:contain;display:block;margin:0 auto;border-radius:12px;background:transparent}.home-showcase-content{margin-top:0;text-align:center;display:flex;flex-direction:column;gap:10px;justify-content:flex-start}.home-showcase-content.no-image{min-height:170px;justify-content:center;background:var(--card);border:1px dashed var(--line);border-radius:14px;padding:18px}.home-showcase-caption{margin:0;font-size:18px;font-weight:700;text-align:center}.home-showcase-text{font-size:15px;line-height:1.7;color:var(--text);text-align:center;white-space:normal}.home-showcase-empty{width:100%;min-height:120px;display:flex;align-items:center;justify-content:center;color:var(--muted);background:var(--card);border:1px dashed var(--line);border-radius:12px}
.formatted-content p,.formatted-content div{margin:0 0 10px 0}.formatted-content a{color:var(--brand);text-decoration:underline}.formatted-content span[style*="color"]{display:inline}.editor-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.editor-btn{padding:8px 10px !important;font-size:14px !important;border-radius:8px !important}.editor-size-select,.universal-rte-size{display:inline-block;width:auto;min-width:110px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;background:var(--card);color:var(--text)}.rich-editor{min-height:180px;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--input-bg);color:var(--text);font-size:16px;line-height:1.6}.rich-editor:focus{outline:2px solid rgba(59,130,246,.25);border-color:var(--brand)}
@media (max-width:800px){.container{padding:12px}.card{padding:16px;border-radius:18px}.home-showcase-grid{grid-template-columns:1fr;gap:16px}.home-showcase-item{padding:14px;border-radius:14px}.home-showcase-title{font-size:26px}.home-showcase-description{font-size:15px}.banner-card{padding:12px}.banner-image{height:120px;border-radius:14px}.banner-admin-corner{position:static;margin-bottom:10px}.banner-admin-panel{flex-direction:column;align-items:flex-start;padding:12px}.menu-card{grid-template-columns:1fr;gap:12px;text-align:center}.menu-left,.menu-right{grid-column:auto;justify-self:center;text-align:center}.menu-left a{margin:6px 8px}.menu-right{width:100%}.theme-toggle-inline{width:100%;max-width:240px}.admin-nav{gap:8px}.admin-nav .btn{width:100%;text-align:center}.actions{flex-direction:column;align-items:stretch}.actions .btn,.actions button{width:100%;text-align:center}th,td{padding:10px 8px;font-size:14px}.home-showcase-media{min-height:0}.home-showcase-content.no-image{min-height:120px}}
@media (max-width:520px){.container{padding:10px}.card{padding:14px;border-radius:16px}.banner-image{height:100px}.home-showcase-title{font-size:22px}.home-showcase-caption{font-size:16px}.menu-left a{display:block;margin:8px 0}.editor-toolbar{gap:6px}.editor-btn{padding:7px 8px !important;font-size:13px !important}}
.drag-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:12px;
}
.drag-card{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--soft);
  cursor:grab;
}
.drag-card.dragging{opacity:.45}
.drag-card-handle{
  font-size:22px;
  color:var(--muted);
  width:24px;
  text-align:center;
}
.drag-card-thumb{
  width:86px;
  flex:0 0 86px;
}
.drag-card-content{
  min-width:0;
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
}
.drag-card-title{
  font-weight:700;
  font-size:16px;
  margin:0;
  line-height:1.3;
}
.drag-card-meta{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  display:block;
  max-width:100%;
}
.drag-card-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  flex:0 0 auto;
  align-items:center;
}
.drag-card-preview{
  display:inline;
}
.drag-card-sep{
  opacity:.75;
  margin:0 4px;
}
@media (max-width:700px){
  .drag-card{
    align-items:flex-start;
    flex-direction:column;
  }
  .drag-card-thumb{
    width:auto;
    flex:0 0 auto;
  }
  .drag-card-meta{
    white-space:normal;
    overflow:visible;
    text-overflow:unset;
  }
  .drag-card-actions{
    width:100%;
  }
}

/* Patch I – kompaktní badge zaplaceno */
.badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  white-space:nowrap;
  line-height:1.1;
  vertical-align:middle;
}
.badge.active{
  padding:4px 10px;
}
.badge.active .check,
.badge .check{
  display:inline-block;
  margin-left:0;
  line-height:1;
}

.smallbtn.ok{
background:#22c55e;
border:1px solid #16a34a;
color:#fff;
}

.smallbtn.ok:hover{
background:#16a34a;
}

/* Patch L + P – nový layout stránky Downloady */
.download-section-card{
  padding-top:26px;
}
.download-section-desc{
  margin-bottom:18px;
}
.download-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 240px));
  gap:16px;
  margin-top:14px;
  justify-content:start;
  align-items:start;
}
.download-item-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  height:auto;
  min-height:0;
  width:240px;
  max-width:240px;
  padding:12px;
  border-radius:18px;
  border:1px solid var(--line);
  background:var(--soft);
}
.download-item-media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:96px;
}
.download-item-thumb{
  width:100%;
  max-width:96px;
  height:76px;
  object-fit:contain;
  display:block;
  border-radius:14px;
  background:rgba(255,255,255,.04);
}
.download-item-thumb-empty{
  width:100%;
  max-width:96px;
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed var(--line);
  border-radius:14px;
  color:var(--muted);
  padding:14px;
}
.download-item-body{
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:1;
}
.download-item-title{
  font-size:26px;
  line-height:1.15;
  margin:0;
}
.download-item-meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:15px;
}
.download-description,
.download-changes{
  font-size:15px;
  line-height:1.6;
}
.download-rating{
  margin-top:auto;
}
.download-rating-form{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.download-rating-form select{
  width:auto;
  min-width:130px;
}
.download-actions-line{
  margin-top:4px;
}
.download-btn-blue,.download-btn-green,.download-btn-gray{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
  padding:12px 18px;
  border-radius:12px;
  text-decoration:none;
  font-weight:700;
  line-height:1.1;
  border:1px solid rgba(255,255,255,.08);
}
.download-btn-blue{background:var(--brand);color:#fff}
.download-btn-green{background:#22a447;color:#fff}
.download-btn-gray{background:#334155;color:#fff}
.download-btn-blue:hover,.download-btn-green:hover,.download-btn-gray:hover{
  filter:brightness(1.05);
  text-decoration:none;
}
.download-richtext p{margin:.2rem 0 .55rem 0}
.download-richtext a{color:#8bb8ff;text-decoration:underline}

@media (max-width:700px){
  .download-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .download-item-card{
    padding:16px;
  }
  .download-item-title{
    font-size:22px;
  }
  .download-item-media{
    min-height:120px;
  }
  .download-btn-blue,.download-btn-green,.download-btn-gray{
    width:100%;
    min-width:0;
  }
}



/* Patch L2 – kompaktní download karty */
.download-grid{
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:16px;
}
.download-item-card{
  padding:14px;
  gap:10px;
  border-radius:16px;
}
.download-item-media{
  min-height:88px;
}
.download-item-thumb{
  max-width:120px;
  height:84px;
  border-radius:12px;
}
.download-item-thumb-empty{
  max-width:120px;
  min-height:84px;
  font-size:13px;
}
.download-item-body{
  gap:8px;
}
.download-item-title{
  font-size:18px;
  line-height:1.2;
}
.download-item-meta{
  gap:2px;
  font-size:14px;
}
.download-description,
.download-changes{
  display:none;
}
.compact-rating{
  margin-top:2px;
}
.download-rating-form{
  gap:6px;
}
.download-rating-form select{
  min-width:96px;
  padding:8px 10px;
}
.download-rating-form .smallbtn{
  padding:8px 12px;
}
.download-actions-line{
  margin-top:auto;
}
.download-btn-blue,.download-btn-green,.download-btn-gray{
  width:100%;
  min-width:0;
  padding:10px 14px;
  border-radius:10px;
  font-size:15px;
}
.download-section-card h2{
  margin-bottom:6px;
}
.download-section-desc{
  margin-bottom:12px;
}
@media (min-width:1100px){
  .download-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:700px){
  .download-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .download-item-card{
    padding:12px;
  }
  .download-item-title{
    font-size:17px;
  }
  .download-item-meta{
    font-size:13px;
  }
  .download-rating-form{
    flex-direction:column;
    align-items:stretch;
  }
}
@media (max-width:520px){
  .download-grid{
    grid-template-columns:1fr;
  }
}



/* Patch L3 – vylepšení download karet */
.download-grid{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:16px;
}
.download-item-card{
  position:relative;
  padding:14px;
  gap:10px;
  border-radius:16px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.download-item-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(0,0,0,.18);
  border-color:rgba(255,255,255,.14);
}
.download-item-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.download-type-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
}
.download-type-public{background:#e8fff0;color:#136c2e}
.download-type-paid{background:#fff4db;color:#9a5b00}
.download-type-registered{background:#dbeafe;color:#1d4ed8}
.download-mini-version{
  font-size:12px;
  color:var(--muted);
  font-weight:700;
}
.download-item-media{
  min-height:96px;
}
.download-item-thumb{
  max-width:126px;
  height:90px;
  border-radius:12px;
  transition:transform .18s ease;
}
.download-item-card:hover .download-item-thumb{
  transform:scale(1.04);
}
.download-item-thumb-empty{
  max-width:126px;
  min-height:90px;
}
.download-item-body{
  gap:8px;
}
.download-item-title{
  font-size:18px;
  line-height:1.2;
  margin:0;
}
.download-item-meta{
  gap:2px;
  font-size:14px;
}
.download-rating-summary{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:2px;
}
.download-stars-static{
  font-size:16px;
  letter-spacing:1px;
  color:#f5c451;
}
.download-star-form{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.star-rating-input{
  display:flex;
  flex-direction:row-reverse;
  justify-content:flex-end;
  gap:2px;
}
.star-rating-input input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.star-rating-input label{
  cursor:pointer;
  font-size:24px;
  line-height:1;
  color:#5f6c84;
  transition:transform .12s ease, color .12s ease;
}
.star-rating-input label:hover,
.star-rating-input label:hover ~ label,
.star-rating-input input:checked ~ label{
  color:#f5c451;
}
.star-rating-input label:hover{
  transform:scale(1.06);
}
.download-details{
  margin-top:2px;
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:8px;
}
.download-details summary{
  cursor:pointer;
  font-weight:700;
  color:var(--text);
}
.download-details[open] summary{
  margin-bottom:8px;
}
.download-details .download-richtext{
  font-size:14px;
  line-height:1.55;
}
.download-btn-blue,.download-btn-green,.download-btn-gray{
  width:100%;
  min-width:0;
}
@media (min-width:1100px){
  .download-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:700px){
  .download-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .download-item-card{
    padding:12px;
  }
  .download-item-title{
    font-size:17px;
  }
  .download-item-meta{
    font-size:13px;
  }
  .download-star-form{
    flex-direction:column;
    align-items:stretch;
  }
}
@media (max-width:520px){
  .download-grid{
    grid-template-columns:1fr;
  }
}



/* Patch L4 – downloady formulář + odznaky + horní panel */
.download-badge-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.download-badge-extra{background:#dc2626;color:#fff}
.html{scroll-behavior:smooth}

.download-search-header{padding:14px 18px}
.download-search-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:nowrap;
}
.download-section-links{
  display:flex;
  align-items:center;
  gap:10px;
  flex:1 1 auto;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:thin;
  padding-bottom:2px;
}
.download-section-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:40px;
  padding:9px 14px;
  border-radius:999px;
  background:var(--soft);
  border:1px solid var(--line);
  color:var(--text);
  text-decoration:none;
  font-weight:700;
  white-space:nowrap;
}
.download-section-link:hover,
.download-section-link:focus{
  text-decoration:none;
  background:var(--card);
  color:var(--text);
}
.download-search-note{
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}
.download-searchbox-compact{
  width:100%;
  max-width:430px;
  min-width:280px;
  margin-left:auto;
  flex:0 0 430px;
}
.download-searchbox-compact input{margin:0}

@media (max-width:900px){
  .download-search-wrap{
    flex-direction:column;
    align-items:stretch;
  }
  .download-section-links{
    width:100%;
  }
  .download-searchbox-compact{
    max-width:none;
    min-width:0;
    flex:1 1 auto;
    margin-left:0;
  }
}



/* PATCH CORE-1 REBUILD — Stabilní UI editor */
.ui-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ui-toolbar-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.btn.ghost{background:var(--soft);color:var(--text);border:1px solid var(--line)}
.btn.ghost:hover{background:var(--card)}
.ui-edit-mode .ui-edit-box{
  position:relative;
  margin:8px 0;
  padding:0;
  border:1px dashed rgba(255,255,255,.10);
  border-radius:12px;
}
.ui-edit-box.is-hidden{opacity:.52}
.ui-edit-box.is-hidden::after{
  content:'Skryto';
  position:absolute;
  top:8px;
  right:52px;
  font-size:11px;
  background:rgba(220,38,38,.12);
  color:#fca5a5;
  padding:2px 8px;
  border-radius:999px;
  z-index:2;
}
.ui-toggle-visibility{
  position:absolute;
  top:6px;
  right:6px;
  width:38px;
  height:38px;
  min-width:38px;
  padding:0 !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:var(--soft) !important;
  border:1px solid var(--line) !important;
  z-index:3;
}
.ui-toggle-visibility:hover{background:var(--card) !important}
.ui-toggle-visibility.is-visible{border-color:#16a34a !important}
.ui-toggle-visibility.is-hidden-state{border-color:#dc2626 !important}
.ui-eye-icon{
  width:18px;
  height:18px;
  display:block;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}
.ui-toggle-visibility.is-visible .ui-eye-icon{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f8fafc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z'/><circle cx='12' cy='12' r='3.2'/></svg>");
}
.ui-toggle-visibility.is-hidden-state .ui-eye-icon{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f8fafc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17.94 17.94A10.94 10.94 0 0 1 12 19c-6.5 0-10-7-10-7a21.77 21.77 0 0 1 5.08-5.94'/><path d='M9.9 4.24A10.94 10.94 0 0 1 12 5c6.5 0 10 7 10 7a21.8 21.8 0 0 1-4.22 5.27'/><path d='M14.12 14.12A3 3 0 1 1 9.88 9.88'/><path d='M3 3l18 18'/></svg>");
}
.ui-edit-mode .ui-edit-box > label:first-of-type,
.ui-edit-mode .ui-edit-box > .small:first-of-type{
  padding-right:48px;
}
@media (max-width:700px){
  .ui-toolbar{align-items:stretch}
  .ui-toolbar-form{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .ui-toolbar-form .btn,.ui-toolbar-form button{width:100%;text-align:center}
  .ui-toggle-visibility{width:34px;height:34px;min-width:34px}
  .ui-eye-icon{width:16px;height:16px}
  .ui-edit-box.is-hidden::after{right:46px}
}

/* Galerie stránky */
.page-gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  width:100%;
  margin:18px 0 24px 0;
}
.page-gallery-link{
  display:block;
  padding:10px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--soft);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  overflow:hidden;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.page-gallery-link:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.14);
}
.page-gallery-link img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.06);
  border-radius:12px;
  background:var(--card);
  box-sizing:border-box;
  transition:transform .18s ease;
}
.page-gallery-link:hover img{
  transform:scale(1.04);
}
.home-showcase-content .page-gallery-grid{
  margin:16px 0 0 0;
}
@media (max-width:1100px){
  .page-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:640px){
  .page-gallery-grid{
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:20px;
  }
  .page-gallery-link{
    padding:8px;
    border-radius:14px;
  }
}

.gallery-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:12px 0 8px}.gallery-admin-item{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:18px;background:var(--soft)}.gallery-admin-item img{display:block;width:100%;height:96px;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:var(--card)}.gallery-admin-item .smallbtn{align-self:flex-start}.gallery-admin-item button{margin:0}.gallery-admin-item form{margin:0}

.password-field{position:relative;margin-bottom:2px}.password-field input{padding-right:110px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:7px 12px !important;font-size:14px !important;line-height:1;border-radius:8px !important}.password-toggle:hover,.password-toggle:focus{background:var(--brand2);transform:translateY(-50%);box-shadow:0 8px 18px rgba(0,0,0,.16);filter:brightness(1.04)}
.password-toggle:active{box-shadow:none;filter:none}

.warn:hover,.warn:focus,.danger:hover,.danger:focus,.ok:hover,.ok:focus,.download-btn-blue:hover,.download-btn-blue:focus,.download-btn-green:hover,.download-btn-green:focus,.download-btn-gray:hover,.download-btn-gray:focus,.banner-admin-btn:hover,.banner-admin-btn:focus,.theme-toggle-inline:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.16);filter:brightness(1.04)}
.banner-admin-btn.okbtn:hover,.banner-admin-btn.okbtn:focus{background:var(--brand2)!important;color:#fff!important}
.warn:active,.danger:active,.ok:active,.download-btn-blue:active,.download-btn-green:active,.download-btn-gray:active,.banner-admin-btn:active,.theme-toggle-inline:active{transform:translateY(0);box-shadow:none;filter:none}
.warn:hover,.warn:focus{background:var(--warn)!important}
.danger:hover,.danger:focus{background:var(--danger)!important}
.ok:hover,.ok:focus{background:var(--ok)!important}
.download-btn-blue:hover,.download-btn-blue:focus,.download-btn-blue:active,.download-btn-green:hover,.download-btn-green:focus,.download-btn-green:active,.download-btn-gray:hover,.download-btn-gray:focus,.download-btn-gray:active{color:#fff!important}
.theme-toggle-inline:focus,.theme-toggle-inline:focus-visible{outline:none;border-color:var(--line)!important}
.theme-toggle-inline:focus:not(:hover),.theme-toggle-inline:focus-visible:not(:hover){background:var(--card)!important;color:var(--text)!important;transform:none!important;box-shadow:var(--shadow)!important;filter:none!important}
.theme-toggle-inline:hover,.theme-toggle-inline:focus:hover,.theme-toggle-inline:focus-visible:hover{background:var(--soft)!important;color:var(--text)!important;border-color:var(--line)!important}
.download-btn-blue:hover,.download-btn-blue:focus{background:#2f6fd6!important;color:#fff!important}


.password-toggle-icon{
  width:44px;
  min-width:44px;
  padding:7px 0 !important;
  text-align:center;
  font-size:18px !important;
  line-height:1;
}
.password-toggle-icon .eye-open,
.password-toggle-icon .eye-closed{
  display:inline-block;
  line-height:1;
}

.eye-icon{
  display:block;
  width:20px;
  height:20px;
  fill:currentColor;
}


.password-toggle{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 6px !important;
  width:auto !important;
  min-width:auto !important;
  color:#9fb3c8;
}
.password-toggle:hover{
  color:#ffffff;
  background:transparent !important;
}
.password-field input{
  padding-right:40px !important;
}


.menu-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.menu-left{
  flex:1 1 auto;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:14px;
}
.menu-right{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:12px;
}
.menu-account-btn{
  white-space:nowrap;
}
@media (max-width: 800px){
  .menu-card{
    flex-direction:column;
    align-items:stretch;
  }
  .menu-left{
    justify-content:center;
  }
  .menu-right{
    justify-content:center;
  }
}

.btn-danger{
  background:#dc2626;
}
.btn-danger:hover{
  background:#b91c1c;
}

.msg:hover,.msg.ok:hover,.msg.err:hover{transform:none !important;box-shadow:none !important;filter:none !important;background-image:none !important}

.gallery-admin-item.main-image-preview img{
  height:auto !important;
  max-height:260px;
  object-fit:contain !important;
  width:100%;
}


footer{margin-top:28px;background:#222;color:#fff;text-align:center;padding:16px}
.footer-links{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:10px}
.footer-links a{color:#fff;text-decoration:none}
.footer-links a:hover,.footer-links a:focus{text-decoration:underline;color:#fff}
.footer-copy{color:#fff}


.payment-support-box{
  margin:18px 0 10px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--soft);
}
.payment-support-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.payment-support-icon{
  font-size:20px;
  line-height:1;
}
.payment-support-title{
  font-size:20px;
  font-weight:700;
  color:var(--text);
}
.payment-info-html{
  color:var(--text);
}
.payment-info-html > *:first-child{
  margin-top:0;
}
.payment-info-html > *:last-child{
  margin-bottom:0;
}


.payment-vs-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 14px;
}
.payment-vs-value{
  font-size:18px;
}
.copy-vs-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  min-height:34px;
  padding:0 !important;
  margin-left:2px;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  color:#1f2937 !important;
  filter:none !important;
  transform:none !important;
  outline:none !important;
}
:root[data-theme="dark"] .copy-vs-btn{
  color:#f3f4f6 !important;
}
.copy-vs-btn:hover,
.copy-vs-btn:focus,
.copy-vs-btn:active{
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
  color:#111827 !important;
}
:root[data-theme="dark"] .copy-vs-btn:hover,
:root[data-theme="dark"] .copy-vs-btn:focus,
:root[data-theme="dark"] .copy-vs-btn:active{
  color:#ffffff !important;
}
.copy-vs-btn svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
}
.payment-qr-panel{
  margin:6px 0 14px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--soft);
  max-width:280px;
}
.payment-qr-title{
  font-weight:700;
  margin-bottom:10px;
  color:var(--text);
}
.payment-qr-wrap{
  display:inline-block;
  padding:10px;
  border-radius:20px;
  background:#fff;
  border:1px solid #e5e7eb;
}
.payment-qr-image{
  display:block;
  width:220px;
  max-width:100%;
  height:auto;
  border-radius:18px;
}


.download-section-card{
  height:auto;
}
.download-grid{
  align-items:start;
  align-content:start;
  justify-content:start;
  grid-auto-rows:max-content;
}

.download-grid > *{
  width:240px;
  max-width:240px;
}
.download-item-title{
  font-size:15px;
  line-height:1.2;
  margin-bottom:2px;
}
.download-item-meta{
  font-size:12px;
  line-height:1.35;
}
.download-item-card .btn,
.download-item-card button{
  min-height:40px;
  padding:10px 12px;
}


.download-grid{
  grid-template-columns:repeat(auto-fit, 210px) !important;
  justify-content:start !important;
  gap:14px !important;
}

.download-item-card{
  width:210px !important;
  min-width:210px !important;
  max-width:210px !important;
  padding:10px !important;
  gap:8px !important;
}

.download-grid > *{
  width:210px !important;
  min-width:210px !important;
  max-width:210px !important;
}

.download-item-media{
  min-height:84px !important;
}

.download-item-thumb{
  max-width:84px !important;
  height:64px !important;
}

.download-item-thumb-empty{
  max-width:84px !important;
  min-height:64px !important;
}

.download-item-title{
  font-size:14px !important;
  line-height:1.15 !important;
}

.download-item-meta{
  font-size:11px !important;
  line-height:1.3 !important;
}

.download-item-body{
  gap:8px !important;
}

.download-item-card .smallbtn,
.download-item-card .download-btn-blue,
.download-item-card .download-btn-green,
.download-item-card .download-btn-gray{
  min-height:36px !important;
}

.download-rating-summary{
  gap:6px !important;
}


/* fix roztažení download karty kvůli detail panelům */
.download-grid{
  grid-template-columns:repeat(auto-fit,210px) !important;
  justify-content:start !important;
}

.download-item-card{
  width:210px !important;
  max-width:210px !important;
  min-width:210px !important;
  box-sizing:border-box;
}

.download-details{
  width:100%;
  max-width:100%;
}

.download-details summary{
  width:100%;
}

.download-details div{
  width:100%;
  max-width:100%;
  overflow-wrap:break-word;
}


.compact-download-card{
  width:230px !important;
  min-width:230px !important;
  max-width:230px !important;
  padding:12px !important;
  gap:10px !important;
}
.download-grid{
  grid-template-columns:repeat(auto-fit, 230px) !important;
  gap:16px !important;
  justify-content:start !important;
}
.download-grid > *{
  width:230px !important;
  min-width:230px !important;
  max-width:230px !important;
}
.compact-download-head{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.compact-download-media{
  min-height:82px !important;
  margin-bottom:0 !important;
}
.compact-download-main{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.compact-download-card .download-item-thumb{
  max-width:84px !important;
  height:64px !important;
}
.compact-download-card .download-item-thumb-empty{
  max-width:84px !important;
  min-height:64px !important;
}
.compact-download-card .download-item-title{
  font-size:15px !important;
  line-height:1.18 !important;
  margin:0 !important;
}
.compact-download-card .download-item-meta{
  font-size:12px !important;
  line-height:1.35 !important;
}
.compact-download-card .download-item-meta > div{
  margin:0;
}
.compact-download-card .download-rating-summary{
  gap:6px !important;
}
.compact-download-card .compact-download-rate{
  gap:8px !important;
}
.compact-download-card .download-details{
  width:100%;
  max-width:100%;
}
.compact-download-card .download-details summary{
  width:100%;
}
.compact-download-card .download-richtext{
  overflow-wrap:break-word;
}
.compact-download-card .download-actions-line .download-btn-blue,
.compact-download-card .download-actions-line .download-btn-green,
.compact-download-card .download-actions-line .download-btn-gray{
  min-height:40px !important;
}


/* nová kompaktní karta downloadu */
.download-grid{
  grid-template-columns:repeat(auto-fit, minmax(210px, 210px)) !important;
  justify-content:start !important;
  gap:14px !important;
}

.od-card{
  width:210px;
  min-width:210px;
  max-width:210px;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--soft);
  box-sizing:border-box;
}

.od-badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.od-head{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.od-media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:72px;
}

.od-thumb{
  display:block;
  width:84px;
  height:64px;
  object-fit:contain;
  border-radius:12px;
  background:rgba(255,255,255,.04);
}

.od-thumb-empty{
  width:84px;
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed var(--line);
  border-radius:12px;
  color:var(--muted);
  padding:8px;
  text-align:center;
  font-size:12px;
}

.od-main{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.od-title{
  margin:0;
  font-size:15px;
  line-height:1.18;
}

.od-meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:12px;
  line-height:1.35;
}

.od-rating{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}

.od-rate{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.od-rate .smallbtn{
  min-height:36px;
}

.od-details{
  width:100%;
}

.od-details summary{
  cursor:pointer;
}

.od-details .download-richtext{
  overflow-wrap:break-word;
}

.od-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.od-actions .download-btn-blue,
.od-actions .download-btn-green,
.od-actions .download-btn-gray{
  min-height:38px;
}

@media (max-width: 640px){
  .download-grid{
    grid-template-columns:1fr !important;
  }
  .od-card{
    width:100%;
    min-width:0;
    max-width:none;
  }
}


/* clean rewritten download cards */
.od-section{
  padding-top:26px;
}
.od-section-desc{
  margin-bottom:18px;
}
.od-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 220px));
  gap:18px;
  justify-content:start;
  align-items:start;
  margin-top:14px;
}
.od2-card{
  width:220px;
  min-width:220px;
  max-width:220px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:14px;
  border-radius:18px;
  border:1px solid var(--line);
  background:var(--soft);
}
.od2-badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.od2-thumbwrap{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:82px;
}
.od2-thumb{
  width:86px;
  height:66px;
  object-fit:contain;
  display:block;
  border-radius:12px;
  background:rgba(255,255,255,.04);
}
.od2-thumb-empty{
  width:86px;
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed var(--line);
  border-radius:12px;
  color:var(--muted);
  padding:8px;
  text-align:center;
  font-size:12px;
  line-height:1.2;
}
.od2-title{
  margin:0;
  font-size:16px;
  line-height:1.2;
}
.od2-meta{
  display:flex;
  flex-direction:column;
  gap:3px;
  font-size:12px;
  line-height:1.35;
}
.od2-rating-summary{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}
.od2-rate-form{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.od2-rate-form .smallbtn{
  min-height:38px;
}
.od2-details{
  width:100%;
}
.od2-details summary{
  cursor:pointer;
}
.od2-details .download-richtext{
  overflow-wrap:break-word;
}
.od2-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.od2-actions .download-btn-blue,
.od2-actions .download-btn-green,
.od2-actions .download-btn-gray{
  min-height:40px;
}
@media (max-width:640px){
  .od-grid{
    grid-template-columns:1fr;
  }
  .od2-card{
    width:100%;
    min-width:0;
    max-width:none;
  }
}


/* testovaci stranka downloadu */
.dt-section{
  padding-top:26px;
}
.dt-section-desc{
  margin-bottom:18px;
}
.dt-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(360px, 360px));
  gap:18px;
  justify-content:start;
  align-items:start;
  margin-top:14px;
}
.dt-card{
  width:360px;
  min-width:360px;
  max-width:360px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:14px;
  border-radius:18px;
  border:1px solid var(--line);
  background:var(--soft);
}
.dt-badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.dt-head{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:12px;
  align-items:start;
}
.dt-media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:84px;
}
.dt-thumb{
  width:84px;
  height:64px;
  object-fit:contain;
  display:block;
  border-radius:12px;
  background:rgba(255,255,255,.04);
}
.dt-thumb-empty{
  width:84px;
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed var(--line);
  border-radius:12px;
  color:var(--muted);
  padding:8px;
  text-align:center;
  font-size:12px;
  line-height:1.2;
}
.dt-side{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.dt-title{
  margin:0;
  font-size:20px;
  line-height:1.15;
}
.dt-meta{
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
  font-size:14px;
  line-height:1.35;
}
.dt-bottom{
  display:grid;
  grid-template-columns:1fr 118px;
  gap:10px;
  align-items:start;
}
.dt-rating{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.dt-rating-summary{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.dt-rate-form{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.dt-rate-form .smallbtn{
  min-height:38px;
}
.dt-action{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.dt-action .download-btn-blue,
.dt-action .download-btn-green,
.dt-action .download-btn-gray{
  width:100%;
  min-height:42px;
}
.dt-details{
  width:100%;
}
.dt-details summary{
  cursor:pointer;
}
.dt-details .download-richtext{
  overflow-wrap:break-word;
  margin-top:8px;
}
@media (max-width:640px){
  .dt-grid{
    grid-template-columns:1fr;
  }
  .dt-card{
    width:100%;
    min-width:0;
    max-width:none;
  }
  .dt-head{
    grid-template-columns:1fr;
  }
  .dt-bottom{
    grid-template-columns:1fr;
  }
}


.dt-grid{
  grid-template-columns:repeat(auto-fit, minmax(320px, 320px)) !important;
}
.dt-card{
  width:320px !important;
  min-width:320px !important;
  max-width:320px !important;
}
.dt-bottom{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.dt-action{
  order:1;
  display:flex;
  align-items:stretch;
  justify-content:stretch;
}
.dt-action .download-btn-blue,
.dt-action .download-btn-green,
.dt-action .download-btn-gray{
  width:100%;
  min-height:42px;
}
.dt-rate-form{
  order:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.dt-rate-btn{
  min-height:32px !important;
  padding:7px 12px !important;
  font-size:13px !important;
  white-space:nowrap;
}


/* kosmeticke doladeni testovacich karet */
.dt-rating-summary{
  gap:4px !important;
}
.dt-rating-summary .small{
  opacity:.9;
}
.dt-action{
  width:100%;
}
.dt-action .download-btn-blue,
.dt-action .download-btn-green,
.dt-action .download-btn-gray{
  width:100% !important;
  min-height:44px !important;
  justify-content:center;
}
.dt-rate-form{
  align-items:flex-start !important;
  justify-content:flex-start !important;
}
.dt-rate-btn{
  min-height:30px !important;
  padding:6px 10px !important;
  font-size:12px !important;
  border-radius:8px !important;
}
.dt-details{
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:6px;
}
.dt-summary{
  font-weight:600;
  opacity:.82;
}
.dt-details summary{
  color:var(--muted);
}
.dt-details[open] summary{
  color:var(--text);
  opacity:.92;
}


.dt-grid{
  justify-content:center !important;
}


.cookie-consent-bar{
  position:fixed;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:9999;
}
.cookie-consent-inner{
  max-width:980px;
  margin:0 auto;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--card);
  box-shadow:0 12px 28px rgba(0,0,0,.22);
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
}
.cookie-consent-text{
  flex:1 1 auto;
}
.cookie-consent-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
}
.cookie-btn-all{
  min-width:120px;
}
.cookie-btn-necessary{
  min-width:180px;
}
.cookie-btn-reject{
  min-width:120px;
}
.smallbtn.warning{
  background:#f59e0b;
  border:1px solid #d97706;
  color:#fff;
}
.smallbtn.warning:hover{
  background:#d97706;
}
@media (max-width: 760px){
  .cookie-consent-inner{
    flex-direction:column;
    align-items:stretch;
  }
  .cookie-consent-actions{
    justify-content:stretch;
  }
  .cookie-consent-actions .smallbtn{
    width:100%;
  }
}


@media (max-width:900px){
  .menu-card{
    grid-template-columns:1fr;
  }
  .menu-left{
    justify-content:center;
  }
  .menu-right{
    grid-column:1;
    justify-self:center;
  }
}


/* Patch - soubory v obsahových stránkách */
.page-download-box{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.04);
}
.page-download-box-top{
  margin-bottom:14px;
}
.page-download-head{
  font-weight:700;
  margin-bottom:8px;
}
.page-download-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.page-download-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  background:var(--card);
  border:1px solid var(--line);
}
.page-download-sep{
  color:var(--muted);
}
.page-download-box .download-btn-blue,
.page-download-box .download-btn-green{
  min-width:0;
  width:auto;
  padding:10px 14px;
  border-radius:10px;
}

/* Patch – centrování souborových boxů na obsahových stránkách */
.page-download-box{
  text-align:center;
}
.page-download-head{
  text-align:center;
}
.page-download-actions{
  justify-content:center;
}
