/* Keep component rules scoped: the demo layout is styled by template.css. */
.page-joomla .site-header { position: relative; background: #cfa22b; }
.page-joomla .brand { filter: brightness(0); }
.page-joomla .primary-navigation a { color: #fff; }
.page-joomla .primary-navigation a::after { background: #000; }
.page-joomla .joomla-content { min-height: 45vh; padding-block: 5rem; }
.joomla-content > :first-child { margin-top: 0; }
.joomla-content .page-header { margin-bottom: 2rem; }
.joomla-content h1, .joomla-content h2, .joomla-content h3 { line-height: 1.2; }
.joomla-content p { margin-block: 1em; }
.joomla-content img { max-width: 100%; height: auto; }
.joomla-content a:not(.btn) { color: #d4a52d; text-underline-offset: .2em; }
.joomla-content label { display: block; margin: 1rem 0 .4rem; }
.joomla-content input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.joomla-content select, .joomla-content textarea {
  max-width: 100%; padding: .8rem 1rem; border: 1px solid #cfa22b;
  border-radius: 1.5rem; background: #383431; color: #fff; font: inherit;
}
.joomla-content input[type=checkbox], .joomla-content input[type=radio] { accent-color: #cfa22b; }
.joomla-content textarea { border-radius: 1rem; min-height: 10rem; }
.joomla-content button, .joomla-content .btn {
  display: inline-block; padding: .7rem 1.5rem; border: 1px solid #cfa22b;
  border-radius: 2rem; background: #cfa22b; color: #282421; cursor: pointer; font: inherit;
}
.joomla-content :focus-visible, .joomla-menu :focus-visible { outline: 2px solid #fff9e3; outline-offset: 4px; }
.joomla-content table { width: 100%; border-collapse: collapse; }
.joomla-content th, .joomla-content td { padding: .75rem; border: 1px solid #977729; text-align: start; }
.joomla-content th { background: #cfa22b; color: #282421; }
.joomla-content fieldset { border: 1px solid #977729; padding: 1.5rem; margin-block: 1rem; min-width: 0; }
.joomla-content .control-group { margin-bottom: 1rem; }
.joomla-content .invalid, .joomla-content [aria-invalid=true] { border-color: #ee867c !important; }
.joomla-content .pagination ul { display: flex; flex-wrap: wrap; gap: 1rem; list-style: none; padding: 0; }
.joomla-content .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.joomla-content .alert, #system-message-container .alert { padding: 1rem; margin-block: 1rem; border: 1px solid #cfa22b; }
.primary-navigation > ul { display: flex; align-items: center; flex-wrap: wrap; gap: 1.5rem; list-style: none; margin: 0; padding: 0; }
.primary-navigation li { position: relative; }
.primary-navigation li > ul { display: none; position: absolute; z-index: 20; top: 100%; left: 0; min-width: 12rem; padding: 1rem; list-style: none; background: #383431; }
.primary-navigation li:hover > ul, .primary-navigation li:focus-within > ul { display: grid; gap: 1rem; }
@media (max-width: 980px) {
  .page-joomla .primary-navigation a { color: #fffbe7; }
  .page-joomla .primary-navigation a::after { background: #cfa22b; }
  .primary-navigation > ul { flex-direction: column; align-items: stretch; }
  .primary-navigation li > ul { display: grid; position: static; gap: 1rem; background: transparent; }
}
@media (max-width: 600px) { .page-joomla .joomla-content { padding-block: 2.5rem; } }
