/* York Spectrum v0.2 ? additive Joomla layout layer.
   Original editorial and Creative Centre CSS is preserved intact. */
:root { --ys-site-max: 1440px; --ys-content-gap: clamp(1.2rem,2.5vw,2.3rem); }
body.ys-site { min-width: 280px; }
body.ys-site .ys-shell,
body.ys-site.cc-mode .ys-shell {
  width: min(calc(100% - clamp(2rem,5vw,5rem)), var(--ys-site-max));
  max-width: 100%;
  margin-inline: auto;
  padding: 0;
}
body.ys-site.ys-width-fluid { --ys-site-max: 1760px; }
body.ys-site.ys-text-large { font-size: 1.075rem; }
body.ys-site:not(.ys-sticky) .ys-header { position: static; }
body.ys-site .ys-header { min-width: 0; gap: .75rem 1.4rem; align-items: center; }
body.ys-site .ys-brand { min-width: min(100%,16rem); max-width: 100%; }
body.ys-site .ys-brand-logo { max-width: min(100%,210px); height:auto; object-fit:contain; display:block; }
body.ys-site .ys-nav { min-width: 0; }
body.ys-site .ys-nav .mod-menu { gap: .25rem; }
body.ys-site .ys-nav .mod-menu li { min-width:0; }
body.ys-site .ys-nav .mod-menu a,
body.ys-site .ys-nav .mod-menu button {
  display: inline-flex; align-items: center; min-height: 44px;
  padding: .52rem .67rem; line-height: 1.3; overflow-wrap: anywhere;
}
body.ys-site .ys-header-actions { display:flex; gap:.5rem; align-items:center; }
body.ys-site .ys-menu-toggle {
  display: none; font: inherit; background:transparent; color:inherit;
  border:1px solid var(--ys-line); border-radius:7px; padding:.55rem .9rem;
  min-height:44px; cursor:pointer; font-weight:650;
}
body.ys-site .ys-menu-toggle:hover { background:rgba(255,255,255,.55); }
body.ys-site .ys-menu-toggle span { font-size:1.2rem; padding-right:.2rem; }
body.ys-site .ys-breadcrumbs { margin:.65rem 0 0; font-size:.86rem; color:#4c4943; }
body.ys-site .ys-breadcrumbs .breadcrumb {
  display:flex; flex-wrap:wrap; gap:.4rem .65rem;
  margin:0; padding:.5rem 0; list-style:none;
}
body.ys-site .ys-breadcrumbs .breadcrumb-item { display:inline-flex; gap:.65rem; align-items:center; }
body.ys-site .ys-breadcrumbs .breadcrumb-item + .breadcrumb-item::before {
  content:"/"; color:#77736c; pointer-events:none;
}
body.ys-site .ys-breadcrumbs a { text-decoration:underline; }
body.ys-site .ys-region { width:100%; min-width:0; }
body.ys-site .ys-top { margin-top:1rem; }
body.ys-site .ys-main-top { margin:0 0 1.5rem; }
body.ys-site .ys-main-bottom { margin:1.5rem 0 0; }
body.ys-site .ys-content-layout {
  display:grid; grid-template-columns:minmax(0,1fr);
  gap: var(--ys-content-gap); align-items:start; min-width:0;
}
body.ys-site .ys-content-layout.ys-has-left {
  grid-template-columns:minmax(190px,250px) minmax(0,1fr);
}
body.ys-site .ys-content-layout.ys-has-right {
  grid-template-columns:minmax(0,1fr) minmax(200px,280px);
}
body.ys-site .ys-content-layout.ys-has-left.ys-has-right {
  grid-template-columns:minmax(180px,235px) minmax(0,1fr) minmax(185px,245px);
}
body.ys-site .ys-main { min-width:0; width:100%; }
body.ys-site .ys-sidebar {
  min-width:0; padding:1.35rem .2rem 2rem;
  font-size:.94rem; line-height:1.55;
}
body.ys-site .ys-sidebar > :is(section,div,nav) {
  min-width:0; padding:.8rem 0; border-bottom:1px solid var(--ys-line);
}
body.ys-site .ys-sidebar h2,
body.ys-site .ys-sidebar h3 { font-size:1.075rem; margin:.1rem 0 .7rem; }
body.ys-site .ys-sidebar ul { margin:.35rem 0; padding-left:1.15rem; }
body.ys-site .ys-sidebar input { max-width:100%; }
body.ys-site .ys-sidebar button,body.ys-site .ys-sidebar .btn { min-height:40px; }
body.ys-site .ys-sidebar-left { grid-column:1; }
body.ys-site .ys-content-layout.ys-has-left .ys-main { grid-column:2; grid-row:1; }
body.ys-site .ys-sidebar-right { grid-column:-2 / -1; grid-row:1; }
body.ys-site .ys-footer { margin-top:1.75rem; align-items:start; }
body.ys-site .ys-footer-brand { min-width:16rem; max-width:35ch; }
body.ys-site .ys-footer-brand strong { font-size:1rem; }
body.ys-site .ys-footer-brand p { margin:.35rem 0 .85rem; }
body.ys-site .ys-footer .ys-footer-nav,
body.ys-site .ys-footer .ys-footer-nav .mod-menu {
  display:flex; gap:.4rem 1rem; flex-wrap:wrap; align-items:center;
  padding:0; margin:0; list-style:none;
}
body.ys-site .ys-footer-nav li { list-style:none; }
body.ys-site .ys-footer-nav a { display:inline-flex; align-items:center; min-height:42px; }
body.ys-site .ys-footer-extra { flex-basis:100%; border-top:1px solid var(--ys-line); padding-top:1.2rem; }
body.ys-site .ys-main table { max-width:100%; }
body.ys-site .ys-main :is(iframe,embed,object) { max-width:100%; }
body.ys-site .ys-main pre,body.ys-site .ys-main code { overflow-wrap:anywhere; }
body.ys-site .ys-main pre { overflow-x:auto; }
body.ys-site .ys-main input:not([type=checkbox]):not([type=radio]),
body.ys-site .ys-main textarea { max-width:100%; }
body.ys-site .ys-main :is(button,.btn,input[type=submit]) { min-height:42px; }
body.ys-site.cc-mode .cc-workspace { min-width:0; }
body.ys-site.cc-mode .ys-content-layout { width:100%; }
body.ys-site.cc-mode .ys-main { min-width:0; }
body.ys-site.cc-mode .cc-section-nav { max-width:100%; }
@media(max-width:1120px) {
  body.ys-site .ys-content-layout.ys-has-left.ys-has-right {
    grid-template-columns: minmax(0,1fr) minmax(190px,260px);
  }
  body.ys-site .ys-content-layout.ys-has-left.ys-has-right .ys-main { grid-column:1; }
  body.ys-site .ys-content-layout.ys-has-left.ys-has-right .ys-sidebar-left {
    grid-column:1/-1; grid-row:auto; padding:.5rem 0;
  }
}
@media(max-width:850px) {
  body.ys-site .ys-shell, body.ys-site.cc-mode .ys-shell {
    width:calc(100% - 2rem); max-width:100%; margin-inline:1rem;
  }
  body.ys-site .ys-header { position:static; display:flex; flex-wrap:wrap; align-items:center; }
  body.ys-site .ys-menu-toggle { display:inline-flex; align-items:center; margin-left:auto; }
  body.ys-site .ys-nav { flex:0 0 100%; width:100%; order:10; }
  .ys-js body.ys-site .ys-nav:not(.ys-nav-open) { display:none; }
  body.ys-site .ys-nav .mod-menu { display:flex; flex-direction:column; align-items:stretch; }
  body.ys-site .ys-nav .mod-menu li, body.ys-site .ys-nav .mod-menu li a { width:100%; }
  body.ys-site .ys-nav .mod-menu a { padding:.75rem .85rem; border-bottom-width:1px; }
  body.ys-site .ys-header-actions { order:8; }
  body.ys-site .ys-content-layout,
  body.ys-site .ys-content-layout.ys-has-left,
  body.ys-site .ys-content-layout.ys-has-right,
  body.ys-site .ys-content-layout.ys-has-left.ys-has-right {
    display:flex; flex-direction:column; gap:1rem;
  }
  body.ys-site .ys-main { order:1; }
  body.ys-site .ys-sidebar-left { order:2; padding:.5rem 0; width:100%; }
  body.ys-site .ys-sidebar-right { order:3; padding:.5rem 0; width:100%; }
  body.ys-site .ys-footer { flex-direction:column; }
  body.ys-site .ys-footer-brand { min-width:0; }
  body.ys-site .ys-footer-nav { width:100%; }
}
@media(max-width:520px) {
  body.ys-site .ys-shell,body.ys-site.cc-mode .ys-shell { width:calc(100% - 1.5rem); margin-inline:.75rem; }
  body.ys-site .ys-main { padding:1rem 0 1.75rem; }
  body.ys-site.cc-mode .ys-main { padding:1rem; }
  body.ys-site .ys-strapline { max-width:29ch; }
}
@media(prefers-reduced-motion:reduce) {
  body.ys-site :is(.ys-menu-toggle,.ys-nav,.ys-header) { transition:none!important; }
}
@media print {
  body.ys-site .ys-menu-toggle,body.ys-site .ys-nav,body.ys-site .cc-section-nav,
  body.ys-site .ys-sidebar,body.ys-site .ys-footer-nav { display:none!important; }
  body.ys-site .ys-header { position:static; }
  body.ys-site .ys-content-layout { display:block!important; }
  body.ys-site .ys-shell { width:100%!important; }
}
