/**
 * DINARU — Brand Override CSS
 * Joomla 6 / Cassiopeia · Navy · Gold · Playfair Display
 * dinaru.com
 */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800&display=swap');
/* Ensure the Font Awesome font is declared */
/* (Only needed if your template doesn't already load FA) */
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css");

/* ════════════════════════════════════════
   DESIGN TOKENS
════════════════════════════════════════ */
:root {
  --d-navy:        #012169;
  --d-dark-blue:   #01194d;
  --d-gold:        #EFBF04;
  --d-gold-hover:  #d4a903;
  --d-emerald:     #10B981;
  --d-amber:       #F59E0B;
  --d-red:         #EF4444;

  --d-font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --d-font-body:    'Trebuchet MS', 'Lucida Grande', 'Lucida Sans', sans-serif;
  --d-font-mono:    'IBM Plex Mono', monospace;
  --d-transition:   0.22s ease;

  --cassiopeia-font-family-body:      'Trebuchet MS', 'Lucida Grande', 'Lucida Sans', sans-serif;
  --cassiopeia-font-family-headings:  'Playfair Display', Georgia, serif;
  --cassiopeia-font-weight-normal:    400;
  --cassiopeia-font-weight-headings:  700;
}

/* ════════════════════════════════════════════════════════════
   COLOR SCHEME — DARK
════════════════════════════════════════════════════════════ */
:root[data-color-scheme="dark"] {
  --d-bg-page:     #0a0f1e;
  --d-bg-surface:  #111827;
  --d-bg-elevated: #1e2a3a;
  --d-bg-card:     #1a2332;
  --d-border:      #1e3a5f;
  --d-text-body:   #cbd5e1;
  --d-text-head:   #f1f5f9;
  --d-text-muted:  #64748b;
  --d-text-subtle: #94a3b8;
  --d-link:        #EFBF04;
  --d-link-hover:  #ffd234;
  --d-header-bg:   linear-gradient(to bottom, rgba(1,33,105,0.97), rgba(1,33,105,0.75)), linear-gradient(to right, rgba(1,48,107,1), rgba(1,33,105,1));

  --cassiopeia-color-primary:   #EFBF04;
  --cassiopeia-color-link:      #EFBF04;
  --template-bg-light:          #111827;
  --template-text-dark:         #cbd5e1;
  --template-text-light:        #f1f5f9;
  --template-link-color:        #EFBF04;
  --template-special-color:     #EFBF04;
  --body-bg:                    #111827;
  --body-bg-rgb:                17, 24, 39;
  --border-color:               #1e3a5f;
  --border-color-translucent:   rgba(255,255,255,0.08);
  --tertiary-bg:                #1e2a3a;
  --tertiary-bg-rgb:            30, 42, 58;
  --scheme-icon-moon: block;
  --scheme-icon-sun:  none;
}

/* ════════════════════════════════════════════════════════════
   COLOR SCHEME — LIGHT
════════════════════════════════════════════════════════════ */
:root[data-color-scheme="light"] {
  --d-bg-page:     #ffffff;
  --d-bg-surface:  #F4F4F4;
  --d-bg-elevated: #ffffff;
  --d-bg-card:     #ffffff;
  --d-border:      #E2E8F0;
  --d-text-body:   #374151;
  --d-text-head:   #1C1C1C;
  --d-text-muted:  #6C6868;
  --d-text-subtle: #9ca3af;
  --d-link:        #012169;
  --d-link-hover:  #01194d;
  --d-header-bg:   linear-gradient(to bottom, rgba(1,33,105,0.97), rgba(1,33,105,0.75)), linear-gradient(to right, rgba(1,48,107,1), rgba(1,33,105,1));

  --cassiopeia-color-primary:   #012169;
  --cassiopeia-color-link:      #012169;
  --template-bg-light:          #F4F4F4;
  --template-text-dark:         #374151;
  --template-text-light:        #1C1C1C;
  --template-link-color:        #012169;
  --template-special-color:     #012169;
  --body-bg:                    #F4F4F4;
  --body-bg-rgb:                244, 244, 244;
  --border-color:               #E2E8F0;
  --border-color-translucent:   rgba(0,0,0,0.08);
  --tertiary-bg:                #F4F4F4;
  --tertiary-bg-rgb:            244, 244, 244;
  --scheme-icon-moon: none;
  --scheme-icon-sun:  block;
}

/* ════════════════════════════════════════
   GLOBAL BASE
════════════════════════════════════════ */
html { scroll-behavior: smooth; }

body {
  background-color: var(--d-bg-page) !important;
  color: var(--d-text-body) !important;
  font-family: var(--d-font-body) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  -webkit-font-smoothing: antialiased;
}

::selection { background: var(--d-gold); color: var(--d-navy); }
::-webkit-scrollbar              { width: 6px; }
::-webkit-scrollbar-track        { background: var(--d-bg-surface); }
::-webkit-scrollbar-thumb        { background: var(--d-navy); border-radius: 3px; }
:root[data-color-scheme="dark"] ::-webkit-scrollbar-thumb { background: var(--d-gold); }

/* ════════════════════════════════════════
   TYPOGRAPHY
════════════════════════════════════════ */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--d-font-display) !important;
  font-weight: 700 !important;
  color: var(--d-text-head) !important;
  line-height: 1.3;
}

p { color: var(--d-text-body) !important; line-height: 1.75; }

a { color: var(--d-link) !important; transition: color var(--d-transition); text-decoration: none; }
a:hover { color: var(--d-link-hover) !important; }

strong, b { color: var(--d-text-head); font-weight: 700; }

blockquote,
main .com-content-article blockquote {
  font-family: var(--d-font-display);
  font-style: italic;
  font-size: 1.5rem !important;
  line-height: 1.5 !important;
  border-left: 4px solid var(--d-gold) !important;
  background: var(--d-bg-surface);
  padding: 1.25rem 1.5rem;
  color: var(--d-text-body);
  border-radius: 0 0.5rem 0.5rem 0;
  margin: 1.5rem 0;
}

.com-content-article.item-page figure.item-image img {
  width: 100%;
  height: auto;
  max-width: 100%;
}

h3 a, h3 a:not([class]) { text-decoration: none !important; }
h3 a:hover { color: var(--d-link) !important; }

/* ════════════════════════════════════════
   HEADER — always dark navy
════════════════════════════════════════ */
header.dinaru-header,
.dinaru-header {
  background: var(--d-header-bg) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  box-shadow: 0px 6px 8px rgba(0, 0, 0, 0.2), 0 6px 20px rgba(0, 0, 0, 0.69) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1030 !important;
}

.dinaru-header-inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
  height: 64px;
}

/* Header stays dark in light mode too */
:root[data-color-scheme="light"] .dinaru-header,
:root[data-color-scheme="light"] header.dinaru-header {
  background: var(--d-header-bg) !important;
  border-bottom: 1px solid rgba(239,191,4,0.2) !important;
  box-shadow: 0px 6px 8px rgba(0, 0, 0, 0.2), 0 6px 20px rgba(0, 0, 0, 0.69) !important;
}

/* ── Logo ── */
.dinaru-brand { flex-shrink: 0; }
.dinaru-logo-link { display: flex; align-items: center; }

.logo-full  { display: block; height: 40px; width: auto; }
.logo-small { display: none;  height: 28px; width: auto; }

.dinaru-header.scrolled .logo-full  { display: none; }
.dinaru-header.scrolled .logo-small { display: block; }

@media (max-width: 767.98px) {
  .logo-full  { display: none !important; }
  .logo-small { display: block !important; }
}

.dinaru-header .responsive-visible {
  display:none;
}

.dinaru-header.scrolled .responsive-visible {
  display:block;
}

.dinaru-site-desc {
  font-size: 10px !important;
  color: rgba(203,213,225,0.6) !important;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-top: 2px;
}

/* ════════════════════════════════════════
   NAVIGATION
════════════════════════════════════════ */
.dinaru-nav-collapse {
  display: flex;
  align-items: center;
  flex: 1;
  justify-content: flex-end;
  gap: 0;
}

.dinaru-header .nav-item > a,
.dinaru-header .nav-link,
.dinaru-nav-collapse .nav-item > a,
.dinaru-nav-collapse .nav-link {
  font-family: var(--d-font-body) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #cbd5e1 !important;
  padding: 6px 14px !important;
  transition: color var(--d-transition);
  position: relative;
  border-bottom: none !important;
  text-decoration: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

.dinaru-header .nav-item > a:hover,
.dinaru-header .nav-item.active > a,
.dinaru-nav-collapse .nav-item > a:hover,
.dinaru-nav-collapse .nav-item.active > a {
  color: #ffffff !important;
  background: transparent !important;
}

/* Kill all borders on nav */
.dinaru-header a, .dinaru-header a:hover, .dinaru-header a:focus,
.dinaru-nav-collapse a, .dinaru-nav-collapse a:hover {
  border-bottom: none !important;
  text-decoration: none !important;
}

.nav-link { text-decoration: none !important; }

/* Gold underline on hover — desktop only */
@media (min-width: 992px) {
  .metismenu.mod-list .parent>ul{
    padding: .5rem 0;
  }

  .metismenu.mod-list >.metismenu-item > .metismenu.underline,
  .mod-languages  .btn-group .metismenu.underline {
    position: relative;
    width: 0%;
    display: block;
    transform: scaleX(0);
    transition: transform var(--d-transition);
    border-bottom: 3px solid transparent;
  }

  .metismenu.mod-list >.metismenu-item:hover > .metismenu.underline,
  .mod-languages:hover .btn-group .metismenu.underline {
    width: 100%;
    transform: scaleX(1);
    border-bottom: 3px solid var(--d-gold);
  }

  .dinaru-nav-collapse .nav-item > a::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 14px;
    right: 14px;
    height: 2px;
    background: var(--d-gold);
    transform: scaleX(0);
    transition: transform var(--d-transition);
  }

  .dinaru-nav-collapse .nav-item:hover > a::after,
  .dinaru-nav-collapse .nav-item.active > a::after {
    transform: scaleX(1);
  }
}

@media (max-width: 991.98px) {
  .metismenu.mod-list >.metismenu-item > .metismenu.underline,
  .dinaru-nav-collapse .nav-item > a::after,
  .dinaru-nav-collapse .nav-item > a::before,
  .mod-languages  .btn-group .metismenu.underline {
    display: none !important;
  }
}

/* Dropdowns */
.dinaru-nav-collapse .dropdown-menu {
  background: #012169 !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-top: 2px solid var(--d-gold) !important;
  border-radius: 0.5rem !important;
  box-shadow: 0 8px 32px rgba(1,33,105,0.4) !important;
  min-width: 200px;
}

.dinaru-nav-collapse .dropdown-item {
  font-family: var(--d-font-body) !important;
  font-size: 14px !important;
  color: #cbd5e1 !important;
  padding: 10px 18px !important;
  background: transparent !important;
}

.dinaru-nav-collapse .dropdown-item:hover {
  color: #ffffff !important;
  background: rgba(239,191,4,0.15) !important;
}

.metismenu.mod-list {
  display: flex;
  flex-direction: row;
  color: #cbd5e1 !important;
}

.metismenu.mod-menu .metismenu-item > ul {
  position: absolute;
  top: 90% !important;
  left: 5px  !important;
}

.metismenu.mod-menu .metismenu-item>span,
.metismenu.mod-menu .metismenu-item>a,
.metismenu.mod-menu .metismenu-item>button {
  font-size: 13px !important;
}

/* language menu pfeil */
.dropdown-toggle:after ,
.metismenu.mod-menu .mm-toggler:after {
    content: "";
    border-top: .5em solid;
    border-left: .5em solid #0000;
    border-right: .5em solid #0000;
    width: 0;
    height: 0;
    margin-inline-start: .5em;
    transition: all .3s ease-out;
  }

.mod-languages .dropdown-toggle:after {
  position: absolute;
  top: 15px;
  left: 55px;
  display: inline;
}


/* Komplett entfernen für alle interaktiven Elemente im Menü */
.metismenu.mod-list *:focus,
.metismenu.mod-menu .metismenu-item>a:focus,
.metismenu.mod-menu .metismenu-item>button:focus {
  outline: none !important;
  box-shadow: none !important;
}

.metismenu.mod-list > li > a {
  color: #cbd5e1 !important;
  transition: color var(--d-transition);
}

.metismenu.mod-list > li > a:hover {
  color: #ffffff !important;
  color: var(--d-gold) !important;
}

/* Search in header */
.dinaru-search { display: flex; align-items: center; margin-left: 8px; }

.dinaru-search input[type="search"],
.dinaru-search input[type="text"],
.container-search input[type="search"],
.container-search input[type="text"] {
  background: rgba(255,255,255,0.1) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  color: #fff !important;
  border-radius: 0.5rem !important;
  font-size: 13px !important;
  padding: 6px 14px !important;
  width: 160px;
  transition: all var(--d-transition);
}

.dinaru-search input:focus,
.container-search input:focus {
  background: rgba(255,255,255,0.15) !important;
  border-color: var(--d-gold) !important;
  outline: none !important;
  box-shadow: none !important;
  width: 220px;
}

/* ════════════════════════════════════════
   LANGUAGE SWITCHER
════════════════════════════════════════ */

.metismenu.mod-menu .parent>ul,
.mod-languages__select.btn-group .dropdown-menu,
.mod-languages .dropdown-menu {
  background-color: #012169 !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-top: 2px solid var(--d-gold) !important;
  border-radius: 0.5rem !important;
  min-width: 120px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}
.metismenu.mod-menu .parent>ul li{
  margin: 0 .5rem;
}

.mod-languages__select .dropdown-item,
.mod-languages .dropdown-item,
.mod-languages__select ul li a,
.mod-languages ul li {
  background-color: transparent !important;
  color: #cbd5e1 !important;
  padding: 8px 14px !important;
  font-size: 13px !important;
  font-family: var(--d-font-body) !important;
  font-weight: 500 !important;
  border-radius: 5px;
}

.metismenu.mod-menu .parent>ul li a{
  background-color: transparent !important;
  color: #cbd5e1 !important;
  padding: 0px !important;
  font-size: 13px !important;
  font-family: var(--d-font-body) !important;
  font-weight: 500 !important;
  border-radius: 5px;
}
.metismenu.mod-menu .parent>ul li,
.mod-languages__select .dropdown-item {
  border-radius: 5px;
}
.metismenu.mod-menu .parent>ul li:hover,
.mod-languages__select .dropdown-item:hover,
.mod-languages .dropdown-item:hover,
.mod-languages ul li:not(.lang-active):hover,
div.mod-languages__select ul li:not(.lang-active):hover {
  background-color: rgba(239,191,4,0.65) !important;
  color: var(--v-white) !important;
}

.metismenu.mod-menu .parent>ul li.current,
.mod-languages__select .dropdown-item.active,
.mod-languages__select .dropdown-item:active,
.mod-languages .dropdown-item.active,
.mod-languages ul li.lang-active,
div.mod-languages__select ul li.lang-active {
  background-color: rgba(239,191,4,0.85) !important;
  color: var(--d-gold) !important;
}

.metismenu.mod-menu .parent>ul li.current a,
.mod-languages__select .dropdown-item.active a,
.mod-languages__select .dropdown-item:active a,
.mod-languages .dropdown-item.active a,
.mod-languages ul li.lang-active a,
div.mod-languages__select ul li.lang-active {
  color: #000 !important;
}

.mod-languages__select > .btn,
.mod-languages .btn-group > .btn {
  background-color: transparent !important;
  border: 1px solid transparent !important;
  color: var(--v-mist) !important;
  font-size: 12px !important;
  font-family: var(--v-font-display) !important;
  letter-spacing: 0.1em;
  border-radius: 0 !important;
}

.mod-languages__select > .btn:hover,
.mod-languages .btn-group > .btn:hover {
  /* weg wegen underline metismenu */
  /* border-color: var(--d-gold) !important;
  color: #fff !important; */
}

.mod-languages img { vertical-align: text-top; }


ul.tags.list-inline {
  line-height: 42px;
}

.tags .list-inline-item {
  margin: 0;
}
.tags .list-inline-item .btn:hover {
  color: var(--btn-hover-color) !important;
}

:root[data-color-scheme="dark"] .text-muted,
:root[data-color-scheme="dark"] .cb_template .form-control-plaintext {
  color: var(--btn-active-color) !important;
}

.cb_template .form-control-plaintext,
.text-muted {
  color: var(--secondary-color) !important;
}

.btn-info {
  --btn-color: #fff;
  --btn-bg: transparent;
  --btn-border-color: #002168;
  --btn-hover-color: #fff;
  --btn-hover-bg: #002168;
  --btn-hover-border-color: #264f70;
  --btn-focus-shadow-rgb: 79, 122, 158;
  --btn-active-color: #fff;
  --btn-active-bg: #264f70;
  --btn-active-border-color: #244a69;
  --btn-active-shadow: inset 0 3px 5px #00000020;
  --btn-disabled-color: #fff;
  --btn-disabled-bg: #80a1d8;
  --btn-disabled-border-color: #30638d;
}
/* ════════════════════════════════════════
   BURGER MENU
════════════════════════════════════════ */
.dinaru-burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 0.5rem;
  cursor: pointer;
  padding: 8px;
  margin-left: auto;
  margin-right: 8px;
  flex-shrink: 0;
  transition: all 0.2s;
}

.dinaru-burger:hover {
  background: rgba(239,191,4,0.15);
  border-color: var(--d-gold);
}

.burger-bar {
  display: block;
  width: 20px;
  height: 2px;
  background: #cbd5e1;
  transition: transform .25s ease, opacity .2s ease;
  transform-origin: center;
}

.dinaru-burger:hover .burger-bar { background: #fff; }
.dinaru-burger.is-open .burger-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.dinaru-burger.is-open .burger-bar:nth-child(2) { opacity: 0; transform: scaleX(0); }
.dinaru-burger.is-open .burger-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.dinaru-burger.is-open { border-color: var(--d-gold); }

@media (max-width: 991.98px) {
  .dinaru-burger { display: flex; }

  .dinaru-header-inner { flex-wrap: wrap; height: auto; padding: 12px 1rem; }
  .dinaru-brand { flex: 1; }

  .dinaru-nav-collapse {
    display: none;
    width: 100%;
    order: 10;
    flex-direction: column;
    align-items: flex-start;
    background: rgba(1,33,105,0.98);
    border-top: 2px solid var(--d-gold);
    padding: 16px 20px;
    gap: 0;
  }

  .dinaru-nav-collapse.is-open { display: flex; }

  .dinaru-nav-collapse .mod-menu,
  .dinaru-nav-collapse .nav,
  .dinaru-nav-collapse ul {
    flex-direction: column !important;
    width: 100%;
  }

  .dinaru-nav-collapse .nav-item {
    width: 100%;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  .dinaru-nav-collapse .nav-item > a,
  .dinaru-nav-collapse .nav-link {
    font-size: 16px !important;
    padding: 14px 0 !important;
    display: block;
    width: 100%;
  }

  .dinaru-nav-collapse .dropdown-menu {
    position: static !important;
    border: none !important;
    border-left: 3px solid var(--d-gold) !important;
    padding-left: 16px !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .dinaru-search { width: 100%; margin-top: 12px; }
  .dinaru-search input { width: 100% !important; }

  .container-middle-row { flex-direction: column; }
}

@media (min-width: 992px) {
  .dinaru-nav-collapse { display: flex !important; flex-direction: row; align-items: center; }
  .dinaru-burger { display: none !important; }
}

/* ════════════════════════════════════════
   COLOR SCHEME TOGGLE
════════════════════════════════════════ */
.dinaru-scheme-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-left: 8px;
  flex-shrink: 0;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 50%;
  cursor: pointer;
  color: #cbd5e1;
  font-size: 18px;
  line-height: 1;
  transition: all 0.2s;
  padding: 0;
}

.dinaru-scheme-toggle:hover {
  background: rgba(239,191,4,0.15);
  border-color: var(--d-gold);
  color: #fff;
}

.scheme-icon--moon { display: var(--scheme-icon-moon, block); }
.scheme-icon--sun  { display: var(--scheme-icon-sun,  none); }

/* ════════════════════════════════════════
   HERO / BANNER
════════════════════════════════════════ */
.dinaru-hero { background: var(--d-bg-surface); width: 100%; }
.dinaru-banner { width: 100%; }

/* ════════════════════════════════════════
   SITE GRID — sidebar layout fix
════════════════════════════════════════ */
.dinaru-site-grid {
  background: var(--d-bg-page);
  padding: 2rem 0;
}

.plg-cbtags-userlist.dinaru-site-grid  {
  padding: 0 0 2rem 0;
}

.dinaru-grid-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
}

/* Component stretches to fill remaining space */
.dinaru-component {
  flex: 1 1 0;
  min-width: 0;
}

/* Sidebars have fixed width, don't shrink */
.dinaru-sidebar-left  { flex: 0 0 260px; min-width: 0; }
.dinaru-sidebar-right {
  flex: 0 0 260px;
  min-width: 0;
  margin-left: auto; /* push to the far right */
}

/* When both sidebars present, component fills middle */
.has-sidebar-left.has-sidebar-right .dinaru-component {
  flex: 1 1 0;
  min-width: 0;
}

.main-bottom { margin: 0px; }

/* ════════════════════════════════════════
   BREADCRUMBS
════════════════════════════════════════ */
.breadcrumb {
  background: transparent !important;
  padding: 10px 0 !important;
  font-family: var(--d-font-body) !important;
  font-size: 13px !important;
  letter-spacing: 0.05em;
}

.breadcrumb-item a           { color: var(--d-text-muted) !important; }
.breadcrumb-item a:hover     { color: var(--d-link) !important; }
.breadcrumb-item.active      { color: var(--d-text-subtle) !important; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--d-border) !important; }

:root[data-color-scheme="light"] .breadcrumb-item a       { color: #6C6868 !important; }
:root[data-color-scheme="light"] .breadcrumb-item a:hover { color: #012169 !important; }
:root[data-color-scheme="light"] .breadcrumb-item.active  { color: #374151 !important; }

:root[data-color-scheme="light"] .mod-languages__select > .btn, .mod-languages .btn-group > .btn {
  color: #C8C4BC !important;
}
.mod-languages .btn-group > .btn {
  margin-right: 30px;
  margin-left: 0px;
  padding-left: 10px;
}
:root[data-color-scheme="light"] .mod-languages__select .dropdown-item,
:root[data-color-scheme="light"] .mod-languages .dropdown-item {
  color: var(--v-text-body) !important;
}
:root[data-color-scheme="light"] #vulcanus-nav-collapse .nav-item {
  border-bottom-color: var(--v-border) !important;
}

/* ════════════════════════════════════════
   CARDS
════════════════════════════════════════ */
.card {
  background: var(--d-bg-card) !important;
  border: 1px solid var(--d-border) !important;
  border-radius: 0.75rem !important;
  border-top: 3px solid var(--d-gold) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.12);
}

.card-header {
  background: var(--d-bg-elevated) !important;
  border-bottom: 1px solid var(--d-border) !important;
  font-family: var(--d-font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--d-text-head) !important;
  border-radius: 0.75rem 0.75rem 0 0 !important;
}

/* ════════════════════════════════════════
   BUTTONS — free-floating vs. input-group
════════════════════════════════════════ */
.btn-primary {
  background-color: var(--d-gold) !important;
  border-color:     var(--d-gold) !important;
  color: var(--d-navy) !important;
  font-family: var(--d-font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border-radius: 0.5rem !important;
  padding: 0.6rem 1.5rem !important;
}
.btn-primary:hover, .btn-primary:focus {
  background-color: var(--d-gold-hover) !important;
  border-color:     var(--d-gold-hover) !important;
}

.btn-secondary {
  background: transparent !important;
  border: 1px solid var(--d-border) !important;
  color: var(--d-text-body) !important;
  font-family: var(--d-font-body) !important;
  font-size: 14px !important;
  border-radius: 0.5rem !important;
}
.btn-secondary:hover {
  border-color: var(--d-gold) !important;
  color: var(--d-text-head) !important;
}

/* Free-floating input-group button: fully rounded */
.input-group .btn,
.input-group > .btn {
  background-color: var(--d-navy) !important;
  border: 1px solid var(--d-navy) !important;
  color: #fff !important;
  border-radius: 0.5rem !important; /* fully rounded when free-floating */
  z-index: 2;
}

/* When button is the last child in an input-group (glued to input field) */
.input-group > .form-control ~ .btn,
.input-group > .form-select ~ .btn,
.input-group > .input-group-text ~ .btn,
.input-group:not(:has(.form-control:only-child)) > .btn:last-child,
.input-group > :not(:first-child).btn {
  border-radius: 0 0.5rem 0.5rem 0 !important; /* only outer corners rounded */
}

/* When button is the first child (left side) */
.input-group > .btn:first-child {
  border-radius: 0.5rem 0 0 0.5rem !important;
}

.input-group .btn:hover, .input-group > .btn:hover {
  background-color: var(--d-gold) !important;
  border-color: var(--d-gold) !important;
  color: var(--d-navy) !important;
}

.input-group .btn:focus, .input-group > .btn:focus {
  background-color: var(--d-gold) !important;
  border-color: var(--d-gold) !important;
  color: var(--d-navy) !important;
  box-shadow: 0 0 0 3px rgba(239,191,4,0.25) !important;
  outline: none !important;
}

/* Eye icon visibility */
.input-group .btn i,
.input-group .btn span.icon,
.input-group .btn [class*="icon-eye"],
.input-group .btn [class*="fa-eye"] { color: #fff !important; opacity: 1 !important; }

.input-group .btn:hover i,
.input-group .btn:hover span.icon { color: var(--d-navy) !important; }

/* ════════════════════════════════════════
   FORMS
════════════════════════════════════════ */
.form-control,
.form-select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
textarea {
  background: var(--d-bg-elevated) !important;
  border: 1px solid var(--d-border) !important;
  color: var(--d-text-body) !important;
  border-radius: 0.5rem !important;
  font-family: var(--d-font-body) !important;
  font-size: 15px !important;
}

.form-control:focus,
.form-select:focus,
input:focus,
textarea:focus {
  background: var(--d-bg-card) !important;
  border-color: var(--d-gold) !important;
  box-shadow: 0 0 0 3px rgba(239,191,4,0.15) !important;
  color: var(--d-text-body) !important;
}

:root[data-color-scheme="light"] .form-control:focus,
:root[data-color-scheme="light"] input:focus {
  border-color: var(--d-navy) !important;
  box-shadow: 0 0 0 3px rgba(1,33,105,0.12) !important;
}

.form-control::placeholder,
textarea::placeholder { color: var(--d-text-muted) !important; }

label {
  font-family: var(--d-font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--d-text-body) !important;
}

/* Autofill */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px var(--d-bg-elevated) inset !important;
  box-shadow:         0 0 0 1000px var(--d-bg-elevated) inset !important;
  -webkit-text-fill-color: var(--d-text-body) !important;
  caret-color: var(--d-text-body);
  border-color: var(--d-border) !important;
  transition: background-color 99999s ease-in-out 0s;
}

/* Input groups */
.input-group-text {
  background-color: var(--d-bg-elevated) !important;
  border: 1px solid var(--d-border) !important;
  color: var(--d-text-muted) !important;
  border-radius: 0.5rem 0 0 0.5rem !important;
  --tertiary-bg: var(--d-bg-elevated);
}

.input-group > .form-control,
.input-group > .form-select {
  border-color: var(--d-border) !important;
  border-radius: 0;
}

.input-group > .form-control:first-child,
.input-group > .form-select:first-child {
  border-radius: 0.5rem 0 0 0.5rem;
}

.input-group > .form-control:focus,
.input-group > .form-select:focus { border-color: var(--d-gold) !important; box-shadow: none !important; }
.input-group > .input-group-text:first-child { border-right: none !important; }
.input-group > .btn:last-child { border-left: none !important; }

/* ════════════════════════════════════════
   PAGINATION
════════════════════════════════════════ */
.pagination .page-link {
  background: var(--d-bg-elevated) !important;
  border: 1px solid var(--d-border) !important;
  color: var(--d-text-body) !important;
  border-radius: 0.4rem !important;
  font-family: var(--d-font-body) !important;
  font-weight: 600 !important;
  min-width: 40px;
  text-align: center;
}
.pagination .page-link:hover { border-color: var(--d-gold) !important; color: var(--d-gold) !important; }
.pagination .page-item.active .page-link {
  background: var(--d-navy) !important;
  border-color: var(--d-navy) !important;
  color: #fff !important;
}

/* ════════════════════════════════════════
   TABLES
════════════════════════════════════════ */
.table { color: var(--d-text-body) !important; border-color: var(--d-border) !important; }
.table thead th {
  background: var(--d-navy) !important;
  color: #fff !important;
  font-family: var(--d-font-body) !important;
  font-size: 12px !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-bottom: 2px solid var(--d-gold) !important;
}
.table-striped tbody tr:nth-of-type(odd) { background: rgba(1,33,105,0.04) !important; }
.table-hover tbody tr:hover { background: rgba(239,191,4,0.06) !important; }

/* ════════════════════════════════════════
   ALERTS
════════════════════════════════════════ */
.alert {
  border-radius: 0.5rem !important;
  border: none !important;
  border-left: 4px solid !important;
  font-family: var(--d-font-body) !important;
  font-size: 14px !important;
}
.alert-info    { background: rgba(1,33,105,0.12) !important;    border-color: #012169 !important; color: var(--d-text-body) !important; }
.alert-success { background: rgba(16,185,129,0.12) !important;  border-color: #10B981 !important; color: var(--d-text-body) !important; }
.alert-warning { background: rgba(239,191,4,0.12) !important;   border-color: #EFBF04 !important; color: var(--d-text-body) !important; }
.alert-danger  { background: rgba(239,68,68,0.12) !important;   border-color: #EF4444 !important; color: var(--d-text-body) !important; }

/* ════════════════════════════════════════
   FOOTER — always dark navy, 4-col grid like vulcanus.immo
════════════════════════════════════════ */
.dinaru-footer {
  background: linear-gradient(to bottom, #01194d, #012169) !important;
  color: #fff;
  padding: 64px 0 0 !important;
  margin-top: 0px !important;
  position: relative;
  overflow: hidden;
}

/* Gold top accent line */
.dinaru-footer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(239,191,4,0.4), transparent);
}

.dinaru-footer-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* 4-column grid (logo + 3 link columns) */
.dinaru-footer-modules {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  margin-bottom: 0;
}

/* First child = brand/logo column */
.dinaru-footer-modules > *:first-child {
  padding-right: 2rem;
}

/* Footer headings */
.dinaru-footer h3,
.dinaru-footer h4,
.dinaru-footer .module-title {
  font-family: var(--d-font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #f1f5f9 !important;
  margin-bottom: 16px !important;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* Footer links */
.dinaru-footer a,
.dinaru-footer .nav-link {
  font-size: 14px !important;
  color: #94a3b8 !important;
  font-family: var(--d-font-body) !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}
.dinaru-footer a:hover { color: #ffffff !important; }
.dinaru-footer p { color: #94a3b8 !important; font-size: 14px !important; }
.dinaru-footer ul { list-style: none; padding: 0; margin: 0; }
.dinaru-footer li { margin-bottom: 10px; }

/* Footer bottom bar */
.dinaru-footer-bottom{}

.dinaru-footer-image{
  width: 50%;
  margin: 0 auto;
  border-bottom : 3px solid rgba(239,191,4,0.65);
  padding: 0 0 10px 0;
}

.dinaru-footer-image img{
  text-align: center;
  margin: 0 auto;
}

.dinaru-footer-image .logo-full-footer {
  display: block;
  height: 50px;
  width: auto;
}

.dinaru-footer-endline {
  padding: 20px 0 32px;
  border-top: 1px solid rgba(239,191,4,0.15);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.dinaru-footer-legal {
  font-size: 12px !important;
  color: #64748b !important;
  font-family: var(--d-font-body) !important;
  line-height: 1.6;
  margin: 0 !important;
}


.dinaru-copyright ul,
.dinaru-copyright .nav,
.dinaru-copyright .mod-menu {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px 18px !important;
}
.dinaru-footer .dinaru-copyright li {
  margin-bottom: 0px;
  font-size: 14px !important;
}

.dinaru-copyright a {
  font-size: 11px !important;
  color: #64748b !important;
  font-family: var(--d-font-body) !important;
}
.dinaru-copyright a:hover { color: #94a3b8 !important; }

/* Light mode: keep footer dark */
:root[data-color-scheme="light"] .dinaru-footer {
  background: linear-gradient(to bottom, #01194d, #012169) !important;
}

/* Responsive footer */
@media (max-width: 991.98px) {
  .dinaru-footer-modules { grid-template-columns: 1fr 1fr; gap: 28px; }
}

@media (max-width: 480px) {
  .dinaru-footer-modules { grid-template-columns: 1fr; }
  .dinaru-footer-bottom { flex-direction: column; align-items: flex-start; }
}

/* ════════════════════════════════════════
   BACK TO TOP — with visible arrow
════════════════════════════════════════ */
.dinaru-back-top,
a.dinaru-back-top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: var(--d-gold) !important;
  color: var(--d-navy) !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 16px rgba(239,191,4,0.4);
  z-index: 999;
  transition: all var(--d-transition);
  text-decoration: none !important;
  font-size: 0; /* hide any text */
}

.dinaru-back-top:hover {
  background: var(--d-gold-hover) !important;
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(239,191,4,0.5);
}

/* Also support icon if present */
.dinaru-back-top .icon-arrow-up,
.dinaru-back-top .icon-fw {
  color: var(--d-navy) !important;
  font-size: 1.1rem;
}

/* ════════════════════════════════════════
   METISMENU
════════════════════════════════════════ */
.metismenu > li > a {
  font-family: var(--d-font-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--d-text-body) !important;
}
.metismenu > li > a:hover { color: var(--d-link) !important; }
.metismenu .metismenu-submenu { background: var(--d-bg-elevated) !important; border-left: 3px solid var(--d-gold) !important; }
.metismenu .metismenu-submenu a { color: var(--d-text-muted) !important; font-size: 13px !important; }
.metismenu .metismenu-submenu a:hover { color: var(--d-gold) !important; }

/* ════════════════════════════════════════
   BLOG LAYOUT
════════════════════════════════════════ */
.item-content h1 a,
.item-content h2 a,
.item-content h3 a,
h3 a, h3 a:not([class]) { text-decoration: none !important; }

.com-content-category-blog .items-leading .blog-item,
.blog-featured .items-leading .blog-item {
  display: flex !important;
  flex-direction: row !important;
  gap: 24px;
}

.com-content-category-blog .items-leading .blog-item:nth-child(2),
.blog-featured .items-leading .blog-item:nth-child(2) {
  flex-direction: row-reverse !important;
}

.com-content-category-blog .items-leading.press .blog-item:nth-child(2),
.blog-featured .items-leading.press .blog-item:nth-child(2) {
  flex-direction: row !important;
}

.com-content-category-blog .items-leading .blog-item .item-content,
.blog-featured .items-leading .blog-item .item-content { flex: 0 1 100%; }

.com-content-category-blog .items-leading .blog-item .item-image,
.blog-featured .items-leading .blog-item .item-image { flex: 1 1 100%; }

@media (max-width: 991.98px) {
  .com-content-category-blog .items-leading .blog-item,
  .blog-featured .items-leading .blog-item,
  .com-content-category-blog .items-leading.press .blog-item:nth-child(2),
  .blog-featured .items-leading.press .blog-item:nth-child(2) {
    flex-direction: column !important;
  }
  .com-content-category-blog .items-leading .blog-item .item-content,
  .blog-featured .items-leading .blog-item .item-content { margin-left: 0 !important; }
  .blog-item .item-image { text-align: center; }
}

/* ════════════════════════════════════════
   COMMUNITY BUILDER
════════════════════════════════════════ */
:root[data-color-scheme="light"] .cbTabs .cbFieldsContentsTab, .cbTabs .cbFieldsContentsTab{
  background: #ffffff !important;
  border-color: #E2E8F0 !important;
  transition: background-color .3s ease, color .3s ease, border-color .3s ease;
  border: 1px solid var(--d-border) !important;
  border-radius: 0.75rem !important;
  border-top: 3px solid var(--d-gold) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
  padding: 20px;
  margin-bottom: 20px;
}

.cbProfile .cbPosCanvasMenu, .cbTabs .cbFieldsContentsTab {
  border-top-right-radius : 0.75rem !important;
  border-top-left-radius : 0.75rem !important;
  border-bottom-left-radius : 0 !important;
  border-bottom-right-radius : 0 !important;
}
.cbProfile .cbTabsMenuNavBar, .cbTabs .cbTabsMenuNavBar {
  border-top-right-radius : 0 !important;
  border-top-left-radius : 0 !important;
  border-bottom-left-radius : 0.75rem !important;
  border-bottom-right-radius : 0.75rem !important;
}

.cbTabs .cbTabsMenuRight {
  margin-left: 20px;
}

:root[data-color-scheme="dark"] .cb_template .bg-white {
  background: var(--d-bg-card) !important;
}

:root[data-color-scheme="dark"] .cbProfile .cbPosCanvasMenu,
:root[data-color-scheme="dark"] .cbTabs .cbFieldsContentsTab {
  border-color: #E2E8F0 !important;
  transition: background-color .3s ease, color .3s ease, border-color .3s ease;
  background: var(--d-bg-card) !important;
  border: 1px solid var(--d-border) !important;
  border-radius: 0.75rem !important;
  border-top: 3px solid var(--d-gold) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
}

:root[data-color-scheme="dark"] .cbProfile .cbPosCanvasMenu {
  border-radius: 0.75rem 0.75rem  0px 0px !important;
}

:root[data-color-scheme="dark"] .cb_template .bg-light {
  background-color: transparent !important;
}

:root[data-color-scheme="dark"] .cb_template .border {
  border: 1px solid var(--d-border) !important;
}
:root[data-color-scheme="dark"] .cb_template .border-top {
  border-top: 1px solid var(--d-border) !important;
}

:root[data-color-scheme="dark"] .cb_template .badge-light {
  background-color: var(--d-border);
  color: #212529;
}
:root[data-color-scheme="dark"] .cb_template .cbPosCanvasMain {
  border-top:0px;
}

.cb_template .cb_tab_content,
.cb_template .cbCanvasLayoutMenu>div:first-child .cbMenuNavBar {
  border-top-left-radius: 0.75rem !important;
  border-top-right-radius: 0.75rem !important;
  border-bottom: 0px;
}

.cb_template .btn-success {
  background-color: var(--d-gold);
  border-color: var(--d-gold);
  color: #fff;
  border-radius: 0.5rem !important;
}
.cb_template .btn-success:hover {
  background-color: var(--d-gold-hover) !important;
  border-color: var(--d-gold-hover) !important;
}

/* ════════════════════════════════════════
   CONTACT / ADVANTAGE CARDS
════════════════════════════════════════ */
.dinaru-contact-cards, .vulcanus-contact-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}

.dinaru-advantage-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}

.vulcanus-advantage-cards {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}

.dinaru-contact-card, .dinaru-advantage-card,
.vulcanus-contact-card, .vulcanus-advantage-card {
  background: var(--d-bg-card);
  border: 1px solid var(--d-border);
  border-top: 3px solid var(--d-gold);
  border-radius: 0.75rem;
  padding: 36px 28px;
  text-align: center;
  transition: all var(--d-transition);
}

.dinaru-contact-card:hover, .dinaru-advantage-card:hover,
.vulcanus-contact-card:hover, .vulcanus-advantage-card:hover {
  border-color: var(--d-gold);
  box-shadow: 0 8px 32px rgba(239,191,4,0.15);
  transform: translateY(-2px);
}

.dinaru-contact-icon, .dinaru-advantage-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  border-radius: 50%;
  background: rgba(239,191,4,0.15);
  margin: 0 auto 20px;
  color: var(--d-gold);
}

:root[data-color-scheme="light"] .dinaru-contact-icon,
:root[data-color-scheme="light"] .vulcanus-contact-icon {
  background: rgba(1,33,105,0.08);
  color: var(--d-navy);
}

.dinaru-contact-card h3, .dinaru-advantage-card h3,
.vulcanus-contact-card h3, .vulcanus-advantage-cards h3 {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--d-text-head) !important;
  margin-bottom: 8px !important;
}

.dinaru-contact-primary, .dinaru-advantage-primary,
.vulcanus-contact-primary, .vulcanus-advantage-primary {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--d-gold) !important;
  margin-bottom: 4px !important;
  line-height: 1.4 !important;
}

:root[data-color-scheme="light"] .dinaru-contact-primary,
:root[data-color-scheme="light"] .vulcanus-contact-primary {
  color: var(--d-navy) !important;
}

.dinaru-contact-secondary, .dinaru-advantage-secondary,
.vulcanus-contact-secondary, .vulcanus-advantage-secondary {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--d-text-muted) !important;
  margin: 0 !important;
}

:root[data-color-scheme="light"] .dinaru-contact-card:hover,
:root[data-color-scheme="light"] .vulcanus-contact-card:hover {
  border-color: var(--d-navy);
  box-shadow: 0 8px 24px rgba(1,33,105,0.15);
}

/* Textblocks */
.dinaru-textblock, .vulcanus-textblock {
  display: flex;
  padding: 30px;
}

.dinaru-textblock .left, .dinaru-textblock .right ,
.vulcanus-textblock .left, .vulcanus-textblock .right {
  padding: 30px;
  width: 50%;
}

/* Rapid contact */
.main-bottom.mod_rapid_contact { margin: 40px 20% 80px 20%; text-align: center; }
.main-bottom.mod_rapid_contact .rapid_contact .form-control { max-width: 100%; }

.main-bottom.mod_rapid_contact h3,
.mod_your_benefits h3,
.jt-pretext .pretext_title {
  text-align: center;
  color: var(--d-link) !important;
  margin: 10px 0 40px 0;
  display: block;
  font-family: var(--d-font-display) !important;
  font-weight: 700 !important;
  font-size: calc(1.3rem + .6vw);
}

.main-bottom.mod_rapid_contact .input-group > .form-control,
.main-bottom.mod_rapid_contact .input-group > .form-select {
  border-left: 4px solid var(--d-gold) !important;
}

.main-bottom.mod_rapid_contact .input-group > .btn:last-child,
.main-bottom.mod_rapid_contact .input-group > .input-group-text:last-child {
  border-left: 4px solid var(--d-gold) !important;
}

/* Responsive cards */
@media (min-width: 600px) and (max-width: 991.98px) {
  .dinaru-contact-cards, .vulcanus-contact-cards,
  .dinaru-advantage-cards, .vulcanus-advantage-cards {
    grid-template-columns: repeat(2, 1fr);
  }
  .dinaru-contact-cards > :last-child, .vulcanus-contact-cards > :last-child {
    grid-column: 1 / -1;
    justify-self: center;
    width: 50%;
  }
  .main-bottom.mod_rapid_contact { margin: 40px 10% 40px 10% !important; }
  .dinaru-textblock, .vulcanus-textblock  { flex-direction: column; padding: 0; }
  .dinaru-textblock .left, .dinaru-textblock .right, .vulcanus-textblock .left, .vulcanus-textblock .right  { padding: 30px 20px; width: 75%; margin: 0 auto; }
}

@media (max-width: 599.98px) {
  .dinaru-contact-cards, .vulcanus-contact-cards,
  .dinaru-advantage-cards, .vulcanus-advantage-cards {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .main-bottom.mod_rapid_contact { margin: 40px 10px 40px 10px !important; }
  .main-bottom { margin: 0; }
  .dinaru-textblock, .vulcanus-textblock  { padding: 0; flex-direction: column; }
  .dinaru-textblock .left, .dinaru-textblock .right, .vulcanus-textblock .left, .vulcanus-textblock .right  { padding: 30px 10px; width: 100%; margin: 0 auto; }
}

/* ════════════════════════════════════════
   TESTIMONIALS
════════════════════════════════════════ */
.owl2-carousel2 .jt_testimonial-block-slide { background: none; }
.owl2-carousel2 .jt_testimonial-block-slide .testimonial_block { flex-direction: column; }
.owl2-carousel2 .jt_testimonial-block-slide .testimonial_block .testimonial_block-image { margin: 0 auto; }
.owl2-carousel2 .jt_testimonial-block-slide .testimonial_block .testimonial_block-name,
.owl2-carousel2 .jt_testimonial-block-slide .testimonial_block .testimonial_block-position,
.owl2-carousel2 .jt_testimonial-block-slide .testimonial_block .rating { text-align: center; margin-bottom: 20px; }
.owl2-carousel2 .jt_testimonial-block-slide .testimonial_block .testimonial_block-position { font-style: italic; }
.owl2-carousel2 .jt_testimonial-block-slide .testimonial_block .testimonial_block-position::before,
.owl2-carousel2 .jt_testimonial-block-slide .testimonial_block .testimonial_block-position::after { content: "\""; }
.owl2-carousel2 .jt_testimonial-block-slide .testimonial_block .testimonial_block-text::after { top: -60px; bottom: unset; display: none; }

/* ════════════════════════════════════════
   PRESS RELEASES
════════════════════════════════════════ */
.pr-meta { display: flex; justify-content: space-between; font-size: 10px; margin: 10px 10px 20px 10px; }
.pr-body { border-top: 1px solid rgba(136,136,136,0.33); border-bottom: 1px solid rgba(136,136,136,0.33); padding: 20px 0; }
.pr-body .pr-lang-badge { border-radius: 20px; padding: 10px; border: 1px solid var(--d-border); }
.pr-body .flags { padding: 10px; margin: 0 0 20px 0; display: flex; justify-content: space-evenly; }
.pr-footer { font-size: 10px; margin: 20px 10px; }
.center { text-align: center; }

/* ════════════════════════════════════════
   MISC UTILITIES
════════════════════════════════════════ */
a.is_bottom_left.help_btn_161,
a.is_bottom_left.help_btn_161:hover,
a.no_underline, a.no_underline:hover { text-decoration: none !important; }

/* ════════════════════════════════════════
   LIGHT SCHEME SURFACE OVERRIDES
════════════════════════════════════════ */
:root[data-color-scheme="light"] body {
  background-color: var(--d-bg-page) !important;
  color: var(--d-text-body) !important;
}
:root[data-color-scheme="light"] .dinaru-site-grid { background: #F4F4F4 !important; }
:root[data-color-scheme="light"] .card { background: #ffffff !important; border-color: #E2E8F0 !important; }
:root[data-color-scheme="light"] ::-webkit-scrollbar-track { background: var(--d-bg-page); }
:root[data-color-scheme="light"] .metismenu .metismenu-submenu { background: var(--d-bg-elevated) !important; }

/* ════════════════════════════════════════
   SMOOTH TRANSITIONS
════════════════════════════════════════ */
body, .dinaru-site-grid, .dinaru-component,
.card, .card-header, .dinaru-footer,
.dropdown-menu, .input-group-text,
.form-control, .form-select,
input[type="text"], input[type="email"], input[type="password"] {
  transition: background-color .3s ease, color .3s ease, border-color .3s ease;
}


/* =============================================
   Fix Joomla icon-* classes when the icon font
   fails to load via the template
   ============================================= */

/* Base rules for all icon- spans */
[class^="icon-"]::before,
[class*=" icon-"]::before {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 6 Free";
  font-weight: 900; /* Required for solid icons */
}

/* ---- Icon mappings ---- */
.icon-eye::before         { content: "\f06e"; }
.icon-eye-slash::before   { content: "\f070"; }
.icon-user::before        { content: "\f007"; }
.icon-lock::before        { content: "\f023"; }
.icon-home::before        { content: "\f015"; }
.icon-search::before      { content: "\f002"; }
.icon-plus::before        { content: "\2b";   }
.icon-minus::before       { content: "\f068"; }
.icon-edit::before        { content: "\f044"; }
.icon-trash::before       { content: "\f2ed"; font-weight: 900; }
.icon-save::before        { content: "\f0c7"; }
.icon-cancel::before      { content: "\f00d"; }
.icon-apply::before       { content: "\f00c"; }
.icon-publish::before     { content: "\f00c"; }
.icon-unpublish::before   { content: "\f00d"; }
.icon-featured::before    { content: "\f005"; }
.icon-unfeatured::before  { content: "\f006"; font-weight: 400; }
.icon-settings::before    { content: "\f013"; }
.icon-cog::before         { content: "\f013"; }
.icon-copy::before        { content: "\f0c5"; }
.icon-mail::before        { content: "\f0e0"; }
.icon-envelope::before    { content: "\f0e0"; }
.icon-info::before        { content: "\f129"; }
.icon-info-circle::before { content: "\f05a"; }
.icon-warning::before     { content: "\f071"; }
.icon-question::before    { content: "\f128"; }
.icon-arrow-up::before    { content: "\f062"; }
.icon-arrow-down::before  { content: "\f063"; }
.icon-arrow-left::before  { content: "\f060"; }
.icon-arrow-right::before { content: "\f061"; }
.icon-chevron-up::before    { content: "\f077"; }
.icon-chevron-down::before  { content: "\f078"; }
.icon-chevron-left::before  { content: "\f053"; }
.icon-chevron-right::before { content: "\f054"; }
.icon-logout::before      { content: "\f2f5"; }
.icon-login::before       { content: "\f2f6"; }
.icon-new::before         { content: "\f067"; }
.icon-download::before    { content: "\f019"; }
.icon-upload::before      { content: "\f093"; }
.icon-folder::before      { content: "\f07b"; }
.icon-folder-open::before { content: "\f07c"; }
.icon-file::before        { content: "\f15b"; font-weight: 400; }
.icon-image::before       { content: "\f03e"; font-weight: 400; }
.icon-refresh::before     { content: "\f021"; }
.icon-link::before        { content: "\f0c1"; }
.icon-key::before         { content: "\f084"; }
.icon-calendar::before    { content: "\f073"; }
.icon-clock::before       { content: "\f017"; font-weight: 400; }
.icon-list::before        { content: "\f03a"; }
.icon-grid::before        { content: "\f00a"; }
.icon-tag::before         { content: "\f02b"; }
.icon-tags::before        { content: "\f02c"; }
.icon-star::before        { content: "\f005"; }
.icon-star-empty::before  { content: "\f005"; font-weight: 400; }
.icon-comment::before     { content: "\f075"; font-weight: 400; }
.icon-comments::before    { content: "\f086"; font-weight: 400; }
.icon-check::before       { content: "\f00c"; }
.icon-times::before       { content: "\f00d"; }
.icon-ban::before         { content: "\f05e"; }
.icon-print::before       { content: "\f02f"; }
.icon-expand::before      { content: "\f065"; }
.icon-compress::before    { content: "\f066"; }
.icon-map-marker::before  { content: "\f3c5"; }
.icon-phone::before       { content: "\f095"; }
.icon-globe::before       { content: "\f0ac"; }
.icon-menu::before        { content: "\f0c9"; }
.icon-bars::before        { content: "\f0c9"; }
.icon-ellipsis-h::before  { content: "\f141"; }
.icon-ellipsis-v::before  { content: "\f142"; }
.icon-spinner::before     { content: "\f110"; }
.icon-circle::before      { content: "\f111"; font-weight: 400; }
.icon-dot-circle::before  { content: "\f192"; font-weight: 400; }
.icon-square::before      { content: "\f0c8"; font-weight: 400; }
.icon-check-square::before { content: "\f14a"; font-weight: 400; }
.icon-database::before    { content: "\f1c0"; }
.icon-code::before        { content: "\f121"; }
.icon-terminal::before    { content: "\f120"; }
.icon-filter::before      { content: "\f0b0"; }
.icon-sort::before        { content: "\f0dc"; }
.icon-sort-asc::before    { content: "\f0de"; }
.icon-sort-desc::before   { content: "\f0dd"; }
.icon-angle-up::before    { content: "\f106"; }
.icon-angle-down::before  { content: "\f107"; }
.icon-angle-left::before  { content: "\f104"; }
.icon-angle-double-left::before  { content: "\f100"; }
.icon-angle-right::before { content: "\f105"; }
.icon-angle-double-right::before { content: "\f101"; }
.icon-double-angle-left::before  { content: "\f100"; }
.icon-double-angle-right::before { content: "\f101"; }
.icon-first::before       { content: "\f100"; }
.icon-last::before        { content: "\f101"; }
.icon-next::before        { content: "\f101"; }
.icon-prev::before        { content: "\f100"; }
.icon-move::before        { content: "\f0b2"; }
.icon-drag::before        { content: "\f0b2"; }
.icon-wrench::before      { content: "\f0ad"; }
.icon-power-off::before   { content: "\f011"; }
.icon-dashboard::before   { content: "\f3fd"; }
.icon-bell::before        { content: "\f0f3"; }
.icon-shield::before      { content: "\f132"; }
.icon-th::before          { content: "\f00a"; }
.icon-th-list::before     { content: "\f00b"; }
.icon-sitemap::before     { content: "\f0e8"; }
.icon-language::before    { content: "\f1ab"; }
.icon-flag::before        { content: "\f024"; font-weight: 400; }
.icon-bookmark::before    { content: "\f02e"; font-weight: 400; }
.icon-heart::before       { content: "\f004"; font-weight: 400; }
.icon-thumbs-up::before   { content: "\f164"; font-weight: 400; }
.icon-thumbs-down::before { content: "\f165"; font-weight: 400; }
.icon-share::before       { content: "\f064"; }
.icon-external-link::before { content: "\f08e"; }
.icon-magic::before       { content: "\f0d0"; }
.icon-trophy::before      { content: "\f091"; }
.icon-group::before       { content: "\f0c0"; }
.icon-users::before       { content: "\f0c0"; }
.icon-pencil::before      { content: "\f303"; }
.icon-remove::before      { content: "\f2ed"; }
.icon-ok::before          { content: "\f00c"; }
.icon-reorder::before     { content: "\f0c9"; }
.icon-indent::before      { content: "\f03c"; }
.icon-outdent::before     { content: "\f03b"; }
.icon-text-height::before { content: "\f034"; }
.icon-text-width::before  { content: "\f035"; }
.icon-bold::before        { content: "\f032"; }
.icon-italic::before      { content: "\f033"; }
.icon-underline::before   { content: "\f0cd"; }
.icon-strikethrough::before { content: "\f0cc"; }
.icon-table::before       { content: "\f0ce"; }
.icon-columns::before     { content: "\f0db"; }

/* icon-fw (fixed width) — mirrors fa-fw */
.icon-fw {
  width: 1.25em;
  text-align: center;
}

.dinaru-back-top .icon-arrow-up,
.dinaru-back-top .icon-fw { color: var(--d-navy) !important; font-size: 1rem; }
