/* ==========================================================================
   Archive Udalosti — Design System v4 (Horizontal cards + narrow sidebar)
   Namespace: .zsmh-archive-*
   CSS custom properties from css/fonts.css
   ========================================================================== */


/* =========================================================================
   SHARED COMPONENTS — used by other pages
   DO NOT REMOVE — .zsmh-card, .zsmh-tag, .zsmh-media-badge, .zsmh-pagination
   ========================================================================= */

.zsmh-archive-grid {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 24px; padding: 20px 0; margin: 0 auto;
    width: 80%; max-width: 1080px; margin-bottom: 48px;
}
@media (max-width: 980px) {
    .zsmh-archive-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media (max-width: 640px) {
    .zsmh-archive-grid { grid-template-columns: 1fr; gap: 16px; width: 92%; }
}
.zsmh-card {
    background: #fff; border-radius: 10px; border: 1px solid #eee;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    overflow: hidden; display: flex; flex-direction: column; height: 100%;
    position: relative; animation: zsmhFadeInUp 0.4s ease both;
}
.zsmh-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,0.1); border-color: #f19e00; }
.zsmh-card.highlight { border: 2px solid #f19e00; background: #fffbf5; }
.zsmh-card-image { aspect-ratio: 16/10; overflow: hidden; position: relative; background-color: #f5f5f5; }
.zsmh-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.zsmh-card:hover .zsmh-card-image img { transform: scale(1.05); }
.zsmh-card-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0.15), transparent 40%); pointer-events: none; }
.zsmh-date-badge {
    position: absolute; top: 12px; left: 12px;
    background: rgba(255,255,255,0.88); backdrop-filter: blur(8px);
    padding: 5px 10px; border-radius: 6px;
    font-family: var(--font-heading); font-size: 0.7rem; font-weight: 700;
    color: #333; box-shadow: 0 2px 8px rgba(0,0,0,0.12); z-index: 10;
    display: flex; align-items: center; gap: 5px;
    text-transform: uppercase; letter-spacing: 0.5px; pointer-events: none;
}
.zsmh-media-badges { position: absolute; bottom: 10px; right: 10px; display: flex; gap: 5px; z-index: 10; pointer-events: none; }
.zsmh-media-badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: 4px; font-family: var(--font-heading); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.3px; white-space: nowrap; }
.zsmh-media-video { background: rgba(0,0,0,0.6); backdrop-filter: blur(6px); color: #fff; }
.zsmh-media-gallery, .zsmh-media-attach { background: rgba(255,255,255,0.88); backdrop-filter: blur(6px); color: #555; box-shadow: 0 1px 4px rgba(0,0,0,0.12); }
.zsmh-card-content { padding: 20px; flex-grow: 1; display: flex; flex-direction: column; }
.zsmh-card-title { font-family: var(--font-heading); font-size: 1.15rem; font-weight: 700; margin-bottom: 10px; line-height: 1.35; color: #222; }
.zsmh-card-title a { color: inherit; text-decoration: none; transition: color 0.2s; }
.zsmh-card-title a:hover { color: #f19e00; }
.zsmh-card-excerpt { font-family: var(--font-body); font-size: 0.9rem; color: #777; line-height: 1.6; margin-bottom: 16px; flex-grow: 1; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.zsmh-card-tags { margin-top: auto; padding-top: 12px; border-top: 1px solid #eee; display: flex; flex-wrap: wrap; gap: 6px; }
.zsmh-tag { font-family: var(--font-heading); font-size: 0.72rem; padding: 4px 12px; background: #f5f5f5; color: #555; border-radius: 50px; text-decoration: none; font-weight: 700; transition: all 0.2s; border: 1px solid #e8e8e8; }
.zsmh-tag:hover { background: #fff; color: #f19e00; border-color: #f19e00; }
.zsmh-lock-badge { position: absolute; top: 12px; right: 12px; background: rgba(0,0,0,0.7); backdrop-filter: blur(6px); color: #fff; padding: 4px 10px; border-radius: 6px; font-family: var(--font-heading); font-size: 0.65rem; font-weight: 700; z-index: 10; }


/* =========================================================================
   ARCHIVE CONTAINER
   ========================================================================= */

.zsmh-archive-w { width: 80%; max-width: 1080px; margin: 0 auto; }
.zsmh-archive-page { background: #f5f4f0; }

/* ── Neprehliadnite header ── */
.zsmh-archive-header-wrap {
    background: linear-gradient(135deg, #f8f7f4 0%, #f3f0ea 100%);
    border-bottom: 1px solid #e8e4dc;
    padding: 32px 0 28px;
    text-align: center;
}
.zsmh-archive-header {
    width: 80%;
    max-width: 1080px;
    margin: 0 auto;
}
.zsmh-archive-title {
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 700;
    color: #222;
    margin: 0;
    line-height: 1.2;
}
.zsmh-archive-header .zsmh-archive-breadcrumb {
    font-size: 0.82rem;
    color: #999;
    margin-bottom: 12px;
}
.zsmh-archive-header .zsmh-archive-breadcrumb a {
    color: #999;
    text-decoration: none;
}
.zsmh-archive-header .zsmh-archive-breadcrumb a:hover {
    color: #f19e00;
    text-decoration: underline;
}
.zsmh-archive-header .zsmh-archive-breadcrumb .sep {
    color: #ccc;
    margin: 0 6px;
}
.zsmh-archive-infobar {
    background: #f5f4f0;
    border-bottom: 1px solid #e8e4dc;
    padding: 14px 0;
    text-align: center;
    font-size: 0.9rem;
    color: #888;
}
.zsmh-archive-infobar-inner {
    width: 80%;
    max-width: 1080px;
    margin: 0 auto;
}

/* Divi overrides for archive page — #logo sizing now unified in header-footer.css */
.zsmh-archive-page { flex-direction: column !important; }
@media (max-width: 980px) {
    .zsmh-archive-page #et_top_search { display: none !important; }
    .zsmh-archive-page .et_mobile_menu { z-index: 100002 !important; position: absolute !important; width: 100% !important; }
}


/* =========================================================================
   HERO: DEFAULT — Compact Navy (Variant H, dizajn manuál v3.0)
   Breadcrumbs + Trebuchet heading + glass-morphism stats
   ========================================================================= */

.zsmh-archive-hero-navy {
    background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 60%, #0f172a 100%);
    color: #fff; padding: 24px 0 32px;
    position: relative; overflow: hidden;
    border-bottom: 3px solid #f19e00;
}
.zsmh-archive-hero-navy::before,
.zsmh-archive-hero-navy::after {
    display: none;
}
.zsmh-archive-hero-navy__inner { position: relative; z-index: 1; }

/* Breadcrumbs */
.zsmh-archive-hero-navy__bc {
    font-family: var(--font-heading); font-size: 0.68rem;
    color: rgba(255,255,255,0.4); margin-bottom: 8px;
}
.zsmh-archive-hero-navy__bc a {
    color: rgba(255,255,255,0.4); text-decoration: none;
}
.zsmh-archive-hero-navy__bc a:hover { color: #f19e00; }
.zsmh-archive-hero-navy__bc .sep { margin: 0 5px; }

/* Label */
.zsmh-archive-hero-navy__label {
    font-family: var(--font-heading); font-size: 0.6rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 2.5px; color: #f19e00;
    margin-bottom: 10px;
}

/* Title — Trebuchet MS (compact hero, nie Libre Bodoni) */
.zsmh-archive-hero-navy__title {
    font-family: var(--font-heading); font-size: clamp(1.4rem, 3vw, 1.75rem); font-weight: 700;
    color: #fff; line-height: 1.1; margin-bottom: 8px;
}

/* Subtitle */
.zsmh-archive-hero-navy__sub {
    font-family: var(--font-heading); font-size: 0.82rem;
    color: rgba(255,255,255,0.5); margin-bottom: 0;
}
.zsmh-archive-hero-navy__sub strong { color: #f19e00; }

/* Stats box removed — stats are now inline in subtitle */

/* ── Legacy: keep old classes for backward compat (ticker, stats-band) ── */
.zsmh-archive-hero-default__top { display: none; }
.zsmh-archive-hero-default__stats-band { display: none; }
.zsmh-archive-ticker { display: none; }


/* =========================================================================
   HERO: NAMED VIEW (themed gradient)
   ========================================================================= */

.zsmh-archive-hero-named { position: relative; overflow: hidden; }
.zsmh-archive-hero-named::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 4px; }
.zsmh-archive-hero-named__inner { position: relative; z-index: 1; padding: 28px 0 24px; text-align: left; }
.zsmh-archive-hero-named__icon { display: none; /* icon moved inline to eyebrow */ }
.zsmh-archive-hero-named__eyebrow {
    font-family: var(--font-heading); font-size: 0.6rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 2.5px; margin-bottom: 8px;
}
.zsmh-archive-hero-named__title {
    font-family: var(--font-heading); font-size: 2rem; font-weight: 700;
    color: #fff; line-height: 1.1; margin-bottom: 8px;
}
.zsmh-archive-hero-named__desc { font-size: 0.82rem; color: rgba(255,255,255,0.45); max-width: 500px; line-height: 1.5; margin: 0; }
.zsmh-archive-hero-named__desc strong { color: rgba(255,255,255,0.7); }
.zsmh-archive-hero-named__breadcrumb { font-size: 0.68rem; color: rgba(255,255,255,0.35); margin-bottom: 8px; }
.zsmh-archive-hero-named__breadcrumb a { color: rgba(255,255,255,0.35); text-decoration: none; }
.zsmh-archive-hero-named__breadcrumb a:hover { color: #f19e00; }
.zsmh-archive-hero-named__breadcrumb .sep { margin: 0 5px; }

/* Named variants */
.zsmh-archive-hero-named--uspechy { background: linear-gradient(160deg, #2d1b4e, #1a1040); }
.zsmh-archive-hero-named--uspechy::after { background: linear-gradient(90deg, #7b61ff, #f19e00); }
.zsmh-archive-hero-named--uspechy .zsmh-archive-hero-named__eyebrow { color: #a78bfa; }
.zsmh-archive-hero-named--oznamy { background: linear-gradient(160deg, #4a1919, #2a0f0f); }
.zsmh-archive-hero-named--oznamy::after { background: linear-gradient(90deg, #e04040, #f19e00); }
.zsmh-archive-hero-named--oznamy .zsmh-archive-hero-named__eyebrow { color: #fca5a5; }
.zsmh-archive-hero-named--prace { background: linear-gradient(160deg, #1e3a5f, #0f1f33); }
.zsmh-archive-hero-named--prace::after { background: linear-gradient(90deg, #3b82f6, #f19e00); }
.zsmh-archive-hero-named--prace .zsmh-archive-hero-named__eyebrow { color: #93c5fd; }
.zsmh-archive-hero-named--udalost { background: linear-gradient(160deg, #1a3d1e, #0f2212); }
.zsmh-archive-hero-named--udalost::after { background: linear-gradient(90deg, #27ae60, #f19e00); }
.zsmh-archive-hero-named--udalost .zsmh-archive-hero-named__eyebrow { color: #86efac; }
.zsmh-archive-hero-named--predmety { background: linear-gradient(160deg, #0e3f4f, #072530); }
.zsmh-archive-hero-named--predmety::after { background: linear-gradient(90deg, #06b6d4, #f19e00); }
.zsmh-archive-hero-named--predmety .zsmh-archive-hero-named__eyebrow { color: #67e8f9; }
/* MŠ — svetlý zelený variant (nature téma, zladený s /materska-skola/akcie/) */
.zsmh-archive-hero-named--ms { background: linear-gradient(135deg, #f0faf3 0%, #d4edda 100%); }
.zsmh-archive-hero-named--ms::after { background: linear-gradient(90deg, #27ae60, #1e8449); }
.zsmh-archive-hero-named--ms .zsmh-archive-hero-named__eyebrow { color: #1e8449; }
.zsmh-archive-hero-named--ms .zsmh-archive-hero-named__title { color: #1a3a2a; }
.zsmh-archive-hero-named--ms .zsmh-archive-hero-named__desc { color: #2c5438; }
.zsmh-archive-hero-named--ms .zsmh-archive-hero-named__desc strong { color: #1a3a2a; }
.zsmh-archive-hero-named--ms .zsmh-archive-hero-named__breadcrumb { color: #6b6b6b; }
.zsmh-archive-hero-named--ms .zsmh-archive-hero-named__breadcrumb a { color: #6b6b6b; }
.zsmh-archive-hero-named--ms .zsmh-archive-hero-named__breadcrumb a:hover { color: #1e8449; }
.zsmh-archive-hero-named--skd { background: linear-gradient(160deg, #3b1f5e, #1f0f33); }
.zsmh-archive-hero-named--skd::after { background: linear-gradient(90deg, #9c27b0, #f19e00); }
.zsmh-archive-hero-named--skd .zsmh-archive-hero-named__eyebrow { color: #d8b4fe; }
.zsmh-archive-hero-named--galerie { background: linear-gradient(160deg, #064e3b, #022c22); }
.zsmh-archive-hero-named--galerie::after { background: linear-gradient(90deg, #10b981, #f19e00); }
.zsmh-archive-hero-named--galerie .zsmh-archive-hero-named__eyebrow { color: #6ee7b7; }
.zsmh-archive-hero-named--videa { background: linear-gradient(160deg, #4a1942, #2a0f26); }
.zsmh-archive-hero-named--videa::after { background: linear-gradient(90deg, #ec4899, #f19e00); }
.zsmh-archive-hero-named--videa .zsmh-archive-hero-named__eyebrow { color: #f9a8d4; }
.zsmh-archive-hero-named--tag { background: linear-gradient(160deg, #334155, #1e293b); }
.zsmh-archive-hero-named--tag::after { background: linear-gradient(90deg, #64748b, #f19e00); }
.zsmh-archive-hero-named--tag .zsmh-archive-hero-named__eyebrow { color: #94a3b8; }

/* Tag archive — full-width layout (no sidebar) */
.zsmh-archive-tag-layout { padding: 24px 0 60px; }
.zsmh-archive-tag-layout .zsmh-archive-content { min-width: 0; }


/* =========================================================================
   HERO: FILTERED (compact white)
   ========================================================================= */

.zsmh-archive-hero-filtered {
    background: linear-gradient(160deg, #4a3928 0%, #3d2e1e 50%, #4a3520 100%);
    padding: 24px 0 18px;
    position: relative; overflow: hidden;
}
.zsmh-archive-hero-filtered::before {
    content: ''; position: absolute; inset: 0;
    background:
        radial-gradient(ellipse 50% 80% at 20% 50%, rgba(241,158,0,0.18), transparent 60%),
        radial-gradient(ellipse 40% 60% at 80% 30%, rgba(241,158,0,0.10), transparent 50%);
}
.zsmh-archive-hero-filtered::after {
    content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 4px; background: #f19e00;
}
.zsmh-archive-hero-filtered__inner { display: flex; flex-direction: column; align-items: flex-start; text-align: left; gap: 10px; position: relative; z-index: 1; }
.zsmh-archive-hero-filtered__title { font-family: var(--font-heading); font-size: 2rem; font-weight: 700; color: #fff; }
.zsmh-archive-hero-filtered__breadcrumb { font-size: 0.75rem; color: rgba(255,255,255,0.35); margin-top: 4px; }
.zsmh-archive-hero-filtered__breadcrumb a { color: rgba(255,255,255,0.35); text-decoration: none; }
.zsmh-archive-hero-filtered__breadcrumb a:hover { color: #f19e00; }
.zsmh-archive-hero-filtered__breadcrumb .sep { margin: 0 6px; }
.zsmh-archive-hero-filtered__right { display: flex; align-items: center; gap: 16px; justify-content: flex-start; }
.zsmh-archive-hero-filtered__tags { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-start; }
.zsmh-archive-hero-filtered__tag {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 4px 12px; border-radius: 20px;
    background: #fdf2e1; border: 1px solid #f19e00;
    font-family: var(--font-heading); font-size: 0.72rem; font-weight: 700; color: #d38900;
}
.zsmh-archive-hero-filtered__tag .x { color: #d38900; opacity: 0.5; margin-left: 2px; text-decoration: none; font-size: 0.85rem; }
.zsmh-archive-hero-filtered__tag .x:hover { opacity: 1; }
.zsmh-archive-hero-filtered__clear { font-size: 0.72rem; color: rgba(255,255,255,0.4); text-decoration: underline; }
.zsmh-archive-hero-filtered__clear:hover { color: #f19e00; }
.zsmh-archive-hero-filtered__count { font-size: 0.82rem; color: rgba(255,255,255,0.4); }
.zsmh-archive-hero-filtered__count strong { color: #f19e00; }


/* =========================================================================
   HERO: SEARCH
   ========================================================================= */

.zsmh-archive-hero-search {
    background: linear-gradient(160deg, #4a3928 0%, #3d2e1e 50%, #4a3520 100%);
    padding: 24px 0 20px; text-align: left;
    position: relative; overflow: hidden;
}
.zsmh-archive-hero-search::before {
    content: ''; position: absolute; inset: 0;
    background:
        radial-gradient(ellipse 50% 80% at 20% 50%, rgba(241,158,0,0.18), transparent 60%),
        radial-gradient(ellipse 40% 60% at 80% 30%, rgba(241,158,0,0.10), transparent 50%);
}
.zsmh-archive-hero-search::after {
    content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 4px; background: #f19e00;
}
.zsmh-archive-hero-search .zsmh-archive-w { position: relative; z-index: 1; }
.zsmh-archive-hero-search__breadcrumb { font-size: 0.72rem; color: rgba(255,255,255,0.3); margin-bottom: 8px; }
.zsmh-archive-hero-search__breadcrumb a { color: rgba(255,255,255,0.3); text-decoration: none; }
.zsmh-archive-hero-search__breadcrumb a:hover { color: #f19e00; }
.zsmh-archive-hero-search__title { font-family: var(--font-heading); font-size: 2rem; font-weight: 700; color: #fff; margin-bottom: 4px; }
.zsmh-archive-hero-search__q { color: #f19e00; }
.zsmh-archive-hero-search__count { font-size: 0.82rem; color: rgba(255,255,255,0.4); }
.zsmh-archive-hero-search__count strong { color: #f19e00; }


/* =========================================================================
   SIDEBAR + CONTENT LAYOUT (170px sidebar)
   ========================================================================= */

.zsmh-archive-layout {
    display: grid; grid-template-columns: 170px 1fr;
    gap: 28px; padding: 24px 0 60px;
}

.zsmh-archive-sidebar {
    position: sticky; top: 48px; align-self: start;
}

/* Search */
.zsmh-archive-sb-search {
    display: flex; border: 1.5px solid #e8e8e8; border-radius: 8px;
    overflow: hidden; background: #fff; margin-bottom: 14px;
}
.zsmh-archive-sb-search input {
    flex: 1; border: none; padding: 7px 8px;
    font-family: var(--font-body); font-size: 16px;
    outline: none; color: #333; background: none; min-width: 0;
}
.zsmh-archive-sb-search input::placeholder { color: #bbb; }
.zsmh-archive-sb-search button {
    padding: 7px 8px; border: none; background: none; color: #999; cursor: pointer; flex-shrink: 0;
}
.zsmh-archive-sb-search:focus-within { border-color: #f19e00; }

/* Section */
.zsmh-archive-sb-section { margin-bottom: 14px; }
.zsmh-archive-sb-title {
    font-family: var(--font-heading); font-size: 0.6rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1.5px; color: #999;
    margin-bottom: 5px; padding-bottom: 4px; border-bottom: 1px solid #eee;
}
.zsmh-archive-sb-list { list-style: none; padding: 0; margin: 0; }
.zsmh-archive-sb-item {
    display: flex; align-items: center; gap: 5px;
    padding: 5px 6px; border-radius: 5px;
    font-size: 0.73rem; color: #555;
    cursor: pointer; transition: all 0.15s;
    text-decoration: none; margin-bottom: 1px;
}
.zsmh-archive-sb-item:hover { background: #fdf2e1; color: #1a1a1a; }
.zsmh-archive-sb-item.active { background: #f19e00; color: #fff; font-weight: 600; }
/* MŠ zaradenie — zelený active state (nature téma) */
.zsmh-archive-sb-item[data-zar="ms"]:hover { background: #edf7f0; }
.zsmh-archive-sb-item.active[data-zar="ms"] { background: #27ae60; }
.zsmh-bs-pill[data-zar="ms"]:hover { background: #edf7f0; border-color: #27ae60; }
.zsmh-bs-pill.active[data-zar="ms"] { background: #27ae60; border-color: #27ae60; }
.zsmh-archive-sb-item .icon { font-size: 0.82rem; width: 18px; text-align: center; flex-shrink: 0; }
.zsmh-archive-sb-item .cnt { margin-left: auto; font-size: 0.6rem; font-weight: 600; opacity: 0.4; }
.zsmh-archive-sb-item.active .cnt { opacity: 0.8; }
.zsmh-archive-sb-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.zsmh-archive-sb-item--pinned {
    background: #fffbf5; border: 1px solid #f19e00; color: #d38900 !important;
    font-weight: 600; margin-top: 4px;
}
.zsmh-archive-sb-item--pinned:hover { background: #fdf2e1; }
.zsmh-archive-sb-select {
    width: 100%; padding: 8px 10px; border-radius: 8px;
    border: 1.5px solid #e0dcd4;
    font-family: var(--font-heading); font-size: 0.78rem; font-weight: 600;
    color: #333; background: #fff; cursor: pointer;
    transition: border-color 0.2s;
}
.zsmh-archive-sb-select:hover,
.zsmh-archive-sb-select:focus {
    border-color: #f19e00;
    outline: none;
}
.zsmh-archive-sb-select:focus-visible {
    outline: 2px solid var(--gcid-primary-color);
    outline-offset: 2px;
}

/* Content */
.zsmh-archive-content { min-width: 0; }


/* =========================================================================
   RESULT BAR
   ========================================================================= */

.zsmh-archive-result-bar {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid #e8e8e8;
}
.zsmh-archive-result-bar__count { font-size: 0.8rem; color: #999; }
.zsmh-archive-result-bar__count strong { color: #1a1a1a; }


/* =========================================================================
   TIMELINE
   ========================================================================= */

.zsmh-archive-timeline { padding: 0; }
.zsmh-archive-month { margin-bottom: 28px; position: relative; }
.zsmh-archive-month::before {
    content: ''; position: absolute; left: 5px; top: 34px; bottom: 0;
    width: 2px; background: #ece9e1;
}
.zsmh-archive-month--last::before { display: none; }

.zsmh-archive-month__header {
    display: flex; align-items: center; gap: 10px;
    margin-bottom: 14px;
    position: sticky; top: 48px; z-index: 10;
    background: #f5f4f0; padding: 5px 0;
}
.zsmh-archive-month__dot {
    width: 11px; height: 11px; border-radius: 50%;
    background: #f19e00; flex-shrink: 0;
    box-shadow: 0 0 0 3px #f5f4f0, 0 0 0 4px #f19e00;
}
.zsmh-archive-month__dot--pinned {
    animation: zsmhPulse 2s infinite;
}
@keyframes zsmhPulse { 0%,100% { opacity: 1; } 50% { opacity: 0.3; } }
.zsmh-archive-month__name {
    font-family: var(--font-heading); font-size: 1rem; font-weight: 700; color: #1a1a1a;
}
.zsmh-archive-month__cnt { font-size: 0.72rem; color: #999; }
.zsmh-archive-month__line { flex: 1; height: 1px; background: #e8e8e8; }


/* =========================================================================
   HORIZONTAL CARD (.zsmh-archive-hc)
   v4 layout: image left (200px) + body right
   ========================================================================= */

.zsmh-archive-tl-list {
    display: flex; flex-direction: column;
    gap: 12px; padding-left: 28px;
}

.zsmh-archive-hc {
    display: grid; grid-template-columns: 200px 1fr;
    background: #fff; border-radius: 16px;
    overflow: hidden; border: 1px solid rgba(0,0,0,.06);
    transition: box-shadow 0.3s, border-color 0.3s, transform 0.25s; min-height: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
    /* Animation handled by IntersectionObserver (JS) — see .zsmh-reveal/.zsmh-revealed */
}
.zsmh-archive-hc:hover {
    box-shadow: 0 8px 28px rgba(0,0,0,0.10);
    border-color: #f19e00;
    transform: translateY(-2px);
}
.zsmh-archive-hc--hl { border: 2px solid #f19e00; }

/* Image — fixed height for consistent card size */
.zsmh-archive-hc__img {
    position: relative; overflow: hidden; background: #f0f0f0;
    min-height: 140px; max-height: 180px;
}
.zsmh-archive-hc__img img {
    width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s;
}
.zsmh-archive-hc:hover .zsmh-archive-hc__img img { transform: scale(1.06); }
.zsmh-archive-hc__img::after {
    content: ''; position: absolute; top: 0; left: 0; right: 0;
    height: 40%; background: linear-gradient(to bottom, rgba(0,0,0,0.18), transparent);
    pointer-events: none;
}

/* Fallback inside image */
.zsmh-archive-hc__img .zsmh-fallback-card { border-radius: 0; }

/* Date badge — dark glassmorphism */
.zsmh-archive-hc__date {
    position: absolute; top: 8px; left: 8px; z-index: 2;
    background: rgba(0,0,0,0.45); backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 6px; padding: 4px 8px;
    text-align: center; color: #fff; line-height: 1;
}
.zsmh-archive-hc__date-day {
    font-family: var(--font-display); font-size: 1.3rem; font-weight: 700; display: block;
}
.zsmh-archive-hc__date-month {
    font-family: var(--font-heading); font-size: 0.52rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1px; opacity: 0.8;
    display: block; margin-top: 1px;
}
/* Highlighted: orange date badge */
.zsmh-archive-hc--hl .zsmh-archive-hc__date { background: #f19e00; }

/* Media badges on image */
.zsmh-archive-hc__badges {
    position: absolute; bottom: 6px; right: 6px; z-index: 2;
    display: flex; gap: 3px;
}
.zsmh-archive-hc__badge {
    padding: 2px 7px; border-radius: 4px;
    font-family: var(--font-heading); font-size: 0.55rem; font-weight: 700;
    background: rgba(0,0,0,0.5); backdrop-filter: blur(6px); color: #fff;
}

/* Body — right side */
.zsmh-archive-hc__body {
    padding: 14px 18px; display: flex; flex-direction: column;
    justify-content: center; gap: 6px;
}
.zsmh-archive-hc__meta {
    display: flex; align-items: center; gap: 6px;
    font-size: 0.7rem; color: #999;
}
.zsmh-archive-hc__cat {
    display: inline-block; padding: 2px 8px; border-radius: 4px;
    font-family: var(--font-heading); font-size: 0.6rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.5px;
}
.zsmh-archive-hc__cat--udalost  { background: #fff3e0; color: #e67e22; }
.zsmh-archive-hc__cat--oznam    { background: #fde8e8; color: #e04040; }
.zsmh-archive-hc__cat--sutaze   { background: #ede7f6; color: #7b61ff; }
.zsmh-archive-hc__cat--prace    { background: #e3f2fd; color: #3b82f6; }
.zsmh-archive-hc__cat--predmety { background: #e0f7fa; color: #06b6d4; }
.zsmh-archive-hc__cat--galeria  { background: #e8f5e9; color: #10b981; }
.zsmh-archive-hc__cat--default  { background: #f5f5f5; color: #78909c; }

.zsmh-archive-hc__title {
    font-family: var(--font-heading); font-size: 0.92rem; font-weight: 700;
    color: #1a1a1a; line-height: 1.3;
}
.zsmh-archive-hc__title a { color: inherit; text-decoration: none; }
.zsmh-archive-hc__title a:hover { color: #f19e00; }
.zsmh-archive-hc__excerpt {
    font-size: 0.78rem; color: #555; line-height: 1.55;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.zsmh-archive-hc__tags { display: flex; gap: 4px; flex-wrap: wrap; margin-top: auto; }
.zsmh-archive-hc__tag {
    font-family: var(--font-heading); font-size: 0.54rem; font-weight: 700;
    padding: 2px 7px; border-radius: 20px; background: #f5f5f5; color: #999;
}

/* Pozvánka (invitation) card */
.zsmh-archive-hc--pozvanka { border: 2px solid #14b8a6; }
.zsmh-archive-hc--pozvanka .zsmh-archive-hc__date { background: #14b8a6; }
.zsmh-archive-hc__pozvanka-badge {
    display: inline-block; padding: 2px 8px; border-radius: 4px;
    background: #e0f7f4; color: #0d9488;
    font-family: var(--font-heading); font-size: 0.6rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.5px;
}

/* ── Flip Clock Countdown ── */

/* Animations */
@keyframes blink-colon { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
@keyframes flip-tick {
    0%, 85% { transform: none; }
    90% { transform: perspective(200px) rotateX(-5deg); }
    95% { transform: perspective(200px) rotateX(5deg); }
    100% { transform: none; }
}
@keyframes countdown-glow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(20,184,166,0); }
    50% { box-shadow: 0 0 8px 2px rgba(20,184,166,0.15); }
}

/* Inline mode (archive cards, calendar, sidebar, bento) */
.zsmh-countdown { display: inline-flex; align-items: center; gap: 2px; white-space: nowrap; }
.flip-inline__seg { display: inline-flex; align-items: baseline; gap: 1px; }
.flip-inline__num {
    display: inline-block; background: #115e59; color: #fff;
    font-family: var(--font-body); font-size: 0.6rem; font-weight: 700;
    padding: 1.5px 3.5px; border-radius: 2.5px; min-width: 16px; text-align: center;
    font-variant-numeric: tabular-nums; letter-spacing: -0.3px;
}
.flip-inline__label {
    font-size: 0.45rem; color: #0d9488; font-weight: 600;
    text-transform: uppercase; margin-right: 3px;
}
.flip-inline__sep {
    color: #14b8a6; font-size: 0.55rem; font-weight: 700;
    margin: 0 0.5px; animation: blink-colon 1s ease-in-out infinite;
}
.flip-inline__num--sec { animation: flip-tick 1s ease-in-out infinite; }
.flip-inline__now {
    display: inline-block; padding: 2px 8px; border-radius: 4px;
    background: #14b8a6; color: #fff;
    font-family: var(--font-body); font-size: 0.6rem; font-weight: 700;
    animation: blink-colon 2s ease-in-out infinite;
}

/* Banner mode (single page) */
.flip-banner {
    display: flex; align-items: center; gap: 14px;
    margin: 12px 0 0; padding: 16px 20px;
    background: linear-gradient(135deg, #f0fdfa, #ccfbf1);
    border: 1px solid #99f6e4; border-radius: 10px;
    font-family: var(--font-body);
}
.flip-banner__icon { font-size: 1.4em; }
.flip-banner__label { color: #6b7280; font-size: 0.85rem; white-space: nowrap; }
.flip-banner__label--now { font-weight: 700; color: #0d9488; font-size: 1rem; }
.flip-banner__segments { display: flex; gap: 6px; align-items: center; }
.flip-banner__seg { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.flip-banner__num {
    display: flex; align-items: center; justify-content: center;
    background: #115e59; color: #fff;
    font-size: 1.3rem; font-weight: 700;
    padding: 6px 10px; border-radius: 6px; min-width: 44px; text-align: center;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 2px 4px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.1);
    position: relative; overflow: hidden;
}
.flip-banner__num::after {
    content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 1px;
    background: rgba(0,0,0,0.2);
}
.flip-banner__unit {
    font-size: 0.6rem; color: #0d9488; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.5px;
}
.flip-banner__colon {
    font-size: 1.3rem; font-weight: 700; color: #14b8a6;
    margin: 0 -2px; align-self: flex-start; padding-top: 6px;
    animation: blink-colon 1s ease-in-out infinite;
}
.flip-banner__num--sec { animation: flip-tick 1s ease-in-out infinite; }
.zsmh-countdown--now .flip-banner__segments { display: none; }

@media (max-width: 600px) {
    .flip-banner { padding: 10px 12px; gap: 8px; flex-wrap: wrap; }
    .flip-banner__num { font-size: 1rem; min-width: 34px; padding: 5px 7px; }
    .flip-banner__colon { font-size: 1rem; padding-top: 4px; }
    .flip-banner__unit { font-size: 0.5rem; }
}

/* Search highlight */
.zsmh-archive-search-hl {
    background: rgba(241,158,0,0.18); padding: 0 2px; border-radius: 2px;
}


/* =========================================================================
   LOAD MORE + PAGINATION
   ========================================================================= */

.zsmh-archive-load-more { text-align: center; padding: 16px 0 8px; padding-left: 28px; }
.zsmh-archive-load-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 11px 28px; border-radius: 14px;
    background: #fff; border: 2px solid #e8e8e8;
    font-family: var(--font-heading); font-size: 0.8rem; font-weight: 700;
    color: #555; text-decoration: none; transition: all 0.2s;
}
.zsmh-archive-load-btn:hover { border-color: #f19e00; color: #d38900; background: #fffbf5; }

.zsmh-pagination { width: 88%; max-width: 1140px; margin: 0 auto; padding: 16px 0 48px; }
.zsmh-pagination .page-numbers { display: flex; justify-content: center; align-items: center; gap: 6px; list-style: none !important; padding: 0 !important; margin: 0; }
.zsmh-pagination .page-numbers li { list-style: none !important; margin: 0; padding: 0; }
.zsmh-pagination .page-numbers a,
.zsmh-pagination .page-numbers .current {
    display: flex; align-items: center; justify-content: center;
    min-width: 40px; height: 40px; padding: 0 12px;
    background: #fff; color: #333; border: 1px solid #e8e8e8; border-radius: 50px;
    font-family: var(--font-heading); font-weight: 700; text-decoration: none;
    transition: all 0.2s; font-size: 0.85rem;
}
.zsmh-pagination .page-numbers a:hover { background: #f19e00; color: #fff; border-color: #f19e00; }
.zsmh-pagination .page-numbers .current { background: #f19e00; color: #fff; border-color: #f19e00; }
.zsmh-pagination .page-numbers .prev,
.zsmh-pagination .page-numbers .next { font-size: 1.1rem; min-width: 40px; padding: 0; }
.zsmh-pagination .page-numbers .dots { display: flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; color: #999; font-weight: 700; border: none; background: none; }


/* =========================================================================
   MOBILE FILTER
   ========================================================================= */

.zsmh-archive-mobile-filter-toggle { display: none; }
.zsmh-archive-mobile-filter-btn {
    display: flex; align-items: center; gap: 6px; justify-content: center;
    width: 100%; padding: 8px 16px; border-radius: 8px;
    border: 1.5px solid #e8e8e8; background: #fff;
    font-family: var(--font-heading); font-size: 0.8rem; font-weight: 700;
    color: #555; cursor: pointer; transition: all 0.2s;
}
.zsmh-archive-mobile-filter-btn:hover { border-color: #f19e00; color: #d38900; }
.zsmh-archive-mobile-filter-cnt {
    background: #f19e00; color: #fff; padding: 1px 7px;
    border-radius: 10px; font-size: 0.65rem;
}


/* =========================================================================
   ANIMATIONS
   ========================================================================= */

@keyframes zsmhFadeInUp {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Scroll reveal — karty sa animujú až keď sú viditeľné */
.zsmh-reveal {
    opacity: 0; transform: translateY(16px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}
.zsmh-revealed {
    opacity: 1; transform: translateY(0);
}
/* Reduce motion pre prístupnosť */
@media (prefers-reduced-motion: reduce) {
    .zsmh-reveal { opacity: 1; transform: none; transition: none; }
}


/* =========================================================================
   RESPONSIVE
   ========================================================================= */

@media (max-width: 900px) {
    .zsmh-archive-layout { grid-template-columns: 1fr; gap: 0; }
    .zsmh-archive-sidebar { display: none; position: static; }
    .zsmh-archive-sidebar.is-open {
        display: block; padding: 16px 0;
        border-bottom: 1px solid #e8e8e8; margin-bottom: 16px;
    }
    /* Hide old mobile filter toggle — replaced by bottom sheet */
    .zsmh-archive-mobile-filter-toggle { display: none; }

    /* Default hero — compact on mobile */
    .zsmh-archive-hero-default__top { padding: 18px 0 14px; }
    .zsmh-archive-hero-default__title { font-size: 1.8rem; }
    .zsmh-archive-hero-default__stats-band { padding: 12px 0; }

    /* Navy hero — tablet/mobile */
    .zsmh-archive-hero-navy { padding: 22px 0 20px; }
    .zsmh-archive-hero-navy__inner { padding: 0 8px; }
    .zsmh-archive-hero-navy__title { font-size: 1.8rem; }
    .zsmh-archive-hero-navy__sub { font-size: 0.78rem; }

    /* All hero variants — extra inner padding on mobile */
    .zsmh-archive-hero-named__inner { padding-left: 8px; padding-right: 8px; }
    .zsmh-archive-hero-filtered__inner { padding-left: 8px; padding-right: 8px; }
    .zsmh-archive-hero-search .zsmh-archive-w { padding: 0 8px; }
    .zsmh-archive-hero-default__stat { padding: 0 14px; }
    .zsmh-archive-hero-default__stat-num { font-size: 1.2rem; }
    .zsmh-archive-hero-default__stat-label { font-size: 0.45rem; }
    .zsmh-archive-hero-named__title { font-size: 1.8rem; }

    /* Filtered hero */
    .zsmh-archive-hero-filtered { padding: 16px 0 12px; }
    .zsmh-archive-hero-filtered__inner { align-items: flex-start; text-align: left; gap: 8px; }
    .zsmh-archive-hero-filtered__title { font-size: 1.8rem; }
    .zsmh-archive-hero-filtered__right { flex-wrap: wrap; justify-content: flex-start; gap: 8px; }
    .zsmh-archive-hero-filtered__tags { justify-content: flex-start; }
    .zsmh-archive-hero-filtered__tag { font-size: 0.65rem; padding: 3px 10px; }

    /* Named hero */
    .zsmh-archive-hero-named__inner { padding: 24px 0 20px; }
    .zsmh-archive-hero-named__desc { font-size: 0.8rem; }

    /* Search hero */
    .zsmh-archive-hero-search { padding: 16px 0 12px; }
    .zsmh-archive-hero-search__title { font-size: 1.8rem; }

    .zsmh-archive-w { width: 92%; }

    /* ── Mobile filter bar (sticky search + filter button) ── */
    .zsmh-m-filter-bar {
        display: flex; align-items: center; gap: 8px;
        padding: 8px 12px; background: #fff;
        box-shadow: 0 2px 8px rgba(0,0,0,0.06);
        border-bottom: 1px solid #e8e8e8;
        position: sticky; top: 0; z-index: 50;
    }
    .zsmh-m-search {
        flex: 1; display: flex; align-items: center; gap: 6px;
        background: #f5f4f0; border-radius: 8px; padding: 7px 10px;
        border: 1.5px solid transparent;
    }
    .zsmh-m-search:focus-within { border-color: #f19e00; }
    .zsmh-m-search input {
        flex: 1; border: none; background: none; outline: none;
        font-family: var(--font-body); font-size: 16px; color: #333; min-width: 0;
    }
    .zsmh-m-search input::placeholder { color: #bbb; }
    .zsmh-m-search svg { flex-shrink: 0; color: #999; }
    .zsmh-m-filter-btn {
        position: relative; flex-shrink: 0;
        width: 38px; height: 38px; border-radius: 8px;
        border: 1.5px solid #d8d8d8; background: #fff;
        display: flex; align-items: center; justify-content: center;
        cursor: pointer; box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    }
    .zsmh-m-filter-btn svg { color: #444; }
    .zsmh-m-badge {
        position: absolute; top: -5px; right: -5px;
        width: 18px; height: 18px; border-radius: 50%;
        background: #f19e00; color: #fff;
        font-size: 0.55rem; font-weight: 800;
        display: none; align-items: center; justify-content: center;
    }
    .zsmh-m-badge.has-filters { display: flex; }

    /* ── Active filter chips (horizontal scroll) ── */
    .zsmh-m-chips {
        display: none; gap: 5px; overflow-x: auto; -webkit-overflow-scrolling: touch;
        padding: 6px 12px; scrollbar-width: none;
    }
    .zsmh-m-chips::-webkit-scrollbar { display: none; }
    .zsmh-m-chips.has-filters { display: flex; }
    .zsmh-m-chip {
        flex-shrink: 0; display: inline-flex; align-items: center; gap: 3px;
        padding: 4px 10px; border-radius: 16px;
        background: #fdf2e1; border: 1px solid #f19e00;
        font-family: var(--font-heading); font-size: 0.6rem; font-weight: 700; color: #d38900;
    }
    .zsmh-m-chip .x { opacity: 0.5; font-size: 0.72rem; text-decoration: none; color: #d38900; }
    .zsmh-m-chip-clear {
        flex-shrink: 0; font-size: 0.6rem; color: #999;
        text-decoration: underline; padding: 4px 6px; white-space: nowrap;
    }

    /* ── Bottom sheet ── */
    .zsmh-bs-scrim {
        position: fixed; inset: 0; z-index: 200;
        background: rgba(0,0,0,0.4); opacity: 0;
        pointer-events: none; transition: opacity 0.3s;
    }
    .zsmh-bs-scrim.open { opacity: 1; pointer-events: auto; }

    .zsmh-bs-sheet {
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 201;
        background: #fff; border-radius: 16px 16px 0 0;
        box-shadow: 0 -4px 32px rgba(0,0,0,0.15);
        transform: translateY(100%); transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);
        max-height: 85vh; display: flex; flex-direction: column;
    }
    .zsmh-bs-sheet.open { transform: translateY(0); }

    .zsmh-bs-handle { display: flex; justify-content: center; padding: 10px 0 6px; }
    .zsmh-bs-handle-bar { width: 36px; height: 4px; border-radius: 2px; background: #ddd; }
    .zsmh-bs-header {
        display: flex; justify-content: space-between; align-items: center;
        padding: 0 20px 10px; border-bottom: 1px solid #e8e8e8;
    }
    .zsmh-bs-title { font-family: var(--font-heading); font-size: 0.9rem; font-weight: 700; color: #1a1a1a; }
    .zsmh-bs-close {
        width: 28px; height: 28px; border-radius: 50%; border: none;
        background: #f5f4f0; color: #555; font-size: 1rem;
        cursor: pointer; display: flex; align-items: center; justify-content: center;
    }
    .zsmh-bs-body { padding: 16px 20px; overflow-y: auto; flex: 1; }
    .zsmh-bs-section { margin-bottom: 16px; }
    .zsmh-bs-section-title {
        font-family: var(--font-heading); font-size: 0.58rem; font-weight: 700;
        text-transform: uppercase; letter-spacing: 1.5px; color: #999; margin-bottom: 8px;
    }
    .zsmh-bs-pills { display: flex; flex-wrap: wrap; gap: 6px; }
    .zsmh-bs-pill {
        padding: 8px 14px; border-radius: 20px;
        border: 1.5px solid #e8e8e8; background: #fff;
        font-family: var(--font-heading); font-size: 0.72rem; font-weight: 600;
        color: #555; cursor: pointer; transition: all 0.15s;
    }
    .zsmh-bs-pill:hover { border-color: #f19e00; color: #d38900; }
    .zsmh-bs-pill.active { background: #f19e00; border-color: #f19e00; color: #fff; font-weight: 700; }
    .zsmh-bs-pill .pill-dot {
        display: inline-block; width: 7px; height: 7px; border-radius: 50%;
        margin-right: 4px; vertical-align: middle;
    }
    .zsmh-bs-select {
        width: 100%; padding: 10px 12px; border-radius: 8px;
        border: 1.5px solid #e8e8e8; background: #fff;
        font-family: var(--font-body); font-size: 0.78rem; color: #555;
    }
    .zsmh-bs-footer {
        padding: 12px 20px 28px; border-top: 1px solid #e8e8e8;
        display: flex; gap: 10px;
    }
    .zsmh-bs-clear-btn {
        flex: 0 0 auto; padding: 12px 16px; border-radius: 10px;
        border: 1.5px solid #e8e8e8; background: #fff;
        font-family: var(--font-heading); font-size: 0.75rem; font-weight: 600;
        color: #555; cursor: pointer;
    }
    .zsmh-bs-apply-btn {
        flex: 1; padding: 12px 16px; border-radius: 10px;
        border: none; background: #f19e00;
        font-family: var(--font-heading); font-size: 0.78rem; font-weight: 700;
        color: #fff; cursor: pointer;
    }
}

/* Desktop: hide mobile-only elements */
@media (min-width: 901px) {
    .zsmh-m-filter-bar,
    .zsmh-m-chips,
    .zsmh-bs-scrim,
    .zsmh-bs-sheet { display: none !important; }
}

@media (max-width: 600px) {
    .zsmh-archive-tl-list { padding-left: 16px; }

    /* Horizontal card — väčší obrázok (130px), čitateľný text */
    .zsmh-archive-hc { grid-template-columns: 130px 1fr; }
    .zsmh-archive-hc__img { min-height: 120px; max-height: 150px; }
    .zsmh-archive-hc__title { font-size: 0.85rem; }
    .zsmh-archive-hc__excerpt {
        display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical;
        overflow: hidden; font-size: 0.72rem;
    }
    .zsmh-archive-hc__meta { font-size: 0.64rem; }
    .zsmh-archive-hc__cat { font-size: 0.54rem; padding: 2px 6px; }
    .zsmh-archive-hc__body { padding: 10px 12px; gap: 4px; }
    .zsmh-archive-hc__date-day { font-size: 1.1rem; }
    .zsmh-archive-hc__date-month { font-size: 0.48rem; }
    .zsmh-archive-hc__tags { display: none; }

    .zsmh-archive-hero-default__top { padding: 14px 0 10px; }
    .zsmh-archive-hero-default__title { font-size: 1.6rem; }
    .zsmh-archive-hero-default__eyebrow { font-size: 0.5rem; letter-spacing: 2px; margin-bottom: 3px; }
    .zsmh-archive-hero-default__sub { font-size: 0.72rem; }
    .zsmh-archive-hero-default__stats-band { padding: 10px 0; }
    .zsmh-archive-hero-default__stat { padding: 0 10px; }
    .zsmh-archive-hero-default__stat-num { font-size: 1.1rem; }
    .zsmh-archive-hero-default__stat-label { font-size: 0.42rem; }
    .zsmh-archive-hero-filtered__title { font-size: 1.6rem; }
    .zsmh-archive-hero-named__title { font-size: 1.6rem; }
    .zsmh-archive-hero-search__title { font-size: 1.6rem; }

    /* Navy hero — small mobile */
    /* Navy hero — small phone */
    .zsmh-archive-hero-navy { padding: 18px 0 16px; }
    .zsmh-archive-hero-navy__inner { padding: 0 12px; }
    .zsmh-archive-hero-navy__title { font-size: 1.6rem; }

    /* All hero variants — extra padding on small phone */
    .zsmh-archive-hero-named__inner { padding-left: 12px; padding-right: 12px; }
    .zsmh-archive-hero-filtered__inner { padding-left: 12px; padding-right: 12px; }
    .zsmh-archive-hero-search .zsmh-archive-w { padding: 0 12px; }
    .zsmh-archive-hero-navy__label { font-size: 0.5rem; letter-spacing: 2px; margin-bottom: 6px; }
    .zsmh-archive-hero-navy__sub { font-size: 0.72rem; }
    .zsmh-archive-hero-navy__bc { font-size: 0.58rem; margin-bottom: 6px; }
    .zsmh-archive-month__name { font-size: 1.05rem; }
    .zsmh-archive-load-more { padding-left: 16px; }
    .zsmh-archive-w { width: 94%; }

    /* Timeline */
    .zsmh-archive-month::before { left: 4px; }
    .zsmh-archive-month__dot { width: 9px; height: 9px; }

    /* Result bar */
    .zsmh-archive-result-bar { padding: 10px 0 8px; margin-bottom: 10px; }
}

@media (max-width: 420px) {
    .zsmh-archive-hc { grid-template-columns: 110px 1fr; }
    .zsmh-archive-hc__img { min-height: 100px; max-height: 130px; }
    .zsmh-archive-hc__date-day { font-size: 0.95rem; }
    .zsmh-archive-hc__body { padding: 8px 10px; gap: 3px; }
    .zsmh-archive-hc__title { font-size: 0.8rem; }
    .zsmh-archive-hc__excerpt {
        display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical;
        overflow: hidden; font-size: 0.68rem;
    }
}


/* =========================================================================
   PRINT
   ========================================================================= */

@media print {
    .zsmh-archive-ticker, .zsmh-archive-load-more, .zsmh-pagination,
    .zsmh-archive-mobile-filter-btn, .zsmh-archive-mobile-filter-toggle { display: none !important; }
    .zsmh-archive-hero-default { background: #fff !important; color: #000 !important; }
    .zsmh-archive-hero-default::before, .zsmh-archive-hero-default::after { display: none !important; }
    .zsmh-archive-hero-default__title { color: #000 !important; }
    .zsmh-archive-hero-navy { background: #fff !important; color: #000 !important; }
    .zsmh-archive-hero-navy::before, .zsmh-archive-hero-navy::after { display: none !important; }
    .zsmh-archive-hero-navy__title { color: #000 !important; }
    .zsmh-archive-hero-navy__sub { color: #666 !important; }
    .zsmh-archive-page { background: #fff !important; }
    .zsmh-archive-hc { box-shadow: none !important; border: 1px solid #ddd !important; break-inside: avoid; }
    .zsmh-archive-hc:hover { transform: none !important; }
    .zsmh-card { break-inside: avoid; box-shadow: none !important; border: 1px solid #ddd !important; }
}
