/* Practical Sobriety fidelity shell v9.
   Structural companion to archived Cassiopeia template CSS + original user.css.
   Static output: no Joomla, PHP, JavaScript framework, or database required. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
.skip-link{position:absolute;top:0;left:-10000px;padding:9px 12px;background:#fff;color:#24384a;z-index:99999}
.skip-link:focus{left:8px}
body.site{min-height:100vh}
/* Joomla grid and content wrapper replicated; modern PS pages have their own
   narrower/wider inner content rules in user.css. */
body.wrapper-static .site-grid>.container-component{grid-column:main-start/main-end;min-width:0;max-width:1320px;width:100%;margin:0 auto}
.container-component>main{margin:0 auto;padding:0}
/* Header uses Joomla's actual branding and menu classes. */
.container-header{background:#fff!important;position:relative;z-index:20}
.container-header .ps-brand-grid{display:flex;justify-content:center;max-width:1320px;width:100%;margin:0 auto;padding:0.5em}
.container-header .navbar-brand{display:flex;justify-content:center;width:100%;margin:0}
.container-header .navbar-brand img{display:block;width:auto;height:auto;max-width:333px;max-height:333px;margin:0 auto}
.container-header .ps-static-nav-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(100%,1320px);margin:0 auto;padding:0.5em 1em 1em}
.container-header .ps-site-nav{margin:0;min-width:0;padding:0;flex:1 1 auto}
.container-header .ps-menu-collapse{display:flex!important;align-items:center;min-width:0;width:100%}
.container-header .ps-menu{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;min-width:0;list-style:none;margin:0;padding:0;gap:0;color:var(--ps-ink)}
.container-header .ps-menu .metismenu-item{display:flex;align-items:center;padding:.5em 1em;font-size:1.1rem;line-height:1.5}
.container-header .ps-menu .metismenu-item>a{padding:0;color:var(--ps-ink)!important;background:none!important;text-decoration:none!important;font-weight:700}
.container-header .ps-menu .metismenu-item>a:hover,.container-header .ps-menu .metismenu-item.current>a{color:var(--ps-purple)!important}
/* In the original SQL, the Buy menu item has NO ps-menu-buy class;
   do not turn it into a pill. */
/* V9: retain V8 language switcher above the logo, no underlines.
   Desktop: align right within header max-width. Mobile/tablet: centre. */
.container-header .ps-lang-nav{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;
  width:min(100%,1320px);gap:12px;margin:0 auto;padding:8px 16px 4px;
  font-size:15px;line-height:1.5;font-weight:400
}
.container-header .ps-lang-nav a,
.container-header .ps-lang-nav a:hover,
.container-header .ps-lang-nav a:focus{
  color:inherit!important;text-decoration:none!important;font-weight:inherit
}
.container-header .ps-lang-nav a[aria-current=page]{font-weight:inherit}
.ps-lang-sep{opacity:.4}
.ps-nav-toggle{display:none!important}
/* Exactly retain mod_breadcrumbs list class and divider pseudo-element from Joomla.
   For EN the original module has showHere=1; for KO/ES it has showHere=0. */
.ps-breadcrumbs{width:100%;margin:0 auto 14px}
.ps-breadcrumbs .mod-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;list-style:none;margin:0;background:var(--ps-surface);border-radius:0}
.ps-breadcrumbs .mod-breadcrumbs>li{font-family:var(--ps-font-body);font-size:1rem;font-weight:400;line-height:1.5;margin:0;color:var(--ps-text-soft)}
.ps-breadcrumbs .mod-breadcrumbs__here{margin-right:0}
.ps-breadcrumbs .mod-breadcrumbs__divider{margin-right:8px;display:flex;align-items:center}
.ps-breadcrumbs .breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--breadcrumb-item-padding-x,0.5rem);color:var(--breadcrumb-divider-color,#6c757d);content:var(--breadcrumb-divider,"/")}
.ps-breadcrumbs .breadcrumb-item.active{color:var(--ps-text)}
.ps-breadcrumbs .pathway{color:inherit!important;text-decoration:none!important}
/* Joomla-style footer wrapping for the original user.css classes. */
.container-footer{width:100%;margin:0}
.container-footer>.ps-site-footer{width:100%;margin:0 auto}
/* Original content handles its own width; avoid the artificial V4 main padding. */
.ps-reading-page .ps-reading{max-width:760px;margin-inline:auto}
:focus-visible{outline:3px solid #247ca4;outline-offset:3px}
@media(max-width:900px){
 .container-header .ps-lang-nav{justify-content:center}
 .container-header .ps-static-nav-row{
   display:flex!important;flex-wrap:wrap;align-items:flex-start;
   padding:8px 16px 20px!important
 }
 .container-header .ps-site-nav{flex-basis:100%}
 .ps-nav-toggle{display:inline-flex!important;align-items:center;gap:9px;padding:8px 12px;border:2px solid var(--ps-ink);border-radius:8px;color:var(--ps-ink);background:#fff;font:inherit;font-weight:700;cursor:pointer}
 .container-header .ps-site-nav{display:block}
 .container-header .ps-menu-collapse{display:none!important}
 .container-header .ps-menu-collapse[data-open=true]{display:block!important}
 .container-header .ps-menu{flex-direction:column;align-items:stretch}
 .container-header .ps-menu .metismenu-item{padding:0}
 .container-header .ps-menu .metismenu-item a{padding:10px 12px}
}
@media(max-width:767px){
 .container-header .navbar-brand img{max-width:180px;max-height:65px}
 .container-header .ps-brand-grid{padding:4px 8px}
 .container-header .ps-lang-nav{gap:10px;padding:8px 12px 2px;font-size:14px}
 .ps-breadcrumbs .mod-breadcrumbs>li{font-size:.95rem}
 body.wrapper-static .site-grid{display:block}
}
