/* Вътрешни страници — docs/inner-pages-design.md. Без слоеве (@layer), за да не губи от глобалните стилове на WordPress. */

/* ── Заглавна зона ── */
.page-head--inner {
  background:
    radial-gradient(60rem 18rem at 100% 0%, color-mix(in srgb, var(--c-primary-50) 90%, transparent), transparent 70%),
    var(--c-surface);
  padding-block: var(--s-5) var(--s-7);
}
.page-head--inner .breadcrumbs ol { margin-block-end: var(--s-6); }
.page-eyebrow {
  display: flex; align-items: center; gap: var(--s-3); margin: 0 0 var(--s-3);
  font-size: 0.875rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--c-primary-600);
}
.page-eyebrow::before { content: ""; inline-size: 1.75rem; block-size: 3px; border-radius: 2px; background: var(--c-flag-green); }
.page-eyebrow a { color: inherit; text-decoration: none; }
.page-eyebrow a:hover { text-decoration: underline; }
.page-head--inner .page-title { font-size: var(--fs-2xl); line-height: var(--lh-tight); max-inline-size: 28ch; margin: 0; text-wrap: balance; }
.page-head--article .page-title { font-size: clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem); max-inline-size: 34ch; }
.page-meta { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); list-style: none; padding: 0; margin: var(--s-4) 0 0; color: var(--c-muted); font-size: var(--fs-sm); }
.page-meta li { display: inline-flex; align-items: center; gap: var(--s-2); }
.page-meta .icon { inline-size: 1.05rem; block-size: 1.05rem; color: var(--c-primary-600); }
.page-head--inner .lead { font-size: var(--fs-lg); color: var(--c-ink-2); max-inline-size: 60ch; margin-block-start: var(--s-3); }

.section--inner { padding-block: var(--s-6) var(--s-9); }

/* ── Страница: навигация в раздела + съдържание ── */
.layout-page { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-5); }
.layout-page__main { min-inline-size: 0; display: flex; flex-direction: column; gap: var(--s-6); }
.layout-page > *, .layout-article > *, .layout-page__main > *, .layout-article__aside > * { margin-block: 0; } /* разстоянията идват от gap — скритите блокове не оставят дупки */
.layout-page__nav:not(:has(.section-nav)) { display: none; }
@media (min-width: 60em) {
  .layout-page { grid-template-columns: 17.5rem minmax(0, 1fr); gap: var(--s-7); align-items: start; }
  .layout-page:not(:has(.section-nav)) { grid-template-columns: minmax(0, 1fr); }
  .layout-page__nav { position: sticky; inset-block-start: calc(var(--header-h) + var(--s-4)); }
}

.section-nav { background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--r-md); }
.section-nav > summary { display: none; }
.section-nav__title { margin: 0; }
.section-nav__title a {
  display: block; padding: var(--s-4) var(--s-4) var(--s-3); border-block-end: 1px solid var(--c-line);
  font-family: var(--ff-display); font-weight: 800; font-size: 1.15rem; line-height: var(--lh-snug); color: var(--c-ink); text-decoration: none;
}
.section-nav__title a:hover { color: var(--c-primary); }
.section-nav ul { list-style: none; margin: 0; padding: var(--s-2); }
.section-nav li a {
  display: block; padding: 0.55rem var(--s-3); border-radius: var(--r-sm);
  color: var(--c-ink-2); text-decoration: none; line-height: var(--lh-snug); font-size: 0.98rem;
}
.section-nav li a:hover { background: var(--c-primary-50); color: var(--c-primary); }
.section-nav a[aria-current="page"] { background: var(--c-primary-50); color: var(--c-primary); font-weight: 700; box-shadow: inset 3px 0 0 var(--c-primary); }
.section-nav__group { margin: var(--s-3) var(--s-3) var(--s-1); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--c-muted); }
.section-nav__group:first-child { margin-block-start: var(--s-1); }
.section-nav li ul { padding: var(--s-1) 0 var(--s-2) var(--s-4); }
.section-nav li ul a { font-size: 0.92rem; padding-block: 0.4rem; }
.section-nav--long nav > ul { position: relative; max-block-size: min(60vh, 34rem); overflow-y: auto; overscroll-behavior: contain; }
@media (max-width: 59.99em) {
  .section-nav > summary {
    display: flex; align-items: center; gap: var(--s-3); min-block-size: 3rem; padding: var(--s-2) var(--s-4);
    cursor: pointer; list-style: none; font-size: var(--fs-sm); color: var(--c-ink-2);
  }
  .section-nav > summary::-webkit-details-marker { display: none; }
  .section-nav > summary > span { flex: 1; min-inline-size: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .section-nav > summary b { color: var(--c-ink); }
  .section-nav > summary .icon { inline-size: 1.25rem; block-size: 1.25rem; flex: none; }
  .section-nav > summary .icon:last-child { transition: transform var(--dur) var(--ease); }
  .section-nav[open] > summary { border-block-end: 1px solid var(--c-line); }
  .section-nav[open] > summary .icon:last-child { transform: rotate(180deg); }
  .section-nav__title { display: none; }
}

/* ── Карта със съдържание ── */
.content-card {
  max-inline-size: 54rem; background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--r-lg);
  padding: clamp(1.25rem, 0.6rem + 3vw, 3rem); box-shadow: var(--shadow-1);
}
.content-card:not(:has(.prose > *)) { display: none; } /* празни „хъб“ страници показват само подстраниците */
.info-card { max-inline-size: 54rem; }
.info-card:not(:has(dl, .callout)) { display: none; }
.info-card .meta-list { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.info-card .meta-list div { border-inline-end: 1px solid var(--c-line); }

/* ── Текст ── */
.prose { line-height: 1.7; }
.prose > :first-child { margin-block-start: 0; }
.prose a { color: var(--c-primary-600); text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
.prose a:hover { text-decoration-thickness: 2px; }
.prose .is-lead { font-size: var(--fs-lg); line-height: 1.55; color: var(--c-ink); font-weight: 500; }
.prose .p-heading { font-family: var(--ff-display); font-size: 1.3rem; line-height: var(--lh-snug); color: var(--c-ink); margin-block-start: var(--s-6); }
.prose .p-heading strong, .prose .p-heading b { font-weight: 800; }
.prose > :first-child, .prose > .p-heading:first-child { margin-block-start: 0; }
.prose blockquote { margin-inline: 0; padding: var(--s-2) 0 var(--s-2) var(--s-5); border-inline-start: 4px solid var(--c-primary); color: var(--c-ink-2); font-style: italic; }
.prose img { block-size: auto; border-radius: var(--r-md); }
.prose hr { border: 0; border-block-start: 1px solid var(--c-line); margin-block: var(--s-6); }
.prose--article { max-inline-size: none; }

.file-link::before {
  content: attr(data-ext); display: inline-block; margin-inline-end: 0.4em; padding: 0.05em 0.4em; border-radius: 4px;
  font-size: 0.7em; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; vertical-align: 0.15em;
  background: var(--c-primary-50); color: var(--c-primary);
}
.file-link[data-ext="pdf"]::before { background: var(--c-danger-50); color: var(--c-danger); }
.file-link:is([data-ext="xls"], [data-ext="xlsx"], [data-ext="ods"], [data-ext="csv"])::before { background: var(--c-success-50); color: var(--c-success); }
.file-link:is([data-ext="zip"], [data-ext="rar"], [data-ext="7z"])::before { background: var(--c-warn-50); color: var(--c-warn); }

.table-wrap { overflow-x: auto; margin-block: var(--s-5); border: 1px solid var(--c-line); border-radius: var(--r-md); background: var(--c-surface); }
.table-wrap:focus-visible { outline: 3px solid var(--c-focus); outline-offset: 2px; }
.table-wrap table { inline-size: 100% !important; block-size: auto !important; border-collapse: collapse; font-size: 0.95rem; line-height: 1.45; }
.table-wrap :is(td, th) { padding: 0.6rem 0.8rem; border: 0; border-block-end: 1px solid var(--c-line); text-align: start; vertical-align: top; }
.table-wrap th, .table-wrap thead td { background: var(--c-primary-50); font-weight: 700; }
.table-wrap tbody tr:nth-child(even) td { background: color-mix(in srgb, var(--c-canvas) 70%, transparent); }
.table-wrap tr:last-child td { border-block-end: 0; }
.table-wrap td p { margin: 0; }

.embed { aspect-ratio: 16 / 9; margin-block: var(--s-5); }
.embed iframe { inline-size: 100%; block-size: 100%; border: 0; border-radius: var(--r-md); }

/* ── Снимки и галерии ── */
.sb-figure { margin: var(--s-5) 0; }
.sb-figure a { display: block; cursor: zoom-in; }
.sb-figure img { inline-size: 100%; border-radius: var(--r-md); }
.sb-figure figcaption, .featured-media figcaption { margin-block-start: var(--s-2); font-size: var(--fs-sm); color: var(--c-muted); }
.sb-figure--logo img { inline-size: auto; max-inline-size: 100%; max-block-size: 7rem; border-radius: 0; }
.sb-gallery { margin-block: var(--s-6); }
.sb-gallery__count { display: flex; align-items: center; gap: var(--s-2); margin: 0 0 var(--s-2); font-size: var(--fs-sm); font-weight: 600; color: var(--c-muted); }
.sb-gallery__count .icon { inline-size: 1.1rem; block-size: 1.1rem; }
.sb-gallery ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(6rem, 12vw, 9rem); grid-auto-flow: dense; gap: var(--s-2); list-style: none; padding: 0; margin: 0; }
.sb-gallery[data-count="2"] ul { grid-template-columns: 1fr 1fr; grid-auto-rows: clamp(9rem, 22vw, 16rem); }
.sb-gallery[data-count="3"] ul { grid-template-columns: 2fr 1fr; }
.sb-gallery:not([data-count="2"]) li:first-child { grid-column: span 2; grid-row: span 2; }
.sb-gallery[data-count="3"] li:first-child { grid-column: span 1; }
@media (max-width: 39.99em) { .sb-gallery:not([data-count="2"], [data-count="3"]) ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.prose .sb-gallery li { display: block; margin: 0; min-block-size: 0; block-size: 100%; }
.sb-gallery a { display: block; block-size: 100%; overflow: hidden; border-radius: var(--r-sm); background: var(--c-primary-50); cursor: zoom-in; }
.prose .sb-gallery img { display: block; inline-size: 100%; block-size: 100%; max-inline-size: none; object-fit: cover; border-radius: 0; }
@media (prefers-reduced-motion: no-preference) {
  .sb-gallery img { transition: transform 300ms var(--ease); }
  .sb-gallery a:hover img { transform: scale(1.04); }
}
.featured-media { margin: 0 0 var(--s-6); }
.featured-media img { inline-size: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--r-lg); }

/* Увеличен изглед (theme.js) */
.lightbox { padding: 0; border: 0; inline-size: 100vw; block-size: 100dvh; max-inline-size: none; max-block-size: none; background: rgb(6 18 24 / 0.95); color: #fff; }
.lightbox::backdrop { background: transparent; }
.lightbox[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.lightbox__bar { display: flex; justify-content: space-between; align-items: center; padding: var(--s-3) var(--s-4); font-size: var(--fs-sm); }
.lightbox__stage { position: relative; display: grid; place-items: center; min-block-size: 0; }
.lightbox__img { max-inline-size: 94vw; max-block-size: 100%; object-fit: contain; border-radius: var(--r-sm); }
.lightbox__cap { margin: 0; padding: var(--s-3) var(--s-4) var(--s-5); text-align: center; color: #d6e2e6; font-size: var(--fs-sm); min-block-size: 1.5em; }
.lightbox button { display: inline-flex; align-items: center; justify-content: center; min-inline-size: 3rem; min-block-size: 3rem; border: 0; border-radius: var(--r-pill); background: rgb(255 255 255 / 0.12); color: #fff; cursor: pointer; }
.lightbox button:hover { background: rgb(255 255 255 / 0.22); }
.lightbox button .icon { inline-size: 1.5rem; block-size: 1.5rem; }
.lightbox__prev, .lightbox__next { position: absolute; inset-block-start: 50%; translate: 0 -50%; }
.lightbox__prev { inset-inline-start: var(--s-3); }
.lightbox__next { inset-inline-end: var(--s-3); }
.lightbox__prev .icon { rotate: 90deg; }
.lightbox__next .icon { rotate: -90deg; }

/* ── Новина / събитие: текст + странична колона ── */
.layout-article { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-7); }
.layout-article__main { min-inline-size: 0; max-inline-size: 46rem; }
@media (min-width: 64em) {
  .layout-article { grid-template-columns: minmax(0, 1fr) 19rem; gap: var(--s-8); align-items: start; }
  .layout-article__aside { position: sticky; inset-block-start: calc(var(--header-h) + var(--s-4)); }
}
.layout-article__aside { display: grid; gap: var(--s-5); align-content: start; }
.layout-article__aside:not(:has(*)) { display: none; }

.share { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3) var(--s-4); margin-block-start: var(--s-7); padding-block-start: var(--s-5); border-block-start: 1px solid var(--c-line); }
.share__title { margin: 0; font-weight: 700; }
.share__row { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.share .btn-icon { text-decoration: none; font-size: var(--fs-sm); }
.layout-article__aside .share { margin: 0; padding: var(--s-4) var(--s-5); border: 1px solid var(--c-line); border-radius: var(--r-md); background: var(--c-surface); }

.latest { background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--r-md); padding: var(--s-5); }
.latest__title { font-size: 1.15rem; margin: 0 0 var(--s-2); }
.latest ol { list-style: none; margin: 0; padding: 0; }
.latest li { display: grid; gap: 2px; padding-block: var(--s-3); border-block-start: 1px solid var(--c-line); }
.latest li:first-child { border-block-start: 0; }
.latest time { font-size: 0.85rem; color: var(--c-muted); }
.latest a { color: var(--c-ink); font-weight: 600; line-height: var(--lh-snug); text-decoration: none; font-size: 0.98rem; }
.latest a:hover { color: var(--c-primary); text-decoration: underline; }

.event-card { background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--r-lg); overflow: hidden; }
.event-card .meta-list { border: 0; border-radius: 0; }
.event-date { display: grid; justify-items: center; gap: 2px; padding: var(--s-5); background: var(--c-primary); color: var(--c-on-primary); text-align: center; }
.event-date__m { font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.9rem; }
.event-date__d { font-family: var(--ff-display); font-weight: 800; font-size: 3.75rem; line-height: 1; }
.event-date__y { font-weight: 600; opacity: 0.85; }
.event-date__w { margin-block-start: var(--s-2); font-size: var(--fs-sm); opacity: 0.85; }
.event-date--past { background: var(--c-ink-2); }

/* ── Подстраници като карти ── */
.subpages { max-inline-size: none; }
.subpage-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr)); gap: var(--s-4); list-style: none; padding: 0; margin: 0; }
.subpage-card {
  position: relative; display: flex; flex-direction: column; gap: var(--s-2); margin: 0;
  padding: var(--s-5) var(--s-7) var(--s-5) var(--s-5); background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--r-md);
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.subpage-card:hover { border-color: var(--c-primary); box-shadow: var(--shadow-1); }
.subpage-card:has(a:focus-visible) { outline: 3px solid var(--c-focus); outline-offset: 2px; }
.subpage-card h3 { font-family: var(--ff-body); font-size: 1.0625rem; line-height: var(--lh-snug); letter-spacing: 0; margin: 0; }
.subpage-card h3 a { color: var(--c-ink); text-decoration: none; }
.subpage-card h3 a::after { content: ""; position: absolute; inset: 0; }
.subpage-card h3 a:focus-visible { outline: 0; }
.subpage-card p { margin: 0; font-size: 0.93rem; color: var(--c-ink-2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.subpage-card__kind { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--c-primary-600); }
.subpage-card__arrow { position: absolute; inset-inline-end: var(--s-4); inset-block-start: var(--s-5); inline-size: 1.25rem; block-size: 1.25rem; color: var(--c-primary); transition: transform var(--dur) var(--ease); }
.subpage-card:hover .subpage-card__arrow { transform: translateX(3px); }

/* ── Новини: карти, водеща, инструменти, страници ── */
.news-grid-3 { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: var(--s-5); }
.news-tile {
  position: relative; display: grid; grid-template-rows: auto 1fr; overflow: hidden;
  background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--r-lg);
  transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.news-tile:hover { box-shadow: var(--shadow-2); }
@media (prefers-reduced-motion: no-preference) { .news-tile:hover { transform: translateY(-2px); } }
.news-tile:has(a:focus-visible) { outline: 3px solid var(--c-focus); outline-offset: 2px; }
.card-media { aspect-ratio: 16 / 9; overflow: hidden; background: var(--c-primary-50); }
.card-media img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.card-media--ph {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--s-2);
  background:
    radial-gradient(circle at 50% 40%, var(--c-surface) 0 18%, transparent 60%),
    linear-gradient(135deg, var(--c-primary-50), color-mix(in srgb, var(--c-flag-green) 12%, var(--c-surface)));
}
.card-media--ph img { inline-size: auto; block-size: 46%; object-fit: contain; opacity: 0.9; }
.card-media--ph span { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-primary); }
.news-tile__body { display: grid; gap: var(--s-2); align-content: start; padding: var(--s-4) var(--s-5) var(--s-5); }
.news-tile__meta { display: flex; flex-wrap: wrap; gap: var(--s-1) var(--s-3); margin: 0; font-size: 0.85rem; color: var(--c-muted); }
.news-tile__meta span { color: var(--c-primary-600); font-weight: 700; }
.news-tile__title { font-family: var(--ff-body); font-size: 1.125rem; line-height: var(--lh-snug); letter-spacing: 0; margin: 0; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.news-tile__title a { color: var(--c-ink); text-decoration: none; }
.news-tile__title a::after { content: ""; position: absolute; inset: 0; }
.news-tile__title a:focus-visible { outline: 0; }
.news-tile:hover .news-tile__title a { color: var(--c-primary); }
.news-tile__sum { margin: 0; color: var(--c-ink-2); font-size: 0.97rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.news-tile.lead { margin-block-end: var(--s-6); }
@media (min-width: 48em) {
  .news-tile.lead { grid-template-columns: 1.35fr 1fr; grid-template-rows: auto; }
  .news-tile.lead .card-media { aspect-ratio: 16 / 10; }
  .news-tile.lead .news-tile__body { align-content: center; padding: var(--s-6) var(--s-7); }
  .news-tile.lead .news-tile__title { font-family: var(--ff-display); font-size: var(--fs-xl); -webkit-line-clamp: 5; }
  .news-tile.lead .news-tile__sum { -webkit-line-clamp: 5; font-size: 1.05rem; }
}

.news-tools { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--s-4); margin-block-end: var(--s-6); }
.news-tools .chip-row { margin: 0; }
a.chip { display: inline-flex; align-items: center; text-decoration: none; }
.chip[aria-current="page"] { background: var(--c-primary); color: var(--c-on-primary); border-color: var(--c-primary); }
.news-search { display: flex; gap: var(--s-2); flex: 0 1 22rem; }
.news-search input { flex: 1; min-inline-size: 0; min-block-size: 3rem; padding: 0 var(--s-4); border: 1px solid var(--c-border); border-radius: var(--r-sm); background: var(--c-surface); font: inherit; color: var(--c-ink); }
.news-search .btn { min-inline-size: 3rem; padding-inline: var(--s-3); }

.pager ul { display: flex; flex-wrap: wrap; gap: var(--s-2); list-style: none; padding: 0; margin: var(--s-7) 0 0; }
.pager li > :is(a, span) {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2); min-inline-size: 2.75rem; min-block-size: 2.75rem; padding: 0 var(--s-3);
  border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font-weight: 600; text-decoration: none;
}
.pager a:hover { border-color: var(--c-primary); color: var(--c-primary); }
.pager .current { background: var(--c-primary); border-color: var(--c-primary); color: var(--c-on-primary); }
.pager li > .dots { border: 0; background: none; }
.pager .icon { inline-size: 1.1rem; block-size: 1.1rem; }
.pager .prev .icon { rotate: 90deg; }
.pager .next .icon { rotate: -90deg; }
@media (max-width: 39.99em) { .pager :is(.prev, .next) span:not(.icon) { display: none; } }

@media print {
  .layout-page__nav, .layout-article__aside, .share, .section--tint, .news-tools, .pager { display: none !important; }
  .content-card { border: 0; box-shadow: none; padding: 0; }
}
