/*
 * PROTOSTAR MODERN / Joomla 3
 * Primary customisation file; safely loaded by Protostar if present.
 * Change the colour variables below to match your branding.
 * Menu rules target banner and position-1 wrappers, plus .navigation.
 */
:root{--brand:#1d5db5;--brand-strong:#123f82;--accent:#10a79e;--ink:#17283e;--muted:#61758d;--line:#e1e9f2;--paper:#ffffff;--wash:#f5f8fc;--shadow:0 12px 34px rgba(23,44,72,.075);--round:16px;--content-width:1320px}
html{scroll-behavior:smooth}body.site,body{background:radial-gradient(circle at 90% 0%,rgba(29,93,181,.065),transparent 30%),#f7f9fd;color:var(--ink)}a{color:var(--brand);transition:color .18s ease,background .18s ease}a:hover{color:var(--brand-strong)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid rgba(16,167,158,.33);outline-offset:2px}.container,.header .container,.body .container,.footer .container{max-width:var(--content-width)}
/* Airy full-width header, logo, and hero/banner modules */
.header{background:linear-gradient(120deg,#fff 15%,#eff6ff 100%);border-bottom:1px solid var(--line);box-shadow:0 3px 22px rgba(19,46,79,.035)}.header .container{padding-top:21px;padding-bottom:19px}.header .brand,.site-title{color:var(--ink);font-weight:800;letter-spacing:-.035em}.site-description{color:var(--muted)}.header .brand img{max-height:95px;object-fit:contain}.header .header-search{float:right}.header .header-search input{border-radius:30px}
/* Banner: clear, modern treatment without assuming a fixed banner height */
#banner,.banner,.banner-module,[class*="banner"]>.moduletable{position:relative}#banner img,.banner img{display:block;width:100%;height:auto}#banner .moduletable,.banner .moduletable{margin-bottom:0}
/* Position 1 horizontal menu. Position 1 does not have a guaranteed HTML id:
   .navigation and header/nav selectors catch stock Protostar;
   #position-1 and .position-1 catch sites using named wrappers. */
.navigation,.navbar,.position-1,#position-1{z-index:30}.navigation{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 25px rgba(14,44,77,.045)}.navigation .container{max-width:var(--content-width)}
.navigation ul.menu,.navigation ul.nav,.navigation .navbar .nav,.navigation .nav.menu,.position-1 ul.menu,.position-1 ul.nav,#position-1 ul.menu,#position-1 ul.nav,#banner ul.menu,#banner ul.nav,.banner ul.menu,.banner ul.nav,.header ul.menu,.header ul.nav{display:flex!important;flex-direction:row!important;align-items:center;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:4px 0}
.navigation ul.menu>li,.navigation ul.nav>li,.position-1 ul.menu>li,.position-1 ul.nav>li,#position-1 ul.menu>li,#position-1 ul.nav>li,#banner ul.menu>li,#banner ul.nav>li,.banner ul.menu>li,.banner ul.nav>li,.header ul.menu>li,.header ul.nav>li{display:block;position:relative;float:none;margin:0}
.navigation ul.menu>li>a,.navigation ul.nav>li>a,.position-1 ul.menu>li>a,.position-1 ul.nav>li>a,#position-1 ul.menu>li>a,#position-1 ul.nav>li>a,#banner ul.menu>li>a,#banner ul.nav>li>a,.banner ul.menu>li>a,.banner ul.nav>li>a,.header ul.menu>li>a,.header ul.nav>li>a{display:flex;align-items:center;gap:6px;padding:12px 17px;font-size:.93rem;font-weight:700;line-height:1.3;white-space:nowrap;color:#253950;border-radius:10px;transition:background .2s,color .2s,transform .2s;text-decoration:none}
.navigation ul.menu>li>a:hover,.navigation ul.nav>li>a:hover,.position-1 ul.menu>li>a:hover,#position-1 ul.menu>li>a:hover,#banner ul.menu>li>a:hover,.banner ul.menu>li>a:hover,.header ul.menu>li>a:hover,.navigation ul.menu>li.current>a,.navigation ul.menu>li.active>a,.navigation ul.nav>li.active>a,.navigation ul.nav>li.current>a,.position-1 ul.menu>li.current>a,#position-1 ul.menu>li.current>a,#banner ul.menu>li.current>a,.banner ul.menu>li.current>a,.header ul.menu>li.current>a{background:#eaf3ff;color:var(--brand)}
/* Keep dropdowns vertical even if the top-level menu is horizontal. */
.navigation ul.menu li>ul,.navigation ul.nav li>ul,.position-1 ul.menu li>ul,#position-1 ul.menu li>ul,#banner ul.menu li>ul,.banner ul.menu li>ul,.header ul.menu li>ul{display:none!important;position:absolute;left:0;top:100%;min-width:220px;max-width:min(85vw,360px);padding:8px!important;list-style:none;flex-direction:column!important;align-items:stretch!important;gap:2px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 45px rgba(24,50,79,.16);z-index:100}
.navigation ul.menu li:hover>ul,.navigation ul.menu li:focus-within>ul,.navigation ul.nav li:hover>ul,.navigation ul.nav li:focus-within>ul,.position-1 ul.menu li:hover>ul,.position-1 ul.menu li:focus-within>ul,#position-1 ul.menu li:hover>ul,#position-1 ul.menu li:focus-within>ul,#banner ul.menu li:hover>ul,#banner ul.menu li:focus-within>ul,.banner ul.menu li:hover>ul,.banner ul.menu li:focus-within>ul,.header ul.menu li:hover>ul,.header ul.menu li:focus-within>ul{display:flex!important}
.navigation ul.menu li>ul li,.navigation ul.nav li>ul li,.position-1 ul.menu li>ul li,#position-1 ul.menu li>ul li,#banner ul.menu li>ul li,.banner ul.menu li>ul li,.header ul.menu li>ul li{width:100%;position:relative}
.navigation ul.menu li>ul a,.navigation ul.nav li>ul a,.position-1 ul.menu li>ul a,#position-1 ul.menu li>ul a,#banner ul.menu li>ul a,.banner ul.menu li>ul a,.header ul.menu li>ul a{padding:10px 13px!important;color:var(--ink);font-weight:600;font-size:.91rem;white-space:normal;border-radius:8px}.navigation ul.menu li>ul a:hover,.navigation ul.nav li>ul a:hover{background:#eaf3ff;color:var(--brand)}
.navigation ul.menu li>ul li>ul,.navigation ul.nav li>ul li>ul,.position-1 ul.menu li>ul li>ul,#position-1 ul.menu li>ul li>ul,#banner ul.menu li>ul li>ul,.banner ul.menu li>ul li>ul,.header ul.menu li>ul li>ul{top:0;left:100%}
/* Main layout, module cards and typographic rhythm */
.body{padding:30px 0 38px}.body .container{background:transparent}.body #content{background:#fff;border:1px solid var(--line);border-radius:var(--round);box-shadow:var(--shadow);padding:clamp(20px,3vw,38px);margin-bottom:24px}.body #sidebar .moduletable,.body #aside .moduletable,.body #sidebar .module,.body #aside .module,.body #sidebar .well,.body #aside .well,.body .sidebar-nav,.body .sidebar-nav .well{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--round);padding:20px;margin-bottom:20px}.body #sidebar .moduletable>h3,.body #aside .moduletable>h3,.moduletable>h3{font-size:1.15rem;position:relative;padding-bottom:12px}.body #sidebar .moduletable>h3::after,.body #aside .moduletable>h3::after{content:"";position:absolute;bottom:0;left:0;width:40px;height:3px;border-radius:3px;background:var(--accent)}
/* Do not turn header/banner/nav menus into cards. */
.header .moduletable,.navigation .moduletable,#banner .moduletable,.banner .moduletable{background:transparent;box-shadow:none;border:0;padding:0}
.page-header{border-color:var(--line)}.page-header h1,.page-header h2,.item-page h1,.blog h1{color:var(--ink)}.item-page img,.blog img{border-radius:12px}.item-page .article-info{color:var(--muted)}.readmore .btn,.btn-primary,.btn-success,button[type=submit],input[type=submit]{border-color:var(--brand);background:linear-gradient(110deg,var(--brand),#2d79d0);color:#fff;box-shadow:0 6px 18px rgba(29,93,181,.15)}.readmore .btn:hover,.btn-primary:hover,button[type=submit]:hover{background:var(--brand-strong);color:#fff}.btn,.button{border-radius:10px}.well{background:var(--wash)}.table{border-radius:10px}.table thead{background:#edf3fa}.table th{color:#203958}.table tbody tr:hover{background:#f3f8fe}.breadcrumb{font-size:.86rem;color:var(--muted)}.pagination ul{justify-content:center}.pagination a:hover{background:#eaf3ff;text-decoration:none}
/* Side-menu: tidy vertical links */
#sidebar ul.menu,#aside ul.menu,.sidebar-nav ul.menu{list-style:none;margin:0;padding:0}#sidebar ul.menu>li>a,#aside ul.menu>li>a,.sidebar-nav ul.menu>li>a{padding:10px 12px;border-radius:8px;font-weight:600}#sidebar ul.menu>li>a:hover,#aside ul.menu>li>a:hover,#sidebar ul.menu>li.current>a,#aside ul.menu>li.current>a{background:#eaf3ff;text-decoration:none}
/* Article layouts, tags and notices */
.items-leading>div,.items-row>.span6,.items-row>.span4{margin-bottom:20px}.blog .item-separator{height:1px;background:var(--line);margin:23px 0}.tags .label,.label-info,.badge-info{display:inline-block;padding:5px 11px;background:#e8f6f5;color:#117970;border-radius:100px;font-size:.8rem}.alert{border-radius:11px}.footer{background:linear-gradient(135deg,#142c48,#0b2039);color:#d1deeb;padding:32px 0}.footer a{color:#d8f1ff}.footer a:hover{color:#fff}.footer .moduletable{margin-bottom:12px}.footer ul.menu{display:flex;gap:12px;flex-wrap:wrap;list-style:none;padding:0}.footer ul.menu a{color:#d8f1ff;padding:5px 8px}
/* Interactive small screen: top-level stays HORIZONTAL and scrollable rather than stacking.
 * Dropdown panels open on hover/focus; touchscreen access depends on Joomla menu behavior.
 */
@media(max-width:979px){.header .container{padding-top:16px;padding-bottom:16px}.navigation ul.menu,.navigation ul.nav,.navigation .navbar .nav,.position-1 ul.menu,.position-1 ul.nav,#position-1 ul.menu,#position-1 ul.nav,#banner ul.menu,#banner ul.nav,.banner ul.menu,.banner ul.nav,.header ul.menu,.header ul.nav{flex-wrap:nowrap!important;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch;padding-bottom:7px}.navigation ul.menu>li,.navigation ul.nav>li,.position-1 ul.menu>li,#position-1 ul.menu>li,#banner ul.menu>li,.banner ul.menu>li,.header ul.menu>li{flex:0 0 auto}.navigation ul.menu>li>a,.navigation ul.nav>li>a,.position-1 ul.menu>li>a,#position-1 ul.menu>li>a,#banner ul.menu>li>a,.banner ul.menu>li>a,.header ul.menu>li>a{padding:11px 13px}.body #content{padding:22px}}
@media(max-width:767px){.body{padding:18px 0}.body #content{border-radius:13px;padding:18px}.header .brand img{max-height:65px}.header .header-search{float:none;margin-top:12px}.body #sidebar,.body #aside{margin-top:12px}.footer{padding:25px 0}.navigation ul.menu li>ul,.navigation ul.nav li>ul,.position-1 ul.menu li>ul,#position-1 ul.menu li>ul,#banner ul.menu li>ul,.banner ul.menu li>ul,.header ul.menu li>ul{position:fixed;top:auto;left:12px!important;right:12px;width:auto;max-width:none;max-height:58vh;overflow-y:auto}.navigation ul.menu li>ul li>ul,.navigation ul.nav li>ul li>ul,.position-1 ul.menu li>ul li>ul,#position-1 ul.menu li>ul li>ul,#banner ul.menu li>ul li>ul,.banner ul.menu li>ul li>ul,.header ul.menu li>ul li>ul{position:static;box-shadow:none;border:0;background:#f6f9fd;max-height:none}}
@media print{body{background:#fff!important;color:#000}.navigation,.footer,#sidebar,#aside,.btn,.pagination{display:none!important}.body #content{box-shadow:none!important;border:0!important;padding:0!important}.body{padding:0!important}a{color:#000;text-decoration:underline}}
