/* =========================================================
   UNVERUM — CUSTOM.CSS
   Joomla 6.0.3 / T4-compatible
   Recast against supplied live markup:
   - mainbody forced to 9/3 only on desktop
   - sidebar module internals stacked cleanly
   - footer module internals stacked cleanly
   - footer utility links visually separated
   - preserves UV visual styling
========================================================= */

/* ---------------------------------------------------------
   TOKENS / FOUNDATION
--------------------------------------------------------- */
:root{
  --uv-bg1:#f7f9f9;
  --uv-bg2:#eef2f4;
  --uv-surface:#ffffff;
  --uv-surface-soft:rgba(255,255,255,.84);
  --uv-line:rgba(17,24,39,.10);
  --uv-line-strong:rgba(17,24,39,.16);
  --uv-text:#111827;
  --uv-muted:rgba(17,24,39,.68);
  --uv-subtle:rgba(17,24,39,.58);
  --uv-accent:#2f6bff;
  --uv-accent-strong:#1457c4;
  --uv-ok:#25594d;
  --uv-radius:20px;
  --uv-shadow:0 14px 36px rgba(17,24,39,.10);
  --uv-shadow-soft:0 10px 24px rgba(17,24,39,.07);
  --uv-shadow-hover:0 18px 42px rgba(17,24,39,.14);
}

html{scroll-behavior:smooth;}
img{max-width:100%;height:auto;}

.custom,
.module,
.module-inner,
.module-ct{
  overflow:visible !important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:3px solid rgba(47,107,255,.24);
  outline-offset:2px;
}

.visually-hidden,
.u-visually-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

.uv-skip-link{
  position:absolute;
  top:-48px;
  left:16px;
  z-index:5000;
  padding:10px 14px;
  border-radius:10px;
  background:#fff;
  color:var(--uv-accent-strong);
  text-decoration:none;
  box-shadow:var(--uv-shadow-soft);
}
.uv-skip-link:focus{top:12px;}

/* ---------------------------------------------------------
   UV WRAPPERS
--------------------------------------------------------- */
.uvp,
.uvportal{
  position:relative;
  border:1px solid var(--uv-line);
  border-radius:var(--uv-radius);
  overflow:hidden;
  padding:18px;
  background:
    radial-gradient(900px 340px at 12% -10%, rgba(47,107,255,.10), transparent 60%),
    radial-gradient(900px 340px at 88% 0%, rgba(124,58,237,.08), transparent 60%),
    linear-gradient(180deg, var(--uv-bg1), var(--uv-bg2));
  box-shadow:var(--uv-shadow);
}

.uvp::before,
.uvportal::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.65;
  background:
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0)),
    repeating-linear-gradient(90deg, transparent 0, transparent 79px, rgba(17,24,39,.012) 80px);
}

/* ---------------------------------------------------------
   HERO
--------------------------------------------------------- */
.uvp .hero,
.uvportal .uvhero{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:360px;
  padding:56px 28px;
  border:1px solid rgba(17,24,39,.10);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.82));
  box-shadow:var(--uv-shadow-soft);
}

.uvp .hero::before,
.uvportal .uvhero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 18%, rgba(47,107,255,.10) 0, transparent 24%),
    radial-gradient(circle at 86% 12%, rgba(124,58,237,.08) 0, transparent 24%);
}

.uvp h1,
.uvportal .uvtitle{
  position:relative;
  z-index:1;
  margin:0;
  max-width:18ch;
  color:var(--uv-text);
  font-size:clamp(1.9rem, 2.8vw, 3rem);
  line-height:1.08;
  letter-spacing:.2px;
}

.uvp .sub,
.uvportal .uvsub,
.uvp .nav,
.uvportal .uvnav{
  position:relative;
  z-index:1;
}

.uvp .sub,
.uvportal .uvsub{
  margin:14px 0 0;
  max-width:980px;
  color:var(--uv-muted);
  font-size:1rem;
  line-height:1.62;
}

.uvp .nav,
.uvportal .uvnav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}

.uvp .chip,
.uvportal .uvchip,
.uv-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border:1px solid rgba(17,24,39,.16);
  border-radius:10px;
  clip-path:polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px), 0 10px);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(234,241,248,.84));
  color:rgba(11,18,32,.90);
  text-decoration:none;
  font-size:.92rem;
  font-weight:600;
  line-height:1;
  letter-spacing:.01em;
  box-shadow:0 6px 14px rgba(17,24,39,.06);
  transition:transform .16s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease;
}
.uvp .chip:hover,
.uvportal .uvchip:hover,
.uv-button:hover{
  transform:translateY(-1px);
  border-color:rgba(47,107,255,.36);
  box-shadow:0 12px 24px rgba(47,107,255,.12);
  background:linear-gradient(180deg, #ffffff, #eef5ff);
  color:var(--uv-accent);
}

/* ---------------------------------------------------------
   SECTIONS
--------------------------------------------------------- */
.uvp .section,
.uvportal .uvsection{
  margin-top:18px;
}

.uvp .head,
.uvportal .uvhead{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid rgba(17,24,39,.10);
  border-radius:16px;
  background:rgba(255,255,255,.82);
  box-shadow:var(--uv-shadow-soft);
}

.uvp .head h2,
.uvportal .uvhead h2{
  margin:0;
  color:rgba(11,18,32,.92);
  font-size:1.12rem;
  line-height:1.2;
}

.uvp .head .hint,
.uvportal .uvhead .hint{
  color:rgba(11,18,32,.62);
  font-size:.92rem;
}

/* ---------------------------------------------------------
   HOMEPAGE CATEGORY PANELS
--------------------------------------------------------- */
.uv-home-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

.uv-home-panel{
  position:relative;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  min-height:100%;
  border:1px solid rgba(17,24,39,.10);
  border-radius:22px;
  background:linear-gradient(180deg, #ffffff, #f6f8fb);
  box-shadow:var(--uv-shadow-soft);
  text-decoration:none;
  transition:transform .18s ease, box-shadow .24s ease, border-color .24s ease;
}

.uv-home-panel:hover{
  transform:translateY(-4px);
  border-color:rgba(47,107,255,.24);
  box-shadow:0 18px 38px rgba(17,24,39,.14);
}

.uv-home-panel::after{
  content:"Explore →";
  position:absolute;
  right:18px;
  bottom:18px;
  opacity:0;
  transform:translateY(6px);
  color:rgba(47,107,255,.88);
  font-size:.88rem;
  line-height:1;
  transition:opacity .18s ease, transform .18s ease;
}
.uv-home-panel:hover::after{
  opacity:1;
  transform:translateY(0);
}

.uv-home-panel img{
  width:100%;
  height:220px;
  object-fit:contain;
  object-position:center;
  padding:18px;
  background:
    radial-gradient(circle at 50% 0%, rgba(47,107,255,.08), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,247,251,.96));
}

.uv-home-panel-copy{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:18px 18px 26px;
}
.uv-home-panel-copy h2{
  margin:0;
  color:rgba(11,18,32,.94);
  font-size:1.08rem;
  line-height:1.18;
}
.uv-home-panel-copy p{
  margin:0;
  color:rgba(11,18,32,.68);
  line-height:1.5;
}

/* ---------------------------------------------------------
   GRID / CARDS
--------------------------------------------------------- */
.uvp .grid,
.uvportal .uvgrid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:start;
}

.uvp .card,
.uvportal .card{
  position:relative;
  overflow:hidden;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  min-height:320px;
  padding:14px;
  border:1px solid rgba(160,160,160,.35) !important;
  border-radius:18px;
  background:linear-gradient(180deg, #f7f8fa 0%, #eef1f4 100%) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.06) !important;
  text-decoration:none;
  transition:transform .16s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;
}

.uvp .card::before,
.uvportal .card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.75;
  background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0));
}
.uvp .card::after,
.uvportal .card::after{
  content:"↗";
  position:absolute;
  top:12px;
  right:14px;
  color:rgba(47,107,255,.78);
  font-size:.92rem;
  line-height:1;
}

.uvp .card:hover,
.uvportal .card:hover{
  transform:translateY(-2px);
  border-color:rgba(47,107,255,.30);
  box-shadow:var(--uv-shadow-hover);
  background:linear-gradient(180deg, #ffffff, #f8fbff) !important;
}

.uvp .top,
.uvportal .card-top{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  margin-bottom:14px;
}

.uvp .logo,
.uvportal .logo{
  width:52px;
  height:52px;
  min-width:52px;
  border:1px solid rgba(17,24,39,.08);
  border-radius:12px;
  padding:6px;
  background:#ffffff;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
  object-fit:contain;
}

.uvp .title-wrap{min-width:0;flex:1 1 auto;}
.uvp .title,
.uvportal .card-title{
  min-width:0;
  overflow:hidden;
  padding-right:10px;
  color:rgba(11,18,32,.94);
  font-size:1.02rem;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.uvp .meta,
.uvportal .card-meta{
  margin-top:4px;
  color:rgba(11,18,32,.58);
  font-size:.78rem;
  line-height:1.25;
}
.uvp .desc{
  max-width:60ch;
  margin-top:12px;
  color:rgba(11,18,32,.74);
  font-size:.9rem;
  line-height:1.48;
}
.uvp .badge,
.uvportal .badge{
  margin-left:auto;
  flex:0 0 auto;
  padding:5px 10px;
  border:1px solid rgba(160,160,160,.34);
  border-radius:999px;
  background:rgba(210,214,218,.34);
  color:rgba(55,65,81,.95);
  text-transform:lowercase;
  white-space:nowrap;
  font-size:.72rem;
  line-height:1;
}
.uvp .audit{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.uvp .flag{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border:1px solid rgba(17,24,39,.08);
  border-radius:999px;
  background:#ffffff;
  color:rgba(55,65,81,.90);
  font-size:.72rem;
  line-height:1;
  white-space:nowrap;
}
.uvp .flag.ok{
  border-color:rgba(46,107,93,.24);
  background:rgba(46,107,93,.08);
  color:#25594d;
}
.uvp .url,
.uvportal .card-url{
  margin-top:auto !important;
  padding-top:14px;
  color:rgba(20,31,48,.92);
  font-size:1rem;
  font-weight:600;
  line-height:1.45;
  word-break:break-word;
}

/* ---------------------------------------------------------
   T4 HEADER / PRIMARY NAV
--------------------------------------------------------- */
#t4-header{
  position:sticky;
  top:0;
  z-index:1000;
  border-bottom:1px solid rgba(17,24,39,.08);
  background:rgba(247,249,249,.82);
  backdrop-filter:saturate(140%) blur(10px);
}

#t4-header .t4-row{align-items:center;}
#t4-header .logo{display:flex;align-items:center;}
#t4-header .navbar-brand.logo-image img.logo-img{max-height:84px;width:auto;}
#t4-header .menu{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:14px;
}
#t4-header .custom{width:100%;}

.uv-mainnav{
  display:flex;
  flex-wrap:nowrap !important;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  overflow-x:auto;
  overflow-y:hidden;
  white-space:nowrap;
  scrollbar-width:thin;
}

.uv-mainnav a,
#t4-header .nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px !important;
  border:1px solid rgba(47,107,255,.14);
  border-radius:10px;
  clip-path:polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px), 0 10px);
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(241,246,255,.76));
  color:#22384a !important;
  font-size:.92rem;
  font-weight:600;
  letter-spacing:.01em;
  text-decoration:none;
  box-shadow:0 6px 14px rgba(17,24,39,.06);
  transition:transform .16s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease;
}
.uv-mainnav a:hover,
.uv-mainnav a:focus,
#t4-header .nav-link:hover,
#t4-header .nav-link:focus{
  transform:translateY(-1px);
  border-color:rgba(47,107,255,.34);
  background:linear-gradient(180deg, #ffffff, #eef5ff);
  color:#1e63d6 !important;
  box-shadow:0 12px 24px rgba(47,107,255,.12);
}

/* ---------------------------------------------------------
   JOOMLA 6 OFFCANVAS
--------------------------------------------------------- */
.navbar-toggler,
.btn.offcanvas-toggle{
  border:1px solid rgba(17,24,39,.14);
  border-radius:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(241,246,255,.76));
  box-shadow:0 6px 14px rgba(17,24,39,.06);
}
.t4-offcanvas,
.offcanvas{
  background:linear-gradient(180deg, #f7f9f9, #eef2f4);
}
.t4-offcanvas .nav-link,
.offcanvas .nav-link{
  min-height:42px;
  border:1px solid rgba(17,24,39,.10);
  border-radius:12px;
  background:rgba(255,255,255,.82);
  margin-bottom:8px;
}

/* ---------------------------------------------------------
   SMART SEARCH / MOD FINDER
--------------------------------------------------------- */
.mod-finder,
.finder,
.finder-search,
search{
  margin:18px 0;
}

.mod-finder__search,
.finder form,
search form,
.mod-finder form{
  display:grid;
  gap:14px;
  padding:16px;
  border:1px solid rgba(17,24,39,.10);
  border-radius:18px;
  background:rgba(255,255,255,.84);
  box-shadow:var(--uv-shadow-soft);
}

.mod-finder label,
.finder label,
search label{
  display:block;
  margin:0 0 8px;
  color:rgba(11,18,32,.72);
  font-size:.88rem;
  line-height:1.2;
}

.mod-finder input[type="search"],
.mod-finder input[type="text"],
.finder input[type="search"],
.finder input[type="text"],
search input[type="search"],
search input[type="text"]{
  width:100%;
  min-height:48px;
  padding:12px 16px;
  border:1px solid rgba(17,24,39,.14);
  border-radius:14px;
  background:#fff;
  color:var(--uv-text);
  font:inherit;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.03);
}

.awesomplete > ul,
.ui-autocomplete{
  margin-top:8px;
  padding:8px 0;
  border:1px solid rgba(17,24,39,.10);
  border-radius:14px;
  background:#fff;
  box-shadow:0 16px 40px rgba(17,24,39,.10);
}

/* ---------------------------------------------------------
   MAINBODY — ACTUAL 9 / 3 DESKTOP SPLIT
   based on supplied live markup:
   .t4-col.component.col-md
   .t4-col.sidebar-right.col-sm
--------------------------------------------------------- */
@media (min-width: 992px){
  #t4-mainbody > .t4-section-inner > .t4-row.row{
    display:flex;
    flex-wrap:nowrap;
    align-items:flex-start;
  }

  #t4-mainbody > .t4-section-inner > .t4-row.row > .t4-col.component{
    flex:0 0 75%;
    max-width:75%;
    width:75%;
    min-width:0;
  }

  #t4-mainbody > .t4-section-inner > .t4-row.row > .t4-col.sidebar-right{
    flex:0 0 25%;
    max-width:25%;
    width:25%;
    min-width:0;
    padding-left:24px;
  }
}

@media (max-width: 991.98px){
  #t4-mainbody > .t4-section-inner > .t4-row.row{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
  }

  #t4-mainbody > .t4-section-inner > .t4-row.row > .t4-col.component,
  #t4-mainbody > .t4-section-inner > .t4-row.row > .t4-col.sidebar-right{
    flex:0 0 100%;
    max-width:100%;
    width:100%;
  }

  #t4-mainbody > .t4-section-inner > .t4-row.row > .t4-col.sidebar-right{
    padding-left:12px;
    padding-right:12px;
    margin-top:22px;
  }
}

/* ---------------------------------------------------------
   RIGHT SIDE — STACK INTERNAL MODULE ROW CLEANLY
--------------------------------------------------------- */
.sidebar-right .module,
.sidebar-right .moduletable,
.t4-col.sidebar-right .module,
.t4-col.sidebar-right .moduletable{
  margin-bottom:18px;
}

.sidebar-right .module-inner,
.t4-col.sidebar-right .module-inner{
  padding:16px;
  border:1px solid rgba(17,24,39,.10);
  border-radius:16px;
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 24px rgba(17,24,39,.06);
}

.sidebar-right .module-inner > .row,
.t4-col.sidebar-right .module-inner > .row{
  display:block;
  margin:0;
}

.sidebar-right .module-head-group,
.sidebar-right .module-ct,
.t4-col.sidebar-right .module-head-group,
.t4-col.sidebar-right .module-ct{
  width:100%;
  max-width:100%;
  flex:0 0 100%;
  padding:0;
  margin:0;
}

.sidebar-right .module-head-group{
  margin-bottom:10px;
}

.sidebar-right .module-ct img,
.t4-col.sidebar-right .module-ct img{
  display:block;
  max-width:100%;
  height:auto;
  margin:0 auto;
}

/* ---------------------------------------------------------
   BANNERS
--------------------------------------------------------- */
.ad-slot{
  display:block;
  margin:0 auto 24px;
  max-width:100%;
  overflow:hidden;
  box-sizing:border-box;
}
.ad-slot img,
.ad-slot iframe{
  display:block;
  max-width:100%;
  height:auto;
  margin:0 auto;
  border:0;
}
.ad-slot.ad-728x90{
  width:728px !important;
  max-width:100% !important;
  margin:18px auto !important;
  padding:0 !important;
  position:relative !important;
  left:0 !important;
  right:0 !important;
  float:none !important;
  clear:both !important;
  text-align:center !important;
}
.ad-slot.ad-728x90 > a{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}
.ad-slot.ad-728x90 img{
  display:block !important;
  width:728px !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
}

/* ---------------------------------------------------------
   FOOTER — STACK INTERNAL MODULE ROWS + SEPARATE LINKS
   based on supplied live markup:
   .module-inner > .row > .module-head-group.col-md-4 + .module-ct.col-md-8
--------------------------------------------------------- */
#t4-footnav{
  border-top:1px solid rgba(255,255,255,.08);
}

#t4-footnav .t4-module,
#t4-footnav .module,
#t4-footnav .moduletable{
  margin-bottom:18px;
}

#t4-footnav .module-inner{
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.03);
  box-shadow:none;
}

#t4-footnav .module-inner > .row{
  display:block;
  margin:0;
}

#t4-footnav .module-head-group,
#t4-footnav .module-ct{
  width:100%;
  max-width:100%;
  flex:0 0 100%;
  padding:0;
  margin:0;
}

#t4-footnav .module-head-group{
  margin-bottom:14px;
}

#t4-footnav .module-title,
#t4-footnav .block-title,
#t4-footnav h3,
#t4-footnav h4{
  display:block;
  margin:0;
  text-align:left;
  color:rgba(255,255,255,.94);
  font-size:1rem;
  line-height:1.25;
}

#t4-footnav .navbar-nav,
#t4-footnav .nav{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  margin:0;
  padding:0;
}

#t4-footnav .nav-link{
  display:flex;
  align-items:center;
  min-height:38px;
  width:100%;
  padding:9px 12px !important;
  border:1px solid rgba(255,255,255,.06);
  border-radius:10px;
  background:rgba(255,255,255,.02);
  color:rgba(232,236,236,.90) !important;
  text-decoration:none;
  line-height:1.2;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease;
}

#t4-footnav .nav-link:hover,
#t4-footnav .nav-link:focus{
  transform:translateX(2px);
  background:rgba(255,255,255,.06);
  border-color:rgba(102,163,255,.20);
  color:#ffffff !important;
}

#t4-footnav .uv-foot-utility,
#t4-footnav .uv-foot-sitemap{
  display:grid;
  gap:10px;
}

#t4-footnav .uv-foot-utility a,
#t4-footnav .uv-foot-sitemap a{
  display:flex;
  align-items:center;
  min-height:40px;
  width:100%;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:10px;
  background:rgba(255,255,255,.02);
  color:rgba(232,236,236,.90);
  text-decoration:none;
  line-height:1.2;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease;
}

#t4-footnav .uv-foot-utility a:hover,
#t4-footnav .uv-foot-sitemap a:hover,
#t4-footnav .uv-foot-utility a:focus,
#t4-footnav .uv-foot-sitemap a:focus{
  transform:translateX(2px);
  background:rgba(255,255,255,.06);
  border-color:rgba(102,163,255,.20);
  color:#ffffff;
}

#t4-footnav .uv-foot-sitemap{
  grid-template-columns:1fr 1fr;
  column-gap:10px;
  row-gap:10px;
}

#t4-footnav .uv-foot-utility{
  grid-template-columns:1fr;
}

#t4-footnav .uv-shortname{display:none;}
#t4-footnav .uv-fullname{display:inline;}

@media (max-width: 991.98px){
  #t4-footnav .uv-foot-sitemap{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  #t4-footnav .uv-fullname{display:none;}
  #t4-footnav .uv-shortname{display:inline;}
}

/* ---------------------------------------------------------
   HOME TITLE CLEANUP
--------------------------------------------------------- */
body.item-101 .blog-featured > .page-header,
.blog-featured > .page-header,
.home .page-header,
.home .item-page h1,
.home .item-page .article-title,
.home .com-content-article h1{
  display:none !important;
}

/* ---------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------- */
@media (max-width:1100px){
  .uvp .grid,
  .uvportal .uvgrid,
  .uv-home-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}

@media (max-width:991px){
  #t4-header .menu{
    align-items:flex-start;
    margin-top:14px;
  }

  #t4-header .uv-mainnav,
  .uv-mainnav,
  #t4-header .navbar-nav,
  #t4-header .nav{
    justify-content:flex-start;
    gap:8px;
  }
}

@media (max-width:767.98px){
  .ad-slot.ad-728x90{
    width:320px !important;
  }
}

@media (max-width:760px){
  .uvp .grid,
  .uvportal .uvgrid,
  .uv-home-grid{
    grid-template-columns:1fr !important;
  }

  .uvp .head{
    flex-direction:column;
    align-items:flex-start;
  }

  .uv-home-panel img{
    height:180px;
  }

  #t4-footnav .module-inner{
    padding:14px 14px;
  }
}
/* =========================================================
   RIGHT COLUMN — FLATTENED
========================================================= */
.sidebar-right .module,
.sidebar-right .moduletable,
.t4-col.sidebar-right .module,
.t4-col.sidebar-right .moduletable{
  margin-bottom:18px;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.sidebar-right .module-inner,
.t4-col.sidebar-right .module-inner{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.sidebar-right .module-ct,
.t4-col.sidebar-right .module-ct{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.sidebar-right .custom,
.t4-col.sidebar-right .custom{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
/* =========================================================
   COMPONENT SIDE — DARK UNDERLAYER BEHIND CARD GRIDS
========================================================= */
#t4-mainbody > .t4-section-inner > .t4-row.row > .t4-col.component .uvp,
#t4-mainbody > .t4-section-inner > .t4-row.row > .t4-col.component .uvportal{
  background:
    radial-gradient(900px 340px at 12% -10%, rgba(47,107,255,.14), transparent 60%),
    radial-gradient(900px 340px at 88% 0%, rgba(124,58,237,.10), transparent 60%),
    linear-gradient(180deg, #1a2028, #11161d);
  border-color:rgba(255,255,255,.08);
  box-shadow:0 16px 40px rgba(0,0,0,.28);
}

#t4-mainbody > .t4-section-inner > .t4-row.row > .t4-col.component .uvp::before,
#t4-mainbody > .t4-section-inner > .t4-row.row > .t4-col.component .uvportal::before{
  opacity:.38;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0)),
    repeating-linear-gradient(90deg, transparent 0, transparent 79px, rgba(255,255,255,.02) 80px);
}
/* =========================================================
   SEARCH — FILL AVAILABLE SECTION WIDTH
========================================================= */
.mod-finder,
.finder,
.finder-search,
search,
.mod-finder__search{
  width:100%;
  max-width:100%;
}

.mod-finder form,
.mod-finder__search,
.finder form,
search form{
  width:100%;
  max-width:100%;
}

.mod-finder .finder,
.mod-finder .input-group,
.finder .input-group,
search .input-group{
  display:flex;
  width:100%;
  max-width:100%;
  flex-wrap:nowrap;
  align-items:stretch;
  gap:10px;
}

.mod-finder .finder input,
.mod-finder .input-group input,
.finder .input-group input,
search .input-group input,
.mod-finder input[type="search"],
.mod-finder input[type="text"],
.finder input[type="search"],
.finder input[type="text"],
search input[type="search"],
search input[type="text"]{
  flex:1 1 auto;
  width:100%;
  max-width:none;
  min-width:0;
}

.mod-finder button,
.mod-finder .btn,
.finder button,
.finder .btn,
search button,
search .btn{
  flex:0 0 auto;
}

@media (max-width:760px){
  .mod-finder .finder,
  .mod-finder .input-group,
  .finder .input-group,
  search .input-group{
    flex-wrap:wrap;
  }

  .mod-finder button,
  .mod-finder .btn,
  .finder button,
  .finder .btn,
  search button,
  search .btn{
    width:100%;
  }
}
/* =========================================================
   FLEXIBLE MAINBODY WHEN RIGHT COLUMN IS EMPTY
========================================================= */
@media (min-width:992px){
  #t4-mainbody > .t4-section-inner > .t4-row.row > .t4-col.sidebar-right:empty{
    display:none !important;
  }

  #t4-mainbody > .t4-section-inner > .t4-row.row > .t4-col.component:last-child,
  #t4-mainbody > .t4-section-inner > .t4-row.row > .t4-col.component:only-child{
    flex:0 0 100%;
    max-width:100%;
    width:100%;
  }

  #t4-mainbody > .t4-section-inner > .t4-row.row:has(> .t4-col.sidebar-right:empty) > .t4-col.component{
    flex:0 0 100%;
    max-width:100%;
    width:100%;
  }
}