/* Дополнения к gb.css (концепт) для вывода Joomla: меню с подменю, языки, сообщения, пагинация, контент из редактора. */

/* ---------- меню: шапка ---------- */
.nav .menu{display:flex;align-items:center;gap:2px}
.nav .menu__item{position:relative}
.nav .menu>.menu__item>a,.nav .menu__toggle--label{display:flex;align-items:center;gap:4px;padding:10px 12px;border-radius:10px;font-size:.95rem;font-weight:700;color:var(--muted);text-decoration:none;background:none;border:0;transition:color .2s,background .2s}
.nav .menu>.menu__item>a:hover,.nav .menu__toggle--label:hover,.nav .has-sub.is-open>.menu__toggle--label{color:var(--text);background:rgba(255,255,255,.05)}
.nav .menu__item.is-active>a,.nav .menu__item.is-active>.menu__toggle--label{color:var(--text)}
.nav .menu__item.is-active>a::after,.nav .menu__item.is-active>.menu__toggle--label::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;background:var(--gold);border-radius:2px}
.nav .menu>.menu__item>a[aria-current="page"]::after{display:none}
.nav .has-sub{display:flex;align-items:center}
.nav .has-sub>a{padding-right:2px}
.nav .menu__toggle{background:none;border:0;color:var(--muted);padding:6px 4px;border-radius:8px;display:inline-flex;align-items:center}
.nav .menu__toggle svg{width:16px;height:16px;transition:transform .2s}
.nav .has-sub.is-open>.menu__toggle svg{transform:rotate(180deg)}
.nav .menu__sub{display:none;position:absolute;top:100%;left:0;min-width:240px;margin:0;padding:8px;list-style:none;background:var(--panel);border:1px solid var(--line2);border-radius:16px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);z-index:5}
.nav .has-sub.is-open>.menu__sub,.nav .has-sub:hover>.menu__sub,.nav .has-sub:focus-within>.menu__sub{display:block}
.nav .menu__sub a{display:block;padding:10px 14px;border-radius:10px;font-size:.95rem;font-weight:700;color:var(--muted);text-decoration:none}
.nav .menu__sub a:hover,.nav .menu__sub a[aria-current="page"]{color:var(--text);background:rgba(255,255,255,.06)}
.nav .menu__sub a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--gold)}
.nav .menu__label{display:block;padding:10px 12px;color:var(--muted);font-weight:700}

/* ---------- меню: мобильная панель ---------- */
.mnav .menu,.mnav .menu__sub{list-style:none;margin:0;padding:0}
.mnav .menu__item{border-bottom:1px solid var(--line)}
.mnav .menu>.menu__item>a,.mnav .menu__toggle--label,.mnav__home{display:block;font-family:var(--display);text-transform:uppercase;font-size:clamp(1.7rem,8vw,2.6rem);line-height:1.15;text-decoration:none;padding:6px 0;border:0;background:none;color:var(--text);text-align:left}
.mnav__home{border-bottom:1px solid var(--line)}
.mnav .menu a[aria-current="page"],.mnav__home[aria-current="page"]{color:var(--gold)}
.mnav .has-sub{display:grid;grid-template-columns:1fr auto;align-items:center}
.mnav .menu__toggle--label{display:flex;justify-content:space-between;align-items:center;width:100%;grid-column:1/-1}
.mnav .menu__toggle{background:none;border:0;color:var(--muted);padding:10px;display:inline-flex}
.mnav .menu__toggle svg{width:26px;height:26px;transition:transform .2s}
.mnav .has-sub.is-open>.menu__toggle svg{transform:rotate(180deg)}
.mnav .menu__sub{grid-column:1/-1;display:none;padding:0 0 12px 4px}
.mnav .has-sub.is-open>.menu__sub{display:block}
.mnav .menu__sub a{display:block;padding:8px 0;font-size:1.15rem;font-weight:700;color:var(--muted);text-decoration:none;border:0}
.mnav .menu__sub a[aria-current="page"]{color:var(--gold)}
.mnav__langs{margin-top:20px}

/* ---------- меню: подвал ---------- */
.ftr__nav .menu{list-style:none;margin:0;padding:0;display:grid;gap:22px}
@media (min-width:600px){.ftr__nav .menu{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ftr__nav .menu>.menu__item>a,.ftr__nav .menu__toggle--label{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:1rem;color:var(--muted);background:none;border:0;padding:0;text-decoration:none;display:inline-flex;gap:6px;align-items:center;pointer-events:none}
.ftr__nav .menu>.menu__item>a{pointer-events:auto}
.ftr__nav .menu__toggle{display:none}
.ftr__nav .menu__toggle--label{display:inline-flex}
.ftr__nav .menu__toggle--label svg{display:none}
.ftr__nav .menu__sub{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.ftr__nav .menu__sub a{color:var(--text);text-decoration:none}
.ftr__nav .menu__sub a:hover{color:var(--gold)}
@media (min-width:900px){.ftr__grid{grid-template-columns:1.2fr 1.6fr 1fr}}

/* ---------- языки ---------- */
.langs{display:flex;gap:2px;list-style:none;margin:0;padding:3px;border:1px solid var(--line2);border-radius:14px}
.langs a,.langs__cur{display:grid;place-items:center;min-width:38px;height:38px;padding:0 6px;border-radius:10px;font-weight:700;font-size:.85rem;text-decoration:none;color:var(--muted)}
.langs a:hover{color:var(--text);background:var(--sky-soft)}
.langs__cur{background:var(--text);color:var(--bg)}
.hdr__tools>.langs{display:none}
@media (min-width:720px){.hdr__tools>.langs{display:flex}}

/* ---------- системные сообщения ---------- */
.sysmsg:empty{display:none}
.sysmsg{position:relative;z-index:2;padding-top:calc(var(--hdr) + 16px)}
body.page-home .sysmsg{position:absolute;left:0;right:0}
.sysmsg joomla-alert,.sysmsg .alert{display:block;margin:0 0 12px;padding:14px 18px;border-radius:14px;border:1px solid var(--line2);background:var(--panel);color:var(--text)}
.sysmsg .alert-success,.sysmsg [type="success"]{border-color:#34d399}
.sysmsg .alert-danger,.sysmsg .alert-error,.sysmsg [type="danger"],.sysmsg [type="error"]{border-color:#f87171}
.sysmsg .alert-warning,.sysmsg [type="warning"]{border-color:var(--gold)}
.sysmsg .joomla-alert--close,.sysmsg .btn-close{float:right;background:none;border:0;color:inherit;font-size:1.4rem;line-height:1}
.sysmsg .alert-heading{display:none}
.sysmsg:has(joomla-alert,.alert)+.phero,.sysmsg:has(joomla-alert,.alert)+.article-hero,.sysmsg:has(joomla-alert,.alert)+*>.phero:first-child{padding-top:clamp(24px,4vw,52px)}

/* ---------- пагинация ---------- */
.pages{margin-top:40px}
.pages .pagination{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.pages .page-link{display:grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--line2);text-decoration:none;font-weight:700}
.sec--paper .pages .page-link{border-color:var(--ink-line)}
.pages .active .page-link{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.sec:not(.sec--paper) .pages .active .page-link{background:var(--text);color:var(--bg)}
.pages .disabled .page-link{opacity:.4}
.pages .icon-angle-left::before{content:"‹"}.pages .icon-angle-right::before{content:"›"}.pages .icon-angle-double-left::before{content:"«"}.pages .icon-angle-double-right::before{content:"»"}

/* ---------- контент из редактора ---------- */
.prose--wide{max-width:none}
.prose--wide>*{max-width:72ch}
.prose--wide>table,.prose--wide>.gallery,.prose--wide>.pgrid,.prose--wide>.dlist,.prose--wide>figure,.prose--wide>div{max-width:none}
.prose img{border-radius:12px;margin:1em 0}
.prose img[style*="float: left"],.prose img.pull-left,.prose img.float-start{float:left;margin:.3em 1.2em 1em 0;max-width:45%}
.prose img[style*="float: right"],.prose img.pull-right,.prose img.float-end{float:right;margin:.3em 0 1em 1.2em;max-width:45%}
.prose::after{content:"";display:table;clear:both}
.prose iframe{max-width:100%;border:0;border-radius:14px}
.prose iframe[src*="youtube"],.prose iframe[src*="vimeo"]{width:100%;height:auto;aspect-ratio:16/9}
.prose figure{margin:1.4em 0}
.prose figcaption{font-size:.9rem;color:var(--ink2);margin-top:6px}
.prose hr{border:0;border-top:1px solid var(--ink-line);margin:2em 0}
.prose blockquote{margin:1.6em 0;padding:20px 24px;border-radius:16px;background:#fff;border-left:4px solid var(--gold)}
.prose .gallery,.prose .pgrid,.prose .dlist{margin:1.6em 0}
.prose .drow,.prose .person{text-decoration:none;font-weight:400}
.prose .drow{color:var(--ink)}
.page-body .prose{font-size:1.06rem}
.page-people{margin-top:32px}
.page-body .page-people{grid-template-columns:repeat(2,1fr)}
@media (min-width:640px){.page-body .page-people{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.page-body .page-people{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1240px){.page-body .page-people{grid-template-columns:repeat(5,1fr)}}

/* Simple Image Gallery: запасной вид, пока не включён плагин галереи шаблона */
.sigFreeContainer{list-style:none;margin:1.4em 0;padding:0;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.sigFreeThumb{margin:0!important;width:auto!important;float:none!important}
.sigFreeLink{display:block;border-radius:12px;overflow:hidden;width:auto!important;height:auto!important;aspect-ratio:4/3}
.sigFreeImg{width:100%!important;height:100%!important;object-fit:cover;background-size:cover!important}
.sigFreeClear{display:none}

/* ---------- YouTube ---------- */
.yt{position:relative;aspect-ratio:16/9;background:#000;border-radius:inherit;overflow:hidden}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt__btn{all:unset;box-sizing:border-box;position:absolute;inset:0;cursor:pointer;display:block}
.yt__btn img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .3s}
.yt__btn:hover img{opacity:1}
.yt__btn:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.article-video{margin-bottom:32px;border-radius:var(--r-lg);overflow:hidden}
.video .video__img{border-radius:0}
.video__b a{text-decoration:none}
.video__b a:hover{text-decoration:underline}

/* ---------- карточки ---------- */
.tcard__faces--one{grid-template-columns:1fr}
.tgrid--list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.tgrid--list .tcard{min-height:320px}
a.album{text-decoration:none;color:inherit}

/* ---------- ошибка ---------- */
.page-error .phero{min-height:100vh}
.err__nav{margin-top:40px}
.err__nav .menu{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin:0;padding:0}
.err__nav .menu__sub,.err__nav .menu__toggle{display:none}
.err__nav a,.err__nav .menu__toggle--label{color:var(--muted);text-decoration:none;font-weight:700;background:none;border:0;padding:0}
.err__nav .menu__toggle--label{display:inline;pointer-events:none}
.err__nav .menu__toggle--label svg{display:none}
.err__debug{margin-top:40px;font-size:.8rem;overflow:auto}

/* ---------- контраст ---------- */
html.hc .nav .menu__sub,html.hc .langs__cur{background:#000;border-color:#ffe600}
html.hc .langs__cur{color:#ffe600;border:1px solid #ffe600}
html.hc .sysmsg joomla-alert,html.hc .sysmsg .alert{background:#000;border-color:#ffe600}

/* ---------- шапка: плотнее, чем в концепте (больше пунктов меню + языки) ---------- */
.a11y-btn span{display:none!important;white-space:nowrap}
@media (min-width:1640px){.a11y-btn span{display:inline!important}}
html[data-zoom] .a11y-btn span{display:none!important}
@media (min-width:1180px) and (max-width:1300px){.nav .menu>.menu__item>a,.nav .menu__toggle--label{padding:10px 8px;font-size:.9rem}}
