/*
 * Site pages: home (landing), news list, articles.
 * Rule: no Kunena selectors here. Forum styles live in forum.css.
 */
@layer site {

.yac-section { padding-block: clamp(64px, 10vw, 128px); }
.yac-section--flush-top { padding-top: 0; }
.yac-band { background: var(--yac-surface); }
.yac-kicker { color: var(--yac-link); font-weight: 750; font-size: .9rem; letter-spacing: .02em; margin: 0; }
.yac-head { text-align: center; max-width: 720px; margin: 0 auto clamp(40px, 6vw, 64px); }
.yac-head h2, .yac-h2 { font-size: clamp(1.9rem, 1.2rem + 2.6vw, 3rem); line-height: 1.1; letter-spacing: -.04em; font-weight: 800; margin: 8px 0 0; text-wrap: balance; }
.yac-head p { color: var(--yac-muted); margin: 14px 0 0; font-size: 1.1rem; }
.yac-center { text-align: center; margin-top: 36px; }

/* ---------- hero ---------- */
.yac-hero { text-align: center; padding-block: clamp(48px, 8vw, 104px) 0; }
.yac-hero__icon { width: clamp(88px, 12vw, 120px); height: auto; margin: 0 auto 28px; display: block; border-radius: 26%; box-shadow: 0 20px 50px var(--yac-glow); }
.yac-hero h1 { font-size: clamp(2.4rem, 1.4rem + 4.2vw, 4.4rem); line-height: 1.04; letter-spacing: -.045em; font-weight: 800; text-wrap: balance; max-width: 26ch; margin: 0 auto; }
.yac-hero__lead { font-size: clamp(1.08rem, 1rem + .5vw, 1.3rem); color: var(--yac-muted); max-width: 44ch; margin: 22px auto 0; text-wrap: pretty; }
.yac-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 34px; }
.yac-meta { margin: 16px 0 0; font-size: .92rem; color: var(--yac-muted); }
.yac-meta a { font-weight: 650; }
.yac-os-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px; margin-top: 28px; font-weight: 600; font-size: .95rem; }
.yac-os-row a { display: inline-flex; align-items: center; gap: 8px; color: var(--yac-muted); padding: 4px 2px; border-bottom: 2px solid transparent; }
.yac-os-row a:hover { color: var(--yac-text); border-bottom-color: var(--yac-accent); text-decoration: none; }
.yac-os-row .yac-icon { width: 1.35em; height: 1.35em; }
.yac-os-row .is-current a { color: var(--yac-text); }
.yac-hero__shot { margin: clamp(48px, 7vw, 80px) 0 0; position: relative; }
.yac-hero__shot::before { content: ""; position: absolute; inset: 10% 6% -4%; background: radial-gradient(closest-side, var(--yac-glow), transparent); filter: blur(40px); z-index: -1; }
.yac-hero__shot img { display: block; border-radius: var(--yac-radius-l); box-shadow: var(--yac-shadow-lg); border: 1px solid var(--yac-line); }

/* ---------- features ---------- */
.yac-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 4vw, 48px) clamp(24px, 3vw, 40px); }
.yac-features__ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: color-mix(in srgb, var(--yac-accent) 18%, var(--yac-bg)); color: var(--yac-link); margin-bottom: 16px; }
.yac-features h3 { font-size: 1.12rem; letter-spacing: -.01em; font-weight: 800; margin: 0 0 6px; }
.yac-features p { color: var(--yac-muted); margin: 0; }
@media (max-width: 880px) { .yac-features { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .yac-features { grid-template-columns: 1fr; } }

/* ---------- alternating rows ---------- */
.yac-rows { display: grid; gap: clamp(64px, 9vw, 120px); }
.yac-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 80px); align-items: center; }
.yac-row:nth-child(even) figure { order: -1; }
.yac-row h3 { font-size: clamp(1.9rem, 1.2rem + 2.2vw, 2.7rem); letter-spacing: -.035em; line-height: 1.15; font-weight: 800; margin: 8px 0 14px; }
.yac-row p { color: var(--yac-muted); margin: 0; }
.yac-row ul { display: grid; gap: 10px; margin: 20px 0 26px; padding: 0; list-style: none; }
.yac-row li { display: flex; gap: 10px; align-items: start; }
.yac-row li .yac-icon { color: var(--yac-link); margin-top: 4px; }
.yac-row li span { color: var(--yac-muted); }
.yac-row li b { color: var(--yac-text); }
.yac-row figure { margin: 0; }
.yac-row figure img { display: block; border-radius: var(--yac-radius-l); box-shadow: var(--yac-shadow); border: 1px solid var(--yac-line); }
.yac-stores { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 880px) { .yac-row { grid-template-columns: 1fr; } .yac-row:nth-child(even) figure { order: 0; } }

/* ---------- news cards (home) ---------- */
.yac-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.yac-card { display: grid; gap: 10px; align-content: start; padding: 26px; border-radius: var(--yac-radius-l); background: var(--yac-bg); box-shadow: var(--yac-shadow); color: var(--yac-text); transition: transform .15s; }
.yac-card:hover { transform: translateY(-2px); color: var(--yac-text); text-decoration: none; }
.yac-card time { color: var(--yac-muted); font-size: .88rem; font-weight: 600; }
.yac-card h2, .yac-card h3 { font-size: 1.2rem; line-height: 1.3; letter-spacing: -.015em; font-weight: 800; margin: 0; }
.yac-card p { color: var(--yac-muted); margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.yac-card .yac-link { color: var(--yac-link); }
@media (max-width: 880px) { .yac-cards { grid-template-columns: 1fr; } }

/* ---------- community (home) ---------- */
.yac-community { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: clamp(32px, 6vw, 80px); align-items: start; }
.yac-community p { color: var(--yac-muted); margin: 14px 0 26px; }
.yac-community .yac-cta { justify-content: start; margin-top: 0; }
.yac-topics { border-top: 1px solid var(--yac-line); margin: 0; padding: 0; list-style: none; }
.yac-topic { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 16px; padding: 18px 4px; border-bottom: 1px solid var(--yac-line); color: var(--yac-text); }
.yac-topic:hover { text-decoration: none; color: var(--yac-text); }
.yac-topic strong { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yac-topic:hover strong { color: var(--yac-link); }
.yac-topic small { color: var(--yac-muted); font-size: .88rem; }
.yac-topic__n { grid-row: 1 / span 2; grid-column: 2; align-self: center; display: inline-flex; gap: 6px; align-items: center; color: var(--yac-muted); font-size: .9rem; font-weight: 650; }
@media (max-width: 880px) { .yac-community { grid-template-columns: 1fr; } }

/* ---------- support ---------- */
.yac-support { text-align: center; padding: clamp(40px, 7vw, 80px) clamp(20px, 5vw, 64px); border-radius: 32px; background: linear-gradient(180deg, var(--yac-yellow-1), var(--yac-yellow-2)); color: #1b1400; }
.yac-support h2 { font-size: clamp(1.9rem, 1.2rem + 2.6vw, 3rem); letter-spacing: -.04em; line-height: 1.1; font-weight: 800; max-width: 20ch; margin: 0 auto; text-wrap: balance; color: #1b1400; }
.yac-support p { max-width: 50ch; margin: 16px auto 0; font-weight: 550; }
.yac-support .yac-btn { border-color: rgb(27 20 0 / .2); background: rgb(255 255 255 / .6); color: #1b1400; }
.yac-support .yac-btn--dark { background: #1b1400; color: #fff; border-color: transparent; }
.yac-stats { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 44px; margin-top: 36px; }
.yac-stats b { display: block; font-size: clamp(1.6rem, 1.1rem + 1.6vw, 2.3rem); letter-spacing: -.03em; font-weight: 800; }
.yac-stats span { font-size: .9rem; font-weight: 650; opacity: .8; }

/* ---------- news list: continuous full articles (/news, /?start=N) ---------- */
.yac-page { padding-block: clamp(40px, 6vw, 72px) clamp(48px, 7vw, 96px); }
.yac-page__title { font-size: clamp(2rem, 1.3rem + 2.6vw, 3rem); letter-spacing: -.04em; line-height: 1.1; font-weight: 800; margin: 0 0 clamp(28px, 4vw, 44px); }
.yac-stream { max-width: var(--yac-max-text); margin-inline: auto; }
.yac-stream > .yac-page__title { margin-bottom: 8px; }
.yac-post { padding-block: clamp(36px, 5vw, 56px); border-bottom: 1px solid var(--yac-line); }
.yac-post:last-of-type { border-bottom: 0; }
.yac-post__meta { color: var(--yac-muted); font-size: .92rem; font-weight: 600; margin: 0 0 8px; }
.yac-post__title { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.2rem); letter-spacing: -.035em; line-height: 1.15; font-weight: 800; margin: 0 0 20px; }
.yac-post__title a { color: var(--yac-text); }
.yac-post__title a:hover { color: var(--yac-link); text-decoration: none; }
/* tag page (html/com_tags/tag/default.php): filter + compact list [title ... date] */
.yac-tagpage > .yac-kicker + .yac-page__title { margin-top: 8px; margin-bottom: 24px; }
.yac-tagpage__filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 20px; }
.yac-tagpage__filter .form-control { flex: 1 1 14rem; max-width: 22rem; min-height: 44px; border-radius: 999px; padding-inline: 18px; }
.yac-tagpage__clear { border: 0; background: none; padding: 0 6px; color: var(--yac-link); font-weight: 700; }
.yac-tagpage__clear:hover { color: var(--yac-link-hover); text-decoration: underline; }
.yac-tagpage__empty { color: var(--yac-muted); margin: 0; padding: 16px 0; border-top: 1px solid var(--yac-line); }
.yac-taglist { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--yac-line); }
.yac-taglist__row { display: flex; align-items: baseline; gap: 6px 20px; padding: 12px 0; border-bottom: 1px solid var(--yac-line); }
.yac-taglist__title { flex: 1 1 auto; min-width: 0; color: var(--yac-text); font-weight: 700; line-height: 1.35; }
a.yac-taglist__title:hover { color: var(--yac-link); text-decoration: none; }
.yac-taglist__date { flex: none; color: var(--yac-muted); font-size: .88rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 560px) {
  .yac-taglist__row { flex-direction: column; gap: 2px; }
}
.yac-pagination__counter { margin: 10px 0 0; text-align: center; color: var(--yac-muted); font-size: .88rem; }
.yac-tagpage__all { margin: 24px 0 0; }
.yac-pagination { margin-top: 36px; }
/* Joomla pagination (layouts/joomla/pagination): no Bootstrap or icon font on these pages */
.yac-pagination .pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; list-style: none; padding: 0; margin: 0; }
.yac-pagination .page-link { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 12px; border: 1px solid var(--yac-line); border-radius: 10px; color: var(--yac-text); font-weight: 700; font-variant-numeric: tabular-nums; transition: border-color .15s, background .15s; }
.yac-pagination a.page-link:hover { border-color: var(--yac-accent); background: var(--yac-surface); color: var(--yac-text); text-decoration: none; }
.yac-pagination .active .page-link { background: var(--yac-accent); border-color: var(--yac-accent); color: var(--yac-accent-ink); pointer-events: none; }
.yac-pagination .disabled:has([class^="icon-angle"]) { display: none; } /* first/previous on page 1, next/last on the last page */
.yac-pagination [class^="icon-angle"]::before { font-size: 1.25rem; line-height: 1; }
.yac-pagination .icon-angle-double-left::before { content: "«"; }
.yac-pagination .icon-angle-left::before { content: "‹"; }
.yac-pagination .icon-angle-right::before { content: "›"; }
.yac-pagination .icon-angle-double-right::before { content: "»"; }

/* ---------- article page ---------- */
.com-content-article { max-width: var(--yac-max-text); margin-inline: auto; }
.com-content-article .page-header h1, .com-content-article .page-header h2 { font-size: clamp(2rem, 1.3rem + 2.6vw, 3rem); letter-spacing: -.04em; line-height: 1.1; font-weight: 800; }
.com-content-article .article-info { color: var(--yac-muted); font-size: .92rem; }
/* article tags (Joomla layouts/joomla/content/tags.php: .btn.btn-sm.btn-info): small, quiet outline pills */
ul.tags { display: flex; flex-wrap: wrap; gap: .35rem; margin: .4rem 0 1.4rem; padding: 0; }
ul.tags > li { margin: 0; }
ul.tags .btn {
  --bs-btn-padding-y: .1rem; --bs-btn-padding-x: .55rem; --bs-btn-font-size: .75rem; --bs-btn-font-weight: 600; --bs-btn-line-height: 1.5;
  --bs-btn-color: var(--yac-muted); --bs-btn-bg: transparent; --bs-btn-border-color: var(--yac-line);
  --bs-btn-hover-color: var(--yac-text); --bs-btn-hover-bg: transparent; --bs-btn-hover-border-color: var(--yac-muted);
  --bs-btn-active-color: var(--yac-text); --bs-btn-active-bg: transparent; --bs-btn-active-border-color: var(--yac-muted);
  --bs-btn-border-radius: 999px;
  color: var(--yac-muted); /* layout.css "a { color }" is unlayered and beats Bootstrap's --bs-btn-color */
}
ul.tags .btn:hover, ul.tags .btn:focus-visible { color: var(--yac-text); }

/* ---------- prose: article text (article page + news list) ---------- */
.yac-prose, .com-content-article__body { font-size: 1.08rem; line-height: 1.75; }
:is(.yac-prose, .com-content-article__body) > :first-child { margin-top: 0; }
:is(.yac-prose, .com-content-article__body) :is(p, ul, ol, pre, table, blockquote) { margin: 0 0 1.1em; }
:is(.yac-prose, .com-content-article__body) :is(h2, h3, h4) { letter-spacing: -.02em; font-weight: 800; line-height: 1.25; margin: 1.6em 0 .6em; }
:is(.yac-prose, .com-content-article__body) li { margin-bottom: .35em; }
:is(.yac-prose, .com-content-article__body) li::marker { color: var(--yac-link); }
:is(.yac-prose, .com-content-article__body) strong { font-weight: 750; color: var(--yac-text); }
:is(.yac-prose, .com-content-article__body) a { text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--yac-link) 40%, transparent); text-underline-offset: 3px; }
:is(.yac-prose, .com-content-article__body) img { display: block; max-width: 100%; height: auto; margin-inline: auto; border-radius: var(--yac-radius-m); }
:is(.yac-prose, .com-content-article__body) code { font-family: var(--yac-font-mono); font-size: .9em; padding: .1em .35em; border-radius: 6px; background: var(--yac-surface-2); color: var(--yac-text); }
:is(.yac-prose, .com-content-article__body) iframe { max-width: 100%; border: 0; border-radius: var(--yac-radius-m); }
:is(.yac-prose, .com-content-article__body) [style*="width"]:not(img) { max-width: 100% !important; } /* old embeds with a fixed width in px */
:is(.yac-prose, .com-content-article__body) div[style*="height"]:has(> iframe) { height: auto !important; }
:is(.yac-prose, .com-content-article__body) div[style*="height"] > iframe { height: auto !important; aspect-ratio: 16 / 9; }
:is(.yac-prose, .com-content-article__body) table { width: 100%; border-collapse: collapse; font-size: .95rem; }
:is(.yac-prose, .com-content-article__body) :is(th, td) { border-bottom: 1px solid var(--yac-line); padding: 8px 10px; text-align: left; }

/* Old content classes (used in 2012-2026 articles) — same meaning, new style */
:is(.yac-prose, .com-content-article__body) .inline { margin: 1.6em 0; }
:is(.yac-prose, .com-content-article__body) .centered_image { text-align: center; }
:is(.yac-prose, .com-content-article__body) .centered_image img { box-shadow: var(--yac-shadow); border: 1px solid var(--yac-line); }
:is(.yac-prose, .com-content-article__body) li .centered_image { margin-left: -1.2em; }
:is(.yac-prose, .com-content-article__body) .centered_caption { text-align: center; font-style: italic; color: var(--yac-muted); font-size: .92rem; margin: 10px 0 0; }
:is(.yac-prose, .com-content-article__body) .centered_video { max-width: 640px; margin-inline: auto; border-radius: var(--yac-radius-m); overflow: hidden; }
:is(.yac-prose, .com-content-article__body) .destacado {
  border-left: 3px solid var(--yac-accent); padding: 4px 0 4px 20px; margin: 1.6em 0;
  font-size: 1.3rem; line-height: 1.5; font-style: italic; color: var(--yac-muted);
}
:is(.yac-prose, .com-content-article__body) .y_console { margin: 1.6em 0; }
:is(.yac-prose, .com-content-article__body) .y_console p {
  margin: 0; padding: 16px 18px; border-radius: var(--yac-radius-s); overflow-x: auto;
  background: #16181d; color: #e8eaf0; font: .92rem/1.7 var(--yac-font-mono); white-space: nowrap;
}
:is(.yac-prose, .com-content-article__body) .y_console_prompt { color: #f7c531; user-select: none; margin-right: .4em; }

/* ---------- user pages: login, registration, password reset/remind, profile edit ---------- */
:is(.com-users-login, .com-users-registration, .com-users-reset, .com-users-remind, .com-users-profile, .com-users-logout) {
  max-width: 440px; margin: 0 auto; padding-block: clamp(8px, 3vw, 32px);
}
:is(.com-users-login, .com-users-registration, .com-users-reset, .com-users-remind, .com-users-profile) :is(h1, .page-header h1, legend) {
  font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.1rem); font-weight: 800; letter-spacing: -.03em; margin: 0 0 1.2rem; float: none; width: 100%;
}
:is(.com-users-login, .com-users-registration, .com-users-reset, .com-users-remind, .com-users-profile) fieldset { border: 0; padding: 0; margin: 0; }
:is(.com-users-login, .com-users-registration, .com-users-reset, .com-users-remind, .com-users-profile) .control-group { margin: 0 0 1rem; }
:is(.com-users-login, .com-users-registration, .com-users-reset, .com-users-remind, .com-users-profile) .control-label label,
:is(.com-users-login, .com-users-registration, .com-users-reset, .com-users-remind, .com-users-profile) label { font-size: .9rem; font-weight: 700; margin-bottom: .35rem; }
:is(.com-users-login, .com-users-registration) .star { color: var(--yac-muted); }
.com-users-registration .spacer, .com-users-registration .spacer + .control-label { font-size: .85rem; color: var(--yac-muted); }
:is(.com-users-login, .com-users-registration, .com-users-reset, .com-users-remind) .form-text,
:is(.com-users-login, .com-users-registration) [id$="-rules"] { font-size: .8rem; color: var(--yac-muted); }
.com-users-login .com-users-login__remember { margin: 0 0 1.2rem; font-size: .9rem; }
:is(.com-users-login, .com-users-registration, .com-users-reset, .com-users-remind) .btn-primary { width: 100%; min-height: 46px; }
/* "Forgot your password? / username? / Don't have an account?" */
.com-users-login .com-users-login__options { margin-top: 1.4rem; border: 0; border-top: 1px solid var(--yac-line); border-radius: 0; padding-top: .8rem; background: none; }
.com-users-login .com-users-login__options .list-group-item {
  border: 0; background: none; padding: .3rem 0; font-size: .9rem; color: var(--yac-link);
}
.com-users-login .com-users-login__options .list-group-item:hover { color: var(--yac-link-hover); text-decoration: underline; }
/* password field: show/hide toggle as a quiet button inside the field group */
.input-password-toggle { color: var(--yac-muted); }
/* password strength meter */
meter { width: 100%; height: 6px; margin-top: .4rem; border: 0; border-radius: 999px; background: var(--yac-surface-2); }
meter::-webkit-meter-bar { background: var(--yac-surface-2); border: 0; border-radius: 999px; }
meter::-webkit-meter-optimum-value { background: var(--yac-accent); border-radius: 999px; }
meter::-webkit-meter-suboptimum-value { background: var(--yac-accent); border-radius: 999px; }
meter::-webkit-meter-even-less-good-value { background: #e5484d; border-radius: 999px; }

} /* @layer site */

/* ---------- page header with actions + article text (article layouts downloads.php, donate.php) ---------- */
.yac-page-head { text-align: center; max-width: 760px; margin: 0 auto clamp(40px, 6vw, 64px); padding-bottom: clamp(32px, 5vw, 48px); border-bottom: 1px solid var(--yac-line); }
.yac-page-head .yac-page__title { margin-bottom: 12px; }
.yac-page-head__lead { color: var(--yac-muted); font-size: 1.1rem; margin: 0; text-wrap: balance; }
.yac-page-head .yac-cta { margin-top: 28px; }
.yac-page-body { max-width: var(--yac-max-text); margin-inline: auto; scroll-margin-top: 96px; }
.yac-downloads .lastreleasedate { display: none; } /* old hand-written date: the version line above is live */

/* ---------- support page (com_content/article/support.php): help channels, FAQ, contact ---------- */
.yac-support-page > .yac-page-head { border-bottom: 0; padding-bottom: 0; margin-bottom: 32px; }
.yac-support-page h2 { font-size: clamp(1.35rem, 1.1rem + .8vw, 1.7rem); font-weight: 800; letter-spacing: -.03em; margin: 0 0 18px; }
.yac-support-block { max-width: 960px; margin: 0 auto; scroll-margin-top: 96px; }
.yac-support-block + .yac-support-block { margin-top: 40px; }
.yac-help { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; max-width: 960px; margin: 0 auto; }
@media (max-width: 720px) { .yac-help { grid-template-columns: 1fr; } }
.yac-help .yac-channel { padding: 16px 18px; gap: 16px; }
.yac-help .yac-channel b { font-size: 1rem; overflow-wrap: anywhere; }
.yac-help .yac-channel small { font-size: .9rem; }
.yac-faq { max-width: 760px; margin: clamp(48px, 7vw, 72px) auto 0; scroll-margin-top: 96px; }
.yac-faq details { border-bottom: 1px solid var(--yac-line); scroll-margin-top: 96px; }
.yac-faq details:first-of-type { border-top: 1px solid var(--yac-line); }
.yac-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 2px; cursor: pointer; list-style: none; font-weight: 700; color: var(--yac-text); }
.yac-faq summary::-webkit-details-marker { display: none; }
.yac-faq summary:hover { color: var(--yac-link); }
.yac-faq summary .yac-icon { flex: none; color: var(--yac-muted); transition: transform .15s; }
.yac-faq details[open] summary .yac-icon { transform: rotate(180deg); }
.yac-faq details .yac-prose { padding: 0 2px 16px; color: var(--yac-muted); }
.yac-faq details .yac-prose > :last-child { margin-bottom: 0; }
.yac-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); max-width: 960px; margin: clamp(56px, 8vw, 88px) auto 0; padding-top: clamp(40px, 6vw, 56px); border-top: 1px solid var(--yac-line); scroll-margin-top: 96px; }
@media (max-width: 720px) { .yac-contact { grid-template-columns: 1fr; } }
.yac-contact p { margin: 0 0 10px; color: var(--yac-muted); }
.yac-contact .yac-link { font-weight: 700; }
.yac-contact p:has(> .yac-link) { margin-bottom: 18px; }
.yac-about { padding: 24px; border-radius: var(--yac-radius-l); background: var(--yac-surface); }

/* ---------- features page (com_content/article/features.php) ---------- */
.yac-page-head--wide { max-width: 860px; }
.yac-featpage > .yac-page-head { margin-bottom: 0; }
.yac-featpage > .yac-page-head + .yac-feat-section { border-top: 0; }
.yac-featpage .yac-head .yac-kicker { color: var(--yac-link); }
.yac-page-head .yac-kicker + .yac-page__title { margin-top: 8px; }
.yac-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 28px; }
.yac-chips a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid var(--yac-line); border-radius: 999px; color: var(--yac-text); font-weight: 650; font-size: .92rem; }
.yac-chips a:hover { border-color: var(--yac-accent); text-decoration: none; }
.yac-chips .yac-icon { width: 1.1em; height: 1.1em; color: var(--yac-link); }
.yac-feat-section { padding-block: clamp(40px, 6vw, 72px); scroll-margin-top: 80px; }
.yac-feat-section + .yac-feat-section { border-top: 1px solid var(--yac-line); }
.yac-feat-section .yac-rows { gap: clamp(48px, 7vw, 96px); }
.yac-feat-section .yac-row h3 { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2rem); margin-top: 0; }
.yac-feat-section .yac-row > div > p { margin-bottom: 4px; }
.yac-row--tall figure { display: flex; justify-content: center; }
.yac-row--tall figure img { max-height: 560px; width: auto; }
.yac-featpage code, .yac-row code { font-family: var(--yac-font-mono); font-size: .86em; padding: 1px 6px; border-radius: 6px; background: var(--yac-surface); color: var(--yac-text); white-space: nowrap; }
.yac-tag { display: inline-block; padding: 0 8px; border-radius: 999px; background: var(--yac-accent); color: var(--yac-accent-ink); font-size: .72rem; font-weight: 750; vertical-align: 2px; }
.yac-features--compact { margin-top: clamp(48px, 7vw, 88px); }
.yac-feat-panel { border-radius: var(--yac-radius-l); background: var(--yac-surface); padding-inline: clamp(20px, 4vw, 56px); border-top: 0 !important; }
.yac-feat-panel + .yac-feat-section { border-top: 0; }
.yac-feat-wide { margin: 0; }
.yac-feat-wide img { display: block; border-radius: var(--yac-radius-m); box-shadow: var(--yac-shadow); border: 1px solid var(--yac-line); }
.yac-apps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: clamp(48px, 7vw, 88px); }
.yac-app { display: grid; grid-template-columns: minmax(0, 200px) minmax(0, 1fr); gap: 24px; align-items: start; padding: 26px; border: 1px solid var(--yac-line); border-radius: var(--yac-radius-l); background: var(--yac-bg); box-shadow: var(--yac-shadow); }
.yac-app figure { margin: 0; }
.yac-app figure img { display: block; border-radius: var(--yac-radius-s); border: 1px solid var(--yac-line); }
.yac-app h3 { display: flex; align-items: center; gap: 10px; font-size: 1.2rem; font-weight: 800; margin: 0 0 12px; }
.yac-app ul { margin: 0 0 18px; padding-left: 1.1em; color: var(--yac-muted); display: grid; gap: 8px; }
.yac-app li b { color: var(--yac-text); }
.yac-app__links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.yac-app__links img { display: block; height: 40px; width: auto; }
.yac-feat-cta { text-align: center; padding-block: clamp(48px, 7vw, 80px) 0; border-top: 1px solid var(--yac-line); }
.yac-feat-cta h2 { font-size: clamp(1.9rem, 1.2rem + 2.6vw, 3rem); letter-spacing: -.04em; font-weight: 800; margin: 0; }
.yac-feat-cta .yac-cta { margin-top: 24px; }
@media (max-width: 1100px) { .yac-apps { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .yac-app { grid-template-columns: 1fr; } .yac-app figure { max-width: 260px; } }

/* ---------- home: ecosystem cards + store badges ---------- */
.yac-features--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.yac-eco { display: block; padding: 26px; border-radius: var(--yac-radius-l); background: var(--yac-bg); border: 1px solid var(--yac-line); box-shadow: var(--yac-shadow); color: var(--yac-text); transition: transform .15s, border-color .15s; }
.yac-eco:hover { transform: translateY(-2px); border-color: var(--yac-accent); color: var(--yac-text); text-decoration: none; }
@media (max-width: 1100px) { .yac-features--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .yac-features--4 { grid-template-columns: 1fr; } }
.yac-store-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 26px; }
.yac-store-badges img { display: block; height: 48px; width: auto; }

/* ---------- home: community channels (forum, Discord, GitHub) ---------- */
.yac-community:has(.yac-channels) { align-items: center; }
.yac-community:has(.yac-channels) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
.yac-community:has(.yac-channels) p { margin: 14px 0 0; }
@media (max-width: 880px) { .yac-community:has(.yac-channels) { grid-template-columns: 1fr; } }
.yac-channels { display: grid; gap: 14px; }
.yac-channel { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 20px 22px; border: 1px solid var(--yac-line); border-radius: var(--yac-radius-l); background: var(--yac-bg); box-shadow: var(--yac-shadow); color: var(--yac-text); transition: transform .15s, border-color .15s; }
.yac-channel:hover { transform: translateY(-2px); border-color: var(--yac-accent); color: var(--yac-text); text-decoration: none; }
.yac-channel .yac-features__ico { margin: 0; }
.yac-channel b { display: block; font-size: 1.1rem; font-weight: 800; }
.yac-channel small { display: block; color: var(--yac-muted); font-size: .95rem; margin-top: 2px; }
.yac-channel > .yac-icon { color: var(--yac-muted); transition: transform .15s, color .15s; }
.yac-channel:hover > .yac-icon { color: var(--yac-link); transform: translateX(3px); }
