/* Ianatropi Theme — v0.5.0 — Figma-accurate */

/* ─── Font Declarations ──────────────────────────────────────────── */

/* Ubuntu Regular */
@font-face {
    font-family: "Ubuntu";
    src: url('../fonts/ubuntu/Ubuntu-Regular-greek.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0370-03FF, U+1F00-1FFF, U+0384-038A, U+0300-036F;
}
@font-face {
    font-family: "Ubuntu";
    src: url('../fonts/ubuntu/Ubuntu-Regular-latin.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-024F, U+1E00-1EFF;
}

/* Ubuntu Medium */
@font-face {
    font-family: "Ubuntu";
    src: url('../fonts/ubuntu/Ubuntu-Medium-greek.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0370-03FF, U+1F00-1FFF, U+0384-038A, U+0300-036F;
}
@font-face {
    font-family: "Ubuntu";
    src: url('../fonts/ubuntu/Ubuntu-Medium-latin.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-024F, U+1E00-1EFF;
}

/* Ubuntu Bold */
@font-face {
    font-family: "Ubuntu";
    src: url('../fonts/ubuntu/Ubuntu-Bold-greek.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0370-03FF, U+1F00-1FFF, U+0384-038A, U+0300-036F;
}
@font-face {
    font-family: "Ubuntu";
    src: url('../fonts/ubuntu/Ubuntu-Bold-latin.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-024F, U+1E00-1EFF;
}

/* AtCorfu Sans */
@font-face {
    font-family: "AtCorfu Sans";
    src: url('../fonts/atcorfu-sans/AtCorfu-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "AtCorfu Sans";
    src: url('../fonts/atcorfu-sans/AtCorfu-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "AtCorfu Sans";
    src: url('../fonts/atcorfu-sans/AtCorfu-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "AtCorfu Sans";
    src: url('../fonts/atcorfu-sans/AtCorfu-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "AtCorfu Sans";
    src: url('../fonts/atcorfu-sans/AtCorfu-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "AtCorfu Sans";
    src: url('../fonts/atcorfu-sans/AtCorfu-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}


/* ─── Custom Properties ─────────────────────────────────────────── */
:root {
    --color-heading:        #1E2321;
    --color-white:          #FFFFFF;
    --color-ink-navy:       #1E3A4C;
    --color-accent:         #93405B;
    --color-hyperlink:      #006D9C;
    --color-red:            #B84A50;
    --color-secondary-text: #6E756E;
    --color-neutral:        #F7F8F5;
    --color-light-accent:   #E8EDED;
    --color-secondary-bg:   #C6D2D2;
    --color-borders:        #E2E6DE;
    --color-dividers:       #D9D9D9;
    --color-dark-dividers:  #263326;
    --font-heading:         "AtCorfu Sans", Georgia, serif;
    --font-body:            "Ubuntu", system-ui, sans-serif;
    --container:            1680px;
    --side-pad:             120px;
    --gap:                  28px;
}

/* ─── Reset ─────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html { overflow-x: hidden; }

body {
    margin: 0;
    background: var(--color-white);
    color: var(--color-heading);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    /* clip not hidden — prevents iOS Safari from blocking child scroll containers */
    overflow-x: clip;
}

a { color: inherit; text-decoration: none; }
a:hover { color: var(--color-accent); }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; margin: 0; padding: 0; }
h1,h2,h3,h4 { margin: 0; }
p { margin: 0; }

/* ─── Utilities ──────────────────────────────────────────────────── */
.container {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 var(--side-pad);
}

.ad-placeholder {
    background: var(--color-light-accent);
    border: 1px dashed var(--color-dividers);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--color-secondary-text);
    font-size: 13px;
    text-align: center;
    gap: 4px;
}
.ad-placeholder a { color: var(--color-hyperlink); text-decoration: underline; }

/* ─── HEADER ─────────────────────────────────────────────────────── */
.site-header { background: var(--color-white); position: sticky; top: 0; z-index: 100; box-shadow: 0 1px 4px rgba(0,0,0,.08); }

/* Logo row */
.header-top { border-bottom: 1px solid var(--color-borders); }
.header-top__inner {
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 var(--side-pad);
    height: 127px;
    display: flex;
    align-items: center;
    gap: 28px;
}

/* Mobile hamburger button — hidden on desktop, shown in mobile breakpoint */
.header-mobile-btn {
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-heading);
    flex-shrink: 0;
    padding: 0;
}
.header-mobile-weather {
    display: none;
    flex-direction: column;
    align-items: flex-end;
    gap: 1px;
    flex-shrink: 0;
    font-family: var(--font-body);
    color: var(--color-secondary-text);
}
.header-mobile-weather__temp {
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    line-height: 1.2;
}
.header-mobile-weather__date {
    font-size: 11px;
    font-weight: 400;
    white-space: nowrap;
    line-height: 1.2;
    opacity: 0.75;
}

.header-menu-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--color-ink-navy);
    color: var(--color-white);
    border: none;
    padding: 0 18px;
    height: 54px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    cursor: pointer;
    flex-shrink: 0;
}
.header-menu-btn:hover { background: #24506a; }
.header-menu-btn__icon { font-size: 18px; }

.header-divider {
    width: 1px;
    height: 54px;
    background: var(--color-borders);
    flex-shrink: 0;
}

.header-date {
    display: flex;
    flex-direction: column;
    font-size: 14px;
    line-height: 1.45;
    flex-shrink: 0;
}
.header-date__day   { font-weight: 700; color: #434943; }
.header-date__weather { color: var(--color-secondary-text); }

/* Logo — center (SVG image from Figma export) */
.site-logo {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
.site-logo__img {
    display: block;
    width: 332px;
    height: 84px;
}

.header-social {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-shrink: 0;
}
.header-social__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 40px;
    opacity: 1;
    transition: opacity 0.15s;
}
.header-social__link:hover { opacity: 0.72; }
.header-social__link img { display: block; width: 44px; height: 40px; }

/* ─── Ticker (ΣΥΜΒΑΙΝΕΙ ΤΩΡΑ) — carousel ─────────────────────────── */
.header-ticker {
    background: var(--color-red);
    height: 44px;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.header-ticker__label {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 20px 0 var(--side-pad);
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.7px;
    color: #fff;
    white-space: nowrap;
    position: relative;
}
.header-ticker__label::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 14px;
    background: rgba(255,255,255,.7);
}
.header-ticker__dot { font-size: 10px; }
.header-ticker__stage {
    flex: 1;
    overflow: hidden;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 20px;
}
.header-ticker__item {
    display: none;
    color: #fff;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}
.header-ticker__item.is-active { display: block; }
.header-ticker__item:hover { text-decoration: underline; }
.header-ticker__controls {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    padding-right: var(--side-pad);
}
.header-ticker__btn {
    width: 28px;
    height: 28px;
    background: transparent;
    border: 1px solid rgba(255,255,255,.5);
    color: #fff;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
}
.header-ticker__btn + .header-ticker__btn { border-left: none; }
.header-ticker__btn:hover { background: rgba(255,255,255,.2); }

/* Dot indicators — hidden on desktop */
.header-ticker__dots { display: none; }
.header-ticker__dot-btn {
    width: 5px; height: 5px;
    border-radius: 50%;
    background: rgba(255,255,255,0.35);
    border: none; padding: 0; cursor: pointer;
    transition: background 0.2s;
    flex-shrink: 0;
}
.header-ticker__dot-btn.is-active { background: #fff; }

/* ─── Navigation bar ─────────────────────────────────────────────── */
.header-nav {
    border-bottom: 1px solid var(--color-dividers);
    height: 48px;
    display: flex;
    align-items: center;
}
.header-nav__list {
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 var(--side-pad);
    display: flex;
    align-items: center;
    gap: 0;
    width: 100%;
    justify-content: center;
}
.header-nav__link {
    display: flex;
    align-items: center;
    height: 48px;
    padding: 0 20px;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 500;
    color: var(--color-heading);
    transition: color 0.15s;
    letter-spacing: 0.2px;
}
.header-nav__link:hover,
.header-nav__link.current { color: var(--color-accent); }

/* ─── MOBILE MENU ───────────────────────────────────────────────── */
.mobile-menu {
    position: fixed;
    inset: 0;
    background: var(--color-white);
    z-index: 200;
    display: none;
    flex-direction: column;
}
.mobile-menu.is-open { display: flex; }
body.mobile-menu-open { overflow: hidden; }

.mobile-menu__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    height: 64px;
    flex-shrink: 0;
    position: relative;
}
.mobile-menu__close {
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-heading);
    flex-shrink: 0;
    padding: 0;
}
.mobile-menu__logo-link {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.mobile-menu__logo-img { height: 41px; width: auto; }
.mobile-menu__top-weather {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    color: var(--color-secondary-text);
    white-space: nowrap;
    flex-shrink: 0;
}

.mobile-menu__body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 16px 40px;
    -webkit-overflow-scrolling: touch;
}

.mobile-menu__search {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 0 14px;
    color: var(--color-secondary-text);
}
.mobile-menu__search-input {
    flex: 1;
    border: none;
    outline: none;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-secondary-text);
    background: none;
    min-width: 0;
}
.mobile-menu__search-input::placeholder { color: var(--color-secondary-text); }
.mobile-menu__divider {
    height: 1px;
    background: var(--color-dividers);
    margin-bottom: 24px;
}

.mobile-menu__section { margin-bottom: 36px; }
.mobile-menu__section-label {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: var(--color-secondary-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 16px;
}

.mobile-menu__cats { display: flex; flex-direction: column; }
.mobile-menu__cat-group { display: flex; flex-direction: column; }
.mobile-menu__cat-row {
    display: flex;
    align-items: center;
    width: 100%;
}
.mobile-menu__cat-link {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    color: var(--color-accent);
    text-decoration: none;
    padding: 12px 0;
    display: block;
    line-height: 22px;
    flex: 1;
    min-width: 0;
}
.mobile-menu__cat-expand {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
    position: relative;
}
.mobile-menu__cat-expand::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid var(--color-secondary-text);
    border-top: 2px solid var(--color-secondary-text);
    transform: translate(-50%, -60%) rotate(45deg);
    transition: transform 0.25s ease;
}
.mobile-menu__cat-group.is-expanded .mobile-menu__cat-expand::after {
    transform: translate(-50%, -40%) rotate(135deg);
}
.mobile-menu__cat-separator {
    height: 1px;
    background: var(--color-dividers);
}
.mobile-menu__subcat-list {
    list-style: none;
    margin: 0;
    padding: 0 0 0 12px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}
.mobile-menu__cat-group.is-expanded .mobile-menu__subcat-list { max-height: 600px; }
.mobile-menu__subcat-link {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    color: var(--color-body);
    text-decoration: none;
    padding: 8px 0;
    display: block;
    line-height: 20px;
}
.mobile-menu__subcat-link:hover { color: var(--color-accent); }
.mobile-menu__subcat-link--indent { padding-left: 14px; color: var(--color-muted); font-size: 13px; }
.mobile-menu__subcat-link--indent:hover { color: var(--color-accent); }

.mobile-menu__popular-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.mobile-menu__popular-link {
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 500;
    color: var(--color-body);
    text-decoration: none;
    line-height: 24px;
}
.mobile-menu__popular-link:hover { color: var(--color-accent); }

.mobile-menu__nl-desc {
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-body);
    line-height: 24px;
    margin: 0 0 15px;
}
.mobile-menu__nl-form {
    display: flex;
    align-items: stretch;
    gap: 0;
    height: 47px;
}
.mobile-menu__nl-field {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--color-ink-navy);
    padding: 0;
    color: var(--color-secondary-text);
    min-width: 0;
}
.mobile-menu__nl-field svg { flex-shrink: 0; }
.mobile-menu__nl-input {
    border: none;
    outline: none;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-secondary-text);
    background: none;
    width: 100%;
    min-width: 0;
    height: 100%;
}
.mobile-menu__nl-input::placeholder { color: var(--color-secondary-text); }
.mobile-menu__nl-btn {
    flex-shrink: 0;
    width: 114px;
    background: var(--color-ink-navy);
    color: #fff;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.56px;
    text-transform: uppercase;
    border: none;
    cursor: pointer;
    border-radius: 2px;
}
.mobile-menu__nl-terms {
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-secondary-text);
    margin: 12px 0 0;
    line-height: 20px;
}
.mobile-menu__nl-terms a { color: var(--color-secondary-text); text-decoration: underline; }

.mobile-menu__social {
    display: flex;
    gap: 9px;
    align-items: center;
    flex-wrap: wrap;
}
.mobile-menu__social-link img { display: block; }

/* ─── SEARCH PAGE ───────────────────────────────────────────────── */
.search-page-wrap { padding-bottom: 80px; }
.search-page__inner { padding: 0 var(--side-pad); }

.search-page__heading-row {
    padding: 36px 0 0;
    display: flex;
    align-items: baseline;
    gap: 20px;
    flex-wrap: wrap;
}
.search-page__title {
    font-family: var(--font-heading);
    font-size: 34px;
    font-weight: 900;
    line-height: 50px;
    color: var(--color-heading);
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    flex-wrap: wrap;
}
.search-page__term { color: var(--color-accent); }
.search-page__count {
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-secondary-text);
    margin: 0;
    white-space: nowrap;
}

.search-page__form {
    margin-top: 28px;
    max-width: 700px;
}
.search-page__form-inner {
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 2px solid var(--color-heading);
    height: 56px;
}
.search-page__form-inner svg { flex-shrink: 0; color: var(--color-secondary-text); }
.search-page__input {
    flex: 1;
    border: none;
    outline: none;
    font-family: var(--font-body);
    font-size: 18px;
    color: var(--color-heading);
    background: transparent;
}
.search-page__input::placeholder { color: var(--color-secondary-text); }
.search-page__submit {
    background: var(--color-ink-navy);
    color: var(--color-white);
    border: none;
    height: 40px;
    padding: 0 20px;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    cursor: pointer;
    flex-shrink: 0;
}
.search-page__submit:hover { background: #24506a; }

.search-page__divider {
    height: 1px;
    background: var(--color-heading);
    margin: 28px 0 36px;
}

.search-page__grid { margin-bottom: 32px; }

/* Search result cards — uniform image height + smaller title */
.search-page__grid .cat-card__img-link {
    aspect-ratio: unset;
    height: 190px;
}
.search-page__grid .cat-card__body { padding-top: 14px; gap: 6px; }
.search-page__grid .cat-card__title {
    font-size: 16px;
    font-weight: 700;
    line-height: 22px;
}
.search-page__grid .cat-card__meta { font-size: 13px; }

.search-page__cat-badge {
    display: inline-flex;
    align-items: center;
    height: 28px;
    padding: 0 10px;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    border-radius: 2px;
    vertical-align: middle;
}

.search-page__no-results {
    padding: 60px 0 40px;
    text-align: center;
}
.search-page__no-results-text {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 900;
    color: var(--color-heading);
    margin: 0 0 12px;
}
.search-page__no-results-hint {
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-secondary-text);
    margin: 0 0 20px;
}
.search-page__clear-filter {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: var(--color-ink-navy);
    text-decoration: underline;
}

/* ─── Search filters (category facets) ─── */
/* Mobile filter trigger — hidden on desktop */
.search-filters__mobile-row  { display: none; }
.search-filters__mobile-trigger { display: none; }
.search-filters__chevron { flex-shrink: 0; transition: transform 0.2s ease; }
.search-filters__mobile-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    background: var(--color-ink-navy);
    color: #fff;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}
.search-filters__clear--mobile { display: none; }

.search-filters {
    margin-top: 0;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--color-borders);
    margin-bottom: 40px;
}
.search-filters__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    gap: 16px;
}
.search-filters__title {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    color: var(--color-secondary-text);
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 18px;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}
.search-filters__clear {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    color: var(--color-secondary-text);
    text-decoration: none;
    flex-shrink: 0;
    transition: color 0.15s;
}
.search-filters__clear:hover { color: var(--color-accent); }

.search-filters__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.search-filter__tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 38px;
    padding: 0 14px;
    border: 1px solid var(--color-heading);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    color: var(--color-heading);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    white-space: nowrap;
}
.search-filter__tag:hover {
    background: var(--color-ink-navy);
    color: #fff;
    border-color: var(--color-ink-navy);
}
.search-filter__tag.is-active {
    background: var(--color-ink-navy);
    color: #fff;
    border-color: var(--color-ink-navy);
}
.search-filter__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 20px;
    padding: 0 5px;
    background: rgba(0,0,0,0.15);
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}
.search-filter__tag.is-active .search-filter__count,
.search-filter__tag:hover .search-filter__count {
    background: rgba(255,255,255,0.25);
}
.search-filter__check {
    font-size: 11px;
    line-height: 1;
    margin-right: -2px;
}
.search-filters__active-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    background: var(--color-ink-navy);
    color: #fff;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
    margin-left: 6px;
}

/* ─── MEGA MENU ─────────────────────────────────────────────────── */
.mega-menu {
    position: fixed;
    top: 219px; /* fallback: 127px logo + 44px ticker + 48px nav */
    left: 0;
    right: 0;
    background: var(--color-white);
    border-top: 1px solid var(--color-dividers);
    box-shadow: 0 4px 4px rgba(0,0,0,.25);
    z-index: 99;
    display: none;
    padding: 40px 0 56px;
    max-height: calc(100vh - 219px);
    overflow-y: auto;
}
.mega-menu.is-open { display: block; }
.site-header.menu-open { box-shadow: none; }
body.mega-menu-open { overflow: hidden; }

.mega-menu__inner {
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 120px;
    display: flex;
    gap: 170px;
    align-items: flex-start;
}

.mega-menu__cats { flex: 1; min-width: 0; }

.mega-menu__sections-label {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: var(--color-secondary-text);
    text-transform: uppercase;
    line-height: 18px;
    margin-bottom: 28px;
}

.mega-menu__cat-columns {
    display: flex;
    gap: 112px;
    align-items: flex-start;
}

.mega-menu__cat-col--1 { flex-shrink: 0; }

.mega-menu__cat-col--2 {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 45px;
    min-width: 168px;
}

.mega-menu__cat-col--3 {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 45px;
    min-width: 153px;
}

.mega-menu__cat-col--4 {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.mega-menu__cat-group {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.mega-menu__cat-heading {
    display: block;
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 900;
    line-height: 28px;
    color: var(--color-accent);
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}
.mega-menu__cat-heading:hover { color: var(--color-accent); text-decoration: underline; }

.mega-menu__cat-items {
    list-style: none;
    margin: 0; padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.mega-menu__cat-item {
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    color: var(--color-heading);
    text-decoration: none;
    white-space: nowrap;
    display: block;
}
.mega-menu__cat-item:hover { color: var(--color-accent); }

.mega-menu__cat-subitem {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    line-height: 22px;
    color: var(--color-heading);
    text-decoration: none;
    white-space: nowrap;
    display: block;
}
.mega-menu__cat-subitem:hover { color: var(--color-accent); }

/* ─── Right panel ─── */
.mega-menu__right {
    width: 399px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.mega-menu__search { margin-bottom: 45px; }
.mega-menu__search-form {
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--color-heading);
    height: 40px;
}
.mega-menu__search-icon { flex-shrink: 0; color: var(--color-secondary-text); }
.mega-menu__search-input {
    flex: 1;
    border: none;
    outline: none;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-heading);
    background: transparent;
}
.mega-menu__search-input::placeholder { color: var(--color-secondary-text); }

.mega-menu__right-lower {
    display: flex;
    flex-direction: column;
    gap: 45px;
}

.mega-menu__panel-label {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: var(--color-secondary-text);
    text-transform: uppercase;
    line-height: 18px;
    margin-bottom: 20px;
}

.mega-menu__popular-items {
    list-style: none;
    margin: 0; padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.mega-menu__popular-item {
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    color: var(--color-heading);
    text-decoration: none;
    white-space: nowrap;
    display: block;
}
.mega-menu__popular-item:hover { color: var(--color-accent); }

.mega-menu__newsletter-desc {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 24px;
    color: #434943;
    margin-bottom: 32px;
}
.mega-menu__newsletter-form {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}
.mega-menu__nl-field {
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--color-ink-navy);
    height: 48px;
    flex: 1;
}
.mega-menu__nl-icon { flex-shrink: 0; color: var(--color-secondary-text); display: flex; align-items: center; }
.mega-menu__nl-input {
    flex: 1;
    border: none;
    outline: none;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-secondary-text);
    background: transparent;
}
.mega-menu__nl-input::placeholder { color: var(--color-secondary-text); }
.mega-menu__nl-btn {
    background: var(--color-ink-navy);
    color: var(--color-white);
    border: none;
    height: 47px;
    padding: 0 20px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.56px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
}
.mega-menu__nl-btn:hover { background: #24506a; }
.mega-menu__newsletter-terms {
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 20px;
    color: var(--color-secondary-text);
}
.mega-menu__newsletter-terms a { text-decoration: underline; color: var(--color-secondary-text); }

/* ─── HERO SECTION ───────────────────────────────────────────────── */
.hero-section { background: var(--color-white); padding: 20px 0; }
.hero-section__inner {
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 var(--side-pad);
    display: grid;
    grid-template-columns: 1fr 398px;
    gap: var(--gap);
    align-items: start;
}

/* Left column */
.hero-main { display: flex; flex-direction: column; gap: 24px; }

/* Featured image */
.hero-featured { }
.hero-featured__link { display: block; text-decoration: none; }
.hero-featured__image-wrap {
    position: relative;
    height: 661px;
    overflow: hidden;
    border-radius: 2px;
    background: var(--color-heading);
    display: block;
}
.hero-featured__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hero-featured__img-placeholder { width: 100%; height: 100%; background: #2a3a3a; }
.hero-featured__overlay {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 48px 35px 35px;
    background: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.85) 100%);
}
.hero-featured__meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

/* Category label — plain text, RED on hero */
.hero-cat-label {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    line-height: 18px;
    color: var(--color-red);
    text-transform: uppercase;
}
.hero-date {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    color: var(--color-secondary-bg);
    line-height: 20px;
}
.hero-featured__title {
    font-family: var(--font-heading);
    font-size: 39px;
    font-weight: 900;
    line-height: 50px;
    color: var(--color-white);
}

/* Hero video embed (when _ian_video_url is set on the hero post) */
.hero-featured__video-wrap { position: relative; width: 100%; aspect-ratio: 16/9; background: #000; border-radius: 2px; overflow: hidden; }
.hero-featured__video-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.hero-featured__video-meta-link { display: block; text-decoration: none; color: inherit; padding: 14px 0 4px; }
.hero-featured__meta--below { margin-bottom: 8px; }
.hero-featured__title--below { font-family: var(--font-heading); font-size: 28px; font-weight: 900; line-height: 38px; color: var(--color-heading); }

/* ─── Hero 5-card bar ────────────────────────────────────────────── */
.hero-bar {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
}
.hero-bar__card { display: flex; flex-direction: column; gap: 10px; }
.hero-bar__image {
    display: block;
    height: 158px;
    overflow: hidden;
    position: relative;
    background: var(--color-light-accent);
}
.hero-bar__img { width: 100%; height: 100%; object-fit: cover; }
.hero-bar__img-placeholder { width: 100%; height: 100%; background: var(--color-secondary-bg); }
.hero-bar__body { display: flex; flex-direction: column; gap: 2px; }

/* Category on bar cards — plain text, INK NAVY per Figma */
.bar-cat-label {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    line-height: 18px;
    color: var(--color-ink-navy);
    text-transform: uppercase;
}
.hero-bar__title {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    line-height: 22px;
    color: var(--color-heading);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
.hero-bar__title a:hover { color: var(--color-accent); }

/* ─── Hero Sidebar ───────────────────────────────────────────────── */
.hero-sidebar { display: flex; flex-direction: column; gap: 22px; }

/* Sidebar featured article card */
.sidebar-featured { display: flex; flex-direction: column; }
.sidebar-featured__image-wrap {
    display: block;
    height: 246px;
    overflow: hidden;
    background: var(--color-light-accent);
}
.sidebar-featured__img { width: 100%; height: 100%; object-fit: cover; }
.sidebar-featured__img-placeholder { width: 100%; height: 100%; background: var(--color-secondary-bg); }
.sidebar-featured__body {
    padding: 12px 0 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.sidebar-featured__meta {
    display: flex;
    align-items: center;
    gap: 8px;
}
.sidebar-featured__cat {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: var(--color-red);
    text-transform: uppercase;
    line-height: 18px;
}
.sidebar-featured__time {
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-secondary-text);
    line-height: 20px;
}
.sidebar-featured__title {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 900;
    line-height: 26px;
    color: var(--color-heading);
}
.sidebar-featured__title a:hover { color: var(--color-accent); }

/* ─── Live feed ──────────────────────────────────────────────────── */
.hero-sidebar__live { display: flex; flex-direction: column; }

.live-feed__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 12px;
    margin-bottom: 0;
}
/* ΡΟΗ ΕΙΔΗΣΕΩΝ — AtCorfu Sans Black 24px per Figma Heading 2 variable */
.live-feed__title {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 900;
    line-height: 32px;
    color: var(--color-heading);
}
.live-feed__dot {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    line-height: 22px;
    color: var(--color-red);
}

.live-feed__list { display: flex; flex-direction: column; border-top: 1px solid var(--color-dividers); }

.live-feed__item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 0;
    border-bottom: 1px solid var(--color-dividers);
}
/* Meta row: TIME (red) + CATEGORY (gray) on same line */
.live-feed__meta {
    display: flex;
    align-items: center;
    gap: 8px;
}
.live-feed__time {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: var(--color-red);
    flex-shrink: 0;
}
.live-feed__cat {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    line-height: 18px;
    color: var(--color-secondary-text);
    text-transform: uppercase;
}
.live-feed__link {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    line-height: 22px;
    color: var(--color-heading);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.live-feed__link:hover { color: var(--color-accent); }

/* ─── AD BANNER (full width, admin-configurable) ─────────────────── */
.homepage-ad-banner {
    background: var(--color-white);
    padding: 38px 0 55px;
}
.homepage-ad-banner__inner {
    display: flex;
    justify-content: center;
}
.homepage-ad__img {
    width: 970px;
    max-width: 100%;
    height: auto;
    display: block;
}
.homepage-ad-placeholder { width: 970px; max-width: 100%; height: 250px; }
.ad-placeholder__label-mobile { display: none; }
@media (max-width: 900px) {
    .homepage-ad-banner { padding: 20px 0; }
    .homepage-ad-banner__inner { justify-content: center; }
    .homepage-ad__img { width: 300px; height: 250px; object-fit: cover; }
    .homepage-ad-placeholder { width: 300px !important; height: 250px !important; }
    .ad-placeholder__label-desktop { display: none; }
    .ad-placeholder__label-mobile { display: inline; }
}

/* ─── MAIN CONTENT AREA ──────────────────────────────────────────── */
.homepage-main { padding: 32px 0; }
.homepage-main--oik-apo { padding: 0; }
.homepage-main--kosmos { background: var(--color-light-accent); padding: 48px 0 56px; }
.homepage-main__inner {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.homepage-two-col {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: var(--gap);
}

/* ─── ΧΡΗΣΙΜΑ ΑΡΘΡΑ + ΠΟΛΙΤΙΚΗ section — Figma 358:2373 ─────────── */
.xrisima-politiki-wrap {
    background: var(--color-light-accent); /* #E8EDED */
}
.xrisima-politiki-inner {
    max-width: calc(var(--container) + 2 * var(--side-pad));
    margin: 0 auto;
    padding: 0 var(--side-pad);
    display: grid;
    grid-template-columns: 541px 1fr;
    gap: var(--gap);
    align-items: start;
}

/* Left white panel — absolute positioning matches Figma exactly */
.xrisima-col {
    background: var(--color-white);
    position: relative;
    height: 1074px;
}
.xrisima-header {
    position: absolute;
    top: 62px;
    left: 34px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.xrisima-title {
    font-family: var(--font-heading);
    font-size: 34px;
    font-weight: 900;
    line-height: 40px;
    color: var(--color-heading);
    display: flex;
    align-items: center;
    gap: 8px;
}
.xrisima-divider {
    position: absolute;
    top: 103px;
    left: 34px;
    width: 475px;
    height: 2px;
    background: var(--color-heading);
}
.xrisima-list {
    position: absolute;
    top: 139px;
    left: 33px;
    width: 490px;
    height: 870px;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    padding-right: 14px;
    /* Firefox */
    scrollbar-width: thin;
    scrollbar-color: #8B8B8B transparent;
}
/* Webkit scrollbar — matches Figma Frame 328 (11px, #8B8B8B thumb, arrows) */
.xrisima-list::-webkit-scrollbar        { width: 11px; }
.xrisima-list::-webkit-scrollbar-track  { background: transparent; }
.xrisima-list::-webkit-scrollbar-thumb  { background: #8B8B8B; border-radius: 5.5px; min-height: 44px; }
.xrisima-list::-webkit-scrollbar-button { background: #8B8B8B; height: 7px; display: block; }
.xrisima-list::-webkit-scrollbar-button:vertical:decrement { clip-path: polygon(50% 0%, 0% 100%, 100% 100%); }
.xrisima-list::-webkit-scrollbar-button:vertical:increment { clip-path: polygon(50% 100%, 0% 0%, 100% 0%); }
.xrisima-item {
    display: flex;
    gap: 16px;
    padding-bottom: 16px;
}
.xrisima-item + .xrisima-item {
    padding-top: 16px;
    border-top: 1px solid var(--color-dividers);
}
.xrisima-thumb-link {
    flex-shrink: 0;
    width: 130px;
    height: 89px;
    display: block;
    overflow: hidden;
    border-radius: 2px;
}
.xrisima-thumb { width: 100%; height: 100%; object-fit: cover; display: block; }
.xrisima-thumb-placeholder { width: 100%; height: 100%; background: var(--color-secondary-bg); }
.xrisima-content { display: flex; flex-direction: column; gap: 6px; flex: 1; }
.xrisima-time {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    color: var(--color-secondary-text);
    line-height: 20px;
}
.xrisima-item-title {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    line-height: 22px;
    color: var(--color-heading);
}
.xrisima-item-title a { color: inherit; }
.xrisima-item-title a:hover { color: var(--color-accent); }

/* Right ΠΟΛΙΤΙΚΗ column */
.politiki-col { padding: 46px 0 48px; }
.politiki-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
.politiki-tabs {
    display: flex;
    gap: 29px;
    align-items: center;
    flex-shrink: 0;
}
.politiki-tab {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: #434943;
    line-height: 20px;
    white-space: nowrap;
    text-decoration: none;
}
.politiki-tab:hover { color: var(--color-accent); }
.politiki-featured-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--gap);
    margin-bottom: 28px;
}
.politiki-card__image-link { display: block; }
.politiki-card__img { width: 100%; height: 322px; object-fit: cover; display: block; }
.politiki-card__img-placeholder { width: 100%; height: 322px; background: var(--color-secondary-bg); }
.politiki-card__body { display: flex; flex-direction: column; gap: 10px; padding-top: 18px; }
.politiki-card__meta { display: flex; gap: 10px; align-items: center; }
.politiki-card__cat {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    color: var(--color-accent);
    line-height: 22px;
    white-space: nowrap;
}
.politiki-card__time {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    color: var(--color-secondary-text);
    line-height: 20px;
}
.politiki-card__title {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 900;
    line-height: 32px;
    color: var(--color-heading);
}
.politiki-card__title a { color: inherit; }
.politiki-card__title a:hover { color: var(--color-accent); }
.politiki-card__excerpt {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: var(--color-secondary-text);
}
.politiki-secondary-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--gap);
    padding-top: 28px;
    border-top: 1px solid var(--color-dividers);
}
.politiki-small-card { display: flex; gap: 27px; align-items: flex-start; }
.politiki-small-card__thumb-link {
    flex-shrink: 0;
    width: 145px;
    height: 124px;
    display: block;
    overflow: hidden;
}
.politiki-small-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.politiki-small-card__img-placeholder { width: 100%; height: 100%; background: var(--color-secondary-bg); }
.politiki-small-card__body { display: flex; flex-direction: column; gap: 10px; }
.politiki-small-card__title {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 900;
    line-height: 28px;
    color: var(--color-heading);
}
.politiki-small-card__title a { color: inherit; }
.politiki-small-card__title a:hover { color: var(--color-accent); }

/* ─── CATEGORY SECTION ───────────────────────────────────────────── */
.cat-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
.cat-section__title {
    font-family: var(--font-heading);
    font-size: 34px;
    font-weight: 900;
    line-height: 40px;
    color: var(--color-heading);
    display: flex;
    align-items: center;
    gap: 8px;
}
.cat-section__dot {
    display: inline-block;
    width: 14px;
    height: 14px;
    min-width: 14px;
    background: var(--color-accent);
    border-radius: 50%;
    flex-shrink: 0;
    font-size: 0;
    line-height: 0;
    position: relative;
    top: -10px;
}
.cat-section__more {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--color-secondary-text);
    display: flex;
    align-items: center;
    gap: 4px;
}
.cat-section__more:hover { color: var(--color-accent); }

/* Section title rendered as a link — flex so text + dot stay aligned */
.cat-section__title-link {
    color: inherit;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
}
.cat-section__title-link:hover { color: inherit; }
.koinonia-section__title-link {
    color: inherit;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
}
.koinonia-section__title-link:hover { color: inherit; }

.cat-section__divider {
    height: 1px;
    background: var(--color-heading);
    margin-bottom: 20px;
    width: 100%;
    box-sizing: border-box;
}

/* Article cards grid */
.cat-section__grid { display: grid; gap: 20px; }
.cat-section__grid--4 { grid-template-columns: repeat(4, 1fr); }
.cat-section__grid--3 { grid-template-columns: repeat(3, 1fr); }

.article-card { display: flex; flex-direction: column; gap: 10px; }
.article-card__image {
    aspect-ratio: 3/2;
    overflow: hidden;
    border-radius: 2px;
    background: var(--color-light-accent);
}
.article-card__img { width: 100%; height: 100%; object-fit: cover; }
.article-card__img-placeholder { width: 100%; height: 100%; background: var(--color-light-accent); }
.article-card__body { display: flex; flex-direction: column; gap: 4px; }
.article-card__cat {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: var(--color-ink-navy);
    text-transform: uppercase;
    line-height: 18px;
}
.article-card__meta { font-size: 12px; color: var(--color-secondary-text); }
.article-card__title {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    line-height: 22px;
    color: var(--color-heading);
}
.article-card__title a:hover { color: var(--color-accent); }

/* ─── NEWSLETTER ─────────────────────────────────────────────────── */
/* ─── NEWSLETTER — Figma 634:2061 ─────────────────────────────────── */
.newsletter-section {
    background: var(--color-white);
    padding: 48px var(--side-pad);
}
.newsletter-section__inner {
    max-width: var(--container);
    margin: 0 auto;
    min-height: 280px;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 560px;
    gap: 40px;
    align-items: center;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 40px 48px 40px 40px;
}
.newsletter-section__inner::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(80deg, rgba(30,58,76,.72) 9%, rgba(147,64,91,.72) 101%);
    pointer-events: none;
}
.newsletter-section__left,
.newsletter-section__panel { position: relative; z-index: 1; }
.newsletter-section__left { padding-left: 16px; }
.newsletter-section__title {
    font-family: var(--font-body);
    font-size: 46px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--color-white);
    text-transform: uppercase;
    margin-bottom: 12px;
}
.newsletter-section__dot { color: var(--color-accent); }
.newsletter-section__desc {
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 400;
    line-height: 23px;
    color: var(--color-white);
    margin: 0;
    max-width: 460px;
}
.newsletter-section__panel {
    background: var(--color-white);
    border-radius: 5px;
    padding: 24px 24px 20px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
}
.newsletter-form { display: flex; flex-direction: column; gap: 12px; }
.newsletter-form__label {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 4px;
    color: var(--color-dark-dividers);
    margin: 0;
}
.newsletter-form__row { display: flex; align-items: center; gap: 22px; }
.newsletter-form__field {
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--color-dark-dividers);
    flex: 1;
    height: 48px;
}
.newsletter-form__icon { width: 18px; height: 13px; flex-shrink: 0; }
.newsletter-form__input {
    border: none;
    outline: none;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-secondary-text);
    background: transparent;
    flex: 1;
    height: 100%;
}
.newsletter-form__btn {
    background: var(--color-ink-navy);
    color: var(--color-white);
    border: none;
    height: 48px;
    padding: 0 28px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 4px;
    cursor: pointer;
    white-space: nowrap;
}
.newsletter-form__btn:hover { background: #24506a; }
.newsletter-form__terms {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    color: #434943;
    line-height: 20px;
    margin: 0;
}
.newsletter-form__terms a { text-decoration: underline; color: inherit; }

/* ─── ΑΠΟΨΕΙΣ SECTION ───────────────────────────────────────────── */
.apopsis-col {
    background: var(--color-borders);
}
.apopsis-section {
    padding: 32px 25px 42px;
}
.apopsis-section .cat-section__more {
    color: var(--color-heading);
    text-decoration: none;
}
.apopsis-section .cat-section__more:hover { color: var(--color-accent); }
.apopsis-nav { display: none; }
.apopsis-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

/* ─── FOOTER ─────────────────────────────────────────────────────── */
/* ─── FOOTER ──────────────────────────────────────────────────────── */
.site-footer { background: linear-gradient(to right, #1e3a4c, #812b4a); }

/* Main 4-column grid */
.site-footer__main-inner {
    max-width: var(--container);
    margin: 0 auto;
    padding: 48px 40px 40px;
    display: grid;
    grid-template-columns: 34fr 17fr 32fr;
    align-items: start;
}

/* Brand column */
.site-footer__brand { display: flex; flex-direction: column; gap: 28px; }
.site-footer__logo-link { display: inline-block; }
.site-footer__logo-link .logo-i,
.site-footer__logo-link strong,
.site-footer__logo-link .logo-dot { color: #f7f8f5; }
.site-footer__logo-link .site-logo__tagline { color: rgba(247,248,245,.7); }

/* Social icons row */
.site-footer__social { display: flex; gap: 12px; align-items: center; }
.site-footer__social-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: opacity .15s; }
.site-footer__social-icon svg { display: block; }
.site-footer__social-icon:hover { opacity: .65; }

/* Info columns (ΤΑΥΤΟΤΗΤΑ / ΕΠΙΚΟΙΝΩΝΙΑ) */
.site-footer__col { display: flex; flex-direction: column; gap: 20px; }
.site-footer__col-title {
    font-family: var(--font-body); font-size: 16px; font-weight: 700;
    color: #c6d2d2; margin: 0; line-height: 22px;
}
.site-footer__col-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.site-footer__col-list li,
.site-footer__col-list a { font-family: var(--font-body); font-size: 16px; color: #fff; line-height: 24px; text-decoration: none; }
.site-footer__col-list a:hover { text-decoration: underline; }

/* Newsletter column */
.site-footer__col--newsletter { gap: 16px; }
.site-footer__nl-desc { font-family: var(--font-body); font-size: 16px; color: #fff; line-height: 22px; margin: 0; }
.site-footer__nl-form { display: flex; align-items: stretch; gap: 8px; }
.site-footer__nl-input-wrap {
    flex: 1; display: flex; align-items: center; gap: 10px;
    border-bottom: 1px solid rgba(255,255,255,.8); padding-bottom: 12px;
}
.site-footer__nl-input {
    flex: 1; background: none; border: none; outline: none;
    font-family: var(--font-body); font-size: 16px; color: #c6d2d2; line-height: 22px;
}
.site-footer__nl-input::placeholder { color: #c6d2d2; }
.site-footer__nl-btn {
    align-self: flex-end;
    background: #fff; border: none; cursor: pointer;
    padding: 13px 20px; height: 48px;
    font-family: var(--font-body); font-size: 14px; font-weight: 700;
    color: var(--color-accent); letter-spacing: 0.56px; white-space: nowrap;
    transition: background .15s;
}
.site-footer__nl-btn:hover { background: var(--color-light-accent); }
.site-footer__nl-terms { font-family: var(--font-body); font-size: 14px; color: #f7f8f5; line-height: 20px; margin: 0; }
.site-footer__nl-terms a { color: #f7f8f5; text-decoration: underline; }

/* Bottom bar */
.site-footer__bottom { border-top: 1px solid #e8eded; }
.site-footer__bottom-inner {
    max-width: var(--container); margin: 0 auto; padding: 10px 40px;
    display: flex; align-items: center; justify-content: space-between;
}
.site-footer__legal { display: flex; gap: 20px; flex-wrap: wrap; }
.site-footer__legal a {
    font-family: var(--font-body); font-size: 13px; color: #e8eded;
    text-decoration: none; line-height: 20px; text-transform: uppercase;
}
.site-footer__legal a:hover { text-decoration: underline; }
.site-footer__copy { font-family: var(--font-body); font-size: 14px; color: #f7f8f5; margin: 0; line-height: 20px; white-space: nowrap; }

/* ── Footer mobile (≤900px): single centred column, Figma node 469:590 ── */
@media (max-width: 900px) {
    .site-footer__main-inner {
        grid-template-columns: 1fr;
        padding: 32px 16px 40px;
        gap: 32px;
        text-align: center;
        justify-items: center;
    }
    .site-footer__brand { align-items: center; gap: 20px; }
    .site-footer__logo-img { max-width: 200px; height: auto; }
    .site-footer__social { justify-content: center; flex-wrap: wrap; gap: 9px; }
    .site-footer__col { align-items: center; gap: 14px; }
    .site-footer__col-list { align-items: center; }
    .site-footer__col-list li,
    .site-footer__col-list a { font-size: 14px; }
    .site-footer__col--newsletter { gap: 18px; width: 100%; align-items: stretch; }
    .site-footer__nl-desc { font-size: 14px; line-height: 19px; text-align: center; }
    .site-footer__nl-form { gap: 12px; align-items: center; width: 100%; }
    .site-footer__nl-input-wrap { flex: 1; min-width: 0; padding-bottom: 6px; }
    .site-footer__nl-btn {
        align-self: center;
        flex-shrink: 0;
        padding: 10px 16px;
        font-size: 13px;
        height: 42px;
    }
    .site-footer__nl-terms { font-size: 12px; text-align: center; }
    .site-footer__bottom-inner {
        flex-direction: column;
        align-items: center;
        gap: 12px;
        padding: 16px;
        text-align: center;
    }
    .site-footer__legal { justify-content: center; gap: 12px 16px; }
    .site-footer__copy { white-space: normal; font-size: 12px; }
}

/* ─── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 1400px) {
    :root { --side-pad: 60px; }
    .hero-featured__image-wrap { height: 500px; }
    .hero-bar { grid-template-columns: repeat(5, 1fr); }
}

@media (max-width: 1100px) {
    :root { --side-pad: 32px; }
    .hero-section__inner { grid-template-columns: 1fr 300px; }
    .sidebar-featured__image-wrap { height: 180px; }
    .hero-bar { grid-template-columns: repeat(3, 1fr); }
    .cat-section__grid--4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
    /* ── Mobile header ── */
    .header-top__inner {
        flex-wrap: nowrap;
        height: 64px;
        padding: 10px 16px;
        position: relative;
        align-items: center;
        justify-content: space-between;
    }
    .header-mobile-btn   { display: flex; }
    .header-mobile-weather { display: flex; }
    .header-menu-btn     { display: none; }
    .header-divider      { display: none; }
    .header-date         { display: none; }
    .header-social       { display: none; }
    /* ── Ticker: vertical block on mobile (matches Figma) ── */
    .header-ticker {
        display: flex;
        flex-direction: column;
        align-items: center;
        height: auto;
        padding: 16px;
        gap: 10px;
        overflow: visible;
    }
    .header-ticker__label { padding: 0; font-size: 12px; letter-spacing: 0.48px; }
    .header-ticker__label::after { display: none; }
    .header-ticker__stage { padding: 0; height: auto; text-align: center; width: 100%; }
    .header-ticker__item {
        font-size: 16px;
        line-height: 22px;
        white-space: normal;
        text-align: center;
        overflow: hidden;
        max-height: 66px;
    }
    .header-ticker__controls { display: none; }
    .header-ticker__dots {
        display: flex;
        gap: 5px;
        align-items: center;
        justify-content: center;
    }
    .header-nav          { display: none; }
    .mega-menu           { display: none !important; }
    /* Centre the logo absolutely so it doesn't affect flex spacing */
    .site-logo {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }

    /* ── Homepage layout ── */
    .hero-section__inner { grid-template-columns: 1fr; }
    .hero-sidebar { display: flex; flex-direction: column; gap: 22px; }
    /* Figma mobile order: ΑΠΟΨΕΙΣ (y=9563) comes BEFORE ΟΙΚΟΝΟΜΙΑ (y=10134) */
    .homepage-two-col { grid-template-columns: 1fr; }
    .homepage-two-col > div:first-child { order: 2; }
    .homepage-two-col .apopsis-col { order: 1; }
    .cat-section__grid--3 { grid-template-columns: repeat(2, 1fr); }
    .hero-bar { grid-template-columns: repeat(3, 1fr); }

    /* ── Xrisima + Politiki: mobile stack ── */
    .xrisima-politiki-wrap { background: var(--color-white); }
    .xrisima-politiki-inner { grid-template-columns: 1fr; padding: 0; gap: 0; }
    .xrisima-col {
        height: auto;
        display: flex;
        flex-direction: column;
        padding: 32px 16px 28px;
    }
    .xrisima-header { position: static; margin-bottom: 12px; }
    .xrisima-divider { position: static; width: 100%; height: 2px; margin-bottom: 20px; }
    .xrisima-list {
        position: static;
        width: 100%;
        height: auto;
        max-height: none;
        overflow-y: visible;
        padding-right: 0;
    }
    .politiki-col { padding: 32px 16px 40px; background: var(--color-white); }
    .politiki-tabs { display: none; }

    /* ── Video card: height for mobile ── */
    .video-card__thumb { height: 210px; }

    /* ── Search filter dropdown on mobile ── */
    .search-filters {
        position: relative;
        padding-bottom: 0;
        border-bottom: none;
        margin-bottom: 24px;
    }
    .search-filters__header  { display: none; }
    .search-filters__mobile-row {
        display: flex;
        align-items: center;
        gap: 12px;
    }
    .search-filters__mobile-trigger {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex: 1;
        gap: 8px;
        padding: 11px 14px;
        background: #f4f6f4;
        border: 1px solid var(--color-borders);
        border-radius: 4px;
        font-family: var(--font-body);
        font-size: 13px;
        font-weight: 700;
        color: var(--color-heading);
        text-transform: uppercase;
        letter-spacing: 0.5px;
        cursor: pointer;
        text-align: left;
    }
    .search-filters__mobile-trigger-left {
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .search-filters__mobile-trigger[aria-expanded="true"] .search-filters__chevron {
        transform: rotate(180deg);
    }
    .search-filters__clear--mobile {
        display: block;
        font-family: var(--font-body);
        font-size: 13px;
        font-weight: 700;
        color: var(--color-secondary-text);
        text-decoration: none;
        white-space: nowrap;
        flex-shrink: 0;
    }
    .search-filters__tags {
        display: none;
        position: absolute;
        top: calc(100% + 6px);
        left: 0;
        right: 0;
        background: var(--color-white);
        border: 1px solid var(--color-borders);
        border-radius: 6px;
        box-shadow: 0 6px 24px rgba(0,0,0,.13);
        padding: 16px;
        z-index: 60;
        flex-wrap: wrap;
        gap: 8px;
        max-height: 60vh;
        overflow-y: auto;
    }
    .search-filters__tags.is-open { display: flex; }

    /* Newsletter: single column, stacked form */
    .newsletter-section { padding: 32px 0; }
    .newsletter-section__inner { grid-template-columns: 1fr; padding: 32px 16px; }
    .newsletter-section__title { font-size: 28px; }
    .newsletter-section__desc { max-width: 100%; }
    /* Stack the email field + button vertically — prevents min-width overflow */
    .newsletter-form__row { flex-direction: column; align-items: stretch; gap: 12px; }
    .newsletter-form__field { border-bottom: 1px solid var(--color-dark-dividers); }
    .newsletter-form__input { width: 100%; min-width: 0; }
    .newsletter-form__btn { width: 100%; height: 44px; }

    /* Arthra banner: 2 columns */
    .arthra-banner__grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .arthra-banner__title { font-size: 26px; }

    /* Politiki: single column */
    .politiki-featured-grid { grid-template-columns: 1fr; }
    .politiki-secondary-grid { grid-template-columns: 1fr; }
    /* Prevent small-card body from overflowing — no min-width default causes text overflow */
    .politiki-small-card { gap: 12px; }
    .politiki-small-card__thumb-link { width: 100px; height: 85px; }
    .politiki-small-card__body { flex: 1; min-width: 0; }
    .politiki-small-card__title { font-size: 16px; line-height: 22px; }
    .politiki-card__title { font-size: 18px; line-height: 26px; }
    .politiki-card__excerpt { display: none; }
    /* Xrisima: ensure content shrinks on narrow screens */
    .xrisima-content { min-width: 0; }

    /* ── ΕΠΙΧΕΙΡΗΣΕΙΣ: 1-col ── */
    .epixeiriseis-grid { grid-template-columns: 1fr; }
    .epixeiriseis-small {
        flex-direction: row;
        gap: 14px;
        align-items: flex-start;
    }
    .epixeiriseis-small__img-link { flex: 0 0 110px; height: 90px; aspect-ratio: unset; }
    .epixeiriseis-small__body { padding: 0; }
    .epixeiriseis-featured__excerpt { display: none; }
    .half-page-ad { display: none; }
    /* Reset epixeiriseis header width — the 300px ad col is hidden on mobile */
    .epixeiriseis-section .cat-section__header,
    .epixeiriseis-section .cat-section__divider { width: 100%; }

    /* ── ΚΟΙΝΩΝΙΑ: 1-col ── */
    .koinonia-layout { grid-template-columns: 1fr; gap: 0; }
    .koinonia-featured__img { height: 220px; }
    .koinonia-featured__excerpt { display: none; }

    /* ── ΠΟΛΙΤΙΣΜΟΣ: 1-col row1, 2-col row2 ── */
    .pol-row1 { grid-template-columns: 1fr; gap: 24px; margin-bottom: 24px; }
    .pol-row2 { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .pol-side__excerpt { display: none; }
    .pol-featured__excerpt { display: none; }
    .pol-small__excerpt { display: none; }
    .pol-side__title, .pol-featured__title { font-size: 20px; line-height: 28px; }
    .pol-small__title { font-size: 17px; line-height: 24px; }

    /* ── ΚΟΣΜΟΣ: 1-col ── */
    .kosmos-layout { grid-template-columns: 1fr; }
    .kosmos-featured { grid-template-columns: 1fr; }
    .kosmos-featured__img { height: 220px; }
    .kosmos-featured__excerpt { display: none; }
    .kosmos-secondary-grid { display: flex; flex-direction: column; gap: 0; }
    .kosmos-secondary-card {
        flex-direction: row;
        gap: 14px;
        align-items: flex-start;
        padding: 12px 0;
        border-top: 1px solid var(--color-dividers);
    }
    .kosmos-secondary-card__img-link { flex: 0 0 110px; height: 90px; }
    .kosmos-secondary-card__img { height: 100%; object-fit: cover; }
    .kosmos-secondary-card__body { padding: 0; }

    /* ── Uniform title line-clamp across ALL homepage card types ── */
    .xrisima-item-title,
    .politiki-card__title,
    .politiki-small-card__title,
    .oikonomia-card__title,
    .apopsis-card__title,
    .arthra-banner-card__title,
    .article-card__title,
    .sidebar-article__title,
    .video-card__title,
    .epixeiriseis-featured__title,
    .epixeiriseis-small__title,
    .cat-card__title,
    .kosmos-secondary-card__title,
    .pol-small__title,
    .parapolitika-list-item__title {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .aytodioikisi-featured__title,
    .aytodioikisi-article__title,
    .parapolitika-featured__title,
    .sidebar-featured__title,
    .pol-side__title,
    .pol-featured__title {
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    /* Small inline cards: 2 lines is enough */
    .oikonomia-card:nth-child(n+3) .oikonomia-card__title {
        -webkit-line-clamp: 2;
    }
}

@media (max-width: 600px) {
    :root { --side-pad: 16px; }
    .homepage-main__inner { padding: 0 16px; }
    .hero-featured__title { font-size: 26px; line-height: 34px; }
    .hero-bar { grid-template-columns: repeat(2, 1fr); }
    .cat-section__grid--4,
    .cat-section__grid--3 { grid-template-columns: 1fr; }
    .hero-featured__image-wrap { height: 440px; }

    /* Cat-cards in now-single-column grids → horizontal mini-card style */
    .cat-section__grid--4 .cat-card,
    .cat-section__grid--3 .cat-card {
        flex-direction: row;
        gap: 14px;
        padding-bottom: 16px;
        border-bottom: 1px solid var(--color-dividers);
        align-items: flex-start;
    }
    .cat-section__grid--4 .cat-card__img-link,
    .cat-section__grid--3 .cat-card__img-link {
        flex: 0 0 110px;
        height: 100px;
        aspect-ratio: unset;
    }
    .cat-section__grid--4 .cat-card__body,
    .cat-section__grid--3 .cat-card__body {
        flex: 1;
        padding-top: 0;
        min-width: 0;
    }
    .cat-section__grid--4 .cat-card__title,
    .cat-section__grid--3 .cat-card__title { font-size: 16px; line-height: 22px; }
    .cat-section__grid--4 .cat-card:last-child,
    .cat-section__grid--3 .cat-card:last-child { border-bottom: none; padding-bottom: 0; }

    /* Arthra banner title at 600px */
    .arthra-banner__title { font-size: 22px; }
    .arthra-banner-card__title { font-size: 15px; }

    /* ── Defensive: ensure no section overflows the viewport ── */
    .aytodioikisi-featured,
    .aytodioikisi-featured__inner,
    .aytodioikisi-featured__panel,
    .parapolitika-section,
    .parapolitika-featured,
    .parapolitika-sidebar,
    .arthra-banner__inner,
    .koinonia-section__inner,
    .tiktok-section__inner,
    .epixeiriseis-grid,
    .homepage-two-col,
    .homepage-main__inner {
        max-width: 100%;
        box-sizing: border-box;
    }
    .homepage-main__inner { padding: 0 16px; }
    /* Prevent flex items with text from refusing to shrink */
    .cat-section__header,
    .cat-section__title,
    .cat-section__more,
    .parapolitika-list-item__body,
    .aytodioikisi-article__body,
    .oikonomia-card__body {
        min-width: 0;
    }
}

/* ─── ΑΥΤΟΔΙΟΙΚΗΣΗ FEATURED SECTION (dark navy) ─────────────────── */
.aytodioikisi-featured {
    background: var(--color-white);
    padding: 0 0 30px;
    position: relative;
}
.aytodioikisi-featured__inner {
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 var(--side-pad);
    display: grid;
    grid-template-columns: 1fr 398px;
    gap: 29px;
    align-items: stretch;
}
.aytodioikisi-featured__panel {
    background: var(--color-ink-navy);
    padding: 34px 60px 60px;
}
.aytodioikisi-featured__header {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 32px;
    justify-content: flex-start;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--color-white);
    margin-bottom: 30px;
}
.aytodioikisi-featured__title {
    font-family: var(--font-heading);
    font-size: 34px;
    font-weight: 900;
    color: var(--color-white);
    line-height: 40px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.aytodioikisi-featured__tabs {
    display: flex;
    gap: 28px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: var(--color-secondary-bg);
    letter-spacing: 0;
}
.aytodioikisi-featured__tabs a { color: var(--color-secondary-bg); }
.aytodioikisi-featured__tabs a:hover { color: var(--color-white); }
.aytodioikisi-featured__more {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.56px;
    color: var(--color-white);
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
    flex-shrink: 0;
}
.aytodioikisi-featured__more:hover { opacity: 0.8; }

/* Horizontal article cards inside the dark panel */
.aytodioikisi-article {
    display: grid;
    grid-template-columns: 542px 1fr;
    gap: 29px;
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid rgba(255,255,255,.12);
}
.aytodioikisi-article:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.aytodioikisi-article__image {
    height: 344px;
    overflow: hidden;
    flex-shrink: 0;
    background: rgba(255,255,255,.1);
}
.aytodioikisi-article__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aytodioikisi-article__img-placeholder { width: 100%; height: 100%; background: rgba(255,255,255,.1); }
.aytodioikisi-article__body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: flex-start;
}
.aytodioikisi-article__meta {
    display: flex;
    align-items: center;
    gap: 10px;
}
.aytodioikisi-article__cat {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    color: var(--color-secondary-bg);
    text-transform: uppercase;
    line-height: 22px;
}
.aytodioikisi-article__date {
    font-family: var(--font-body);
    font-size: 14px;
    color: #d9d9d9;
    line-height: 20px;
}
.aytodioikisi-article__title {
    font-family: var(--font-heading);
    font-size: 34px;
    font-weight: 900;
    color: var(--color-white);
    line-height: 40px;
}
.aytodioikisi-article__title a:hover { opacity: 0.85; }
.aytodioikisi-article__excerpt {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    color: #d9d9d9;
    line-height: 24px;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Right sidebar of ΑΥΤΟΔΙΟΙΚΗΣΗ */
.aytodioikisi-featured__sidebar {
    background: var(--color-white);
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-top: 34px;
}

/* ΔΗΜΟΦΙΛΗ numbered list */
.popular-section__title {
    font-family: var(--font-heading);
    font-size: 34px;
    font-weight: 900;
    color: var(--color-heading);
    line-height: 40px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--color-heading);
}
.popular-list { display: flex; flex-direction: column; }
.popular-list__item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid var(--color-dividers);
}
.popular-list__num {
    font-family: var(--font-heading);
    font-size: 34px;
    font-weight: 900;
    color: var(--color-secondary-bg);
    line-height: 40px;
    width: 26px;
    flex-shrink: 0;
}
.popular-list__title {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    line-height: 22px;
    color: var(--color-heading);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
.popular-list__title a:hover { color: var(--color-accent); }

/* Ad medium (300×250) in sidebar */
.ad-medium {
    width: 300px;
    height: 250px;
    background: var(--color-dividers);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-secondary-text);
    font-size: 14px;
}

/* Single article card in sidebar */
.sidebar-article { display: flex; flex-direction: column; gap: 12px; }
.sidebar-article__image {
    height: 226px;
    overflow: hidden;
    background: var(--color-light-accent);
}
.sidebar-article__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sidebar-article__img-placeholder { width: 100%; height: 100%; background: var(--color-secondary-bg); }
.sidebar-article__cat {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    color: var(--color-accent);
    text-transform: uppercase;
    line-height: 22px;
}
.sidebar-article__title {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 900;
    line-height: 28px;
    color: var(--color-heading);
}
.sidebar-article__title a:hover { color: var(--color-accent); }

/* ─── Fix article-card__cat to use accent color per Figma ─────────── */
.article-card__cat { color: var(--color-accent); }

/* ─── Category section full-width layout ──────────────────────────── */
.cat-section--full { }

/* ─── Responsive for ΑΥΤΟΔΙΟΙΚΗΣΗ ───────────────────────────────── */
@media (max-width: 1400px) {
    .aytodioikisi-article { grid-template-columns: 1fr 1fr; }
    .aytodioikisi-article__image { height: 260px; }
    .aytodioikisi-article__title { font-size: 26px; line-height: 34px; }
}
@media (max-width: 1100px) {
    .aytodioikisi-featured__inner { grid-template-columns: 1fr; }
    .aytodioikisi-featured__sidebar { flex-direction: row; flex-wrap: wrap; padding-top: 0; }
    .aytodioikisi-article { grid-template-columns: 200px 1fr; }
    .aytodioikisi-article__image { height: 160px; }
    .aytodioikisi-article__title { font-size: 20px; line-height: 28px; }
}
@media (max-width: 900px) {
    /* Mobile: full navy section (Figma 412:299) */
    .aytodioikisi-featured { background: var(--color-ink-navy); padding: 42px 0; }
    .aytodioikisi-featured__panel { background: transparent; padding: 0; }
    /* Header: title + dot, then 1px divider — tabs & ΠΕΡΙΣΣΟΤΕΡΑ hidden */
    .aytodioikisi-featured__header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding-bottom: 0;
        border-bottom: 1px solid #d9d9d9;
        margin-bottom: 32px;
    }
    .aytodioikisi-featured__title { color: var(--color-white); }
    .aytodioikisi-featured__tabs { display: none; }
    .aytodioikisi-featured__more { display: none; }
    /* Articles: single column, 40px gap, no excerpt */
    .aytodioikisi-article {
        grid-template-columns: 1fr;
        gap: 16px;
        padding-bottom: 40px;
        margin-bottom: 0;
        border-bottom: 1px solid rgba(255,255,255,0.12);
    }
    .aytodioikisi-article__image { height: 200px; background: rgba(255,255,255,0.08); }
    .aytodioikisi-article__title { color: var(--color-white); font-size: 20px; line-height: 28px; }
    .aytodioikisi-article__cat {
        color: var(--color-secondary-bg);
        font-size: 12px;
        letter-spacing: 0.48px;
        line-height: 1;
    }
    .aytodioikisi-article__date { color: #d9d9d9; font-size: 12px; }
    .aytodioikisi-article__excerpt { display: none; }
    /* Sidebar hidden per Figma */
    .aytodioikisi-featured__sidebar { display: none; }
}

/* ─── VIDEO CARD (hero sidebar top) — Figma 634:934 ─────────────── */
.video-card {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.video-card__video-wrap { position: relative; width: 100%; aspect-ratio: 16/9; background: #000; overflow: hidden; }
.video-card__video-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-card__thumb {
    position: relative;
    width: 100%;
    height: 246px;
    overflow: hidden;
    background: var(--color-heading);
    display: block;
    text-decoration: none;
}
.video-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.video-card__img-placeholder {
    width: 100%;
    height: 100%;
    background: var(--color-secondary-bg);
}
.video-card__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 53px;
    height: 53px;
    pointer-events: none;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,.45));
    transition: transform 0.15s;
}
.video-card__thumb:hover .video-card__play {
    transform: translate(-50%, -50%) scale(1.1);
}
.video-card__body {
    padding: 12px 0 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.video-card__meta {
    display: flex;
    align-items: center;
    gap: 8px;
}
.video-card__cat {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: var(--color-red);
    text-transform: uppercase;
    line-height: 18px;
}
.video-card__time {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    color: var(--color-secondary-text);
    line-height: 20px;
}
.video-card__title {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 900;
    line-height: 26px;
    color: var(--color-heading);
}
.video-card__title a { color: inherit; }
.video-card__title a:hover { color: var(--color-accent); }

/* ════════════════════════════════════════════════════════════════
   ΠΑΡΑΠΟΛΙΤΙΚΑ section — Figma 358:2872
   ════════════════════════════════════════════════════════════════ */
.parapolitika-section {
    display: grid;
    grid-template-columns: 57% 1fr;
    min-height: 866px;
}
/* Left: featured with bg image */
.parapolitika-featured {
    position: relative;
    background-color: #2a1520;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    min-height: 866px;
}
.parapolitika-featured__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(20,10,14,.92) 0%, rgba(30,20,24,.55) 55%, rgba(60,20,30,.25) 100%);
}
.parapolitika-featured__content {
    position: relative;
    z-index: 1;
    padding: 0 60px 56px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.parapolitika-featured__meta {
    display: flex;
    align-items: center;
    gap: 16px;
}
.parapolitika-featured__cat {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
}
.parapolitika-featured__date {
    font-family: var(--font-body);
    font-size: 14px;
    color: rgba(255,255,255,.75);
}
.parapolitika-featured__title {
    font-family: var(--font-heading);
    font-size: 34px;
    font-weight: 900;
    line-height: 44px;
    color: #fff;
}
.parapolitika-featured__title a { color: inherit; text-decoration: none; }
.parapolitika-featured__excerpt {
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 24px;
    color: rgba(255,255,255,.80);
    margin: 0;
}
.parapolitika-featured__content::after {
    content: '';
    display: block;
    height: 4px;
    background: rgba(255,255,255,.45);
    margin: 20px -60px 0 0;
}
/* Right: sidebar — accent pink background */
.parapolitika-sidebar {
    background: var(--color-accent);
    padding: 200px 120px 56px 48px;
    display: flex;
    flex-direction: column;
}
.parapolitika-sidebar__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
.parapolitika-sidebar__title {
    font-family: var(--font-heading);
    font-size: 34px;
    font-weight: 900;
    line-height: 40px;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 8px;
}
/* Dot on accent bg: use red for visibility on pink background */
.parapolitika-sidebar .cat-section__dot { background: var(--color-red); }
/* Divider and more link on accent bg */
.parapolitika-sidebar .cat-section__divider { background: rgba(255,255,255,.30); }
.parapolitika-sidebar .cat-section__more { color: rgba(255,255,255,.80); }
.parapolitika-sidebar .cat-section__more:hover { color: #fff; }
.parapolitika-list-item {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 28px 0;
}
.parapolitika-list-item__body { flex: 1; display: flex; flex-direction: column; gap: 8px; }
.parapolitika-list-item__date {
    font-family: var(--font-body);
    font-size: 13px;
    color: rgba(255,255,255,.70);
}
.parapolitika-list-item__title {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 900;
    line-height: 22px;
    color: #fff;
}
.parapolitika-list-item__title a { color: inherit; text-decoration: none; }
.parapolitika-list-item__title a:hover { opacity: .8; }
.parapolitika-list-item__thumb-link { flex-shrink: 0; display: block; }
.parapolitika-list-item__thumb { width: 215px; height: 153px; object-fit: cover; object-position: top center; display: block; }
.parapolitika-list-item__divider { height: 1px; background: rgba(255,255,255,.20); }
.parapolitika-mobile-header { display: none; }

/* ── ΠΑΡΑΠΟΛΙΤΙΚΑ: mobile Figma layout — MUST come AFTER desktop rules above ── */
@media (max-width: 900px) {
    .parapolitika-section {
        display: flex;
        flex-direction: column;
        background: #812b4a;
        min-height: 0;
        padding: 42px 0 0;
    }
    .parapolitika-mobile-header {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 0 16px;
        margin-bottom: 32px;
    }
    .parapolitika-mobile-header__title {
        font-family: var(--font-heading);
        font-size: 34px;
        font-weight: 900;
        color: #fff;
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .parapolitika-mobile-header__divider { height: 1px; background: #d9d9d9; }
    .parapolitika-featured { height: 340px; min-height: 340px; max-height: 340px; }
    .parapolitika-featured__overlay {
        background: linear-gradient(to right, rgba(30,58,76,0.62) 56%, rgba(129,43,74,0.62) 99%);
    }
    .parapolitika-featured__content { padding: 0 16px 68px; gap: 8px; }
    .parapolitika-featured__content::after { display: none; }
    .parapolitika-featured__cat { font-size: 12px; letter-spacing: 0.48px; }
    .parapolitika-featured__date { font-size: 12px; color: #d9d9d9; }
    .parapolitika-featured__title { font-size: 20px; line-height: 28px; }
    .parapolitika-featured__excerpt { display: none; }
    .parapolitika-sidebar {
        background: transparent;
        padding: 0 16px 42px;
        border-top: 1px solid rgba(255,255,255,0.15);
        margin-top: 18px;
    }
    .parapolitika-sidebar__header { display: none; }
    .parapolitika-sidebar .cat-section__divider { display: none; }
    .parapolitika-list-item {
        flex-direction: row;
        gap: 12px;
        align-items: flex-start;
        padding: 18px 0 0;
    }
    .parapolitika-list-item__thumb-link { order: -1; flex-shrink: 0; }
    .parapolitika-list-item__thumb { width: 131px; height: 135px; }
    .parapolitika-list-item__body { gap: 4px; }
    .parapolitika-list-item__date { font-size: 12px; color: #e2e6de; }
    .parapolitika-list-item__title { font-size: 16px; line-height: 22px; color: #fff; }
    .parapolitika-list-item__divider { background: rgba(255,255,255,0.15); margin: 18px 0 0; }
}

/* ════════════════════════════════════════════════════════════════
   ΟΙΚΟΝΟΜΙΑ section — 6 articles 2-col grid
   ════════════════════════════════════════════════════════════════ */
.oikonomia-section { padding: 32px 0; }
.oikonomia-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--gap);
}
.oikonomia-card { display: flex; flex-direction: column; }
.oikonomia-card__img-link { display: block; overflow: hidden; }
.oikonomia-card__img { width: 100%; height: 322px; object-fit: cover; display: block; transition: transform .3s; }
.oikonomia-card__img-link:hover .oikonomia-card__img { transform: scale(1.03); }
.oikonomia-card__body { padding: 14px 0 0; display: flex; flex-direction: column; gap: 8px; }
.oikonomia-card__date {
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--color-secondary-text);
}
.oikonomia-card__title {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 900;
    line-height: 32px;
    color: var(--color-heading);
    margin: 0;
}
.oikonomia-card__title a { color: inherit; text-decoration: none; }
.oikonomia-card__title a:hover { color: var(--color-accent); }
.oikonomia-card__excerpt {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 24px;
    color: var(--color-secondary-text);
    margin: 0;
}

/* ΑΠΟΨΕΙΣ — floating circular avatar cards */
.apopsis-section__grid {
    display: flex;
    flex-direction: column;
    gap: 38px;
}
.apopsis-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    background: transparent;
    padding: 0;
    border: none;
}
.apopsis-card__avatar-wrap {
    width: 166px;
    height: 166px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    margin-bottom: -83px;
    border: none;
}
.apopsis-card__avatar-img {
    width: 166px !important;
    height: 166px !important;
    object-fit: cover;
    object-position: top center;
    border-radius: 50%;
    display: block;
}
.apopsis-card__inner {
    background: var(--color-white);
    border-radius: 2px;
    padding: 103px 20px 28px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
}
.apopsis-card__author {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 900;
    line-height: 28px;
    color: var(--color-ink-navy);
    letter-spacing: 0;
    text-transform: none;
}
.apopsis-card__title {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    color: var(--color-heading);
    text-align: center;
}
.apopsis-card__title a { color: inherit; text-decoration: none; }
.apopsis-card__title a:hover { color: var(--color-accent); }
.apopsis-section__view-all {
    display: block;
    margin-top: 16px;
    text-align: center;
    border: 1px solid var(--color-heading);
    padding: 14px;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: var(--color-heading);
    text-decoration: none;
    letter-spacing: 0;
}
.apopsis-section__view-all:hover { background: var(--color-heading); color: var(--color-white); }

/* ── ΟΙΚΟΝΟΜΙΑ + ΑΠΟΨΕΙΣ Mobile — MUST appear AFTER desktop rules above ── */
@media (max-width: 900px) {
    /* ── ΟΙΚΟΝΟΜΙΑ mobile — Figma 677:1306 ── */
    .oikonomia-section { padding: 42px 0; }
    .oikonomia-section .cat-section__header,
    .oikonomia-section .cat-section__divider { padding-left: 16px; padding-right: 16px; box-sizing: border-box; }
    .oikonomia-grid { display: flex; flex-direction: column; gap: 0; padding: 0 16px; box-sizing: border-box; }

    /* Cards 1-2: full-width vertical — image 200px, body 16px below image */
    .oikonomia-card:nth-child(-n+2) .oikonomia-card__img-link { display: block; width: 100%; }
    .oikonomia-card:nth-child(-n+2) .oikonomia-card__img { height: 200px; width: 100%; }
    .oikonomia-card:nth-child(-n+2) .oikonomia-card__body {
        padding-top: 16px;
        gap: 2px;
    }
    .oikonomia-card:nth-child(-n+2) .oikonomia-card__date {
        font-size: 12px;
        font-weight: 400;
        color: #5a605a;
        letter-spacing: 0.48px;
    }
    .oikonomia-card:nth-child(-n+2) .oikonomia-card__title {
        font-family: var(--font-heading);
        font-size: 20px;
        font-weight: 900;
        line-height: 28px;
        color: #1e2321;
    }
    .oikonomia-card:nth-child(-n+2) .oikonomia-card__excerpt { display: none; }
    /* Gap 25px between card 1 and card 2 */
    .oikonomia-card:nth-child(2) { margin-top: 25px; }

    /* Cards 3-4: thumb left (131×135) + body right (217px) — divider above each */
    .oikonomia-card:nth-child(3),
    .oikonomia-card:nth-child(4) {
        flex-direction: row;
        gap: 10px;
        align-items: flex-start;
        margin-top: 16px;
        padding-top: 16px;
        padding-bottom: 0;
        border-top: 1px solid #d9d9d9;
    }
    .oikonomia-card:nth-child(3) .oikonomia-card__img-link,
    .oikonomia-card:nth-child(4) .oikonomia-card__img-link {
        flex: 0 0 131px;
        width: 131px;
        height: 135px;
        overflow: hidden;
        border-radius: 0;
    }
    .oikonomia-card:nth-child(3) .oikonomia-card__img,
    .oikonomia-card:nth-child(4) .oikonomia-card__img {
        width: 131px;
        height: 135px;
        object-fit: cover;
    }
    .oikonomia-card:nth-child(3) .oikonomia-card__body,
    .oikonomia-card:nth-child(4) .oikonomia-card__body { flex: 1; padding: 0; gap: 2px; }
    .oikonomia-card:nth-child(3) .oikonomia-card__date,
    .oikonomia-card:nth-child(4) .oikonomia-card__date {
        font-size: 12px;
        font-weight: 400;
        color: #6e756e;
        letter-spacing: 0.48px;
    }
    .oikonomia-card:nth-child(3) .oikonomia-card__title,
    .oikonomia-card:nth-child(4) .oikonomia-card__title {
        font-family: var(--font-body);
        font-size: 16px;
        font-weight: 700;
        line-height: 22px;
        color: #1e2321;
    }
    .oikonomia-card:nth-child(3) .oikonomia-card__excerpt,
    .oikonomia-card:nth-child(4) .oikonomia-card__excerpt { display: none; }

    /* Cards 5+: hidden on mobile */
    .oikonomia-card:nth-child(n+5) { display: none; }
}

/* ── ΑΠΟΨΕΙΣ: phone-only (≤600px) — full-bleed carousel — Figma 417:413 ── */
@media (max-width: 600px) {

    /* Full-bleed #e2e6de section — explicit 100vw avoids circular % dependency */
    .apopsis-section {
        background: #e2e6de;
        width: 100vw;
        margin-left: -16px;
        margin-right: 0;
        padding: 42px 16px;
        border-radius: 4px;
        display: flex;
        flex-direction: column;
        gap: 32px;
        box-sizing: border-box;
    }

    /* Remove divider's bottom margin — carousel top margin controls spacing */
    .apopsis-section .cat-section__divider { margin-bottom: 0; }

    /* Header: title left, arrows right */
    .apopsis-section__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    /* Nav arrows — override global display:none with higher specificity */
    .apopsis-section .apopsis-nav {
        display: flex;
        gap: 11px;
        align-items: center;
        flex-shrink: 0;
    }
    .apopsis-nav__btn {
        -webkit-appearance: none;
        appearance: none;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        border: 1px solid #1e2321;
        background: transparent;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        padding: 0;
        flex-shrink: 0;
    }
    .apopsis-nav__btn:disabled { opacity: 0.35; cursor: default; }
    .apopsis-nav__btn svg { display: block; width: 20px; height: 20px; }

    /* Carousel: 100vw wide — explicit, no circular % dependency */
    .apopsis-section__grid {
        display: flex;
        flex-direction: row;
        gap: 20px;
        overflow-x: auto;
        overflow-y: clip;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 16px;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-x;
        scrollbar-width: none;
        width: 100vw;
        margin-left: -16px;
        padding: 11px 16px 16px;
        box-sizing: border-box;
        flex-shrink: 0;
    }
    .apopsis-section__grid::-webkit-scrollbar { display: none; }

    /* Each card: up to 358px wide (Figma), shrinks on smaller phones */
    .apopsis-card {
        flex: 0 0 min(358px, calc(100vw - 32px));
        width: min(358px, calc(100vw - 32px));
        scroll-snap-align: start;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    /* Avatar: 158px circle, overlaps white card by 65px */
    .apopsis-card__avatar-wrap {
        width: 158px;
        height: 158px;
        border-radius: 50%;
        overflow: hidden;
        margin-bottom: -65px;
        position: relative;
        z-index: 1;
        flex-shrink: 0;
    }
    .apopsis-card__avatar-img {
        width: 158px !important;
        height: 158px !important;
        border-radius: 50%;
        object-fit: cover;
        object-position: top center;
        display: block;
    }

    /* White card body — 80px top padding clears the avatar overlap */
    .apopsis-card__inner {
        background: #fff;
        border-radius: 2px;
        padding: 80px 20px 28px;
        width: 100%;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
    }

    /* Author: Ubuntu Bold 16px, blue, uppercase */
    .apopsis-card__author {
        font-family: var(--font-body);
        font-size: 16px;
        font-weight: 700;
        line-height: 22px;
        color: #006d9c;
        white-space: nowrap;
        text-transform: uppercase;
    }

    /* Title: Ubuntu Medium 18px */
    .apopsis-card__title {
        font-family: var(--font-body);
        font-size: 18px;
        font-weight: 500;
        line-height: 24px;
        color: #1e2321;
        text-align: center;
    }
    .apopsis-card__title a { color: #1e2321; text-decoration: none; }

    /* "ΟΛΕΣ ΟΙ ΑΠΟΨΕΙΣ" border button */
    .apopsis-section .apopsis-section__view-all {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        border: 1px solid #1e2321;
        border-radius: 0;
        background: transparent;
        color: #1e2321;
        font-family: var(--font-body);
        font-size: 14px;
        font-weight: 700;
        line-height: 20px;
        letter-spacing: 0;
        padding: 12px;
        text-decoration: none;
    }
    .apopsis-section .apopsis-section__view-all:hover { background: #1e2321; color: #fff; }
}

/* ════════════════════════════════════════════════════════════════
   ΑΡΘΡΑ banner — full-width pink bg, 4 cards
   ════════════════════════════════════════════════════════════════ */
.arthra-banner {
    background: var(--color-accent);
    padding: 48px 0 56px;
}
.arthra-banner__inner {
    max-width: calc(var(--container) + 2 * var(--side-pad));
    margin: 0 auto;
    padding: 0 var(--side-pad);
}
.arthra-banner__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0;
}
.arthra-banner__title {
    font-family: var(--font-heading);
    font-size: 34px;
    font-weight: 900;
    color: var(--color-white);
    display: flex;
    align-items: center;
    gap: 9px;
    white-space: nowrap;
}
.arthra-banner__dot {
    font-size: 0;
    line-height: 1;
    width: 14px;
    height: 14px;
    position: relative;
    top: -15px;
    display: inline-block;
    min-width: 14px;
    min-height: 14px;
    background: #e34f24;
    border-radius: 50%;
}
.arthra-banner__title-link {
    color: inherit;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 9px;
}
.arthra-banner__title-link:hover { color: inherit; }
.arthra-banner__divider {
    height: 1px;
    background: #d9d9d9;
    margin-top: 12px;
}
.arthra-banner__more {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: rgba(255,255,255,.85);
    text-decoration: none;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 4px;
}
.arthra-banner__more:hover { color: var(--color-white); }
.arthra-banner__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--gap);
    margin-top: 28px;
}
.arthra-banner-card { display: flex; flex-direction: column; }
.arthra-banner-card__img-link { display: block; overflow: hidden; aspect-ratio: 1 / 1; }
.arthra-banner-card__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.arthra-banner-card__img-link:hover .arthra-banner-card__img { transform: scale(1.03); }
.arthra-banner-card__body { padding: 14px 0 0; display: flex; flex-direction: column; gap: 6px; }
.arthra-banner-card__meta { display: flex; align-items: center; gap: 10px; }
.arthra-banner-card__cat {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    color: rgba(255,255,255,.70);
    text-transform: uppercase;
}
.arthra-banner-card__date {
    font-family: var(--font-body);
    font-size: 13px;
    color: rgba(255,255,255,.65);
}
.arthra-banner-card__title {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 900;
    line-height: 26px;
    color: var(--color-white);
}
.arthra-banner-card__title a { color: inherit; text-decoration: none; }
.arthra-banner-card__title a:hover { opacity: .85; }

/* ════════════════════════════════════════════════════════════════
   ΕΠΙΧΕΙΡΗΣΕΙΣ section — featured + 2 stacked + half-page ad
   ════════════════════════════════════════════════════════════════ */
.epixeiriseis-section .cat-section__header,
.epixeiriseis-section .cat-section__divider {
    width: calc(100% - 300px - var(--gap));
}
.epixeiriseis-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 300px;
    gap: var(--gap);
    align-items: start;
}
.epixeiriseis-featured { display: flex; flex-direction: column; }
.epixeiriseis-featured__img-link { display: block; overflow: hidden; aspect-ratio: 826 / 504; }
.epixeiriseis-featured__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.epixeiriseis-featured__img-link:hover .epixeiriseis-featured__img { transform: scale(1.03); }
.epixeiriseis-featured__body { padding: 16px 0 0; display: flex; flex-direction: column; gap: 10px; }
.epixeiriseis-featured__meta { display: flex; align-items: center; gap: 12px; }
.epixeiriseis-featured__cat {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    color: var(--color-red);
    text-transform: uppercase;
    text-decoration: none;
}
.epixeiriseis-featured__date { font-family: var(--font-body); font-size: 13px; color: var(--color-secondary-text); }
.epixeiriseis-featured__title {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 900;
    line-height: 32px;
    color: var(--color-heading);
}
.epixeiriseis-featured__title a { color: inherit; text-decoration: none; }
.epixeiriseis-featured__title a:hover { color: var(--color-accent); }
.epixeiriseis-featured__excerpt { font-family: var(--font-body); font-size: 14px; line-height: 22px; color: var(--color-secondary-text); margin: 0; }
.epixeiriseis-stack { display: flex; flex-direction: column; gap: var(--gap); }
.epixeiriseis-small { display: flex; flex-direction: column; }
.epixeiriseis-small__img-link { display: block; overflow: hidden; aspect-ratio: 670 / 446; }
.epixeiriseis-small__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.epixeiriseis-small__img-link:hover .epixeiriseis-small__img { transform: scale(1.03); }
.epixeiriseis-small__body { padding: 12px 0 0; display: flex; flex-direction: column; gap: 8px; }
.epixeiriseis-small__meta { display: flex; align-items: center; gap: 10px; }
.epixeiriseis-small__cat { font-family: var(--font-body); font-size: 13px; font-weight: 700; color: var(--color-red); text-transform: uppercase; text-decoration: none; }
.epixeiriseis-small__date { font-family: var(--font-body); font-size: 13px; color: var(--color-secondary-text); }
.epixeiriseis-small__title { font-family: var(--font-heading); font-size: 18px; font-weight: 900; line-height: 26px; color: var(--color-heading); }
.epixeiriseis-small__title a { color: inherit; text-decoration: none; }
.epixeiriseis-small__title a:hover { color: var(--color-accent); }

/* Half Page ad — shared by ΕΠΙΧΕΙΡΗΣΕΙΣ and ΚΟΣΜΟΣ */
.half-page-ad { display: flex; justify-content: center; }
.half-page-ad__img { width: 300px; height: auto; display: block; }
.ad-placeholder--half {
    width: 300px;
    height: 600px;
    background: var(--color-light-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--color-secondary-text);
    text-align: center;
}

/* ════════════════════════════════════════════════════════════════
   ΚΟΙΝΩΝΙΑ section — dark navy, full bleed
   ════════════════════════════════════════════════════════════════ */
.koinonia-section {
    background: var(--color-ink-navy);
    padding: 56px 0;
}
.koinonia-section__inner {
    max-width: calc(var(--container) + 2 * var(--side-pad));
    margin: 0 auto;
    padding: 0 var(--side-pad);
}
.koinonia-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
.koinonia-section__title {
    font-family: var(--font-heading);
    font-size: 34px;
    font-weight: 900;
    color: var(--color-white);
    display: flex;
    align-items: center;
    gap: 8px;
}
.koinonia-section__more {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: rgba(255,255,255,.75);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 4px;
}
.koinonia-section__more:hover { color: var(--color-white); }
.koinonia-section__divider { height: 2px; background: rgba(255,255,255,.20); margin-bottom: 32px; }
.koinonia-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}
/* Featured */
.koinonia-featured { display: flex; flex-direction: column; }
.koinonia-featured__img-link { display: block; overflow: hidden; }
.koinonia-featured__img { width: 100%; height: 380px; object-fit: cover; display: block; }
.koinonia-featured__body { padding: 20px 0 0; display: flex; flex-direction: column; gap: 12px; }
.koinonia-featured__date { font-family: var(--font-body); font-size: 13px; color: rgba(255,255,255,.65); }
.koinonia-featured__title {
    font-family: var(--font-heading);
    font-size: 28px;
    font-weight: 900;
    line-height: 38px;
    color: var(--color-white);
}
.koinonia-featured__title a { color: inherit; text-decoration: none; }
.koinonia-featured__title a:hover { opacity: .85; }
.koinonia-featured__excerpt { font-family: var(--font-body); font-size: 14px; line-height: 23px; color: rgba(255,255,255,.75); margin: 0; }
/* List */
.koinonia-list { display: flex; flex-direction: column; }
.koinonia-list__divider { height: 1px; background: rgba(255,255,255,.15); }
.koinonia-list-item { display: flex; gap: 20px; align-items: flex-start; padding: 20px 0; }
.koinonia-list-item__thumb-link { flex-shrink: 0; display: block; }
.koinonia-list-item__thumb { width: 130px; height: 90px; object-fit: cover; display: block; }
.koinonia-list-item__body { flex: 1; display: flex; flex-direction: column; gap: 8px; }
.koinonia-list-item__date { font-family: var(--font-body); font-size: 13px; color: rgba(255,255,255,.65); }
.koinonia-list-item__title { font-family: var(--font-heading); font-size: 17px; font-weight: 700; line-height: 25px; color: var(--color-white); }
.koinonia-list-item__title a { color: inherit; text-decoration: none; }
.koinonia-list-item__title a:hover { opacity: .85; }

/* ════════════════════════════════════════════════════════════════
   ΠΟΛΙΤΙΣΜΟΣ section — left | featured-center (wide, #E8EDED) | right + 4 small
   ════════════════════════════════════════════════════════════════ */

/* Row 1: side | featured (2.069×) | side */
.pol-row1 {
    display: grid;
    grid-template-columns: 1fr 2.069fr 1fr;
    gap: var(--gap);
    margin-bottom: var(--gap);
    align-items: stretch;
}

/* Side cards */
.pol-side { display: flex; flex-direction: column; gap: 29px; }
.pol-side__img-link { display: block; overflow: hidden; aspect-ratio: 399 / 392; }
.pol-side__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.pol-side__img-link:hover .pol-side__img { transform: scale(1.03); }
.pol-side__body { display: flex; flex-direction: column; gap: 10px; }
.pol-side__date { font-family: var(--font-body); font-size: 14px; color: var(--color-secondary-text); }
.pol-side__title { font-family: var(--font-heading); font-size: 24px; font-weight: 900; line-height: 32px; color: var(--color-heading); margin: 0; }
.pol-side__title a { color: inherit; text-decoration: none; }
.pol-side__title a:hover { color: var(--color-accent); }
.pol-side__excerpt { font-family: var(--font-body); font-size: 16px; line-height: 24px; color: var(--color-secondary-text); margin: 0; }

/* Featured center card */
.pol-featured { background: var(--color-light-accent); display: flex; flex-direction: column; }
.pol-featured__img-link { display: block; overflow: hidden; aspect-ratio: 826 / 392; }
.pol-featured__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.pol-featured__img-link:hover .pol-featured__img { transform: scale(1.02); }
.pol-featured__body { padding: 29px 35px 29px 40px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.pol-featured__date { font-family: var(--font-body); font-size: 14px; color: var(--color-secondary-text); }
.pol-featured__title { font-family: var(--font-heading); font-size: 24px; font-weight: 900; line-height: 32px; color: var(--color-heading); margin: 0; }
.pol-featured__title a { color: inherit; text-decoration: none; }
.pol-featured__title a:hover { color: var(--color-accent); }
.pol-featured__excerpt { font-family: var(--font-body); font-size: 16px; line-height: 24px; color: var(--color-secondary-text); margin: 0; }

/* Row 2: 4 small cards */
.pol-row2 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--gap);
}
.pol-small { display: flex; flex-direction: column; gap: 29px; }
.pol-small__img-link { display: block; overflow: hidden; aspect-ratio: 399 / 392; }
.pol-small__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.pol-small__img-link:hover .pol-small__img { transform: scale(1.03); }
.pol-small__body { display: flex; flex-direction: column; gap: 10px; }
.pol-small__date { font-family: var(--font-body); font-size: 14px; color: var(--color-secondary-text); }
.pol-small__title { font-family: var(--font-heading); font-size: 24px; font-weight: 900; line-height: 32px; color: var(--color-heading); margin: 0; }
.pol-small__title a { color: inherit; text-decoration: none; }
.pol-small__title a:hover { color: var(--color-accent); }
.pol-small__excerpt { font-family: var(--font-body); font-size: 16px; line-height: 24px; color: var(--color-secondary-text); margin: 0; }

/* ════════════════════════════════════════════════════════════════
   ΚΟΣΜΟΣ section — featured (image+text) + 3 small + half-page ad
   ════════════════════════════════════════════════════════════════ */
.kosmos-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 40px;
    align-items: start;
}
.kosmos-content { display: flex; flex-direction: column; gap: var(--gap); }
/* Featured: image left + text right */
.kosmos-featured {
    display: grid;
    grid-template-columns: 55% 1fr;
    gap: var(--gap);
    align-items: start;
}
.kosmos-featured__img-link { display: block; overflow: hidden; }
.kosmos-featured__img { width: 100%; height: 300px; object-fit: cover; display: block; transition: transform .3s; }
.kosmos-featured__img-link:hover .kosmos-featured__img { transform: scale(1.03); }
.kosmos-featured__body { display: flex; flex-direction: column; gap: 14px; padding-top: 4px; }
.kosmos-featured__date { font-family: var(--font-body); font-size: 13px; color: var(--color-secondary-text); }
.kosmos-featured__title {
    font-family: var(--font-heading);
    font-size: 26px;
    font-weight: 900;
    line-height: 36px;
    color: var(--color-heading);
}
.kosmos-featured__title a { color: inherit; text-decoration: none; }
.kosmos-featured__title a:hover { color: var(--color-accent); }
.kosmos-featured__excerpt { font-family: var(--font-body); font-size: 14px; line-height: 23px; color: var(--color-secondary-text); margin: 0; }
/* 3 secondary cards */
.kosmos-secondary-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--gap);
}
.kosmos-secondary-card { display: flex; flex-direction: column; }
.kosmos-secondary-card__img-link { display: block; overflow: hidden; }
.kosmos-secondary-card__img { width: 100%; height: 180px; object-fit: cover; display: block; transition: transform .3s; }
.kosmos-secondary-card__img-link:hover .kosmos-secondary-card__img { transform: scale(1.03); }
.kosmos-secondary-card__body { padding: 12px 0 0; display: flex; flex-direction: column; gap: 8px; }
.kosmos-secondary-card__date { font-family: var(--font-body); font-size: 13px; color: var(--color-secondary-text); }
.kosmos-secondary-card__title { font-family: var(--font-heading); font-size: 17px; font-weight: 900; line-height: 25px; color: var(--color-heading); }
.kosmos-secondary-card__title a { color: inherit; text-decoration: none; }
.kosmos-secondary-card__title a:hover { color: var(--color-accent); }

/* ════════════════════════════════════════════════════════════════
   SOCIAL MEDIA / TikTok section
   Desktop: 4-col blockquote grid  — Figma 634:2051 (401×731px, 26px gap)
   Mobile : carousel 1-at-a-time   — Figma 677:1240
   ════════════════════════════════════════════════════════════════ */
.tiktok-section {
    background: var(--color-neutral);
    padding: 48px 0 56px;
}
.tiktok-section__inner {
    max-width: var(--container);
    margin: 0 auto;
}

/* Header: title left, handle right (desktop) */
.tiktok-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 var(--side-pad);
}
.tiktok-section__title {
    font-family: var(--font-heading);
    font-size: 34px;
    font-weight: 900;
    color: var(--color-heading);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}
.tiktok-section__dot {
    display: inline-block;
    width: 21px;
    height: 21px;
    min-width: 21px;
    background: var(--color-accent);
    border-radius: 50%;
    flex-shrink: 0;
}
.tiktok-section__handle {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: var(--color-ink-navy);
    flex-shrink: 0;
}
.tiktok-section__icon { flex-shrink: 0; display: block; }
.tiktok-section__handle-text {
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-ink-navy);
}
.tiktok-section__handle-text strong { font-weight: 700; }
.tiktok-section__divider {
    height: 1px;
    background: #1e3a4c;
    margin: 16px 0 32px;
}

/* Full-width profile CTA (shows when no video IDs are configured) */
.tiktok-creator-wrap {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 32px var(--side-pad);
    background: var(--color-light-accent);
    min-height: 300px;
}
.tiktok-creator-wrap .tiktok-embed {
    width: 100%;
    max-width: 780px;
}

/* ── Feed wrap: relative container for carousel arrow positioning ── */
.tiktok-feed-wrap { position: relative; }

/* ── Nav arrows: hidden desktop, shown mobile ── */
.tiktok-nav-btn {
    display: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background 0.2s;
}
.tiktok-nav-btn:hover  { background: rgba(0, 0, 0, 0.82); }
.tiktok-nav-btn:disabled { opacity: 0.3; cursor: default; }
.tiktok-nav-btn--prev { left: 6px; }
.tiktok-nav-btn--next { right: 6px; }

/* Override TikTok embed.js injected wrapper — class name can change between versions */
.css-ekq38o,
.tiktok-card .tiktok-embed > div,
.tiktok-card .tiktok-embed > section + div {
    max-width: 100% !important;
    width: 100% !important;
    border: none !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* ── Desktop grid: always 6 equal columns ── */
.tiktok-feed {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 26px;
    align-items: start;
}
/* See More: spans full width (row 2 CTA strip when 6 videos fill row 1) */
.tiktok-see-more {
    grid-column: 1 / -1;
}

/* Card */
.tiktok-card { min-width: 0; overflow: hidden; }

/* Force TikTok blockquote to fill the grid column */
.tiktok-card .tiktok-embed {
    margin: 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
    border-left: none !important;
    padding-left: 0 !important;
}
/* Hide placeholder text inside blockquote (before embed.js loads) */
.tiktok-card .tiktok-embed > section { display: none; }
/* TikTok injects an iframe (inside or alongside the blockquote) — fill the card */
.tiktok-card iframe {
    max-width: 100% !important;
    width: 100% !important;
}

/* "Δες Περισσότερα" — full-width footer strip on desktop, full-slide on mobile */
.tiktok-see-more {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 90px;
    background: var(--color-white);
    border: 2px dashed var(--color-dividers);
    text-decoration: none;
    color: var(--color-heading);
    padding: 24px 16px;
    transition: background 0.2s, border-color 0.2s;
}
.tiktok-see-more:hover { background: var(--color-light-accent); border-color: var(--color-secondary-text); }
.tiktok-see-more__icon { color: var(--color-accent); }
.tiktok-see-more__label {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 900;
    line-height: 1.3;
    text-align: center;
    color: var(--color-heading);
}
.tiktok-see-more__arrow { font-size: 22px; color: var(--color-accent); }

/* ════════════════════════════════════════════════════════════════
   CATEGORY / ARCHIVE PAGE — Figma 384:5861 / 692:1874
   ════════════════════════════════════════════════════════════════ */
.cat-page-wrap { padding-bottom: 80px; }
.cat-page__inner { padding: 0 var(--side-pad); }

/* Title row */
.cat-page__title-row { padding: 36px 0 0; }
.cat-page__title {
    font-family: var(--font-heading);
    font-size: 34px;
    font-weight: 900;
    line-height: 50px;
    color: var(--color-heading);
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

/* Sub-category tag bar */
.cat-subtag-bar { margin-top: 10px; }
.cat-page__subtags {
    width: 100%;
    border-top: 1px solid var(--color-heading);
    border-bottom: 1px solid var(--color-heading);
    display: grid;
    grid-template-columns: repeat(10, max-content);
    column-gap: 32px;
    row-gap: 12px;
    padding: 16px 0;
}
.cat-page__subtag {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: var(--color-secondary-text);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 22px;
    white-space: nowrap;
}
.cat-page__subtag:hover,
.cat-page__subtag.is-active { color: var(--color-accent); }

/* Featured article + sidebar */
.cat-page__featured-wrap { margin-top: 45px; }

/* Page 2+: articles + sidebar side by side */
.cat-articles-with-sidebar {
    display: flex;
    flex-direction: row;
    gap: 127px;
    align-items: flex-start;
    margin-top: 36px;
}
.cat-articles-with-sidebar .cat-articles-wrap {
    flex: 1;
    max-width: none;
    margin-top: 0;
}
.cat-sidebar--paged {
    width: 300px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.cat-featured-row {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 127px;
    align-items: start;
}

/* Featured article: image left ~55%, text right ~45% */
.cat-featured {
    display: grid;
    grid-template-columns: 55fr 45fr;
    gap: 27px;
    align-items: start;
}
.cat-featured__img-link {
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 3/2;
    background: var(--color-light-accent);
}
.cat-featured__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cat-featured__body {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 4px;
}
.cat-featured__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 22px;
}
.cat-featured__tag { font-weight: 700; color: var(--color-ink-navy); text-transform: uppercase; text-decoration: none; }
.cat-featured__tag:hover { text-decoration: underline; }
.cat-featured__pipe { color: var(--color-secondary-text); }
.cat-featured__date { color: var(--color-secondary-text); }
.cat-featured__title {
    font-family: var(--font-heading);
    font-size: 30px;
    font-weight: 900;
    line-height: 40px;
    color: var(--color-heading);
    margin: 0;
}
.cat-featured__title a { color: inherit; text-decoration: none; }
.cat-featured__title a:hover { color: var(--color-accent); }
.cat-featured__excerpt {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 26px;
    color: var(--color-secondary-text);
    margin: 0;
}

/* Sidebar: 2 stacked Medium ads */
.cat-sidebar { display: flex; flex-direction: column; gap: 15px; padding-top: 18px; }
.cat-sidebar__ad { line-height: 0; }

/* Article grids section — width mirrors featured content column */
.cat-articles-wrap {
    max-width: calc(100% - 427px);
    margin-top: 36px;
}
.cat-articles__divider {
    height: 1px;
    background: var(--color-heading);
    margin-bottom: 36px;
}

/* 2-column article grid */
.cat-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 25px;
    margin-bottom: 32px;
}
.cat-card { display: flex; flex-direction: column; }
.cat-card__img-link {
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 3/2;
    background: var(--color-light-accent);
}
.cat-card__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.2s ease; }
.cat-card__img-link:hover .cat-card__img { transform: scale(1.03); }
.cat-card__body { display: flex; flex-direction: column; gap: 8px; padding-top: 24px; }
.cat-card__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 20px;
}
.cat-card__tag { font-weight: 700; color: var(--color-ink-navy); text-transform: uppercase; text-decoration: none; }
.cat-card__tag:hover { text-decoration: underline; }
.cat-card__date { color: var(--color-secondary-text); }
.cat-card__title {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 900;
    line-height: 28px;
    color: var(--color-heading);
    margin: 0;
}
.cat-card__title a { color: inherit; text-decoration: none; }
.cat-card__title a:hover { color: var(--color-accent); }

/* Billboard ad */
.cat-billboard { display: flex; justify-content: center; margin: 16px 0 32px; }

/* Mobile-only category banners — hidden on desktop */
.cat-mobile-banners { display: none; }

/* Pagination */
.cat-pagination { margin-top: 48px; }
.cat-pagination ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 13px; flex-wrap: wrap; }
.cat-pagination li a,
.cat-pagination li span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 46px;
    height: 46px;
    padding: 0 10px;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    color: var(--color-heading);
    border: 1px solid var(--color-heading);
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}
.cat-pagination li a:hover { background: var(--color-light-accent); }
.cat-pagination li span.current {
    background: var(--color-ink-navy);
    color: #fff;
    border-color: var(--color-ink-navy);
}
.cat-pagination .page-numbers.dots {
    border: none;
    width: auto;
    font-weight: 400;
    background: none;
}

/* Video play button overlay (featured + card) */
.cat-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    display: flex;
    transition: transform 0.15s;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.45));
}
.cat-featured__img-link:hover .cat-play-btn,
.cat-card__img-link:hover .cat-play-btn { transform: translate(-50%,-50%) scale(1.1); }
/* ════════════════════════════════════════════════════════════════
   HOMEPAGE SECTIONS MOBILE — Figma 401:199 (ΑΡΘΡΑ → ΚΟΣΜΟΣ)
   @media (max-width: 900px) — must appear after desktop rules above
   ════════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {

    /* ── ΑΡΘΡΑ banner — wine bg, 2-column grid (Figma 416:380) ── */
    .arthra-banner { padding: 42px 0; }
    .arthra-banner__inner { padding: 0 16px; }
    .arthra-banner__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 22px 17px;
        margin-top: 31px;
    }
    .arthra-banner-card__body { padding-top: 16px; gap: 2px; }
    .arthra-banner-card__meta { gap: 6px; }
    .arthra-banner-card__cat { font-size: 12px; }
    .arthra-banner-card__date { font-size: 12px; }
    .arthra-banner-card__title {
        font-family: var(--font-body);
        font-size: 16px;
        font-weight: 700;
        line-height: 24px;
    }

    /* ── ΕΠΙΧΕΙΡΗΣΕΙΣ — #f7f8f5 bg, flex column (Figma 677:1410) ── */
    .epixeiriseis-section {
        background: #f7f8f5;
        padding: 42px 16px;
    }
    .epixeiriseis-section .cat-section__header,
    .epixeiriseis-section .cat-section__divider { width: 100%; }
    .epixeiriseis-grid {
        display: flex;
        flex-direction: column;
        gap: 0;
    }
    /* Featured: full-width 200px image, AtCorfu Black 20px title */
    .epixeiriseis-featured__img-link { aspect-ratio: unset; height: 200px; overflow: hidden; }
    .epixeiriseis-featured__img { width: 100%; height: 200px; object-fit: cover; }
    .epixeiriseis-featured__body { gap: 2px; padding-top: 16px; }
    .epixeiriseis-featured__meta { gap: 8px; }
    .epixeiriseis-featured__cat { font-size: 12px; }
    .epixeiriseis-featured__date { font-size: 12px; letter-spacing: 0.48px; }
    .epixeiriseis-featured__title { font-family: var(--font-heading); font-size: 20px; line-height: 28px; }
    .epixeiriseis-featured__excerpt { display: none; }
    /* Stack: no gap, border-top acts as divider */
    .epixeiriseis-stack { gap: 0; }
    .epixeiriseis-small {
        flex-direction: row;
        gap: 10px;
        align-items: flex-start;
        padding: 16px 0;
        border-top: 1px solid #d9d9d9;
    }
    .epixeiriseis-small__img-link { flex: 0 0 131px; width: 131px; height: 135px; aspect-ratio: unset; overflow: hidden; }
    .epixeiriseis-small__img { width: 131px; height: 135px; object-fit: cover; }
    .epixeiriseis-small__body { flex: 1; padding: 0; gap: 2px; }
    .epixeiriseis-small__meta { gap: 8px; }
    .epixeiriseis-small__cat { font-size: 12px; }
    .epixeiriseis-small__date { font-size: 12px; letter-spacing: 0.48px; }
    .epixeiriseis-small__title { font-family: var(--font-body); font-size: 16px; font-weight: 700; line-height: 22px; }
    /* Mobile ad slot 300×250 */
    .epixeiriseis-section .half-page-ad { display: flex; justify-content: center; margin-top: 24px; }
    .epixeiriseis-section .ad-placeholder--half { width: 300px; height: 250px; }
    .epixeiriseis-section .half-page-ad__img { width: 300px; height: 250px; object-fit: cover; }

    /* ── ΚΟΙΝΩΝΙΑ — #1e3a4c navy, 1 featured + 5 horizontal cards (Figma 417:428) ── */
    .koinonia-section { padding: 42px 0; }
    .koinonia-section__inner { padding: 0 16px; }
    .koinonia-section__header { margin-bottom: 10px; }
    .koinonia-section__divider { margin-bottom: 32px; }
    .koinonia-layout { grid-template-columns: 1fr; gap: 0; }
    /* Featured: 200px image, white AtCorfu 20px title */
    .koinonia-featured__img-link { display: block; }
    .koinonia-featured__img { width: 100%; height: 200px; object-fit: cover; }
    .koinonia-featured__body { padding-top: 16px; gap: 2px; }
    .koinonia-featured__date { font-size: 12px; color: #f7f8f5; letter-spacing: 0.48px; }
    .koinonia-featured__title { font-family: var(--font-heading); font-size: 20px; line-height: 28px; color: var(--color-white); }
    .koinonia-featured__excerpt { display: none; }
    /* List: border-top separates from featured, items stacked with dividers */
    .koinonia-list { border-top: 1px solid rgba(255,255,255,0.15); margin-top: 16px; }
    .koinonia-list__divider { background: rgba(255,255,255,0.15); }
    .koinonia-list-item {
        flex-direction: row;
        gap: 10px;
        padding: 16px 0;
        align-items: flex-start;
        justify-content: space-between;
    }
    .koinonia-list-item__thumb-link { flex: 0 0 131px; }
    .koinonia-list-item__thumb { width: 131px; height: 135px; object-fit: cover; }
    .koinonia-list-item__body { flex: 1; min-width: 0; gap: 4px; }
    .koinonia-list-item__date { font-size: 12px; color: #e2e6de; letter-spacing: 0.48px; line-height: normal; }
    .koinonia-list-item__title { font-family: var(--font-body); font-size: 18px; font-weight: 700; line-height: 24px; color: var(--color-white); }

    /* ── ΠΟΛΙΤΙΣΜΟΣ — white, 1 featured + 3×2-column grid (Figma 418:452) ── */
    .politismos-section { padding: 42px 16px; }
    /* Row1: first pol-side spans full width, featured + right pol-side form 2-col */
    .pol-row1 { grid-template-columns: repeat(2, 1fr); gap: 15px; margin-bottom: 20px; }
    /* Left side card (posts[0]) = full-width featured */
    .pol-row1 .pol-side:first-child { grid-column: 1 / 3; gap: 0; }
    .pol-row1 .pol-side:first-child .pol-side__img-link { aspect-ratio: unset; height: 200px; overflow: hidden; }
    .pol-row1 .pol-side:first-child .pol-side__img { width: 100%; height: 200px; object-fit: cover; }
    .pol-row1 .pol-side:first-child .pol-side__body { padding-top: 16px; gap: 2px; }
    .pol-row1 .pol-side:first-child .pol-side__date { font-size: 12px; color: #5a605a; }
    .pol-row1 .pol-side:first-child .pol-side__title { font-family: var(--font-heading); font-size: 20px; line-height: 28px; color: #1e2321; }
    .pol-row1 .pol-side:first-child .pol-side__excerpt { display: none; }
    /* Featured center card (posts[1]): small 2-col card, 164px image */
    .pol-featured { background: transparent; }
    .pol-featured__img-link { aspect-ratio: unset; height: 164px; overflow: hidden; }
    .pol-featured__img { width: 100%; height: 164px; object-fit: cover; }
    .pol-featured__body { padding: 16px 0 0; gap: 4px; flex: unset; }
    .pol-featured__date { font-size: 12px; color: #6e756e; }
    .pol-featured__title { font-family: var(--font-body); font-size: 16px; font-weight: 700; line-height: 22px; color: #1e2321; }
    .pol-featured__excerpt { display: none; }
    /* Right side card (posts[2]): small 2-col card */
    .pol-row1 .pol-side:last-child { gap: 0; }
    .pol-row1 .pol-side:last-child .pol-side__img-link { aspect-ratio: unset; height: 164px; overflow: hidden; }
    .pol-row1 .pol-side:last-child .pol-side__img { width: 100%; height: 164px; object-fit: cover; }
    .pol-row1 .pol-side:last-child .pol-side__body { padding-top: 16px; gap: 4px; }
    .pol-row1 .pol-side:last-child .pol-side__date { font-size: 12px; color: #6e756e; }
    .pol-row1 .pol-side:last-child .pol-side__title { font-family: var(--font-body); font-size: 16px; font-weight: 700; line-height: 22px; color: #1e2321; }
    .pol-row1 .pol-side:last-child .pol-side__excerpt { display: none; }
    /* Row2: 2-column grid (posts[3-6]) */
    .pol-row2 { grid-template-columns: repeat(2, 1fr); gap: 20px 15px; }
    .pol-small { gap: 0; }
    .pol-small__img-link { aspect-ratio: unset; height: 164px; overflow: hidden; }
    .pol-small__img { width: 100%; height: 164px; object-fit: cover; }
    .pol-small__body { padding-top: 16px; gap: 4px; }
    .pol-small__date { font-size: 12px; color: #6e756e; }
    .pol-small__title { font-family: var(--font-body); font-size: 16px; font-weight: 700; line-height: 22px; color: #1e2321; }
    .pol-small__excerpt { display: none; }

    /* ── ΚΟΣΜΟΣ — #e2e6de bg, 1 featured + 3 horizontal cards (Figma 418:510) ── */
    .kosmos-section { background: #e2e6de; padding: 42px 16px; }
    .kosmos-layout { grid-template-columns: 1fr; gap: 0; }
    .kosmos-content { gap: 16px; }
    /* Hide desktop 300×600 ad on mobile */
    .kosmos-section .half-page-ad { display: none; }
    /* Featured: full-width 200px image, AtCorfu 20px title */
    .kosmos-featured { grid-template-columns: 1fr; gap: 0; }
    .kosmos-featured__img-link { height: 200px; overflow: hidden; }
    .kosmos-featured__img { width: 100%; height: 200px; object-fit: cover; }
    .kosmos-featured__body { padding-top: 16px; gap: 2px; }
    .kosmos-featured__date { font-size: 12px; color: #5a605a; letter-spacing: 0.48px; }
    .kosmos-featured__title { font-family: var(--font-heading); font-size: 20px; line-height: 28px; color: #1e2321; }
    .kosmos-featured__excerpt { display: none; }
    /* Secondary: horizontal thumb (131×135) + body */
    .kosmos-secondary-grid { display: flex; flex-direction: column; gap: 0; }
    .kosmos-secondary-card {
        flex-direction: row;
        gap: 10px;
        align-items: flex-start;
        padding: 16px 0;
        border-top: 1px solid #d9d9d9;
    }
    .kosmos-secondary-card__img-link { flex: 0 0 131px; width: 131px; height: 135px; overflow: hidden; }
    .kosmos-secondary-card__img { width: 131px; height: 135px; object-fit: cover; }
    .kosmos-secondary-card__body { flex: 1; padding: 0; gap: 4px; }
    .kosmos-secondary-card__date { font-size: 12px; color: #5a605a; letter-spacing: 0.48px; }
    .kosmos-secondary-card__title { font-family: var(--font-body); font-size: 16px; font-weight: 700; line-height: 22px; color: #1e2321; }
}

/* ── Mobile: carousel 1 video at a time (Figma 677:1240) ── */
@media (max-width: 900px) {
    .tiktok-section { padding: 24px 0 36px; }

    /* Header becomes column: title on top, handle below */
    .tiktok-section__header { flex-direction: column; align-items: flex-start; gap: 10px; }
    .tiktok-section__title { font-size: 24px; }
    .tiktok-section__handle-text { font-size: 14px; }
    .tiktok-section__divider { margin: 12px 0 20px; }

    /* Show carousel arrows */
    .tiktok-nav-btn { display: flex; }

    /* Wrapper clips the sliding track */
    .tiktok-feed-wrap { overflow: hidden; }

    /* Grid → horizontal carousel track */
    .tiktok-feed {
        display: flex;
        gap: 0;
        transform: translateX(calc(var(--tiktok-slide, 0) * -100%));
        transition: transform 0.32s ease;
    }

    /* Each card = 1 full slide */
    .tiktok-card {
        flex: 0 0 100%;
        overflow: visible;
    }

    /* See More slide on mobile */
    .tiktok-see-more {
        flex: 0 0 100%;
        flex-direction: column;
        min-height: 420px;
        border: none;
        background: var(--color-light-accent);
    }

    /* TikTok embed fills the card */
    .tiktok-card .tiktok-embed {
        width: 100% !important;
        max-width: 100% !important;
    }
    .tiktok-card .tiktok-embed iframe {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Arrows over the video edges */
    .tiktok-nav-btn--prev { left: 8px; }
    .tiktok-nav-btn--next { right: 8px; }
}

/* ── TikTok mobile (≤768px): 1.5 items visible, taller cards ── */
@media (max-width: 768px) {
    /* Show 70% per card so next card peeks ~30% at the right */
    .tiktok-feed {
        transform: translateX(calc(var(--tiktok-slide, 0) * -70%));
    }
    .tiktok-card {
        flex: 0 0 70%;
        min-height: 460px;
    }
    .tiktok-see-more {
        flex: 0 0 70%;
        min-height: 300px;
    }
    /* Force embed iframe to match the taller height */
    .tiktok-card .tiktok-embed,
    .tiktok-card iframe {
        height: 460px !important;
        min-height: 460px !important;
    }
}

/* ════════════════════════════════════════════════════════════════
   CATEGORY PAGE — MOBILE RESPONSIVE (≤900px)
   Figma: node 487:757 "Category – Mobile" (390px frame)
   ════════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {

    .cat-page-wrap { padding-bottom: 48px; }
    /* Override side-pad for category containers on mobile */
    .cat-page__inner { padding: 0 16px; }

    /* ── Category title ── */
    .cat-page__title-row { padding: 26px 0 2px; }
    .cat-page__title { font-size: 39px; line-height: 50px; }

    /* ── Sub-category tag bar: horizontal scroll strip ── */
    .cat-subtag-bar { margin-top: 0; }
    .cat-page__subtags {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 0;
        padding: 12px 0;
    }
    .cat-page__subtags::-webkit-scrollbar { display: none; }
    .cat-page__subtag {
        padding: 0 14px;
        flex-shrink: 0;
        border-right: 1px solid var(--color-borders);
        font-size: 14px;
        font-weight: 500;
        letter-spacing: 0.56px;
    }
    .cat-page__subtag:first-child { padding-left: 0; }
    .cat-page__subtag:last-child { border-right: none; }

    /* ── Featured article: vertical stack (image top, text below) ── */
    .cat-page__featured-wrap { margin-top: 20px; }
    .cat-featured-row {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .cat-featured {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .cat-featured__img-link {
        aspect-ratio: unset;
        height: 260px;
        width: 100%;
    }
    .cat-featured__body {
        padding: 20px 0 0;
        gap: 12px;
    }
    /* Tags + date: tags on row 1, date alone on row 2 */
    .cat-featured__meta {
        flex-wrap: wrap;
        gap: 4px 6px;
        font-size: 12px;
        align-items: center;
    }
    .cat-featured__date {
        width: 100%;
        flex-basis: 100%;
        color: var(--color-secondary-text);
    }
    .cat-featured__title {
        font-size: 26px;
        line-height: 32px;
    }
    .cat-featured__excerpt {
        font-size: 16px;
        line-height: 24px;
    }
    /* ── Sidebars on mobile ── */
    /* Page 1 sidebar (300×250) hidden — mobile banners take its place */
    .cat-sidebar { display: none; }
    /* Page 2+ sidebar: show only 1 medium ad (300×250), hide the second */
    .cat-sidebar--paged {
        width: 100%;
        flex-direction: column;
        align-items: center;
        gap: 0;
        padding-top: 24px;
    }
    .cat-sidebar--paged .cat-sidebar__ad:nth-child(2) { display: none; }

    /* ── Article section: page 2+ layout fix ── */
    .cat-articles-with-sidebar {
        flex-direction: column;
        gap: 0;
        margin-top: 24px;
    }
    /* Higher specificity needed to override desktop 0,2,0 rule */
    .cat-articles-with-sidebar .cat-articles-wrap {
        flex: none;
        width: 100%;
        max-width: 100%;
        margin-top: 0;
    }
    .cat-articles-wrap {
        max-width: 100%;
        margin-top: 24px;
    }
    .cat-articles__divider { margin-bottom: 16px; }

    /* Billboard hidden on mobile — mobile banners (320×100) replace it */
    .cat-billboard { display: none; }

    /* Mobile-only category banners */
    .cat-mobile-banners {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        padding: 16px;
    }
    .cat-mobile-banner { width: 100%; display: flex; justify-content: center; }
    .cat-mobile-banner img { max-width: 100%; height: auto; display: block; }
    .cat-mobile-banner .ad-placeholder { max-width: 320px; width: 100%; height: 100px; }

    /* ── Article grid: single-column list of horizontal cards ── */
    .cat-grid {
        grid-template-columns: 1fr;
        gap: 0;
        margin-bottom: 0;
    }
    .cat-card {
        flex-direction: row;
        align-items: flex-start;
        gap: 14px;
        padding: 20px 0;
        border-bottom: 1px solid var(--color-dividers);
    }
    .cat-grid .cat-card:last-child { border-bottom: none; }
    .cat-card__img-link {
        width: 131px;
        min-width: 131px;
        height: 135px;
        aspect-ratio: unset;
        flex-shrink: 0;
    }
    .cat-card__body {
        padding-top: 0;
        flex: 1;
        min-width: 0;
        gap: 6px;
    }
    .cat-card__meta { font-size: 12px; gap: 8px; }
    .cat-card__title {
        font-family: var(--font-body);
        font-weight: 700;
        font-size: 16px;
        line-height: 22px;
    }

    /* ── Pagination: centered when fits, scrolls horizontally when it doesn't ── */
    .cat-pagination {
        margin-top: 28px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 4px;
    }
    .cat-pagination::-webkit-scrollbar { display: none; }
    .cat-pagination ul {
        gap: 8px;
        flex-wrap: nowrap;
        width: max-content;
        min-width: 100%;
        justify-content: center;
        padding: 0;
        margin: 0;
    }
    .cat-pagination li a,
    .cat-pagination li span {
        min-width: 36px;
        height: 36px;
        font-size: 13px;
        padding: 0 6px;
        flex-shrink: 0;
    }
    .cat-pagination .page-numbers.dots {
        min-width: auto;
        padding: 0 2px;
    }
}

/* ════════════════════════════════════════════════════════════════
   SINGLE POST / ARTICLE PAGE — Figma 329:5031 / 677:1458
   Layout: 77px | 300px left-ad | 28px | 1110px article | 28px | 300px right-ad | 77px
   ════════════════════════════════════════════════════════════════ */
.single-wrap { padding-bottom: 80px; }

/* ─── Article header: title + intro + hero (aligned to article column x=405) ─── */
.single-header {
    margin-left: 405px;
    width: 1110px;
    padding-top: 36px;
}
.single-header__cats {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 12px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.single-header__cat { color: var(--color-accent); text-decoration: none; }
.single-header__cat:hover { text-decoration: underline; }
.single-header__cat-sep { color: var(--color-secondary-text); }

.single-title {
    font-family: var(--font-heading);
    font-size: 40px;
    font-weight: 900;
    line-height: 50px;
    color: var(--color-heading);
    margin: 0 0 28px;
    text-align: center;
}
.single-intro {
    font-family: var(--font-body);
    font-size: 18px;
    line-height: 28px;
    color: var(--color-secondary-text);
    margin: 0 0 34px;
    text-align: center;
}

/* Hero: image or video — 1110×628px (Figma exact) */
.single-hero {
    width: 1110px;
    height: 628px;
    overflow: hidden;
    background: var(--color-light-accent);
    position: relative;
}
.single-hero__img-wrap { width: 100%; height: 100%; position: relative; }
.single-hero__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.single-hero__img-wrap--play .single-hero__play {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    filter: drop-shadow(0 2px 12px rgba(0,0,0,0.5));
}
.single-hero__video-wrap { width: 100%; height: 100%; }
.single-hero__video-wrap iframe { width: 100%; height: 100%; display: block; border: 0; }

/* ─── 3-column grid ─── */
.single-columns {
    display: grid;
    grid-template-columns: 300px 1110px 300px;
    column-gap: 28px;
    padding: 0 77px;
    align-items: start;
}

/* ─── Sidebars ─── */
.single-sidebar__ad { line-height: 0; }
.single-sidebar--left {
    padding-top: 168px;
    display: flex;
    flex-direction: column;
}
/* Mobile-only single article banner — hidden on desktop */
.single-mobile-ad { display: none; }
/* Inline mobile ads injected between paragraphs — hidden on desktop */
.single-inline-mobile-ad { display: none; }
/* 300×250 mobile ad after Google News — hidden on desktop */
.single-after-gnews-ad { display: none; }
/* Lead paragraph below hero — mobile only */
.single-lead-mobile { display: none; }

.single-sidebar--right {
    padding-top: 168px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* ─── Meta bar: author | categories | date ─── */
.single-meta-bar {
    margin-top: 43px;
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--color-heading);
    border-bottom: 1px solid var(--color-heading);
}
.single-meta-bar__author {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-left: 15px;
    flex-shrink: 0;
}
.single-meta-bar__avatar {
    width: 56px; height: 56px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--color-ink-navy);
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
}
.single-meta-bar__avatar-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.single-meta-bar__avatar-letter {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 900;
    color: #fff;
    text-transform: uppercase;
}
.single-meta-bar__author-info { display: flex; flex-direction: column; }
.single-meta-bar__author-type {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    color: var(--color-secondary-text);
    text-transform: uppercase;
    line-height: 20px;
}
.single-meta-bar__author-name {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: var(--color-heading);
    line-height: 24px;
}
.single-meta-bar__cats {
    display: flex;
    align-items: center;
    gap: 12px;
}
.single-meta-bar__cat-box {
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 9px;
    border: 1px solid var(--color-heading);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: var(--color-heading);
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}
.single-meta-bar__cat-box:hover { color: var(--color-accent); border-color: var(--color-accent); }
.single-meta-bar__cat-plain {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: var(--color-secondary-text);
    text-transform: uppercase;
    white-space: nowrap;
}
.single-meta-bar__right {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-shrink: 0;
}
.single-meta-bar__date {
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-secondary-text);
    white-space: nowrap;
}
.single-meta-bar__reading {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-secondary-text);
    white-space: nowrap;
}

/* ─── Article content body (828px wide, 141px padding each side) ─── */
.single-content {
    padding: 44px 141px 0;
    font-family: var(--font-body);
    font-size: 18px;
    line-height: 30px;
    color: var(--color-heading);
}
.single-content p { margin: 0 0 24px; }
.single-content h2 { font-family: var(--font-heading); font-size: 28px; font-weight: 900; line-height: 36px; color: var(--color-heading); margin: 32px 0 16px; }
.single-content h3 { font-family: var(--font-heading); font-size: 22px; font-weight: 900; line-height: 30px; color: var(--color-heading); margin: 28px 0 14px; }
.single-content h4 { font-family: var(--font-heading); font-size: 18px; font-weight: 900; line-height: 26px; color: var(--color-heading); margin: 24px 0 12px; }
.single-content strong { font-weight: 700; }
.single-content em { font-style: italic; }
.single-content a { color: var(--color-accent); }
.single-content a:hover { text-decoration: underline; }
.single-content ul, .single-content ol { margin: 0 0 24px; padding-left: 28px; }
.single-content li { margin-bottom: 8px; }
.single-content img { max-width: 100%; height: auto; display: block; margin: 28px auto; border-radius: 4px; }
.single-content figure { margin: 28px 0; }
.single-content figure img { margin: 0 auto; }
.single-content figcaption { font-size: 13px; color: var(--color-secondary-text); text-align: center; margin-top: 8px; }
.single-content blockquote {
    margin: 28px 0;
    padding: 20px 24px;
    border-left: 4px solid var(--color-accent);
    background: var(--color-light-accent);
    font-size: 20px;
    font-style: italic;
    color: var(--color-secondary-text);
}
.single-content blockquote p { margin: 0; }
/* Video embeds within content */
.single-content .wp-block-embed__wrapper,
.single-content .embed-responsive {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}
.single-content .wp-block-embed__wrapper iframe,
.single-content .embed-responsive iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

/* ─── Article footer: tags + share + Google News ─── */
.single-article-footer { padding: 0 141px; }
.single-footer-bar {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--color-heading);
    border-bottom: 1px solid var(--color-heading);
    padding: 14px 0;
    margin-top: 40px;
    gap: 20px;
}
.single-footer-bar__tags {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
    flex: 1;
    min-width: 0;
}
.single-footer-bar__label {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    color: var(--color-heading);
    text-transform: uppercase;
    white-space: nowrap;
    line-height: 28px;
}
.single-tag {
    display: inline-flex;
    align-items: center;
    height: 28px;
    padding: 0 9px;
    border: 1px solid var(--color-heading);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    color: var(--color-heading);
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    transition: color 0.15s, border-color 0.15s;
}
.single-tag:hover { color: var(--color-accent); border-color: var(--color-accent); }
.single-footer-bar__share {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}
@media (max-width: 600px) {
    .single-footer-bar { flex-direction: column; gap: 12px; }
    .single-footer-bar__share { padding-top: 0; }
}
.single-share-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-heading);
    text-decoration: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: color 0.15s;
}
.single-share-icon:hover { color: var(--color-accent); }
/* ── Article video embed (YouTube/Vimeo/etc. from meta field) ── */
.single-article-video {
    background: #000;
    margin: 0;
}
.single-article-video__inner {
    max-width: 1110px;
    margin: 0 auto;
    position: relative;
    aspect-ratio: 16 / 9;
}
.single-article-video__inner iframe,
.single-article-video__inner video,
.single-article-video__inner object {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    border: none;
}

/* ── Glomex player ── */
.ian-glomex-wrap {
    max-width: 1110px;
    margin: 0 auto;
    background: #000;
}
.ian-glomex-wrap glomex-integration {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
}

/* ── Taboola placement ── */
.ian-taboola-placement {
    margin: 0;
    padding: 0;
}

/* Google News pill */
.single-gnews {
    display: flex;
    justify-content: center;
    margin: 32px 0 0;
    padding: 0 16px;
}
.single-gnews__pill {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    background: var(--color-heading);
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    text-decoration: none;
    padding: 0 32px;
    height: 63px;
    border-radius: 0;
    transition: opacity 0.2s;
    line-height: 1.3;
}
.single-gnews__pill strong { font-weight: 700; }
.single-gnews__pill:hover { opacity: 0.85; color: #fff; }
.single-gnews__text { flex: 1; min-width: 0; }

/* ─── Comments section ─── */
.single-comments-section {
    margin-top: 60px;
    padding-top: 48px;
    border-top: 1px solid var(--color-light-accent);
}
.single-comments-inner {
    width: 1110px;
    margin-left: 405px;
}
/* WP comment form — grid layout */
.single-comments-inner #respond { margin-bottom: 48px; }
.single-comments-inner .comment-reply-title {
    font-family: var(--font-heading);
    font-size: 26px;
    font-weight: 900;
    color: var(--color-heading);
    margin: 0 0 20px;
}
.single-comments-inner #commentform {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
/* ── Comments (custom template) ──────────────────────────────── */
.ian-comments {
    max-width: 1110px;
    margin: 0 auto;
    padding: 48px 24px 64px;
}
/* Header */
.ian-comments__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}
.ian-comments__label {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--color-secondary-text);
    text-transform: uppercase;
    margin: 0 0 4px;
}
.ian-comments__title {
    font-family: var(--font-heading);
    font-size: 28px;
    font-weight: 900;
    color: var(--color-heading);
    margin: 0;
}
.ian-comments__sort { display: flex; gap: 8px; padding-bottom: 4px; }
.ian-comments__sort-btn {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    border: 1px solid var(--color-borders);
    background: #fff;
    color: var(--color-secondary-text);
    padding: 6px 14px;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}
.ian-comments__sort-btn--active,
.ian-comments__sort-btn:hover { border-color: var(--color-heading); color: var(--color-heading); }
.ian-comments__divider { border: none; border-top: 1px solid var(--color-borders); margin: 0 0 32px; }

/* Comment list */
.ian-comment-list { list-style: none; margin: 0 0 40px; padding: 0; }
.ian-comment { padding: 20px 0; border-top: 1px solid var(--color-light-accent); }
.ian-comment__inner { display: flex; gap: 14px; }
.ian-comment__avatar { flex-shrink: 0; }
.ian-comment__avatar-img { border-radius: 50%; display: block; }
.ian-comment__body { flex: 1; min-width: 0; }
.ian-comment__meta { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; flex-wrap: wrap; }
.ian-comment__author { font-weight: 700; font-size: 15px; color: var(--color-heading); }
.ian-comment__date { font-size: 13px; color: var(--color-secondary-text); }
.ian-comment__text p { font-size: 15px; line-height: 1.65; color: var(--color-heading); margin: 0 0 8px; }
.comment-reply-link {
    font-size: 12px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.4px; color: var(--color-secondary-text); text-decoration: none;
}
.comment-reply-link:hover { color: var(--color-accent); }
.ian-comment__moderation { font-size: 13px; color: var(--color-secondary-text); font-style: italic; }
.ian-comment-list .children { list-style: none; padding-left: 58px; }

/* Comment form */
#commentform {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.comment-form-comment { grid-column: 1 / -1; position: relative; margin: 0; }
.comment-form-author,
.comment-form-email { margin: 0; }
.ian-cf-footer { grid-column: 1 / -1; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 4px; }
#commentform textarea,
#commentform input[type="text"],
#commentform input[type="email"] {
    width: 100%;
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--color-heading);
    border: 1px solid #d0d0d0;
    padding: 13px 16px;
    outline: none;
    background: #fff;
    box-sizing: border-box;
    border-radius: 2px;
    transition: border-color 0.15s;
}
#commentform textarea { resize: vertical; min-height: 130px; padding-bottom: 28px; }
#commentform textarea:focus,
#commentform input:focus { border-color: var(--color-accent); }
.comment-form-author label,
.comment-form-email label {
    display: block;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--color-heading);
    margin-bottom: 6px;
}
.ian-cf-note { font-weight: 400; text-transform: none; letter-spacing: 0; font-size: 11px; color: var(--color-secondary-text); }
.ian-cf-counter {
    position: absolute;
    bottom: 10px;
    right: 12px;
    font-size: 12px;
    color: var(--color-secondary-text);
    pointer-events: none;
}
.ian-cf-submit {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 48px;
    padding: 0 28px;
    background: var(--color-ink-navy);
    color: #fff;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    border: none;
    cursor: pointer;
    transition: background 0.15s;
    flex-shrink: 0;
}
.ian-cf-submit:hover { background: var(--color-accent); }
.ian-cf-legal { font-size: 13px; color: var(--color-secondary-text); margin: 0; }
.ian-cf-legal a { color: var(--color-secondary-text); text-decoration: underline; }
.ian-cf-legal a:hover { color: var(--color-accent); }
.ian-cf-loggedin { font-size: 13px; color: var(--color-secondary-text); margin: 0 0 16px; }
.ian-cf-loggedin a { color: var(--color-accent); text-decoration: underline; }

@media (max-width: 600px) {
    .ian-comments { padding: 32px 16px 48px; }
    .ian-comments__header { flex-direction: column; align-items: flex-start; }
    #commentform { grid-template-columns: 1fr; }
    .ian-cf-footer { flex-direction: column; align-items: flex-start; gap: 12px; }
    .ian-comment-list .children { padding-left: 24px; }
}

/* ─── Δείτε Επίσης ─── */
.single-related { padding: 48px 0 80px; }
.single-related__hdr { padding: 0 120px; margin-bottom: 32px; }
.single-related__heading {
    font-family: var(--font-heading);
    font-size: 26px;
    font-weight: 900;
    color: var(--color-heading);
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
}
.single-related__dot {
    display: inline-block;
    width: 21px; height: 21px;
    min-width: 21px;
    background: var(--color-accent);
    border-radius: 50%;
    flex-shrink: 0;
}
.single-related__line { height: 1px; background: var(--color-heading); }
.single-related__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
    padding: 0 120px;
}
.single-rel-card { display: flex; flex-direction: column; }
.single-rel-card__img-link {
    display: block;
    overflow: hidden;
    aspect-ratio: 399/280;
    background: var(--color-light-accent);
}
.single-rel-card__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.2s ease; }
.single-rel-card__img-link:hover .single-rel-card__img { transform: scale(1.03); }
.single-rel-card__no-img { width: 100%; height: 100%; background: var(--color-light-accent); }
.single-rel-card__body { padding-top: 14px; display: flex; flex-direction: column; gap: 8px; }
.single-rel-card__meta {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 20px;
}
.single-rel-card__tag { font-weight: 700; color: var(--color-ink-navy); text-transform: uppercase; text-decoration: none; }
.single-rel-card__tag:hover { text-decoration: underline; }
.single-rel-card__date { color: var(--color-secondary-text); }
.single-rel-card__title { font-family: var(--font-heading); font-size: 18px; font-weight: 900; line-height: 26px; color: var(--color-heading); margin: 0; }
.single-rel-card__title a { color: inherit; text-decoration: none; }
.single-rel-card__title a:hover { color: var(--color-accent); }

/* ════════════════════════════════════════════════════════════════
   ARTICLE PAGE — MOBILE RESPONSIVE (≤900px)
   Figma: node 469:591 "Article – Mobile" (390px frame)
   ════════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {

    /* Prevent any desktop fixed-width element from causing horizontal scroll */
    .single-wrap { overflow-x: hidden; max-width: 100vw; padding-bottom: 0; }

    /* ── Article header: hero fills container, title overlaid at bottom ── */
    .single-header {
        margin-left: 0;
        width: 100%;
        padding-top: 0;
        position: relative;
        height: 354px;
        overflow: hidden;
    }
    /* Hero becomes the background layer */
    .single-hero {
        position: absolute;
        top: 0; left: 0; right: 0; bottom: 0;
        width: 100%;
        height: 100%;
        z-index: 0;
    }
    /* Dark gradient overlay so white text is legible */
    .single-hero::after {
        content: '';
        position: absolute;
        bottom: 0; left: 0; right: 0;
        height: 75%;
        background: linear-gradient(to top, rgba(0,0,0,0.88) 0%, transparent 100%);
        z-index: 1;
        pointer-events: none;
    }
    /* Text block overlaid at bottom */
    .single-header__text {
        position: absolute;
        bottom: 0; left: 0; right: 0;
        z-index: 2;
        padding: 0 16px 20px;
    }
    .single-title {
        font-size: 22px;
        font-weight: 900;
        line-height: 30px;
        color: #f7f8f5;
        text-align: left;
        margin: 0;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    /* Intro text not shown on mobile (hero overlay design) */
    .single-intro { display: none; }

    /* ── 3-column grid → single column, sidebars hidden ── */
    .single-columns {
        grid-template-columns: 1fr;
        padding: 0;
        column-gap: 0;
    }
    .single-sidebar--left,
    .single-sidebar--right { display: none; }

    /* Lead paragraph below hero — bg-[#f7f8f5] block */
    .single-lead-mobile {
        display: block;
        background: #f7f8f5;
        padding: 25px 16px;
    }
    .single-lead-mobile p {
        font-family: var(--font-body);
        font-size: 19px;
        line-height: 28px;
        color: var(--color-heading);
        margin: 0;
    }

    /* Inline 320×100 ads between paragraphs */
    .single-inline-mobile-ad {
        display: flex;
        justify-content: center;
        padding: 8px 0 24px;
        width: 100%;
    }
    .single-inline-mobile-ad img,
    .single-inline-mobile-ad .ad-placeholder { max-width: 320px; width: 100%; }

    /* 300×250 after Google News, before comments */
    .single-after-gnews-ad {
        display: flex;
        justify-content: center;
        padding: 20px 16px 0;
    }
    .single-after-gnews-ad img,
    .single-after-gnews-ad .ad-placeholder { max-width: 300px; width: 100%; }

    /* ── Meta bar: CSS grid — cats top row, author+date bottom row (Figma 493:1138) ── */
    .single-meta-bar {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-areas: "cats cats" "author date";
        height: auto;
        padding: 18px 16px;
        margin-top: 0;
        gap: 14px 0;
        align-items: start;
        border-top: 1px solid #d9d9d9;
        border-bottom: 1px solid #d9d9d9;
    }
    .single-meta-bar__cats {
        grid-area: cats;
        order: unset;
        width: auto;
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: none;
        gap: 10px;
    }
    /* Category pill: bg instead of border (Figma style) */
    .single-meta-bar__cat-box {
        background: #e8eded;
        border: none;
        color: var(--color-ink-navy);
        height: auto;
        padding: 5px 10px;
        line-height: 20px;
    }
    .single-meta-bar__author {
        grid-area: author;
        order: unset;
        flex: unset;
        padding-left: 0;
        min-width: 0;
        gap: 10px;
    }
    .single-meta-bar__avatar { width: 45px; height: 45px; }
    /* Date + reading time: stacked, left-aligned within right column */
    .single-meta-bar__right {
        grid-area: date;
        order: unset;
        flex-direction: column;
        align-items: flex-start;
        gap: 3px;
        justify-content: center;
        padding-top: 2px;
    }
    .single-meta-bar__date,
    .single-meta-bar__reading { font-size: 12px; white-space: nowrap; }

    /* ── Article body ── */
    .single-content {
        padding: 35px 16px 0;
        font-size: 19px;
        line-height: 28px;
        overflow-x: hidden;
        max-width: 100%;
    }
    /* WordPress blocks & embeds that may have inline widths */
    .single-content figure,
    .single-content table,
    .single-content .wp-block-table,
    .single-content .wp-block-image,
    .single-content .wp-block-embed { max-width: 100%; overflow-x: auto; }
    .single-content figure img,
    .single-content .wp-block-image img { width: 100%; height: auto; }
    .single-content table { width: 100%; table-layout: fixed; word-break: break-word; }

    /* ── Footer: tags + share stacked ── */
    .single-article-footer { padding: 0 16px; }
    .single-footer-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    /* ── Google News: full-width dark banner ── */
    .single-gnews { padding: 10px 16px 25px; margin: 0; }
    .single-gnews__pill {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 14px;
        width: 100%;
        background: #1e2321;
        color: #fff;
        font-size: 14px;
        line-height: 24px;
        padding: 14px 16px;
        box-sizing: border-box;
        height: auto;
        border-radius: 0;
        text-decoration: none;
    }
    .single-gnews__pill svg { width: 25px; height: 25px; flex-shrink: 0; align-self: flex-start; margin-top: 2px; }
    .single-gnews__text { flex: 1; min-width: 0; }

    /* ── Comments section ── */
    .single-comments-section { margin-top: 32px; padding-top: 24px; }
    .single-comments-inner { width: 100%; margin-left: 0; }
    .ian-comments { padding: 24px 16px 40px; }
    .ian-comments__header { flex-direction: column; align-items: flex-start; }
    #commentform { grid-template-columns: 1fr; }
    .ian-cf-footer { flex-direction: column; align-items: stretch; gap: 12px; }
    .ian-cf-submit { width: 100%; justify-content: center; border-radius: 4px; }
    .ian-comment-list .children { padding-left: 24px; }

    /* ── Related articles: horizontal card list ── */
    .single-related { padding: 42px 0 42px; }
    .single-related__hdr { padding: 0 16px; margin-bottom: 20px; }
    .single-related__grid {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0 16px;
    }
    .single-rel-card {
        flex-direction: row;
        align-items: stretch;
        gap: 14px;
        padding: 16px 0;
        border-top: 1px solid var(--color-light-accent);
        min-height: 110px;
    }
    .single-rel-card:first-child { border-top: none; padding-top: 0; }
    .single-rel-card__img-link {
        width: 120px;
        min-width: 120px;
        height: 110px;
        aspect-ratio: unset;
        flex-shrink: 0;
    }
    .single-rel-card__body {
        padding-top: 0;
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        overflow: hidden;
    }
    .single-rel-card__title {
        font-size: 15px;
        line-height: 22px;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .single-rel-card__meta {
        font-size: 12px;
        gap: 6px;
        margin-bottom: 6px;
        flex-shrink: 0;
    }
}

/* ════════════════════════════════════════════════════════════════
   PUSH NOTIFICATION PROMPT — compact floating card (OneSignal-style)
   ════════════════════════════════════════════════════════════════ */
.ian-push-banner {
    position: fixed;
    top: 16px;
    left: 50%;
    transform: translateX(-50%) translateY(calc(-100% - 24px));
    z-index: 99999;
    background: #fff;
    color: var(--color-heading);
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px 14px 18px;
    width: calc(100% - 32px);
    max-width: 520px;
    border-radius: 8px;
    box-shadow: 0 4px 24px rgba(0,0,0,.18), 0 1px 4px rgba(0,0,0,.08);
    border-top: 3px solid var(--color-accent);
    transition: transform 0.40s cubic-bezier(0.34, 1.3, 0.64, 1),
                opacity 0.40s ease;
    opacity: 0;
}
.ian-push-banner.ian-push--visible {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}
.ian-push-banner__bell {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    background: var(--color-light-accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-accent);
}
.ian-push-banner__text {
    flex: 1;
    min-width: 0;
}
.ian-push-banner__title {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 2px;
    color: var(--color-heading);
}
.ian-push-banner__sub {
    font-family: var(--font-body);
    font-size: 12px;
    color: var(--color-secondary-text);
    margin: 0;
    line-height: 1.4;
}
.ian-push-banner__actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
    align-items: center;
}
.ian-push-banner__btn {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    padding: 8px 16px;
    border-radius: 4px;
    transition: background .15s;
    white-space: nowrap;
}
.ian-push-banner__btn--allow {
    background: var(--color-accent);
    color: #fff;
}
.ian-push-banner__btn--allow:hover { background: #7a3049; }
.ian-push-banner__btn--deny {
    background: var(--color-light-accent);
    color: var(--color-secondary-text);
}
.ian-push-banner__btn--deny:hover { background: var(--color-secondary-bg); }
.ian-push-banner__close {
    background: none;
    border: none;
    color: var(--color-secondary-text);
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
    padding: 2px 4px;
    flex-shrink: 0;
    transition: color .15s;
}
.ian-push-banner__close:hover { color: var(--color-heading); }

/* Mobile: full width, top of screen */
@media (max-width: 600px) {
    .ian-push-banner {
        top: 16px;
        bottom: auto;
        left: 16px;
        right: 16px;
        width: auto;
        max-width: none;
        transform: translateX(0) translateY(calc(-100% - 24px));
        opacity: 0;
        flex-wrap: wrap;
        gap: 10px;
    }
    .ian-push-banner.ian-push--visible {
        transform: translateX(0) translateY(0);
        opacity: 1;
    }
    .ian-push-banner__bell { display: none; }
    .ian-push-banner__text { flex-basis: calc(100% - 32px); }
    .ian-push-banner__actions { width: 100%; justify-content: flex-end; }
    .ian-push-banner__close { position: absolute; top: 10px; right: 12px; }
}

/* ── Newsletter message ────────────────────────────────────────── */
.ian-nl-msg {
    font-size: 13px;
    line-height: 1.4;
    margin-top: 10px;
    padding: 8px 12px;
    border-radius: 4px;
    font-weight: 600;
}
.ian-nl-msg--ok {
    background: #e8f5e9;
    color: #2e7d32;
}
.ian-nl-msg--err {
    background: #fdecea;
    color: #b71c1c;
}
/* Footer variant — white text on dark bg */
.site-footer__nl-msg {
    background: transparent;
    padding: 6px 0;
    border-radius: 0;
}
.site-footer__nl-msg.ian-nl-msg--ok  { color: #81c784; }
.site-footer__nl-msg.ian-nl-msg--err { color: #ef9a9a; }

/* ── Scroll to top ─────────────────────────────────────────────── */
.ian-scroll-top {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 9000;
    width: 46px;
    height: 46px;
    background: var(--color-accent);
    color: #fff;
    border: none;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease, background 0.2s ease;
    box-shadow: 0 4px 14px rgba(0,0,0,.22);
}
.ian-scroll-top--visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.ian-scroll-top:hover { background: #7a3049; }
@media (max-width: 600px) {
    .ian-scroll-top { bottom: 20px; right: 16px; width: 42px; height: 42px; }
}

/* ═══════════════════════════════════════════════════════════════
   Static pages (page.php)
   ═══════════════════════════════════════════════════════════════ */
.static-wrap {
    max-width: 860px;
    margin: 0 auto;
    padding: 40px 24px 80px;
    box-sizing: border-box;
}
.static-title {
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 700;
    color: var(--color-text);
    line-height: 1.25;
    margin: 0 0 8px;
    border-bottom: 3px solid var(--color-accent);
    padding-bottom: 16px;
}
.static-content {
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.75;
    color: #333;
    margin-top: 28px;
}
.static-content h2 {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--color-text);
    margin: 36px 0 10px;
    padding-left: 10px;
    border-left: 3px solid var(--color-accent);
}
.static-content h3 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-text);
    margin: 24px 0 6px;
}
.static-content p { margin: 0 0 14px; }
.static-content ul, .static-content ol { margin: 0 0 14px; padding-left: 24px; }
.static-content li { margin-bottom: 6px; }
.static-content a { color: var(--color-accent); text-decoration: underline; }
.static-content a:hover { opacity: 0.8; }
.static-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 0.875rem;
}
.static-content table th,
.static-content table td {
    padding: 10px 14px;
    text-align: left;
    border: 1px solid #e0e0e0;
}
.static-content table th {
    background: #f5f5f5;
    font-weight: 700;
    white-space: nowrap;
}
.static-content table tr:nth-child(even) td { background: #fafafa; }
/* cookie tables scrollable on narrow screens */
.static-content .cookie-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 20px 0;
}

@media (max-width: 600px) {
    .static-wrap { padding: 24px 16px 64px; }
    .static-title { font-size: 1.5rem; }
    .static-content { font-size: 0.9375rem; }
}

/* ═══════════════════════════════════════════════════════════════
   404 page
   ═══════════════════════════════════════════════════════════════ */
.error404-wrap { max-width: 1110px; margin: 0 auto; padding: 0 24px 80px; box-sizing: border-box; }

/* Hero */
.error404-hero {
    text-align: center;
    padding: 72px 24px 64px;
    border-bottom: 1px solid #e8e8e8;
    margin-bottom: 56px;
}
.error404-code {
    display: block;
    font-family: var(--font-heading);
    font-size: clamp(80px, 15vw, 140px);
    font-weight: 900;
    line-height: 1;
    color: var(--color-accent);
    opacity: .18;
    letter-spacing: -4px;
    margin-bottom: -16px;
}
.error404-title {
    font-family: var(--font-heading);
    font-size: clamp(1.5rem, 4vw, 2.25rem);
    font-weight: 900;
    color: var(--color-heading);
    margin: 0 0 14px;
}
.error404-desc {
    font-size: 1.0625rem;
    color: #666;
    margin: 0 0 32px;
}
.error404-btn {
    display: inline-block;
    padding: 13px 32px;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-body);
    font-size: 0.9375rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: 3px;
    transition: opacity .15s;
}
.error404-btn:hover { opacity: .85; color: #fff; }

/* Recent articles section */
.error404-recent__hdr { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; }
.error404-recent__heading {
    font-family: var(--font-heading);
    font-size: 1.0625rem;
    font-weight: 900;
    color: var(--color-heading);
    white-space: nowrap;
    margin: 0;
}
.error404-recent__dot {
    display: inline-block;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--color-accent);
    margin-left: 6px;
    vertical-align: middle;
}
.error404-recent__line { flex: 1; height: 2px; background: var(--color-accent); }
.error404-recent__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

/* Card */
.error404-card { display: flex; flex-direction: column; gap: 10px; }
.error404-card__img-link { display: block; overflow: hidden; border-radius: 2px; aspect-ratio: 16/9; background: #e8e8e8; }
.error404-card__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.error404-card__img-link:hover .error404-card__img { transform: scale(1.04); }
.error404-card__no-img { width: 100%; height: 100%; background: #d5d5d5; }
.error404-card__body { display: flex; flex-direction: column; gap: 6px; }
.error404-card__cat {
    font-family: var(--font-body);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: .06em;
    color: var(--color-accent);
    text-decoration: none;
    text-transform: uppercase;
}
.error404-card__title {
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
}
.error404-card__title a { color: var(--color-heading); text-decoration: none; }
.error404-card__title a:hover { color: var(--color-accent); }
.error404-card__date { font-size: 0.75rem; color: #888; }

@media (max-width: 900px) {
    .error404-recent__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .error404-wrap { padding: 0 16px 64px; }
    .error404-hero { padding: 48px 0 48px; }
    .error404-recent__grid { grid-template-columns: 1fr 1fr; gap: 16px; }
    .error404-card__title { font-size: 0.875rem; }
}
