/* eHUB Kupóny – frontend styles (scoped) */
:root{
  --ehubk-bg: #f6f7f9;
  --ehubk-surface: #ffffff;
  --ehubk-border: rgba(17, 24, 39, 0.10);
  --ehubk-text: #0f172a;
  --ehubk-muted: rgba(15, 23, 42, 0.70);
  --ehubk-accent: #fa9428;
  --ehubk-accent-2: #16a34a;
  --ehubk-radius: 16px;
  --ehubk-shadow: 0 1px 2px rgba(0,0,0,.06), 0 8px 24px rgba(15, 23, 42, .06);
}

.ehubk-wrap{
  max-width: 1140px;
  margin: 0 auto;
  padding: clamp(18px, 2.2vw, 28px);
}

.ehubk-page-title{
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.08;
  margin: 6px 0 18px;
  letter-spacing: -0.02em;
}

.ehubk-empty{
  background: var(--ehubk-surface);
  border: 1px solid var(--ehubk-border);
  border-radius: var(--ehubk-radius);
  padding: 18px;
  color: var(--ehubk-muted);
}

/* Filters */
.ehubk-filters{
  background: var(--ehubk-surface);
  border: 1px solid var(--ehubk-border);
  border-radius: var(--ehubk-radius);
  box-shadow: var(--ehubk-shadow);
  padding: 14px;
  margin: 0 0 18px;
}

.ehubk-filters__row{
  display: grid;
  grid-template-columns: 1.25fr repeat(4, 0.75fr) auto;
  gap: 12px;
  align-items: end;
}

@media (max-width: 1100px){
  .ehubk-filters__row{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px){
  .ehubk-filters__row{ grid-template-columns: 1fr; }
}

.ehubk-field{ display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ehubk-label{ font-size: 12px; letter-spacing: .02em; color: var(--ehubk-muted); }
.ehubk-input, .ehubk-select{
  width: 100%;
  height: 44px;
  border-radius: 12px;
  border: 1px solid var(--ehubk-border);
  padding: 0 12px;
  background: #fff;
  color: var(--ehubk-text);
  outline: none;
}

/* Některé šablony (a browser styly) rády přepisují <select>/<option> na šedé pozadí */
.ehubk-wrap .ehubk-select{
  background: #fff !important;
}
.ehubk-wrap .ehubk-select option{
  background: #fff !important;
  color: var(--ehubk-text) !important;
}
.ehubk-input::placeholder{ color: rgba(15, 23, 42, 0.45); }
.ehubk-input:focus, .ehubk-select:focus{
  border-color: rgba(37, 99, 235, 0.45);
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.ehubk-filters__actions{
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-start;
  height: 44px;
}
@media (max-width: 1100px){
  .ehubk-filters__actions{ grid-column: 1 / -1; }
}
.ehubk-reset{ font-size: 13px; }

/* Grid */
.ehubk-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
@media (max-width: 980px){
  .ehubk-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .ehubk-grid{ grid-template-columns: 1fr; }
}

/* Card */
.ehubk-card{
  background: var(--ehubk-surface);
  border: 1px solid var(--ehubk-border);
  border-radius: var(--ehubk-radius);
  box-shadow: var(--ehubk-shadow);
  padding: 14px 14px 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 220px;
}
.ehubk-card__top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.ehubk-card__title{
  font-size: 18px;
  line-height: 1.25;
  margin: 0;
  letter-spacing: -0.01em;
}
.ehubk-card__title a{
  color: var(--ehubk-text);
  text-decoration: none;
}
.ehubk-card__title a:hover{
  color: var(--ehubk-accent);
  text-decoration: underline;
}

.ehubk-meta{
  font-size: 13px;
  color: var(--ehubk-muted);
}
.ehubk-meta--muted{ opacity: .9; }

.ehubk-desc{
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.35;
  color: var(--ehubk-text);
}

.ehubk-chips{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ehubk-chips--single{
  margin-top: 6px;
}
.ehubk-chip{
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(15, 23, 42, 0.10);
  color: var(--ehubk-cat, var(--ehubk-text));
  background: rgba(15, 23, 42, 0.03);
}
.ehubk-chip:hover{
  box-shadow: 0 0 0 4px rgba(15, 23, 42, 0.06);
  color: var(--ehubk-cat, var(--ehubk-text));
}

.ehubk-badge{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid var(--ehubk-border);
  white-space: nowrap;
}
.ehubk-badge.is-active{ background: rgba(22, 163, 74, 0.10); color: #15803d; border-color: rgba(22, 163, 74, 0.25); }
.ehubk-badge.is-future{ background: rgba(37, 99, 235, 0.10); color: #1d4ed8; border-color: rgba(37, 99, 235, 0.25); }
.ehubk-badge.is-expired{ background: rgba(100, 116, 139, 0.10); color: #475569; border-color: rgba(100, 116, 139, 0.25); }

/* Typ nabídky (Sleva / Akce) */
.ehubk-badge--sleva{
  background: rgba(244, 181, 181, 0.16);
  color: #a12f2f;
  border-color: rgba(244, 181, 181, 0.55);
}
.ehubk-badge--akce{
  background: rgba(210, 195, 255, 0.18);
  color: #5b3fb3;
  border-color: rgba(210, 195, 255, 0.60);
}
.ehubk-badge--type{
  background: rgba(148, 163, 184, 0.14);
  color: #334155;
  border-color: rgba(148, 163, 184, 0.35);
}

.ehubk-code{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.ehubk-code__label{
  font-size: 13px;
  color: var(--ehubk-muted);
}
.ehubk-code__value{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 13px;
  padding: 6px 10px;
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.06);
  border: 1px solid rgba(15, 23, 42, 0.10);
}

.ehubk-link{
  color: var(--ehubk-accent);
  text-decoration: none;
}
.ehubk-link:hover{ text-decoration: underline; }

.ehubk-catlink{
  color: var(--ehubk-cat, var(--ehubk-accent));
}
.ehubk-catlink:hover{
  color: var(--ehubk-cat, var(--ehubk-accent));
}

/* Buttons */
.ehubk-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--ehubk-border);
  background: #fff;
  color: var(--ehubk-text);
  cursor: pointer;
  text-decoration: none;
  font-weight: 600;
  font-size: 13px;
  line-height: 1;
  user-select: none;
}
.ehubk-btn:hover{
  box-shadow: 0 0 0 4px rgba(15, 23, 42, 0.06);
}
.ehubk-btn--primary{
  background: var(--ehubk-accent);
  border-color: rgba(250, 148, 40, 0.55);
  color: #fff;
}

/* Theme override hardening (typicky mění barvy <button> na modré) */
.ehubk-wrap button.ehubk-btn:not(.ehubk-btn--primary),
.ehubk-wrap button.ehubk-btn:not(.ehubk-btn--primary):hover,
.ehubk-wrap button.ehubk-btn:not(.ehubk-btn--primary):focus{
  background: #fff !important;
  border-color: var(--ehubk-border) !important;
  color: var(--ehubk-text) !important;
}
.ehubk-wrap button.ehubk-btn--ghost,
.ehubk-wrap button.ehubk-btn--ghost:hover,
.ehubk-wrap button.ehubk-btn--ghost:focus{
  background: rgba(15, 23, 42, 0.04) !important;
}

/* Theme override hardening (Blocksy a jiné šablony často přepisují <button>) */
.ehubk-wrap .ehubk-btn--primary,
.ehubk-wrap .ehubk-btn--primary:hover,
.ehubk-wrap .ehubk-btn--primary:focus,
.ehubk-wrap button.ehubk-btn--primary,
.ehubk-wrap button.ehubk-btn--primary:hover,
.ehubk-wrap button.ehubk-btn--primary:focus{
  background: var(--ehubk-accent) !important;
  border-color: rgba(250, 148, 40, 0.55) !important;
  color: #fff !important;
}
.ehubk-btn--primary:hover{
  box-shadow: 0 0 0 4px rgba(250, 148, 40, 0.22);
}
.ehubk-btn--ghost{
  background: rgba(15, 23, 42, 0.04);
}
.ehubk-btn.is-disabled{
  opacity: .45;
  pointer-events: none;
}

/* Actions */
.ehubk-card__actions{
  margin-top: auto;
  display: flex;
  justify-content: flex-start;
  gap: 10px;
  align-items: center;
}

.ehubk-card__shoplogo{
  /* v přehledu (velké karty) chceme logo čitelnější a zarovnané doprava */
  margin-left: auto;
  width: 64px;
  height: 40px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ehubk-border);
  border-radius: 14px;
  background: #fff;
  /* neschovávat přetahy – některá loga (kruh/okraje) se jinak vizuálně oříznou */
  overflow: visible;
  padding: 6px 8px;
}
.ehubk-card__logoimg{
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

@media (max-width: 640px){
  .ehubk-card__shoplogo{ width: 58px; }
}

/* Pagination */
.ehubk-pagination{
  margin: 18px 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: nowrap;
  background: var(--ehubk-surface);
  border: 1px solid var(--ehubk-border);
  border-radius: var(--ehubk-radius);
  padding: 12px 14px;
}
.ehubk-pagination__info{
  font-size: 13px;
  color: var(--ehubk-muted);
}
.ehubk-pagination__nav{
  display: flex;
  gap: 10px;
}

.ehubk-pagination__jump{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

@media (max-width: 640px){
  .ehubk-pagination{ flex-wrap: wrap; }
  .ehubk-pagination__jump{ flex-wrap: wrap; }
}
.ehubk-pagination__jump-label{
  font-size: 13px;
  color: var(--ehubk-muted);
}
.ehubk-pagination__jump-input{
  width: 90px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--ehubk-border);
  background: #fff;
}

/* Single */
/* ═══════════════════════════════════════════════
   DETAIL KUPÓNU – přepracovaný design
   ═══════════════════════════════════════════════ */

.ehubk-single {
  background: #fff;
  border: 1.5px solid #e8eaed;
  border-radius: 16px;
  box-shadow: 0 2px 16px rgba(0,0,0,.06);
  overflow: hidden;
}

/* ── Breadcrumb ── */
.ehubk-breadcrumb {
  padding: 12px 24px;
  font-size: 12px;
  color: #888;
  background: #f8f9fb;
  border-bottom: 1px solid #f0f1f3;
}
.ehubk-breadcrumb a { color: #fa9428; text-decoration: none; }
.ehubk-breadcrumb a:hover { text-decoration: underline; }
.ehubk-breadcrumb span { margin: 0 5px; color: #ccc; }

/* ── Header ── */
.ehubk-single__header {
  padding: 24px 24px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ehubk-single__header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.ehubk-single__header .ehubk-badge { align-self: flex-start; }
.ehubk-single__title {
  margin: 0;
  font-size: clamp(20px, 2.4vw, 32px);
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: #1a1d23;
}

/* ── Meta row ── */
.ehubk-single__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  padding: 14px 24px;
  background: #f8f9fb;
  border-top: 1px solid #f0f1f3;
  border-bottom: 1px solid #f0f1f3;
  margin: 14px 0 0;
}
.ehubk-meta {
  font-size: 13px;
  color: #555;
  display: flex;
  align-items: center;
  gap: 5px;
}
.ehubk-meta strong { color: #1a1d23; font-weight: 600; }
.ehubk-meta a { color: #fa9428; text-decoration: none; font-weight: 600; }
.ehubk-meta a:hover { text-decoration: underline; }

/* Zbývající dny badge */
.ehubk-days-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 9px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
}
.ehubk-days-badge--urgent { background: #fff0e6; color: #c2410c; }
.ehubk-days-badge--ok     { background: #f0fdf4; color: #166534; }

/* ── Kód ── */
.ehubk-single__codebox {
  padding: 20px 24px;
  background: linear-gradient(135deg, #fff8f0 0%, #fff 100%);
  border-bottom: 1px solid #fde8cc;
}
.ehubk-single__codebox .ehubk-code {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.ehubk-code__label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #888;
  white-space: nowrap;
}
.ehubk-code__value {
  font-family: 'Courier New', monospace;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: .15em;
  color: #fa9428;
  background: #fff;
  border: 2px dashed #fa9428;
  border-radius: 8px;
  padding: 6px 18px;
  cursor: pointer;
  transition: background .15s;
  flex: 1;
  text-align: center;
  min-width: 120px;
}
.ehubk-code__value:hover { background: #fff8f0; }

/* ── Sekce ── */
.ehubk-single__body {
  padding: 20px 24px;
}
.ehubk-single__section {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #f0f1f3;
}
.ehubk-single__section:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.ehubk-h2 {
  font-size: 15px;
  font-weight: 700;
  color: #1a1d23;
  margin: 0 0 12px;
  padding: 8px 12px;
  background: #f4f6fb;
  border-left: 3px solid #fa9428;
  border-radius: 0 6px 6px 0;
  display: flex;
  align-items: center;
  gap: 7px;
}
.ehubk-text { color: #444; line-height: 1.7; font-size: 14px; }
.ehubk-text ol, .ehubk-text ul { padding-left: 1.4em; margin: 0; }
.ehubk-text li { padding: 4px 0; }
.ehubk-text p { margin: 0 0 8px; }

/* O e-shopu sekce */
.ehubk-shophead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
}
.ehubk-shophead .ehubk-h2 { margin: 0; flex: 1; }
.ehubk-program-logo {
  display: block;
  width: auto;
  max-height: 44px;
  max-width: 160px;
  object-fit: contain;
  border: 1px solid #e8eaed;
  border-radius: 8px;
  padding: 4px 10px;
  background: #fff;
}
.ehubk-program-img {
  display: block;
  width: 100%;
  max-width: 520px;
  height: auto;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,0.08);
}

/* ── CTA ── */
.ehubk-single__cta {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 16px 24px;
  background: #f8f9fb;
  border-top: 1px solid #f0f1f3;
}

/* ── Expired alert ── */
.ehubk-alert {
  border: 1px solid rgba(100,116,139,.25);
  background: rgba(100,116,139,.06);
  border-radius: 8px;
  padding: 12px 16px;
  margin: 0 24px 16px;
  color: #555;
  font-size: 14px;
}
.ehubk-alert a { color: inherit; text-decoration: underline; }
.ehubk-alert--expired {
  border-color: rgba(220,38,38,.35);
  background: rgba(220,38,38,.06);
  color: #7f1d1d;
}
.ehubk-alert--expired strong { color: #b91c1c; }
.ehubk-alert--expired a { color: #b91c1c; }

/* ── Mobilní detail kupónu ── */
@media (max-width: 860px) {
  /* Celková stránka */
  .ehubk-single-layout {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .ehubk-single-sidebar { display: none !important; }
  .ehubk-single-main { min-width: 0; overflow: hidden; }

  .ehubk-single {
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
    box-shadow: none !important;
  }

  /* Breadcrumb */
  .ehubk-breadcrumb {
    padding: 8px 14px !important;
    font-size: 11px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Header */
  .ehubk-single__header { padding: 14px 14px 0 !important; gap: 8px !important; }
  .ehubk-single__header-top {
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  .ehubk-single__title {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }
  /* Logo e-shopu v headeru — zmenšit */
  .ehubk-single__header-top img {
    max-height: 28px !important;
    max-width: 80px !important;
  }

  /* Meta row */
  .ehubk-single__meta {
    padding: 10px 14px !important;
    gap: 6px 12px !important;
    flex-wrap: wrap !important;
  }
  .ehubk-meta { font-size: 12px !important; }
  .ehubk-days-badge { font-size: 11px !important; }

  /* Kód */
  .ehubk-single__codebox { padding: 14px !important; }
  /* Na mobilu: kód a kopírovat pod sebou, ale přehledně */
  .ehubk-single__codebox .ehubk-code {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .ehubk-code__label { text-align: center !important; }
  .ehubk-code__value {
    font-size: 22px !important;
    letter-spacing: .12em !important;
    padding: 12px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    flex: none !important;
  }
  /* Tlačítko Kopírovat — střední šířka, ne přes celou stránku */
  .ehubk-single__codebox .ehubk-btn--copy {
    width: auto !important;
    align-self: center !important;
    padding: 10px 32px !important;
    font-size: 15px !important;
  }

  /* Sekce */
  .ehubk-single__body { padding: 12px 14px !important; }
  .ehubk-single__section { padding-bottom: 14px !important; margin-bottom: 14px !important; }
  .ehubk-h2 { font-size: 13px !important; padding: 7px 10px !important; }
  .ehubk-text { font-size: 13px !important; }

  /* CTA */
  .ehubk-single__cta {
    padding: 12px 14px !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  .ehubk-single__cta .ehubk-btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  /* Hodnocení */
  .ehubk-rating { padding: 12px !important; }
  .ehubk-rating__btns { gap: 8px !important; }
  .ehubk-rating__btn { padding: 7px 14px !important; font-size: 13px !important; }

  /* Sdílení */
  .ehubk-share { padding: 10px 14px !important; gap: 6px !important; flex-wrap: wrap !important; }
  .ehubk-share__btn { font-size: 12px !important; padding: 5px 10px !important; }

  /* Alert */
  .ehubk-alert { margin: 0 14px 12px !important; font-size: 13px !important; }

  /* O e-shopu */
  .ehubk-shophead { flex-wrap: wrap !important; gap: 8px !important; }
  .ehubk-program-logo { max-height: 32px !important; max-width: 100px !important; }
  .ehubk-program-img { max-width: 100% !important; }
}

@media (max-width: 400px) {
  .ehubk-single__title { font-size: 16px !important; }
  .ehubk-code__value { font-size: 15px !important; letter-spacing: .06em !important; }
  .ehubk-single__header { padding: 12px 12px 0 !important; }
  .ehubk-single__body { padding: 10px 12px !important; }
  .ehubk-single__meta { padding: 8px 12px !important; }
  .ehubk-single__cta { padding: 10px 12px !important; }
}

/* Podobné nabídky – nenápadné mini karty */
.ehubk-related{
  margin-top: 18px;
  padding-top: 12px;
  border-top: 1px solid rgba(0,0,0,0.08);
}
.ehubk-related__title{ margin-bottom: 10px; }
.ehubk-related__grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.ehubk-related__card{
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 14px;
  background: #fff;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
  transition: transform .08s ease, box-shadow .08s ease;
}
.ehubk-related__card:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.08);
}
.ehubk-related__top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.ehubk-related__shop{
  font-size: 12px;
  color: rgba(17,24,39,0.70);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 55%;
}
.ehubk-related__name{
  font-weight: 800;
  color: var(--ehubk-text);
  font-size: 14px;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 35px;
}
.ehubk-related__chip{
  align-self: flex-start;
  font-size: 12px;
}

@media (max-width: 980px){
  .ehubk-related__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px){
  .ehubk-related__grid{
    display: flex;
    overflow-x: auto;
    gap: 10px;
    padding-bottom: 6px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .ehubk-related__card{
    min-width: 240px;
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
}


/* Kategorie – dlaždice (barevně odlišené názvy) */
.ehubk-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:16px 0 22px;}
.ehubk-cat-tile{display:block;padding:14px 14px 12px;border:1px solid rgba(0,0,0,0.08);border-radius:14px;background:#fff;text-decoration:none;box-shadow:0 1px 2px rgba(0,0,0,0.05);transition:transform .08s ease,box-shadow .08s ease;}
.ehubk-cat-tile:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,0.08);}
.ehubk-cat-title{display:block;font-weight:800;letter-spacing:.2px;color:var(--ehubk-cat,var(--ehubk-accent));margin:0 0 6px;}
.ehubk-cat-count{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:rgba(17,24,39,0.68);}
.ehubk-cat-count b{color:rgba(17,24,39,0.92);font-weight:800;}

/* #12: Archivní intro text */
.ehubk-archive-intro{margin:0 0 20px;color:rgba(17,24,39,0.72);font-size:16px;line-height:1.6;max-width:680px;}

/* #13: Term description (popis kategorie / e-shopu / typu) */
.ehubk-term-desc{margin:0 0 24px;padding:14px 18px;background:rgba(99,102,241,0.06);border-left:3px solid var(--ehubk-accent,#6366f1);border-radius:0 8px 8px 0;color:rgba(17,24,39,0.78);font-size:15px;line-height:1.65;}
.ehubk-term-desc p:first-child{margin-top:0;}
.ehubk-term-desc p:last-child{margin-bottom:0;}





/* ============================================================
   REDESIGN v4 — přesná kopie mockupu (červená, Plus Jakarta Sans)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

/* ── Font + pozadí ── */
.ehubk-main,
.ehubk-main *,
.ehubk-wrap,
.ehubk-wrap * {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
.ehubk-main { background: #f7f8fa !important; overflow-x: hidden !important; }
/* Důležité: rodiče nesmí mít overflow:hidden jinak scrollable cats-bar nefunguje */
.ehubk-main .ehubk-cats-bar { overflow-x: auto !important; }

/* Override oranžové proměnné na červenou */
.ehubk-wrap { --ehubk-accent: #fa9428; --ehubk-accent-2: #e07a10; }

/* ═══════════════════════════════════════════════════════════
   HERO STRIP — červený pruh se statistikami
   ═══════════════════════════════════════════════════════════ */
.ehubk-hero-strip {
  background: #fa9428;
  padding: 12px 24px;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
}
.ehubk-hero-inner {
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.ehubk-hero-stat {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.ehubk-hero-stat strong { font-size: 19px; font-weight: 800; }
.ehubk-hero-sep { width: 1px; height: 20px; background: rgba(255,255,255,0.30); flex-shrink: 0; }
.ehubk-fire { font-size: 15px; }

/* ═══════════════════════════════════════════════════════════
   CATEGORIES BAR — bílá lišta s pills
   ═══════════════════════════════════════════════════════════ */
.ehubk-cats-bar {
  background: #fff;
  border-bottom: 1px solid #e8eaed;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
  /* Klíčové: overflow musí být na tomto elementu */
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  /* Zabrání tématu schovat obsah */
  position: relative;
  z-index: 10;
}
.ehubk-cats-bar::-webkit-scrollbar { display: none; }
.ehubk-cats-inner {
  /* Šířka musí být dána obsahem, ne rodičem */
  display: inline-flex;
  min-width: 100%;
  gap: 6px;
  padding: 10px 24px;
  white-space: nowrap;
  align-items: center;
  box-sizing: border-box;
}
.ehubk-cat-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 6px 14px !important;
  border-radius: 20px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  border: 1.5px solid #e8eaed !important;
  background: #fff !important;
  color: #6b7280 !important;
  text-decoration: none !important;
  transition: all .15s !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
.ehubk-cat-pill:hover {
  border-color: #fa9428 !important;
  color: #fa9428 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
.ehubk-cat-pill.is-active {
  background: #fa9428 !important;
  border-color: #fa9428 !important;
  color: #fff !important;
}
.ehubk-cat-pill.is-active:hover { color: #fff !important; }
.ehubk-pill-count {
  background: rgba(0,0,0,0.09) !important;
  border-radius: 10px !important;
  padding: 1px 6px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: inherit !important;
}
.ehubk-cat-pill.is-active .ehubk-pill-count { background: rgba(255,255,255,0.28) !important; }

/* ═══════════════════════════════════════════════════════════
   MAIN WRAP
   ═══════════════════════════════════════════════════════════ */
.ehubk-wrap {
  max-width: 1140px !important;
  margin: 0 auto !important;
  padding: 16px 24px 24px !important;
  box-sizing: border-box !important;
  background: transparent !important;
  overflow-x: hidden !important;
  width: 100% !important;
}
/* Pokud jsou bary přesunuté, wrap dostane mírný top padding */

.ehubk-intro {
  font-size: 13px !important;
  color: #6b7280 !important;
  margin: 0 0 14px !important;
}

/* ═══════════════════════════════════════════════════════════
   LAYOUT — sidebar 220px + obsah
   ═══════════════════════════════════════════════════════════ */
.ehubk-wrap .ehubk-layout,
div.ehubk-layout {
  display: grid !important;
  grid-template-columns: 260px 1fr !important;
  gap: 20px !important;
  align-items: start !important;
  width: 100% !important;
}
.ehubk-content { min-width: 0 !important; }

/* ═══════════════════════════════════════════════════════════
   SIDEBAR
   ═══════════════════════════════════════════════════════════ */
aside.ehubk-sidebar,
.ehubk-sidebar {
  background: #fff !important;
  border-radius: 12px !important;
  padding: 16px !important;
  border: 1px solid #e8eaed !important;
  position: sticky !important;
  top: 16px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
  word-break: break-word !important;
}
.ehubk-sidebar .ehubk-sidebar__section {
  margin-bottom: 20px !important;
  padding-bottom: 18px !important;
  border-bottom: 1px solid #e8eaed !important;
}
.ehubk-sidebar .ehubk-sidebar__section:last-of-type {
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.ehubk-sidebar .ehubk-sidebar__label {
  display: block !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  color: #374151 !important;
  margin-bottom: 10px !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid #fa9428 !important;
}
.ehubk-sidebar .ehubk-sidebar__search {
  display: block !important;
  width: 100% !important;
  padding: 7px 10px !important;
  border: 1.5px solid #e8eaed !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  font-family: inherit !important;
  outline: none !important;
  margin-bottom: 8px !important;
  box-sizing: border-box !important;
  background: #fff !important;
  color: #1a1d23 !important;
  transition: border-color .15s !important;
}
.ehubk-sidebar .ehubk-sidebar__search:focus { border-color: #fa9428 !important; }
.ehubk-sidebar .ehubk-sidebar__shoplist {
  max-height: 200px !important;
  overflow-y: auto !important;
  scrollbar-width: thin !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
.ehubk-sidebar .ehubk-sidebar__item {
  display: block !important;
  padding: 7px 10px !important;
  border-radius: 7px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #374151 !important;
  cursor: pointer !important;
  transition: all .15s !important;
  user-select: none !important;
  line-height: 1.4 !important;
  background: transparent !important;
  border-left: 2px solid transparent !important;
}
.ehubk-sidebar .ehubk-sidebar__item:hover {
  background: #fff7ed !important;
  color: #c05800 !important;
  border-left-color: #fa9428 !important;
}
.ehubk-sidebar .ehubk-sidebar__item.is-active {
  background: #fff7ed !important;
  color: #c05800 !important;
  font-weight: 700 !important;
  border-left-color: #fa9428 !important;
}
.ehubk-sidebar .ehubk-sidebar__item.is-disabled { opacity: .35 !important; pointer-events: none !important; }
.ehubk-sidebar .ehubk-sidebar__select {
  display: block !important;
  width: 100% !important;
  padding: 8px 12px !important;
  border: 1.5px solid #e8eaed !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-family: inherit !important;
  outline: none !important;
  background: #fff !important;
  color: #1a1d23 !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}
.ehubk-sidebar .ehubk-sidebar__select:focus { border-color: #fa9428 !important; }
.ehubk-sidebar .ehubk-sidebar__actions { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.ehubk-sidebar .ehubk-sidebar__reset { display: block !important; text-align: center !important; font-size: 12px !important; color: #9ba3b0 !important; text-decoration: none !important; }
.ehubk-sidebar .ehubk-sidebar__reset:hover { color: #fa9428 !important; text-decoration: underline !important; }

/* Filtrovat tlačítko */
.ehubk-sidebar .ehubk-btn--fw,
.ehubk-sidebar .ehubk-btn--primary {
  width: 100% !important;
  background: #fa9428 !important;
  border-color: #fa9428 !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.ehubk-sidebar .ehubk-btn--primary:hover { background: #e07a10 !important; border-color: #e07a10 !important; }

/* ═══════════════════════════════════════════════════════════
   CONTENT HEADER (počet nabídek)
   ═══════════════════════════════════════════════════════════ */
.ehubk-content-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 14px !important;
}
.ehubk-content-header h2 { font-size: 15px !important; font-weight: 700 !important; color: #1a1d23 !important; margin: 0 !important; }
.ehubk-content-header span { font-size: 12px !important; color: #6b7280 !important; background: #f4f5f7 !important; padding: 3px 10px !important; border-radius: 20px !important; }

/* ═══════════════════════════════════════════════════════════
   GRID — 2 sloupce vedle sidebaru
   ═══════════════════════════════════════════════════════════ */
.ehubk-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 12px !important;
}
.ehubk-layout .ehubk-grid,
.ehubk-layout .ehubk-content .ehubk-grid {
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
}

/* ═══════════════════════════════════════════════════════════
   KARTA — přesný design z mockupu
   ═══════════════════════════════════════════════════════════ */
.ehubk-card {
  background: #fff !important;
  border-radius: 12px !important;
  border: 1.5px solid #e8eaed !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
  padding: 0 !important;
  gap: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  transition: border-color .2s, box-shadow .2s, transform .2s !important;
  min-height: unset !important;
  cursor: pointer !important;
}
.ehubk-card:hover {
  border-color: #fa9428 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
  transform: translateY(-2px) !important;
}

/* Card top: logo vlevo + info vpravo + badge */
.ehubk-card__top {
  padding: 12px 12px 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.ehubk-card__shoplogo {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  border-radius: 7px !important;
  border: 1px solid #e8eaed !important;
  background: #fff !important;
  padding: 3px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.ehubk-card__logoimg {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}
.ehubk-card__topinfo {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
.ehubk-card__topinfo .ehubk-meta {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #9ba3b0 !important;
  text-transform: uppercase !important;
  letter-spacing: .3px !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.ehubk-card__topinfo .ehubk-meta a { color: #9ba3b0 !important; text-decoration: none !important; }
.ehubk-card__topinfo .ehubk-meta a:hover { color: #fa9428 !important; }
.ehubk-card__topinfo .ehubk-meta--muted {
  color: #c0c7d0 !important;
  text-transform: none !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  font-size: 10px !important;
}
/* Badge v top — pevná šířka vpravo */
.ehubk-card__top .ehubk-badge {
  flex-shrink: 0 !important;
  margin-left: auto !important;
  align-self: flex-start !important;
}

/* Badge row (pod top, nad title) */
.ehubk-badge-row {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex-wrap: wrap !important;
  padding: 0 12px 8px !important;
  min-width: 0 !important;
}
.ehubk-badge {
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  text-transform: uppercase !important;
  letter-spacing: .3px !important;
  border: none !important;
  white-space: nowrap !important;
}
.ehubk-badge--sleva,
.ehubk-badge.is-active   { background: #fff7ed !important; color: #fa9428 !important; }
.ehubk-badge--akce       { background: #fff8e1 !important; color: #c67c00 !important; }
.ehubk-badge--type,
.ehubk-badge--cat        { background: #f4f5f7 !important; color: #6b7280 !important; }
.ehubk-badge.is-future   { background: #eff6ff !important; color: #2563eb !important; }
.ehubk-badge.is-expired  { background: #f4f5f7 !important; color: #9ba3b0 !important; }

/* Expires urgency */
.ehubk-expires {
  font-size: 10px !important;
  font-weight: 600 !important;
  color: #9ba3b0 !important;
  margin-left: auto !important;
  white-space: nowrap !important;
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
}
.ehubk-expires--soon { color: #e8304a !important; font-weight: 700 !important; }

/* Title */
.ehubk-card__title {
  margin: 0 !important;
  padding: 0 12px 8px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 4px !important;
}
.ehubk-card__title a {
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: #1a1d23 !important;
  text-decoration: none !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  flex: 1 !important;
  min-width: 0 !important;
}
.ehubk-card:hover .ehubk-card__title a { color: #fa9428 !important; }

/* Mid — desc + chips */
.ehubk-card__mid { padding: 0 12px 8px !important; min-width: 0 !important; }
.ehubk-desc { font-size: 12px !important; color: #6b7280 !important; line-height: 1.5 !important; word-break: break-word !important; }

/* ── CARD BOTTOM / ACTIONS ── */
.ehubk-card__actions {
  border-top: 1px solid #e8eaed !important;
  padding: 8px 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  margin-top: auto !important;
  min-width: 0 !important;
}

/* Inline kód */
.ehubk-inline-code {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.ehubk-inline-code__val {
  flex: 1 !important;
  background: #f4f5f7 !important;
  border: 1.5px dashed #e8eaed !important;
  border-radius: 7px !important;
  padding: 6px 10px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  font-family: 'Courier New', Courier, monospace !important;
  color: #1a1d23 !important;
  letter-spacing: 1px !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
}
.ehubk-inline-code__val--nocode {
  color: #9ba3b0 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 500 !important;
  font-size: 11px !important;
  letter-spacing: 0 !important;
  border-style: solid !important;
}

/* Tlačítka */
.ehubk-wrap .ehubk-btn,
.ehubk-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 7px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  height: auto !important;
  padding: 7px 14px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background .15s, border-color .15s, box-shadow .15s !important;
  border: 1px solid transparent !important;
  white-space: nowrap !important;
}
.ehubk-btn--copy {
  background: #fa9428 !important;
  border-color: #fa9428 !important;
  color: #fff !important;
  flex-shrink: 0 !important;
}
.ehubk-btn--copy:hover { background: #e07a10 !important; border-color: #e07a10 !important; box-shadow: none !important; color: #fff !important; }
.ehubk-btn--copy.is-copied { background: #16a34a !important; border-color: #16a34a !important; }
.ehubk-btn--go {
  background: #0f1117 !important;
  border-color: #0f1117 !important;
  color: #fff !important;
  flex-shrink: 0 !important;
}
.ehubk-btn--go:hover { background: #1e2029 !important; color: #fff !important; text-decoration: none !important; box-shadow: none !important; }
.ehubk-btn--primary {
  background: #fa9428 !important;
  border-color: #fa9428 !important;
  color: #fff !important;
}
.ehubk-btn--primary:hover { background: #e07a10 !important; border-color: #e07a10 !important; box-shadow: none !important; }
.ehubk-btn--full { width: 100% !important; }
.ehubk-btn--fw   { width: 100% !important; }
.ehubk-btn--ghost {
  background: #f4f5f7 !important;
  border-color: #e8eaed !important;
  color: #1a1d23 !important;
}
.ehubk-btn--ghost:hover { background: #e8eaed !important; }
.ehubk-btn.is-disabled { opacity: .4 !important; pointer-events: none !important; }

/* ── Paginator ── */
.ehubk-pagination {
  background: #fff !important;
  border: 1px solid #e8eaed !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  margin-top: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}
.ehubk-pagination__info { font-size: 13px !important; color: #6b7280 !important; }
.ehubk-pagination__nav { display: flex !important; gap: 8px !important; }
.ehubk-pagination__jump { display: flex !important; align-items: center !important; gap: 8px !important; }
.ehubk-pagination__jump-label { font-size: 12px !important; color: #6b7280 !important; }
.ehubk-pagination__jump-input {
  width: 70px !important;
  padding: 6px 10px !important;
  border: 1px solid #e8eaed !important;
  border-radius: 7px !important;
  font-size: 13px !important;
  font-family: inherit !important;
}

/* ── SEO term description ── */
.ehubk-term-desc {
  background: #fff !important;
  border: 1.5px solid #e8eaed !important;
  border-radius: 12px !important;
  padding: 0 !important;
  margin-top: 32px !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  color: #374151 !important;
  overflow: hidden !important;
}

/* Nadpis sekce jako barevný header */
.ehubk-term-desc__heading {
  display: block !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #fff !important;
  background: linear-gradient(90deg, #fa9428 0%, #f5c842 100%) !important;
  margin: 0 !important;
  padding: 12px 20px !important;
  letter-spacing: .01em !important;
}

/* Obsah uvnitř */
.ehubk-term-desc > p,
.ehubk-term-desc > ol,
.ehubk-term-desc > ul,
.ehubk-term-desc > .ehubk-td-more,
.ehubk-term-desc > .ehubk-td-label {
  padding-left: 20px !important;
  padding-right: 20px !important;
}
.ehubk-term-desc > p:first-of-type { padding-top: 16px !important; }

/* h2 sekce — výrazné oddělené bloky */
.ehubk-term-desc h2 {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #fff !important;
  background: linear-gradient(90deg, #1a2233 0%, #2d3748 100%) !important;
  margin: 16px 0 0 !important;
  padding: 10px 20px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.ehubk-term-desc h2::before {
  content: "" !important;
  display: inline-block !important;
  width: 3px !important;
  height: 14px !important;
  background: #fa9428 !important;
  border-radius: 2px !important;
  flex-shrink: 0 !important;
}
/* h3 — jemnější, ale zřetelně oddělené */
.ehubk-term-desc h3 {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1a2233 !important;
  margin: 14px 20px 0 !important;
  padding: 7px 12px !important;
  background: #f0f4ff !important;
  border-left: 3px solid #6b8cff !important;
  border-radius: 0 6px 6px 0 !important;
}

/* Odstavce */
.ehubk-term-desc p {
  margin: 0 0 10px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* FAQ seznam */
.ehubk-term-desc h3 + p {
  background: #f9fafb !important;
  border-left: 3px solid #fa9428 !important;
  padding: 8px 20px 8px 14px !important;
  margin: 0 20px 10px !important;
  border-radius: 0 6px 6px 0 !important;
  color: #4b5563 !important;
}

/* Číslovaný seznam (kroky) */
.ehubk-term-desc ol {
  padding: 0 20px 0 40px !important;
  margin: 0 0 12px !important;
}
.ehubk-term-desc ol li {
  padding: 5px 0 !important;
  border-bottom: 1px solid #f4f5f7 !important;
}
.ehubk-term-desc ol li:last-child { border-bottom: none !important; }

/* Nečíslovaný seznam (tipy) */
.ehubk-term-desc ul {
  list-style: none !important;
  padding: 0 20px !important;
  margin: 0 0 12px !important;
  background: #fafbfc !important;
}
.ehubk-term-desc ul li {
  padding: 7px 0 7px 22px !important;
  position: relative !important;
  border-bottom: 1px solid #f0f1f3 !important;
}
.ehubk-term-desc ul li:last-child { border-bottom: none !important; }
.ehubk-term-desc ul li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  color: #fa9428 !important;
  font-weight: 900 !important;
}

/* Zobrazit více */
.ehubk-td-toggle { display: none !important; }
.ehubk-td-more   { display: none !important; }
.ehubk-td-toggle:checked ~ .ehubk-td-more  { display: block !important; }
.ehubk-td-toggle:checked ~ .ehubk-td-label { display: none !important; }
.ehubk-td-label {
  display: block !important;
  text-align: center !important;
  padding: 10px !important;
  margin: 0 !important;
  font-size: 12px !important;
  color: #fa9428 !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  background: #fff8f0 !important;
  border-top: 1px solid #f0e8dc !important;
}
.ehubk-td-label:hover {
  background: #fff0e0 !important;
  text-decoration: none !important;
}

/* ══════════════════════════════════════════
   RESPONSIVITA
   ══════════════════════════════════════════ */

/* Tablet */
@media (max-width: 960px) {
  .ehubk-wrap .ehubk-layout, div.ehubk-layout {
    grid-template-columns: 1fr !important;
  }
  aside.ehubk-sidebar, .ehubk-sidebar {
    position: static !important;
    /* Na tabletu sidebar jako vodorovný strip */
    border-radius: 12px !important;
  }
  .ehubk-sidebar .ehubk-sidebar__shoplist {
    max-height: 140px !important;
  }
  .ehubk-layout .ehubk-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .ehubk-hero-sep { display: none !important; }
}

/* Mobil */
@media (max-width: 640px) {
  .ehubk-grid { grid-template-columns: 1fr !important; }
  .ehubk-layout .ehubk-grid { grid-template-columns: 1fr !important; }
  .ehubk-card__top { padding: 10px 10px 6px !important; }
  .ehubk-card__title { padding: 0 10px 8px !important; font-size: 13px !important; }
  .ehubk-card__mid { padding: 0 10px 8px !important; }
  .ehubk-card__actions { padding: 8px 10px !important; }

  .ehubk-wrap {
    padding: 12px 12px !important;
  }
  .ehubk-cats-inner {
    padding: 8px 12px !important;
  }
  .ehubk-hero-strip {
    padding: 8px 12px !important;
  }
  .ehubk-hero-inner {
    gap: 12px !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
  }
  .ehubk-hero-stat { font-size: 12px !important; white-space: nowrap !important; }
  .ehubk-hero-stat strong { font-size: 14px !important; }

  /* Sidebar na mobilu - kompaktní */
  aside.ehubk-sidebar, .ehubk-sidebar {
    padding: 12px !important;
  }
  .ehubk-sidebar .ehubk-sidebar__section {
    margin-bottom: 10px !important;
    padding-bottom: 10px !important;
  }

  /* Karty na mobilu */
  .ehubk-card__actions {
    flex-wrap: wrap !important;
  }
  .ehubk-inline-code {
    width: 100% !important;
    flex: 1 1 100% !important;
  }

  /* Paginator na mobilu */
  .ehubk-pagination {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  .ehubk-pagination__jump { flex-wrap: wrap !important; }
}

/* ══ Topbars po přesunutí JS ══ */
/* Po přesunutí jsou hero + cats přímo pod body — plná šířka bez omezení */
.ehubk-topbars-relocated {
  width: 100% !important;
  overflow: hidden !important;   /* obsahuje hero + cats */
  margin: 0 !important;
  padding: 0 !important;
}
/* Cats bar uvnitř relocated wrapperu */
.ehubk-topbars-relocated .ehubk-cats-bar {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* ══ Kategorie v sidebaru ══════════════════════════════════════ */
.ehubk-sidebar__cats { padding-bottom: 14px !important; }

.ehubk-sidebar__catlist {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  max-height: 260px !important;
  overflow-y: auto !important;
  scrollbar-width: thin !important;
}

.ehubk-sidebar__catitem {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 5px 8px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #6b7280 !important;
  text-decoration: none !important;
  transition: all .1s !important;
  line-height: 1.4 !important;
  background: transparent !important;
}
.ehubk-sidebar__catitem:hover {
  background: #f4f5f7 !important;
  color: #1a1d23 !important;
  text-decoration: none !important;
}
.ehubk-sidebar__catitem.is-active {
  background: #fff7ed !important;
  color: #fa9428 !important;
  font-weight: 600 !important;
}
.ehubk-sidebar__catcount {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #9ba3b0 !important;
  background: #f0f1f3 !important;
  border-radius: 8px !important;
  padding: 2px 7px !important;
  flex-shrink: 0 !important;
  min-width: 22px !important;
  text-align: center !important;
}
.ehubk-sidebar__catitem.is-active .ehubk-sidebar__catcount {
  background: #ffd5db !important;
  color: #fa9428 !important;
}

/* Skrýt staré pills bar (pro případ že zůstal) */
.ehubk-cats-bar { display: none !important; }

/* ══ Vylepšení UX ════════════════════════════════════════════════ */

/* 1. Karta končící brzy — jemný červený rámeček */
.ehubk-card.is-ending-soon {
  border-color: rgba(232, 48, 74, 0.35) !important;
}
.ehubk-card.is-ending-soon:hover {
  border-color: #e8304a !important;
}

/* 2. Expires label - větší a s ikonou, červený */
.ehubk-expires--soon {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #e8304a !important;
  background: #fff0f2 !important;
  padding: 2px 7px !important;
  border-radius: 5px !important;
  border: 1px solid rgba(232,48,74,0.2) !important;
}

/* 3. Lepší shop name — tučnější a oranžová při hover */
.ehubk-card__topinfo .ehubk-meta a:hover {
  color: #fa9428 !important;
  text-decoration: none !important;
}

/* 4. Kód kupónu — výraznější rámeček */
.ehubk-inline-code__val {
  border: 1.5px dashed #fac078 !important;
  background: #fff7ed !important;
  color: #92400e !important;
  letter-spacing: 1.5px !important;
}

/* 5. Tlačítko "Kopírovat" — oranžové, animace */
.ehubk-btn--copy {
  background: #fa9428 !important;
  border-color: #fa9428 !important;
  transition: background .15s, transform .1s !important;
}
.ehubk-btn--copy:active { transform: scale(0.96) !important; }
.ehubk-btn--copy.is-copied {
  background: #16a34a !important;
  border-color: #16a34a !important;
}

/* 6. "Do obchodu" — výraznější */
.ehubk-btn--go {
  background: #1a1d23 !important;
  border-color: #1a1d23 !important;
  letter-spacing: 0.2px !important;
}

/* 7. Sidebar label lepší typografie */
.ehubk-sidebar__label {
  font-size: 10px !important;
  letter-spacing: 1px !important;
}

/* 8. Stránkování - výraznější číslo stránky */
.ehubk-pagination {
  font-size: 14px !important;
}
.ehubk-pagination__info {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #374151 !important;
}

/* 9. Hero strip oranžový */
.ehubk-hero-strip { background: #fa9428 !important; }

/* 10. Active cat item v sidebaru */
.ehubk-sidebar__catitem.is-active {
  background: #fff7ed !important;
  color: #c05800 !important;
}
.ehubk-sidebar__catitem.is-active .ehubk-sidebar__catcount {
  background: #fed7aa !important;
  color: #c05800 !important;
}

/* 11. Filtrovat tlačítko */
.ehubk-sidebar .ehubk-btn--primary {
  background: #fa9428 !important;
  border-color: #fa9428 !important;
}
.ehubk-sidebar .ehubk-btn--primary:hover {
  background: #e07a10 !important;
  border-color: #e07a10 !important;
}

/* 12. Content header count badge */
.ehubk-content-header span {
  background: #fff7ed !important;
  color: #c05800 !important;
  font-weight: 600 !important;
}

/* Override catitem */
.ehubk-sidebar__catitem {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 7px 10px !important;
  border-radius: 7px !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: #374151 !important;
  text-decoration: none !important;
  transition: all .15s !important;
  line-height: 1.35 !important;
  background: transparent !important;
  border-left: 2px solid transparent !important;
}
.ehubk-sidebar__catitem:hover {
  background: #fff7ed !important;
  color: #c05800 !important;
  border-left-color: #fa9428 !important;
  text-decoration: none !important;
}
.ehubk-sidebar__catitem.is-active {
  background: #fff7ed !important;
  color: #c05800 !important;
  font-weight: 700 !important;
  border-left-color: #fa9428 !important;
}





/* ══ Mezera nad hero stripem — odstraní padding/margin pro všechna témata ══ */
/* Blocksy */
.ct-container > .ehubk-hero-strip,
.entry-content > .ehubk-hero-strip { margin-top: 0 !important; }

/* Pokud je hero první potomek jakéhokoli kontejneru */
.ehubk-hero-strip:first-child { margin-top: 0 !important; }

/* Padding na rodičích shortcodu */
.entry-content:has(> .ehubk-hero-strip:first-child),
.post-content:has(> .ehubk-hero-strip:first-child),
.page-content:has(> .ehubk-hero-strip:first-child),
.ct-container:has(> .ehubk-hero-strip:first-child) {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* ══════════════════════════════════════════════════════════════════
   Inline shortcode [ehubk_clanku] v článku
   ══════════════════════════════════════════════════════════════════ */

.ehubk-inline-block {
  margin: 2.5em 0;
  padding: 1.5em;
  background: #f8f9fb;
  border-radius: 12px;
  border-left: 4px solid #f5a623;
}

.ehubk-inline-block__title {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 1.25em;
  color: #192a3d;
  display: flex;
  align-items: center;
  gap: .5em;
}
.ehubk-inline-block__title::before {
  content: "🏷";
  font-size: 1rem;
}

.ehubk-inline-empty {
  color: #888;
  font-style: italic;
}

/* Karty v inline bloku – kompaktnější než v archivu */
.ehubk-inline-block .ehubk-grid {
  display: grid !important;
  gap: 1em !important;
  grid-template-columns: repeat(3, 1fr) !important;
}

/* 1 karta */
.ehubk-inline-block .ehubk-grid[data-count="1"] {
  grid-template-columns: 1fr !important;
}
/* 2 karty */
.ehubk-inline-block .ehubk-grid[data-count="2"] {
  grid-template-columns: repeat(2, 1fr) !important;
}
/* 4 karty: 2+2 symetricky */
.ehubk-inline-block .ehubk-grid[data-count="4"] {
  grid-template-columns: repeat(2, 1fr) !important;
}
/* 5 karet: 3+2 → ale poslední 2 přes celou šířku
   LCM(3,2)=6: každá karta span 2, poslední 2 span 3 */
.ehubk-inline-block .ehubk-grid[data-count="5"] {
  grid-template-columns: repeat(6, 1fr) !important;
}
.ehubk-inline-block .ehubk-grid[data-count="5"] .ehubk-card {
  grid-column: span 2 !important;
}
.ehubk-inline-block .ehubk-grid[data-count="5"] .ehubk-card:nth-child(4),
.ehubk-inline-block .ehubk-grid[data-count="5"] .ehubk-card:nth-child(5) {
  grid-column: span 3 !important;
}
/* 7 karet: 3+3+1 → poslední karta přes celou šířku */
.ehubk-inline-block .ehubk-grid[data-count="7"] .ehubk-card:nth-child(7) {
  grid-column: 1 / -1 !important;
  max-width: 33% !important;
  justify-self: center !important;
}
/* 8 karet: 3+3+2 → LCM trik stejně jako u 5 */
.ehubk-inline-block .ehubk-grid[data-count="8"] {
  grid-template-columns: repeat(6, 1fr) !important;
}
.ehubk-inline-block .ehubk-grid[data-count="8"] .ehubk-card {
  grid-column: span 2 !important;
}
.ehubk-inline-block .ehubk-grid[data-count="8"] .ehubk-card:nth-child(7),
.ehubk-inline-block .ehubk-grid[data-count="8"] .ehubk-card:nth-child(8) {
  grid-column: span 3 !important;
}

/* Tablet (pod 700px) */
@media (max-width: 700px) {
  .ehubk-inline-block .ehubk-grid,
  .ehubk-inline-block .ehubk-grid[data-count="5"],
  .ehubk-inline-block .ehubk-grid[data-count="8"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .ehubk-inline-block .ehubk-grid[data-count="5"] .ehubk-card,
  .ehubk-inline-block .ehubk-grid[data-count="5"] .ehubk-card:nth-child(4),
  .ehubk-inline-block .ehubk-grid[data-count="5"] .ehubk-card:nth-child(5),
  .ehubk-inline-block .ehubk-grid[data-count="8"] .ehubk-card,
  .ehubk-inline-block .ehubk-grid[data-count="8"] .ehubk-card:nth-child(7),
  .ehubk-inline-block .ehubk-grid[data-count="8"] .ehubk-card:nth-child(8) {
    grid-column: span 1 !important;
    max-width: 100% !important;
  }
  .ehubk-inline-block .ehubk-grid[data-count="7"] .ehubk-card:nth-child(7) {
    grid-column: span 1 !important;
    max-width: 100% !important;
    justify-self: stretch !important;
  }
}

/* Mobil – horizontální slider */
@media (max-width: 560px) {
  .ehubk-inline-block .ehubk-grid,
  .ehubk-inline-block .ehubk-grid[data-count] {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: .75em !important;
    padding-bottom: .75em !important;
    /* Skrýt scrollbar ale zachovat funkci */
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .ehubk-inline-block .ehubk-grid::-webkit-scrollbar {
    display: none;
  }
  .ehubk-inline-block .ehubk-grid .ehubk-card {
    flex: 0 0 80vw !important;
    max-width: 320px !important;
    scroll-snap-align: start !important;
  }
  /* Tečky indikátor pod sliderem */
  .ehubk-inline-block {
    position: relative;
  }
}

.ehubk-inline-block .ehubk-card {
  background: #fff;
  border: 1px solid #e8eaed;
  border-radius: 10px;
  padding: 1em;
  display: flex;
  flex-direction: column;
  gap: .5em;
  box-shadow: 0 1px 4px rgba(0,0,0,.06);
  transition: box-shadow .15s, transform .15s;
  font-size: .9rem;
}
.ehubk-inline-block .ehubk-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,.12);
  transform: translateY(-2px);
}
.ehubk-inline-block .ehubk-card.is-ending-soon {
  border-color: #f5a623;
  border-width: 1.5px;
}

/* Top řádek: logo + shop + datum */
.ehubk-inline-block .ehubk-card__top {
  display: flex;
  align-items: center;
  gap: .6em;
}
.ehubk-inline-block .ehubk-card__shoplogo img {
  height: 28px;
  width: auto;
  object-fit: contain;
  display: block;
}
.ehubk-inline-block .ehubk-card__topinfo {
  flex: 1;
  min-width: 0;
}
.ehubk-inline-block .ehubk-meta {
  font-size: .78rem;
  color: #555;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ehubk-inline-block .ehubk-shop-link {
  font-weight: 600;
  color: #192a3d;
  text-decoration: none;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.ehubk-inline-block .ehubk-shop-link:hover { color: #f5a623; }

/* Badge řádek */
.ehubk-inline-block .ehubk-badge-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .35em;
}
.ehubk-inline-block .ehubk-expires {
  font-size: .72rem;
  color: #888;
}
.ehubk-inline-block .ehubk-expires--soon {
  color: #e05000;
  font-weight: 600;
}

/* Titulek kupónu */
.ehubk-inline-block .ehubk-card__title {
  font-size: .92rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.35;
  color: #192a3d;
}
.ehubk-inline-block .ehubk-card__title a {
  color: inherit;
  text-decoration: none;
}
.ehubk-inline-block .ehubk-card__title a:hover { color: #f5a623; }

/* Popis + chipy */
.ehubk-inline-block .ehubk-card__mid {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .4em;
}
.ehubk-inline-block .ehubk-desc {
  font-size: .8rem;
  color: #555;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ehubk-inline-block .ehubk-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .3em;
}

/* Akce – kód + tlačítko */
.ehubk-inline-block .ehubk-card__actions {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: .4em;
}
.ehubk-inline-block .ehubk-inline-code {
  display: flex;
  align-items: center;
  gap: .4em;
  background: #f8f9fb;
  border: 1.5px dashed #f5a623;
  border-radius: 6px;
  padding: .35em .6em;
}
.ehubk-inline-block .ehubk-inline-code--nocode {
  border-color: #dde;
}
.ehubk-inline-block .ehubk-inline-code__val {
  flex: 1;
  font-family: monospace;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .05em;
  color: #192a3d;
  background: none;
  border: none;
  padding: 0;
}
.ehubk-inline-block .ehubk-inline-code__val--nocode {
  font-family: inherit;
  font-weight: 400;
  letter-spacing: 0;
  color: #777;
  font-size: .78rem;
}
.ehubk-inline-block .ehubk-btn {
  display: block;
  text-align: center;
  padding: .5em .75em;
  border-radius: 6px;
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: background .15s;
}
.ehubk-inline-block .ehubk-btn--copy {
  background: #f0f0f0;
  color: #333;
  padding: .3em .6em;
  font-size: .75rem;
  border-radius: 4px;
  white-space: nowrap;
}
.ehubk-inline-block .ehubk-btn--copy:hover { background: #e0e0e0; }
.ehubk-inline-block .ehubk-btn--go {
  background: #192a3d;
  color: #fff !important;
  margin-top: .2em;
}
.ehubk-inline-block .ehubk-btn--go:hover { background: #f5a623; }

/* Responsivní – padding na mobilu */
@media (max-width: 560px) {
  .ehubk-inline-block {
    padding: 1em;
  }
}

/* Tečky slideru na mobilu */
@media (max-width: 560px) {
  .ehubk-slider-dots {
    display: flex;
    justify-content: center;
    gap: .4em;
    margin-top: .5em;
  }
  .ehubk-slider-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #d0d3d8;
    cursor: pointer;
    transition: background .2s, transform .2s;
  }
  .ehubk-slider-dot.is-active {
    background: #f5a623;
    transform: scale(1.3);
  }
}
@media (min-width: 561px) {
  .ehubk-slider-dots { display: none; }
}

/* ── Podobné e-shopy ───────────────────────────────────────────────────────── */
.ehubk-similar-shops {
  margin: 2em 0 1em;
  padding-top: 1.5em;
  border-top: 2px solid #f0f1f3;
}
.ehubk-similar-shops__title {
  font-size: 1.15em;
  font-weight: 700;
  margin: 0 0 1em;
  color: #1a1a2e;
}
.ehubk-similar-shops__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .75em;
}
.ehubk-similar-shop {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .4em;
  padding: .9em .6em;
  background: #fff;
  border: 1px solid #e8e9ec;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  transition: box-shadow .18s, border-color .18s, transform .18s;
  text-align: center;
}
.ehubk-similar-shop:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,.09);
  border-color: #f5a623;
  transform: translateY(-2px);
  text-decoration: none;
}
.ehubk-similar__logo-wrap {
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ehubk-similar__logo {
  max-height: 32px;
  max-width: 90px;
  width: auto;
  object-fit: contain;
}
.ehubk-similar__name {
  font-size: .82em;
  font-weight: 600;
  color: #2d2d2d;
  line-height: 1.2;
}
.ehubk-similar__count {
  font-size: .72em;
  color: #f5a623;
  font-weight: 600;
}
@media (max-width: 860px) {
  .ehubk-similar-shops__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 560px) {
  .ehubk-similar-shops__grid { grid-template-columns: repeat(2, 1fr); }
}

/* ═══════════════════════════════════════════════
   DETAIL KUPÓNU — sidebar layout
   ═══════════════════════════════════════════════ */

/* Desktop: article + sidebar vedle sebe */
.ehubk-single-layout {
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: 20px;
  align-items: start;
}

/* Sidebar — stejný styl jako na archivu, sticky */
.ehubk-single-sidebar {
  position: sticky;
  top: 20px;
}
/* Na detailu schovat tlačítko Filtrovat, Resetovat a Řadit — sidebar je jen navigace */
.ehubk-single-sidebar .ehubk-sidebar__actions { display: none; }
.ehubk-single-sidebar .ehubk-sidebar__actions + * { display: none; }
/* Schovat řazení (třetí .ehubk-sidebar__section uvnitř form) */
.ehubk-single-sidebar form > .ehubk-sidebar__section:last-of-type { display: none; }

/* Mobil: sidebar nad kupónem (kompaktní), nebo schovat */
@media (max-width: 860px) {
  .ehubk-single-layout {
    grid-template-columns: 1fr;
  }
  .ehubk-single-sidebar {
    display: none;
  }
}

/* ══════════════════════════════════════════════════════
   NOVÉ PRVKY — konverze, UI, hodnocení, oblíbené
   ══════════════════════════════════════════════════════ */

/* ── "Nový" badge ── */
.ehubk-badge--new {
  background: #22c55e !important;
  color: #fff !important;
  font-weight: 700 !important;
  animation: ehubk-pulse 2s infinite;
}
@keyframes ehubk-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .75; }
}

/* ── Srdíčko oblíbených ── */
.ehubk-fav {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 18px;
  color: #ddd;
  line-height: 1;
  padding: 0 0 0 6px;
  transition: color .2s, transform .2s;
  flex-shrink: 0;
}
.ehubk-fav:hover { color: #f43f5e; }
.ehubk-fav.is-fav { color: #f43f5e; }
.ehubk-fav.fav-pop { transform: scale(1.4); }
.ehubk-card__title { display: flex; align-items: flex-start; justify-content: space-between; gap: 4px; }
.ehubk-card__title a { flex: 1; }

/* ── Hodnocení kupónu ── */
.ehubk-rating {
  padding: 16px;
  background: #f8f9fb;
  border-radius: 10px;
  border: 1px solid #e8eaed;
}
.ehubk-rating__question {
  font-size: 14px;
  font-weight: 600;
  color: #1a1d23;
  margin-bottom: 10px;
  text-align: center;
}
.ehubk-rating__btns {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-bottom: 12px;
}
.ehubk-rating__btn {
  padding: 8px 20px;
  border-radius: 8px;
  border: 2px solid #e8eaed;
  background: #fff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  transition: all .18s;
  color: #444;
}
.ehubk-rating__btn--up:hover  { border-color: #22c55e; background: #f0fdf4; color: #166534; }
.ehubk-rating__btn--down:hover { border-color: #f43f5e; background: #fff1f2; color: #9f1239; }
.ehubk-rating__btn:disabled { opacity: .5; cursor: default; }
.ehubk-rating__score {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  color: #666;
}
.ehubk-rating__bar {
  height: 6px;
  background: #e8eaed;
  border-radius: 3px;
  flex: 1;
  min-width: 80px;
  overflow: hidden;
}
.ehubk-rating__fill {
  height: 100%;
  background: linear-gradient(90deg, #22c55e, #16a34a);
  border-radius: 3px;
  transition: width .5s ease;
}
.ehubk-rating__pct { font-weight: 700; color: #166534; }
.ehubk-rating__count { color: #999; }

/* ── Sticky CTA (mobil) ── */
.ehubk-sticky-cta {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: #fff;
  border-top: 2px solid #fa9428;
  box-shadow: 0 -4px 20px rgba(0,0,0,.12);
  padding: 10px 16px;
  z-index: 990;
  display: none;
  align-items: center;
  gap: 10px;
  transform: translateY(100%);
  transition: transform .3s ease;
}
.ehubk-sticky-cta.is-visible {
  transform: translateY(0);
}
.ehubk-sticky-cta__code {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
  min-width: 0;
}
.ehubk-sticky-cta__codelabel { font-size: 11px; color: #888; white-space: nowrap; }
.ehubk-sticky-cta__codevalue {
  font-family: monospace;
  font-size: 14px;
  font-weight: 900;
  color: #fa9428;
  letter-spacing: .08em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ehubk-sticky-cta__copy {
  font-size: 11px;
  padding: 3px 8px;
  border: 1px solid #fa9428;
  background: none;
  color: #fa9428;
  border-radius: 4px;
  cursor: pointer;
  white-space: nowrap;
}
.ehubk-sticky-cta__btn { white-space: nowrap; flex-shrink: 0; }

/* Sticky CTA jen na mobilu */
@media (max-width: 860px) {
  .ehubk-sticky-cta { display: flex; }
}

/* ── Exit overlay ── */
.ehubk-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.6);
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 16px;
  backdrop-filter: blur(4px);
}
.ehubk-overlay.is-active { display: flex; }
.ehubk-overlay__box {
  background: #fff;
  border-radius: 16px;
  padding: 28px 32px;
  max-width: 420px;
  width: 100%;
  text-align: center;
  box-shadow: 0 20px 60px rgba(0,0,0,.3);
  animation: overlayIn .25s ease;
}
@keyframes overlayIn {
  from { opacity: 0; transform: scale(.95) translateY(10px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}
.ehubk-overlay__shop { margin-bottom: 12px; min-height: 30px; display: flex; justify-content: center; align-items: center; }
.ehubk-overlay__title { font-size: 18px; font-weight: 700; color: #1a1d23; margin-bottom: 16px; }
.ehubk-overlay__code {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #fff8f0;
  border: 2px dashed #fa9428;
  border-radius: 10px;
  padding: 12px 16px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.ehubk-overlay__codelabel { font-size: 12px; color: #888; }
.ehubk-overlay__codevalue {
  font-family: monospace;
  font-size: 20px;
  font-weight: 900;
  color: #fa9428;
  letter-spacing: .12em;
}
.ehubk-overlay__hint { font-size: 12px; color: #666; margin-bottom: 16px; }
.ehubk-overlay__countdown {
  font-size: 36px;
  font-weight: 900;
  color: #fa9428;
  margin-bottom: 12px;
  line-height: 1;
}
.ehubk-overlay__btn { width: 100%; justify-content: center; font-size: 16px; padding: 12px; margin-bottom: 10px; }
.ehubk-overlay__close {
  background: none;
  border: none;
  font-size: 13px;
  color: #aaa;
  cursor: pointer;
  padding: 4px 8px;
}
.ehubk-overlay__close:hover { color: #666; }
.ehubk-overlay__copy { font-size: 12px; padding: 4px 10px; }

/* ── Breadcrumb na archivních stránkách ── */
.ehubk-archive-breadcrumb {
  background: #f8f9fb;
  border-bottom: 1px solid #f0f1f3;
  font-size: 12px;
  color: #888;
}
.ehubk-archive-breadcrumb a { color: #fa9428; text-decoration: none; }
.ehubk-archive-breadcrumb a:hover { text-decoration: underline; }
.ehubk-archive-breadcrumb span { margin: 0 5px; }

/* ── Filtr bez kódu ── */
.ehubk-sidebar__label + .ehubk-sidebar__item:first-of-type { margin-top: 2px; }

/* ── Sdílení ── */
.ehubk-share {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: #f8f9fb;
  border-top: 1px solid #f0f1f3;
  flex-wrap: wrap;
}
.ehubk-share__label {
  font-size: 12px;
  color: #888;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.ehubk-share__btn {
  font-size: 12px;
  padding: 5px 12px;
  border-radius: 6px;
  border: 1px solid #e8eaed;
  background: #fff;
  cursor: pointer;
  color: #444;
  text-decoration: none;
  transition: background .15s, border-color .15s;
}
.ehubk-share__btn:hover { background: #f0f4ff; border-color: #6b8cff; color: #3b5bdb; }

/* ── Email v overlay ── */
.ehubk-overlay__email {
  margin: 12px 0;
  padding: 12px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 10px;
}
.ehubk-overlay__email-label {
  font-size: 13px;
  font-weight: 600;
  color: #166534;
  margin-bottom: 8px;
  text-align: center;
}
.ehubk-overlay__email-row {
  display: flex;
  gap: 6px;
}
.ehubk-overlay__email-input {
  flex: 1;
  padding: 7px 10px;
  border: 1px solid #d1fae5;
  border-radius: 6px;
  font-size: 13px;
  outline: none;
  min-width: 0;
}
.ehubk-overlay__email-input:focus { border-color: #22c55e; }
.ehubk-overlay__email-btn { font-size: 12px; padding: 7px 12px; white-space: nowrap; }
.ehubk-overlay__email-ok {
  font-size: 13px;
  color: #166534;
  font-weight: 600;
  text-align: center;
  padding: 4px 0;
}

/* ── Naposledy zobrazené v sidebaru ── */
#ehubk-recent-sidebar { margin-bottom: 12px; }
#ehubk-recent-sidebar .ehubk-sb-item__title {
  font-size: 12px;
  color: #1a1d23;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ══════════════════════════════════════════════════════
   OPRAVY A VYLEPŠENÍ
   ══════════════════════════════════════════════════════ */

/* ── Blikání posledního dne ── */
@keyframes ehubk-blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: .4; }
}
.ehubk-expires--blink,
.ehubk-days-badge--blink {
  animation: ehubk-blink .9s ease-in-out infinite !important;
}

/* ── Fix obrázků — vždy vyplní čtverec, nikdy nepřetečou ── */
.ehubk-card__shoplogo {
  overflow: hidden !important;
}
.ehubk-card__logoimg,
.ehubk-card__shoplogo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}
/* Širé PNG loga které jsou landscape — oříznout do čtverce */
.ehubk-card__shoplogo {
  aspect-ratio: 1 / 1 !important;
}

/* ── Naposledy zobrazené — nový design ── */
#ehubk-recent-sidebar {
  margin-top: 16px;
  background: #fff;
  border: 1.5px solid #e8eaed;
  border-radius: 12px;
  overflow: hidden;
}
#ehubk-recent-sidebar .ehubk-recent-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: linear-gradient(90deg, #1a2233 0%, #2d3748 100%);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}
#ehubk-recent-sidebar .ehubk-recent-header svg {
  flex-shrink: 0;
  opacity: .8;
}
#ehubk-recent-sidebar .ehubk-recent-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border-bottom: 1px solid #f0f1f3;
  text-decoration: none;
  color: inherit;
  transition: background .15s;
}
#ehubk-recent-sidebar .ehubk-recent-item:last-child { border-bottom: none; }
#ehubk-recent-sidebar .ehubk-recent-item:hover { background: #fff8f0; }
#ehubk-recent-sidebar .ehubk-recent-logo {
  width: 28px;
  height: 28px;
  min-width: 28px;
  border-radius: 5px;
  border: 1px solid #e8eaed;
  background: #f8f9fb;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-size: 16px;
}
#ehubk-recent-sidebar .ehubk-recent-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#ehubk-recent-sidebar .ehubk-recent-title {
  font-size: 12px;
  color: #1a1d23;
  font-weight: 600;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ══════════════════════════════════════════════════════
   MOBILNÍ CSS — kompletní opravy
   ══════════════════════════════════════════════════════ */

@media (max-width: 860px) {
  /* Zabránit horizontálnímu přetékání */
  .ehubk-wrap { overflow-x: hidden !important; max-width: 100% !important; }
  /* Archivní grid — 1 sloupec */
  .ehubk-wrap .ehubk-layout, div.ehubk-layout { grid-template-columns: 1fr !important; }
  .ehubk-content { width: 100% !important; min-width: 0 !important; }
  .ehubk-grid { grid-template-columns: 1fr !important; gap: 12px !important; }

  /* Kartičky */
  .ehubk-card { margin: 0 !important; }
  .ehubk-card__actions {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  .ehubk-btn--go {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* Detail kupónu */
  .ehubk-single-layout { grid-template-columns: 1fr !important; }
  .ehubk-single-sidebar { display: none !important; }
  .ehubk-single { padding: 0 !important; }
  .ehubk-single__header-top { flex-wrap: wrap !important; gap: 8px !important; }
  .ehubk-single__meta { flex-wrap: wrap !important; gap: 6px !important; }
  .ehubk-single__codebox { padding: 16px !important; }
  .ehubk-single__cta { flex-direction: column !important; padding: 16px !important; }
  .ehubk-single__cta .ehubk-btn { width: 100% !important; text-align: center !important; justify-content: center !important; }

  /* Sdílení */
  .ehubk-share { gap: 6px !important; }
  .ehubk-share__btn { font-size: 11px !important; padding: 4px 8px !important; }

  /* Hero */
  .ehubk-hero-strip { padding: 12px 16px !important; flex-wrap: wrap !important; gap: 8px !important; }
  .ehubk-hero-stats { gap: 12px !important; flex-wrap: wrap !important; }

  /* Paginace */
  .ehubk-pagination { flex-wrap: wrap !important; gap: 8px !important; }
  .ehubk-pagination__jump { flex-wrap: wrap !important; }

  /* Overlay */
  .ehubk-overlay__box { padding: 20px 16px !important; margin: 8px !important; }
  .ehubk-overlay__title { font-size: 16px !important; }
  .ehubk-overlay__codevalue { font-size: 18px !important; }

  /* Breadcrumb */
  .ehubk-breadcrumb, .ehubk-archive-breadcrumb { font-size: 11px !important; padding: 6px 16px !important; }
}

@media (max-width: 480px) {
  /* Kartičky — kompaktnější na malých telefonech */
  .ehubk-card__top { gap: 8px !important; }
  .ehubk-badge { font-size: 9px !important; padding: 2px 5px !important; }
  .ehubk-badge-row { gap: 4px !important; flex-wrap: wrap !important; }
  .ehubk-inline-code__val { font-size: 12px !important; letter-spacing: .08em !important; }
  .ehubk-btn--copy, .ehubk-btn--go { font-size: 12px !important; padding: 7px 12px !important; }

  /* Detail */
  .ehubk-single__codebox code { font-size: 18px !important; }
  .ehubk-single__body { padding: 0 12px 12px !important; }
  .ehubk-single__body h2 { font-size: 14px !important; padding: 8px 12px !important; }
  .ehubk-single__body h3 { font-size: 13px !important; margin: 10px 12px 0 !important; }

  /* Sticky CTA */
  .ehubk-sticky-cta { padding: 8px 12px !important; gap: 6px !important; }
  .ehubk-sticky-cta__codevalue { font-size: 12px !important; }
}




/* ══════════════════════════════════════════════════════
   MOBILNÍ FILTER DRAWER — čistá implementace
   ══════════════════════════════════════════════════════ */

/* Tlačítko Filtry — jen na mobilu */
.ehubk-filter-toggle { display: none; }

/* Drawer hlavička — jen na mobilu */
.ehubk-drawer-head { display: none; }

/* Backdrop — neviditelný na desktopu */
.ehubk-filter-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 1199;
  cursor: pointer;
}

@media (max-width: 860px) {

  /* Tlačítko Filtry */
  .ehubk-filter-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
    padding: 12px 16px;
    margin-bottom: 12px;
    background: #fff;
    border: 2px solid #fa9428;
    border-radius: 10px;
    color: #fa9428;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 1px 4px rgba(250,148,40,.15);
  }
  .ehubk-filter-toggle__badge {
    margin-left: auto;
    background: #fa9428;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    border-radius: 10px;
    padding: 1px 7px;
  }

  /* Layout bez sidebar sloupce */
  .ehubk-wrap .ehubk-layout, div.ehubk-layout { grid-template-columns: 1fr !important; }

  /* Sidebar SKRYTÝ ve výchozím stavu */
  .ehubk-wrap .ehubk-layout > aside#ehubk-sidebar,
  div.ehubk-layout > aside#ehubk-sidebar {
    display: none !important;
  }

  /* Sidebar OTEVŘENÝ — fixed drawer zespoda */
  .ehubk-wrap .ehubk-layout > aside#ehubk-sidebar.is-open,
  div.ehubk-layout > aside#ehubk-sidebar.is-open {
    display: block !important;
    position: fixed !important;
    inset: auto 0 0 0 !important;
    width: 100% !important;
    max-height: 82vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 18px 18px 0 0 !important;
    border: none !important;
    box-shadow: 0 -8px 40px rgba(0,0,0,.25) !important;
    z-index: 1200 !important;
    padding-bottom: env(safe-area-inset-bottom, 16px) !important;
    background: #fff !important;
    animation: drawerUp .28s cubic-bezier(.32,.72,0,1);
  }
  @keyframes drawerUp {
    from { transform: translateY(100%); }
    to   { transform: translateY(0); }
  }

  /* Backdrop viditelný při otevření */
  .ehubk-filter-backdrop.is-visible {
    display: block;
  }

  /* Drawer hlavička */
  .ehubk-drawer-head {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px 12px;
    border-bottom: 1px solid #f0f1f3;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 2;
    border-radius: 18px 18px 0 0;
  }
  .ehubk-drawer-head__title {
    font-size: 16px;
    font-weight: 700;
    color: #1a1d23;
  }
  .ehubk-drawer-head__close {
    background: #f0f1f3;
    border: none;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    flex-shrink: 0;
  }
  .ehubk-drawer-head__close:active { background: #d0d0d0; }

  /* Akční tlačítka viditelná v draweru */
  #ehubk-sidebar .ehubk-sidebar__actions {
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    padding: 12px 16px 20px !important;
  }
}
