/* Joomla 4 layout and legacy component markup; fair4host colours/fonts stay local. */
.kc-theme .kc-sidebar-layout { display: grid; grid-template-columns: minmax(160px, 220px) minmax(0, 1fr); gap: 24px; margin-top: 28px; }
.kc-theme .kc-section-navigation, .kc-theme .kc-section-content, .kc-theme main { min-width: 0; }
.kc-theme .kc-navigation { margin-bottom: 24px; }
.kc-theme .kc-navigation ul, .kc-theme .kc-section-navigation ul { list-style: none; padding: 0; margin: 0; }
.kc-theme .kc-navigation ul { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.kc-theme .kc-section-navigation a { display: block; padding: 9px 12px; border-radius: 8px; }
.kc-theme .kc-section-navigation .current > a, .kc-theme .kc-section-navigation .active > a { background: #fff2e2; color: #783600 !important; font-weight: 600; }
.kc-theme .kc-footer { border-top: 1px solid var(--kc-border); margin-top: 28px; padding-top: 20px; }
.kc-skip-link { position: absolute; top: -100px; left: 16px; background: #fff; padding: 12px; z-index: 1000; }
.kc-skip-link:focus { top: 12px; }
.kc-theme .row-fluid { display: flex; flex-wrap: wrap; gap: 20px; }
.kc-theme .row-fluid > [class*="span"] { float: none; margin-left: 0; min-width: 0; }
.kc-theme .span12 { flex: 1 1 100%; width: 100%; }
.kc-theme .span6 { flex: 1 1 calc(50% - 10px); }
.kc-theme .span4 { flex: 1 1 calc(33.333% - 14px); }
.kc-theme .span8 { flex: 1 1 calc(66.666% - 14px); }
.kc-theme .span2 { flex: 0 1 180px; }
.kc-theme .span10 { flex: 1 1 600px; }
.kc-theme .pull-right { float: right; }
.kc-theme .pull-left { float: left; }
.kc-theme .control-group { min-width: 0; }
.kc-theme .com-users-login .control-group { margin-bottom: 18px; }
.kc-joomla4 input[type="checkbox"], .kc-joomla4 input[type="radio"] { appearance: auto; width: 1rem !important; height: 1rem; flex: 0 0 1rem; padding: 0; }
.kc-joomla4 .form-check { display: flex; align-items: center; gap: 8px; padding-left: 0; }
.kc-joomla4 .form-check .form-check-input { float: none; margin-left: 0; }
#kc-content .input-group > input { width: 1% !important; flex: 1 1 auto; min-width: 0; }
#kc-content .input-group > button { flex: 0 0 auto; border-radius: 0 8px 8px 0; min-height: 44px; }
.kc-theme .pagination { flex-wrap: wrap; gap: 4px; margin: 18px 0; }
.kc-theme .page-link { color: var(--kc-dark) !important; border-color: var(--kc-border); border-radius: 7px !important; }
.kc-theme .page-item.active .page-link { color: var(--kc-dark) !important; background: var(--kc-orange); border-color: var(--kc-orange); }
.kc-theme .page-item.disabled .page-link { color: var(--kc-muted) !important; }
.kc-theme .badge { color: var(--kc-dark); background: var(--kc-soft); font-weight: 600; }
.kc-theme .badge-info, .kc-theme .label-info { color: #783600; background: #fff2e2; }
.kc-theme .tooltip { --bs-tooltip-bg: #1b1f23; --bs-tooltip-color: #fff; }
.kc-theme .modal-content { border: 1px solid var(--kc-border); border-radius: 12px; }
.kc-theme .form-text { color: var(--kc-muted); }
.kc-theme .alert-info, .kc-theme .alert-success { color: var(--kc-dark); background: #f5f6f7; border-color: var(--kc-border); }
.kc-theme .alert-warning { color: #783600; background: #fff4e6; border-color: #ffd6a3; }
.kc-theme .alert-danger { color: #9c2019; background: #fff4f3; border-color: #edc6c2; }
@media (max-width: 720px) {
    .kc-theme .kc-sidebar-layout { grid-template-columns: minmax(0, 1fr); }
    .kc-theme .row-fluid > [class*="span"] { flex-basis: 100%; width: 100%; }
    .kc-theme .pull-right, .kc-theme .pull-left { float: none; }
}
