/* === DVI — Cassiopeia child (clean) ===================================== */
/* Barvna paleta (SOFTER) */
:root{
  --dvi-green-300: #C9EBC3;  /* mehka svetla */
  --dvi-green-500: #86C690;  /* primarna, manj nasičena */
  --dvi-green-700: #4E8E63;  /* temnejša */

  --dvi-gray-50:#f6f7f6;
  --dvi-gray-100:#eef1ee;
  --dvi-gray-700:#40454a;

  --cassiopeia-color-primary:var(--dvi-green-500);
  --cassiopeia-color-link:var(--dvi-green-700);
  --cassiopeia-color-hover:#3F7453;        /* subtilnejši hover */
  --cassiopeia-color-contrast:#ffffff;
}

/* Osnove */
body{color:var(--dvi-gray-700);}
a{
  color:var(--cassiopeia-color-link);
  text-decoration-color: currentColor;      /* fallback */
}
@supports (text-decoration-color: color-mix(in oklab, red 50%, transparent)) {
  a{ text-decoration-color: color-mix(in oklab,currentColor 35%,transparent); }
}
a:hover,a:focus{color:var(--cassiopeia-color-hover);text-decoration-color:currentColor;}

/* === PREHEADER =========================================================== */
.dvi-preheader{
  width:100%;
  background:#fff;
  border-bottom:4px solid var(--dvi-green-500);
  position:relative; z-index:10;
}
.dvi-preheader .dvi-container{
  box-sizing:border-box;max-width:var(--cassiopeia-grid-max-width,1320px);
  margin:0 auto;padding:0 1rem;
}
.dvi-preheader .dvi-banner{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  column-gap:1rem;min-height:110px;
}
.dvi-preheader .banner-left{justify-self:start;}
.dvi-preheader .banner-center{justify-self:center;}
.dvi-preheader .banner-right{justify-self:end;text-align:right;}
.dvi-preheader .banner-left img,.dvi-preheader .banner-center img{height:80px;width:auto;}
#site-description{font-size:.9rem;margin-top:.25rem;line-height:1.2;}
@media (max-width:768px){
  .dvi-preheader .dvi-banner{grid-template-columns:1fr;row-gap:.5rem;min-height:unset;text-align:center;}
  .dvi-preheader .banner-right{justify-self:center;text-align:center;}
}

/* === HEADER / MENI (zeleni header + “pill” aktivni) ===================== */
.header.container-header{
  background: var(--dvi-green-500);         /* Fallback – trdna barva */
  border-bottom:4px solid var(--dvi-green-700);
  position:relative; z-index:50;            /* nad preheaderjem */
}
@supports (background: color-mix(in oklab, #fff 90%, #000)) {
  .header.container-header{
    background: linear-gradient(180deg,
      color-mix(in oklab, var(--dvi-green-500) 92%, #fff) 0%,
      var(--dvi-green-500) 100%);
  }
}
.container-header .navbar{position:relative;z-index:60;gap:.75rem;}
.container-header .grid-child{gap:.75rem;overflow:visible;}
.navbar-brand img.logo{max-height:48px;filter:none;}

/* Level-1 (glavni) – bel tekst; aktivni/hover = bel “pill” z zelenim tekstom */
.header.container-header .mod-menu li.level-1 > a{
  color:#fff !important;
  background:transparent !important;
  padding:.6rem .9rem;border-radius:.5rem;
  transition:background .2s ease,color .2s ease;
}
.header.container-header .mod-menu li.level-1.current > a,
.header.container-header .mod-menu li.level-1.active > a,
.header.container-header .mod-menu li.level-1 > a:hover,
.header.container-header .mod-menu li.level-1 > a:focus{
  background:#fff !important;
  color:var(--dvi-green-700) !important;
  text-decoration:none !important;
}

/* === SUBMENI (MetisMenu level-2) – belo ozadje, temen tekst, senca ====== */
.header.container-header .mod-menu,
.header.container-header .mod-menu > ul{overflow:visible;}
.header.container-header .mod-menu li.level-1{position:relative;}
.header.container-header .mod-menu li.level-1 > ul{
  position:absolute;top:100%;left:0;margin-top:6px;min-width:240px;padding:6px;
  background:#fff;border:1px solid rgba(0,0,0,.08);
  box-shadow:0 14px 32px rgba(0,0,0,.18);
  border-radius:10px;z-index:1001;list-style:none;
}
.header.container-header .mod-menu li.level-2 > a,
.header.container-header .mod-menu li.metismenu-item.level-2 > a{
  display:block;white-space:nowrap;
  color:#1f2937;background:transparent;
  padding:8px 10px;border-radius:6px;
}
.header.container-header .mod-menu li.level-2 > a:hover,
.header.container-header .mod-menu li.level-2 > a:focus{
  background:var(--dvi-green-300);color:#103915;
}
.header.container-header .mod-menu li.level-2.active > a,
.header.container-header .mod-menu li.level-2 > a.active{
  background:var(--dvi-green-500);color:#fff;
}
/* caret pri dropdown-toggle na zeleni glavi */
.header.container-header .mod-menu .dropdown-toggle::after{border-top-color:#fff;}

/* Mobilni offcanvas */
.offcanvas .mod-menu a{color:#1f2937;}
.offcanvas .mod-menu a:hover{background:var(--dvi-green-300);}

/* Skrij privzeti Cassiopeia logo, če je še prisoten */
.header .navbar-brand img.logo[src*="/media/templates/site/cassiopeia/images/logo.svg"]{display:none !important;}

/* === BANNER (pozicija "banner") ======================================== */
.container-banner{
  position:relative;overflow:hidden;
  background-image:url("/media/dvi/header.png"); /* po potrebi zamenjaj pot */
  background-repeat:no-repeat;background-size:contain;background-position:right center;
  background-color:#fff;border-bottom:6px solid var(--dvi-green-500);
}
.container-banner::after{
  content:"";position:absolute;left:-5%;right:-5%;bottom:-1px;height:48px;
  background:radial-gradient(120% 60% at 50% 0%,
    color-mix(in oklab,var(--dvi-green-300) 25%,transparent) 0%,transparent 70%);
  pointer-events:none;
}
.container-banner .grid-child{padding:clamp(1.2rem,2.5vw,2.4rem) clamp(1rem,2vw,2rem);}
.container-banner h1,.container-banner .page-title{color:#103915;font-weight:700;letter-spacing:.3px;}
.container-banner p{color:#2a332c;}

/* === Kartice / moduli =================================================== */
.card,.blog-item,.com-content-article__body{
  border-radius:.8rem;border:1px solid var(--dvi-gray-100);
  box-shadow:0 8px 24px rgba(0,0,0,.04);
}
.moduletable > h3,.card-header{
  background:linear-gradient(180deg,var(--dvi-green-500),var(--dvi-green-700));
  color:#fff;border-radius:.8rem .8rem 0 0;padding:.8rem 1rem;font-weight:600;
}

/* === Gumbi =============================================================== */
.btn-primary,a.btn.btn-primary{background:var(--dvi-green-500);border-color:var(--dvi-green-700);}
.btn-primary:hover,.btn-primary:focus{background:var(--dvi-green-700);border-color:#1f6d2b;}
.btn-outline-primary{color:var(--dvi-green-700);border-color:var(--dvi-green-700);}
.btn-outline-primary:hover{background:var(--dvi-green-500);border-color:var(--dvi-green-500);color:#fff;}
.badge-primary{background:var(--dvi-green-500);}

/* === Tabele / opozorila ================================================= */
.table thead th{background:var(--dvi-gray-100);}
.alert-info{
  border-color:var(--dvi-green-300);
  background:color-mix(in oklab,var(--dvi-green-300) 20%,#fff);
  color:#103915;
}

/* === Footer: logo levo, naslov desno =================================== */
.footer .grid-child{
  display:flex;justify-content:space-between;align-items:center;gap:1.2rem;
  flex-wrap:wrap;padding:1.2rem 0;border-top:4px solid var(--dvi-green-500);
}
.footer address{margin:0;text-align:right;line-height:1.4;}
@media (max-width:640px){
  .footer .grid-child{flex-direction:column;align-items:flex-start;}
  .footer address{text-align:left;}
}

/* === Malenkosti ========================================================= */
.breadcrumb{background:transparent;border:none;}
.pagination .page-item.active .page-link{background:var(--dvi-green-500);border-color:var(--dvi-green-500);}

/* === Footer linki (kontrastni) ========================================== */
.footer a:link,
.footer a:visited { color: #0d6efd !important; }
.footer a:hover,
.footer a:focus,
.footer a:active { color: #0a58ca !important; text-decoration: underline; }

/* === Compatibility fixes: Firefox/Edge (brez spremembe palete) ========== */
/* 1) Ne dovoli auto-dark/auto-contrast prebarvanja strani */
:root { color-scheme: light; }
@media (forced-colors: active) {
  .header.container-header,
  .container-header .navbar,
  .container-header .container-nav {
    forced-color-adjust: none;
    background: var(--dvi-green-500) !important;
  }
  .header.container-header .mod-menu li.level-1 > a {
    forced-color-adjust: none;
    color: #fff !important;
  }
}
