/* FLC Joomla 6 / Cassiopeia — brand alignment v1
   Derived from FLC React palette. Replace the contents of user.css.
   Original user.css should be backed up first. */
:root {
  --flc-orange: #db5823;
  --flc-gold: #f38308;
  --flc-green: #3f7d4a;
  --flc-ink: #2c2c2c;
  --flc-muted: #6b6b6b;
  --flc-border: #e5ddd6;
  --flc-soft: #fff8f3;
  --flc-white: #ffffff;
  --flc-shadow: 0 8px 24px rgba(44,44,44,.08);
  --cassiopeia-color-primary: #db5823;
  --cassiopeia-color-link: #a83d15;
  --cassiopeia-color-hover: #bf471b;
  --link-color: #a83d15;
  --link-color-rgb: 168,61,21;
  --link-hover-color: #bf471b;
  --link-hover-color-rgb: 191,71,27;
  --template-bg-light: #faf9f7;
  --template-text-dark: #2c2c2c;
  --template-special-color: #3f7d4a;
  --template-link-color: #a83d15;
}
html { scroll-behavior: smooth; }
body.site {
  background: #faf9f7;
  color: var(--flc-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
a { color: #a83d15; text-underline-offset: 3px; }
a:hover { color: var(--flc-orange); }
a:focus-visible, button:focus-visible, .btn:focus-visible {
  outline: 3px solid rgba(219,88,35,.35);
  outline-offset: 2px;
}
/* Header and site identity */
.container-header {
  background: var(--flc-white);
  background-image: none;
  color: var(--flc-ink);
  border-bottom: 4px solid var(--flc-orange);
  box-shadow: 0 3px 14px rgba(44,44,44,.06);
}
.container-header .navbar-brand, .container-header .navbar-brand a,
.container-header .site-description { color: var(--flc-ink); }
.container-header .navbar-brand a:hover { color: var(--flc-orange); }
.container-header .navbar-brand img { max-width: min(290px, 75vw); height: auto; }
/* Cassiopeia's menu: dark charcoal, white links, gold active accent */
.container-header .container-nav {
  background: var(--flc-ink);
  border-radius: 0;
}
.container-header .mod-menu {
  color: var(--flc-white);
  margin: 0;
  padding: 0;
  list-style: none;
}
.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span,
.container-header .mod-menu > li > button {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: .65rem .85rem;
  color: var(--flc-white);
  font-weight: 700;
  text-decoration: none;
  border-bottom: 3px solid transparent;
}
.container-header .mod-menu > li > a:hover,
.container-header .mod-menu > li > a:focus,
.container-header .mod-menu > li > span:hover {
  background: rgba(255,255,255,.09);
  color: var(--flc-white);
}
.container-header .mod-menu > li.active > a,
.container-header .mod-menu > li.current > a,
.container-header .mod-menu > li.active > span {
  background: rgba(219,88,35,.18);
  border-bottom-color: var(--flc-gold);
  color: var(--flc-white);
}
/* Dropdown menus must stay readable */
.container-header .mod-menu .mod-menu__sub {
  background: var(--flc-white);
  border: 1px solid var(--flc-border);
  box-shadow: var(--flc-shadow);
}
.container-header .mod-menu .mod-menu__sub a,
.container-header .mod-menu .mod-menu__sub span { color: var(--flc-ink); }
.container-header .mod-menu .mod-menu__sub a:hover { color: var(--flc-orange); }
/* Language switcher */
.container-header .mod-languages a { color: inherit; }
.container-header .container-nav .mod-languages a { color: var(--flc-white); }
.container-header .container-nav .mod-languages a:hover { color: var(--flc-gold); }
.mod-languages li.lang-active { background: rgba(243,131,8,.12); border-radius: 6px; }
/* Article and module surfaces */
.container-component, .card, .moduletable.card {
  border-color: var(--flc-border);
}
.container-component h1, .container-component h2,
.container-component h3, .page-header h1 {
  color: var(--flc-ink);
  line-height: 1.25;
}
.container-component h1, .page-header h1 {
  border-left: 5px solid var(--flc-orange);
  padding-left: 1rem;
}
.container-component .item-content,
.container-component .com-content-article__body { line-height: 1.75; }
.container-component img { max-width: 100%; height: auto; }
/* Buttons and form controls */
.btn-primary, .button-primary {
  background: var(--flc-orange);
  border-color: var(--flc-orange);
  color: #fff;
}
.btn-primary:hover, .btn-primary:focus,
.button-primary:hover, .button-primary:focus {
  background: #bf471b;
  border-color: #bf471b;
  color: #fff;
}
.btn-outline-primary { color: #a83d15; border-color: var(--flc-orange); }
.btn-outline-primary:hover { background: var(--flc-orange); border-color: var(--flc-orange); color: #fff; }
.form-control:focus, .form-select:focus {
  border-color: var(--flc-orange);
  box-shadow: 0 0 0 .2rem rgba(219,88,35,.15);
}
/* Breadcrumbs and footer */
.breadcrumb a { color: #a83d15; }
.container-footer {
  background: var(--flc-ink);
  background-image: none;
  border-top: 4px solid var(--flc-orange);
  color: var(--flc-white);
}
.container-footer a { color: #ffd0b8; }
.container-footer a:hover { color: var(--flc-white); }
@media (max-width: 767px) {
  .container-header .container-nav { padding: .35rem .5rem; }
  .container-header .mod-menu > li > a,
  .container-header .mod-menu > li > span { min-height: 44px; }
  .container-component h1, .page-header h1 { padding-left: .7rem; }
}