/**
 * VULCANUS — Brand Override CSS
 * Loaded on top of Cassiopeia's template.css
 * Brand: Industrial · Monumental · Angular · Fire & Gold
 * www.vulcanus.immo
 *
 * This file uses Cassiopeia's existing CSS custom properties
 * and overrides them with VULCANUS brand values.
 */

/* ════════════════════════════════════════
   GOOGLE FONTS IMPORT
════════════════════════════════════════ */

/* ════════════════════════════════════════
   VULCANUS DESIGN TOKENS
════════════════════════════════════════ */
:root {
  /* ── Brand accent colors — constant in both schemes ── */
  --v-fire:        #C8290E;
  --v-ember:       #E84A1A;
  --v-gold:        #C8920A;
  --v-gold-light:  #E8B830;

  /* ── Fonts — constant ── */
  --v-font-display: 'Helvetica Neue', 'Arial Narrow', Arial, sans-serif;
  --v-font-body:    'Helvetica Neue', Arial, sans-serif;
  --v-font-serif:   Georgia, serif;

  /* ── Transition ── */
  --v-transition: 0.22s ease;

  /* ── Cassiopeia font tokens — constant ── */
  --cassiopeia-font-family-body:      'Helvetica Neue', Arial, sans-serif;
  --cassiopeia-font-family-headings:  'Helvetica Neue', 'Arial Narrow', Arial, sans-serif;
  --cassiopeia-font-weight-normal:    300;
  --cassiopeia-font-weight-headings:  800;
}

/* ════════════════════════════════════════════════════════════
   COLOR SCHEME — DARK  (default)
   Active when: data-color-scheme="dark" on <html>
════════════════════════════════════════════════════════════ */
:root[data-color-scheme="dark"] {
  /* Surface palette */
  --v-black:       #0A0A0A;
  --v-charcoal:    #1A1A1A;
  --v-iron:        #2D2D2D;
  --v-ash:         #4A4A4A;
  --v-smoke:       #7A7A7A;
  --v-mist:        #C8C4BC;
  --v-cream:       #F0EDE6;
  --v-white:       #FAFAFA;

  /* Semantic aliases */
  --v-bg-page:     #0A0A0A;       /* body background */
  --v-bg-surface:  #1A1A1A;       /* cards, sections */
  --v-bg-elevated: #2D2D2D;       /* inputs, dropdowns */
  --v-border:      #3d3d3d;
  --v-text-body:   #b8b4ac;
  --v-text-head:   #FAFAFA;
  --v-text-muted:  #7A7A7A;
  --v-link:        #C8290E;
  --v-link-hover:  #E84A1A;

  /* Cassiopeia overrides */
  --cassiopeia-color-primary:   var(--v-fire);
  --cassiopeia-color-link:      var(--v-fire);
  --template-bg-light:          #1A1A1A;
  --template-text-dark:         #C8C4BC;
  --template-text-light:        #FAFAFA;
  --template-link-color:        var(--v-fire);
  --template-special-color:     var(--v-fire);
  --body-bg:                    #2D2D2D;
  --body-bg-rgb:                45, 45, 45;
  --border-color:               #3d3d3d;
  --border-color-translucent:   rgba(255,255,255,0.08);
  --tertiary-bg:                #2D2D2D;
  --tertiary-bg-rgb:            45, 45, 45;

  /* Toggle icon: show moon (already dark, offer light) */
  --scheme-icon-moon: block;
  --scheme-icon-sun:  none;
}

/* ════════════════════════════════════════════════════════════
   COLOR SCHEME — LIGHT
   Active when: data-color-scheme="light" on <html>
════════════════════════════════════════════════════════════ */
:root[data-color-scheme="light"] {
  /* Surface palette — inverted */
  --v-black:       #FAFAFA;
  --v-charcoal:    #F2EFE9;
  --v-iron:        #E8E4DC;
  --v-ash:         #B0A898;
  --v-smoke:       #6B6560;
  --v-mist:        #3A3530;
  --v-cream:       #1A1612;
  --v-white:       #0A0A0A;

  /* Semantic aliases */
  --v-bg-page:     #FAFAFA;
  --v-bg-surface:  #F2EFE9;
  --v-bg-elevated: #E8E4DC;
  --v-border:      #C8C0B0;
  --v-text-body:   #3A3530;
  --v-text-head:   #1A1612;
  --v-text-muted:  #6B6560;
  --v-link:        #A0200A;       /* deeper fire red — readable on white */
  --v-link-hover:  #C8290E;

  /* Cassiopeia overrides */
  --cassiopeia-color-primary:   #A0200A;
  --cassiopeia-color-link:      #A0200A;
  --template-bg-light:          #F2EFE9;
  --template-text-dark:         #3A3530;
  --template-text-light:        #1A1612;
  --template-link-color:        #A0200A;
  --template-special-color:     #A0200A;
  --body-bg:                    #E8E4DC;
  --body-bg-rgb:                232, 228, 220;
  --border-color:               #C8C0B0;
  --border-color-translucent:   rgba(0,0,0,0.10);
  --tertiary-bg:                #E8E4DC;
  --tertiary-bg-rgb:            232, 228, 220;

  /* Toggle icon: show sun (already light, offer dark) */
  --scheme-icon-moon: none;
  --scheme-icon-sun:  block;
}

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

body {
  background-color: var(--v-bg-page) !important;
  color: var(--v-text-body) !important;
  font-family: var(--v-font-body) !important;
  font-weight: 300 !important;
  -webkit-font-smoothing: antialiased;
}

::selection { background: var(--v-fire); color: #fff; }
::-webkit-scrollbar              { width: 5px; }
::-webkit-scrollbar-track        { background: var(--v-black); }
::-webkit-scrollbar-thumb        { background: var(--v-fire); }

/* ════════════════════════════════════════
   TYPOGRAPHY
════════════════════════════════════════ */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--v-font-display) !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--v-text-head) !important;
  line-height: 1.05;
}

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

a { color: var(--v-link) !important; transition: color var(--v-transition); }
a:hover { color: var(--v-link-hover) !important; }

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

blockquote,
main .com-content-article blockquote {
  font-family: var(--v-font-serif);
  font-style: italic;
  border-left: 3px solid var(--v-fire) !important;
  background: var(--v-bg-surface);
  padding: 1rem 1.5rem;
  color: var(--v-text-body);
}
blockquote, main .com-content-article blockquote,
blockquote p, main .com-content-article blockquote p {
  font-size: 2rem !important;
  line-height: 1.4 !important;
}

h3 a,
h3 a:not([class]) {
  text-decoration: none !important;
}

/* ════════════════════════════════════════
   HEADER
════════════════════════════════════════ */
header.header {
  background-color: rgba(10, 10, 10, 0.97) !important;
  border-bottom: 1px solid rgba(200, 41, 14, 0.3) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  position: sticky !important;
  top: 0 !important;
  z-index: 1030 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap;
  gap: 0;
}

/* ── CONTAINER-HEADER GRID-CHILD WIDTH ── */
.container-header .grid-child {
  width: inherit;
}

/* ── KILL CASSIOPEIA ACTIVE/HOVER AFTER/BEFORE PSEUDO ── */
.container-header .mod-menu > li.active:after,
.container-header .mod-menu > li:hover:after,
.container-header .mod-menu > li.active:before,
.container-header .mod-menu > li:hover:before {
  background: none !important;
  display: none !important;
  content: none !important;
}

/* ── LOGO: scroll-aware switching ── */
.brand-logo .logo-full   { display: block; max-height: 54px; width: auto; transition: opacity .2s; }
.brand-logo .logo-sticky { display: none;  max-height: 38px; width: auto; transition: opacity .2s; }

.header.scrolled .brand-logo .logo-full   { display: none; }
.header.scrolled .brand-logo .logo-sticky { display: block; }

@media (max-width: 767.98px) {
  .brand-logo .logo-full   { display: none !important; }
  .brand-logo .logo-sticky { display: block !important; }
  .container-middle-row {
    flex-direction: column;
  }
}

.navbar-brand { padding: 10px 0; }
.site-description { color: var(--v-smoke) !important; font-size: 10px !important; letter-spacing: 0.2em; text-transform: uppercase; }

/* ════════════════════════════════════════
   NAVIGATION
════════════════════════════════════════ */
.mod-menu__sub-open,
.navbar-toggler,
.navbar-toggler-icon { color: var(--v-mist) !important; }

.container-nav .nav-item > a,
.container-nav .nav-link {
  font-family: var(--v-font-display) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--v-mist) !important;
  padding: 8px 14px !important;
  transition: color var(--v-transition);
  position: relative;
  border-bottom: none !important;
  box-shadow: none !important;
  outline: none !important;
  text-decoration: none !important;
}

.container-nav .nav-item > a:hover,
.container-nav .nav-item.active > a,
.container-nav .nav-item > a:focus {
  color: var(--v-white) !important;
  background: transparent !important;
  border-bottom: none !important;
  text-decoration: none !important;
}

/* Nuclear border-bottom removal */
.mod-menu .nav-link,
.mod-menu .nav-link:hover,
.mod-menu .nav-link:focus,
.mod-menu .nav-link:active,
.mod-menu .nav-item > a,
.mod-menu .nav-item > a:hover,
.mod-menu .nav-item > a:focus,
.mod-menu .nav-item > a:active,
.container-nav .nav-link,
.container-nav .nav-link:hover,
.container-nav .nav-link:focus,
.container-nav .nav-link:active,
.container-nav a,
.container-nav a:hover,
.container-nav a:focus,
.navbar-nav .nav-link,
.navbar-nav .nav-link:hover,
#mod-menu1 .nav-item > a,
#mod-menu1 .nav-item > a:hover,
#mod-menu1 .nav-item > a:focus,
.nav .nav-item a,
.nav .nav-item a:hover {
  border-bottom: none !important;
  border-top: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.nav-link { text-decoration: none !important; }
.container-nav .nav .nav-link { --bs-nav-link-hover-color: var(--v-white); border-bottom: none !important; }
.container-nav .nav-item > a::before { display: none !important; }

.metismenu a,
.metismenu a:hover,
.metismenu a:focus {
  border-bottom: none !important;
  text-decoration: none !important;
}

/* Nav underline ::after — desktop only */
@media (min-width: 992px) {
  .container-nav .nav-item > a::after {
    content: '';
    position: absolute;
    bottom: 4px;
    left: 14px;
    right: 14px;
    height: 2px;
    background: var(--v-fire);
    transform: scaleX(0);
    transition: transform var(--v-transition);
  }
  .container-nav .nav-item:hover > a::after,
  .container-nav .nav-item.active > a::after {
    transform: scaleX(1);
  }
}

@media (max-width: 991.98px) {
  .container-nav .nav-item > a::after,
  .container-nav .nav-item > a::before {
    display: none !important;
    content: none !important;
  }
}

/* Dropdown */
.container-nav .nav-item .dropdown-menu {
  background: var(--v-bg-surface) !important;
  border: 1px solid var(--v-border) !important;
  border-top: 2px solid var(--v-fire) !important;
  border-radius: 0 !important;
  min-width: 220px;
}

.container-nav .nav-item .dropdown-item {
  font-family: var(--v-font-display) !important;
  font-size: 12px !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--v-mist) !important;
  padding: 10px 20px !important;
  background: transparent !important;
}

.container-nav .nav-item .dropdown-item:hover {
  color: var(--v-white) !important;
  background: var(--v-iron) !important;
}

.navbar-toggler { border-color: var(--v-ash) !important; background: transparent !important; }
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23C8C4BC' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* ════════════════════════════════════════
   BURGER MENU
════════════════════════════════════════ */
.vulcanus-burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  background: transparent;
  border: 1px solid var(--v-ash);
  cursor: pointer;
  padding: 8px;
  margin-left: auto;
  margin-right: 10px;
  flex-shrink: 0;
  transition: border-color .2s;
}

.vulcanus-burger:hover { border-color: var(--v-fire); }

.burger-bar {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--v-mist);
  transition: transform .25s ease, opacity .2s ease, background .2s;
  transform-origin: center;
}

.vulcanus-burger:hover .burger-bar { background: var(--v-white); }
.vulcanus-burger.is-open .burger-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.vulcanus-burger.is-open .burger-bar:nth-child(2) { opacity: 0; transform: scaleX(0); }
.vulcanus-burger.is-open .burger-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.vulcanus-burger.is-open { border-color: var(--v-fire); }

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

  header.header { flex-wrap: wrap; position: relative; }

  .container-header .grid-child.navbar-brand-wrap,
  header.header > .grid-child:first-of-type { flex: 1; }

  #vulcanus-nav-collapse {
    display: none;
    width: 100%;
    order: 10;
    flex-basis: 100%;
    background: rgba(10, 10, 10, 0.98);
    border-top: 2px solid var(--v-fire);
    padding: 20px 24px;
    overflow: hidden;
    max-height: 0;
    transition: max-height .35s ease, padding .35s ease;
  }

  #vulcanus-nav-collapse.is-open {
    display: block;
    max-height: 600px;
    padding: 20px 24px;
  }

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

  #vulcanus-nav-collapse .nav-item {
    width: 100%;
    border-bottom: 1px solid var(--v-iron);
  }

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

  #vulcanus-nav-collapse .nav-child,
  #vulcanus-nav-collapse .dropdown-menu {
    position: static !important;
    border: none !important;
    border-left: 2px solid var(--v-fire) !important;
    padding-left: 16px !important;
    opacity: 1 !important;
    transform: none !important;
    display: block !important;
  }

  #vulcanus-nav-collapse .container-search { margin-top: 16px; width: 100%; }
  #vulcanus-nav-collapse .container-search input { width: 100% !important; }
}

@media (min-width: 992px) {
  #vulcanus-nav-collapse {
    display: flex !important;
    align-items: center;
    max-height: none !important;
    padding: 0 !important;
    background: transparent !important;
    border-top: none !important;
    overflow: visible !important;
  }
  .vulcanus-burger { display: none !important; }
}

/* ════════════════════════════════════════
   LANGUAGE SWITCHER
════════════════════════════════════════ */
.mod-languages__select.btn-group .dropdown-menu,
.mod-languages .dropdown-menu {
  background-color: #2D2D2D !important;
  border: 1px solid #3a3a3a !important;
  border-top: 2px solid var(--v-fire) !important;
  border-radius: 0 !important;
  min-width: 120px;
}

.mod-languages__select .dropdown-item,
.mod-languages .dropdown-item,
.mod-languages__select ul li,
.mod-languages ul li {
  background-color: transparent !important;
  color: var(--v-mist) !important;
  padding: 8px 14px !important;
  font-size: 12px !important;
  font-family: var(--v-font-display) !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em;
}

.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: #3d3d3d !important;
  color: var(--v-white) !important;
}

.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: #404040 !important;
  color: var(--v-white) !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 img {
  vertical-align: text-top;
}


.mod-languages__select > .btn:hover,
.mod-languages .btn-group > .btn:hover {
  background-color: #2D2D2D !important;
  border: 1px solid var(--v-fire) !important;
  color: var(--v-white) !important;
}
.container-header .container-search {
  margin-top: 0em;
}


/* ════════════════════════════════════════
   HERO POSITION
════════════════════════════════════════ */
.container-hero { background: var(--v-black); width: 100%; }

/* ════════════════════════════════════════
   SITE GRID / MAIN CONTENT
════════════════════════════════════════ */
.site-grid { background: var(--v-bg-surface); }
.container-component { background: var(--v-bg-surface) !important; }
.com-content-article { background: var(--v-bg-surface); }

.com-content-article__body p,
.article-fulltext p {
  color: var(--v-mist);
  font-size: 16px;
  line-height: 1.8;
}

.main-bottom {
  margin: 80px 0px;
}

/* ════════════════════════════════════════
   CARDS
════════════════════════════════════════ */
.card {
  background: var(--v-bg-elevated) !important;
  border: 1px solid var(--v-border) !important;
  border-radius: 0 !important;
  border-top: 2px solid var(--v-fire) !important;
}

.card-header {
  background: var(--v-iron) !important;
  border-bottom: 1px solid var(--v-ash) !important;
  font-family: var(--v-font-display) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--v-white) !important;
}

/* ════════════════════════════════════════
   BUTTONS
════════════════════════════════════════ */
.btn-primary {
  background-color: var(--v-fire) !important;
  border-color:     var(--v-fire) !important;
  color: #fff !important;
  font-family: var(--v-font-display) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  border-radius: 0 !important;
  clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%);
}
.btn-primary:hover, .btn-primary:focus {
  background-color: var(--v-ember) !important;
  border-color:     var(--v-ember) !important;
}

.btn-secondary {
  background: transparent !important;
  border: 1px solid var(--v-ash) !important;
  color: var(--v-mist) !important;
  font-family: var(--v-font-display) !important;
  font-size: 12px !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  border-radius: 0 !important;
}
.btn-secondary:hover {
  border-color: var(--v-fire) !important;
  color: var(--v-white) !important;
}

.btn-info {
  background-color: #a82210 !important;
  border-color:     #a82210 !important;
  color: #fff !important;
}
.btn-info:hover, .btn-info:focus, .btn-info:active {
  background-color: #c02812 !important;
  border-color:     #c02812 !important;
  color: #fff !important;
}
.btn-outline-info {
  color:        #d04030 !important;
  border-color: #d04030 !important;
  background:   transparent !important;
}
.btn-outline-info:hover { background-color: #d04030 !important; color: #fff !important; }

.text-info   { color: #d04030 !important; }
.bg-info     { background-color: #a82210 !important; color: #fff !important; }
.border-info { border-color: #a82210 !important; }
.badge.bg-info { background-color: #a82210 !important; }

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

.form-control:focus,
.form-select:focus,
input:focus,
textarea:focus {
  background: var(--v-charcoal) !important;
  border-color: var(--v-fire) !important;
  box-shadow: 0 0 0 2px rgba(200, 41, 14, 0.2) !important;
  color: var(--v-cream) !important;
}

.form-control::placeholder,
textarea::placeholder { color: var(--v-smoke) !important; }

label {
  font-family: var(--v-font-display) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--v-smoke) !important;
}

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

input:-webkit-autofill:focus,
textarea:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--v-charcoal) inset !important;
  box-shadow:         0 0 0 1000px var(--v-charcoal) inset !important;
  border-color: var(--v-fire) !important;
}

input:autofill, input:autofill:focus {
  background-color: var(--v-iron) !important;
  color: var(--v-cream) !important;
}

/* Input groups */
.input-group-text {
  background-color: var(--v-iron) !important;
  border: 1px solid var(--v-ash) !important;
  color: var(--v-mist) !important;
  border-radius: 0 !important;
  --tertiary-bg: var(--v-iron);
}

.input-group .btn,
.input-group > .btn {
  background-color: var(--v-iron) !important;
  border: 1px solid var(--v-ash) !important;
  color: var(--v-mist) !important;
  border-radius: 0 !important;
  z-index: 2;
}

.input-group .btn:hover, .input-group > .btn:hover {
  background-color: var(--v-ash) !important;
  border-color: var(--v-fire) !important;
  color: var(--v-white) !important;
}

.input-group .btn:focus, .input-group > .btn:focus {
  background-color: var(--v-charcoal) !important;
  border-color: var(--v-fire) !important;
  color: var(--v-white) !important;
  box-shadow: 0 0 0 2px rgba(200, 41, 14, 0.25) !important;
  outline: none !important;
}

.input-group .btn .icon-eye,
.input-group .btn .icon-eye-slash,
.input-group .btn .fa-eye,
.input-group .btn .fa-eye-slash,
.input-group .btn [class*="icon-eye"],
.input-group .btn [class*="fa-eye"],
.input-group .btn i,
.input-group .btn span.icon { color: var(--v-mist) !important; opacity: 1 !important; }

.input-group .btn:hover i,
.input-group .btn:hover span.icon,
.input-group .btn:hover [class*="icon-eye"],
.input-group .btn:hover [class*="fa-eye"] { color: var(--v-white) !important; }

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

/* ════════════════════════════════════════
   BREADCRUMBS
════════════════════════════════════════ */
.breadcrumb {
  background: transparent !important;
  padding: 10px 0 !important;
  font-family: var(--v-font-display) !important;
  font-size: 13px !important;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.breadcrumb-item a           { color: #9a9690 !important; }
.breadcrumb-item a:hover     { color: var(--v-fire) !important; }
.breadcrumb-item.active      { color: #d0ccc4 !important; }
.breadcrumb-item + .breadcrumb-item::before { color: #6a6660 !important; }

/* Breadcrumbs — darker in light scheme */
:root[data-color-scheme="light"] .breadcrumb-item a           { color: #3A3530 !important; }
:root[data-color-scheme="light"] .breadcrumb-item a:hover     { color: #A0200A !important; }
:root[data-color-scheme="light"] .breadcrumb-item.active      { color: #1A1612 !important; }
:root[data-color-scheme="light"] .breadcrumb-item + .breadcrumb-item::before { color: #6B6560 !important; }

/* ════════════════════════════════════════
   PAGINATION
════════════════════════════════════════ */
.pagination .page-link {
  background: var(--v-iron) !important;
  border: 1px solid var(--v-ash) !important;
  color: var(--v-mist) !important;
  border-radius: 0 !important;
  font-family: var(--v-font-display) !important;
  font-weight: 600 !important;
  min-width: 42px;
  text-align: center;
}
.pagination .page-link:hover { border-color: var(--v-fire) !important; color: var(--v-white) !important; }
.pagination .page-item.active .page-link {
  background: var(--v-fire) !important;
  border-color: var(--v-fire) !important;
  color: #fff !important;
}

/* ════════════════════════════════════════
   TABLES
════════════════════════════════════════ */
.table { color: var(--v-mist) !important; border-color: var(--v-iron) !important; }
.table thead th {
  background: var(--v-iron) !important;
  color: var(--v-white) !important;
  font-family: var(--v-font-display) !important;
  font-size: 11px !important;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  border-bottom: 2px solid var(--v-fire) !important;
}
.table-striped tbody tr:nth-of-type(odd) { background: rgba(255,255,255,0.02) !important; }
.table-hover tbody tr:hover { background: rgba(200, 41, 14, 0.05) !important; }

/* ════════════════════════════════════════
   ALERTS / MESSAGES
════════════════════════════════════════ */
.alert {
  border-radius: 0 !important;
  border: none !important;
  border-left: 3px solid !important;
  font-family: var(--v-font-display) !important;
  font-size: 13px !important;
  letter-spacing: 0.05em;
}
.alert-info    { background: rgba(168,34,16,0.12) !important;  border-color: #a82210 !important;        color: #e8c0bc !important; }
.alert-success { background: rgba(44,95,45,0.15) !important;   border-color: #4a8c4b !important;        color: #a8d4a9 !important; }
.alert-warning { background: rgba(200,146,10,0.15) !important; border-color: var(--v-gold) !important;  color: var(--v-gold-light) !important; }
.alert-danger  { background: rgba(200,41,14,0.2) !important;   border-color: var(--v-fire) !important;  color: var(--v-ember) !important; }

/* ════════════════════════════════════════
   FOOTER
════════════════════════════════════════ */
.footer {
  background: var(--v-bg-page) !important;
  border-top: 1px solid var(--v-iron) !important;
  padding: 60px 0 0 !important;
}

.footer-inner { display: flex; flex-direction: column; gap: 0; }

.footer-modules {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--v-iron);
  margin-bottom: 32px;
}

.footer-modules h3,
.footer-modules .mod-list h3,
.footer-modules .module-title {
  font-family: var(--v-font-display) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--v-mist) !important;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--v-iron);
}

.footer-modules a,
.footer-modules .nav-link {
  font-size: 13px !important;
  color: var(--v-smoke) !important;
  text-transform: none;
  letter-spacing: normal;
  font-family: var(--v-font-body) !important;
  font-weight: 300 !important;
}
.footer-modules a:hover { color: var(--v-fire) !important; }
.footer-modules ul { list-style: none; padding: 0; margin: 0; }
.footer-modules li { margin-bottom: 8px; }

.footer-brand-row {
  padding: 28px 0 20px;
  border-bottom: 1px solid var(--v-iron);
  margin-bottom: 0;
  display: flex;
  align-items: baseline;
  gap: 24px;
  flex-wrap: wrap;
}

.footer-logo-link { display: inline-block; }
.footer-logo { display: block; max-height: 48px; width: auto; object-fit: contain; }

.footer-slogan {
  font-family: var(--v-font-serif) !important;
  font-style: italic;
  font-size: 15px !important;
  color: var(--v-smoke) !important;
  margin: 0 !important;
}

.footer-bottom-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 18px;
  padding-bottom: 24px;
  background: linear-gradient(90deg, var(--v-fire), var(--v-gold), var(--v-fire)) top / 100% 2px no-repeat, transparent;
}

.footer-copy {
  font-size: 11px !important;
  color: var(--v-smoke) !important;
  letter-spacing: 0.06em;
  font-family: var(--v-font-body) !important;
}

.footer-copyright-nav {
  display: flex;
  align-items: center;
}

.footer-copyright-nav ul,
.footer-copyright-nav .nav,
.footer-copyright-nav .mod-menu {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 4px 18px !important;
  align-items: center;
}

.footer-copyright-nav li { margin: 0 !important; }

.footer-copyright-nav a,
.footer-copyright-nav .nav-link {
  font-size: 11px !important;
  color: var(--v-mist) !important;
  font-family: var(--v-font-body) !important;
  font-weight: 300 !important;
  letter-spacing: 0.06em;
  padding: 0 !important;
  display: inline !important;
  border-bottom: none !important;
}

.footer-copyright-nav a:hover,
.footer-copyright-nav .nav-link:hover {
  color: var(--v-smoke) !important;
  border-bottom: none !important;
}

/* ════════════════════════════════════════
   BACK TO TOP
════════════════════════════════════════ */
.back-to-top-link {
    background: var(--v-fire) !important;
    color: #fff !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50%;
}
.back-to-top-link:hover { background: var(--v-ember) !important; }

#back-top .icon-arrow-up,
#back-top .icon-fw { color: #fff !important; font-size: 1.1rem; }

/* ════════════════════════════════════════
   SEARCH MODULE
════════════════════════════════════════ */
.container-search input[type="search"],
.container-search input[type="text"] {
  background: var(--v-iron) !important;
  border: 1px solid var(--v-ash) !important;
  color: var(--v-cream) !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  padding: 7px 14px !important;
  transition: border-color var(--v-transition), width var(--v-transition);
  width: 180px;
}
.container-search input:focus {
  border-color: var(--v-fire) !important;
  box-shadow: none !important;
  width: 240px;
}

/* ════════════════════════════════════════
   METISMENU DARK SKIN
════════════════════════════════════════ */
.metismenu > li > a {
  font-family: var(--v-font-display) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--v-mist) !important;
}
.metismenu > li > a:hover,
.metismenu > li.active > a { color: var(--v-white) !important; }
.metismenu .metismenu-submenu { background: var(--v-charcoal) !important; border-left: 2px solid var(--v-fire) !important; }
.metismenu .metismenu-submenu a { color: var(--v-smoke) !important; font-size: 12px !important; }
.metismenu .metismenu-submenu a:hover { color: var(--v-fire) !important; }

/* ════════════════════════════════════════
   GLOBAL CSS VARIABLE OVERRIDES
════════════════════════════════════════ */
/* Bootstrap/Cassiopeia vars — defined per scheme above */

/* ════════════════════════════════════════
   JOOMLA ICON FONT DEFINITIONS
════════════════════════════════════════ */
@font-face {
  font-family: 'icomoon';
  src: url('/media/system/fonts/icomoon.woff2') format('woff2'),
       url('/media/system/fonts/icomoon.woff')  format('woff'),
       url('/media/system/fonts/icomoon.ttf')   format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"],
[class*=" icon-"] {
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-fw { width: 1.28571429em; text-align: center; display: inline-block; }

.icon-user:before         { content: "\e975"; }
.icon-user-circle:before  { content: "\e976"; }
.icon-lock:before         { content: "\e98f"; }
.icon-unlock:before       { content: "\e990"; }
.icon-key:before          { content: "\e98e"; }
.icon-eye:before          { content: "\e9ce"; }
.icon-eye-slash:before    { content: "\e9cf"; }
.icon-eye-open:before     { content: "\e9ce"; }
.icon-eye-close:before    { content: "\e9cf"; }
.icon-mail:before         { content: "\ea84"; }
.icon-envelope:before     { content: "\ea84"; }
.icon-inbox:before        { content: "\e964"; }
.icon-arrow-up:before     { content: "⬆"; font-weight: bold; font-size: x-large; }
.icon-arrow-down:before   { content: "\ea3e"; }
.icon-arrow-left:before   { content: "\ea40"; }
.icon-arrow-right:before  { content: "\ea3c"; }
.icon-chevron-up:before   { content: "\e9b6"; }
.icon-chevron-down:before { content: "\e9b7"; }
.icon-chevron-left:before { content: "\e9b5"; }
.icon-chevron-right:before{ content: "\e9b8"; }
.icon-angle-up:before     { content: "\e9b2"; }
.icon-angle-down:before   { content: "\e9b3"; }
.icon-angle-left:before   { content: "\e9b1"; }
.icon-angle-right:before  { content: "\e9b4"; }
.icon-menu:before         { content: "\e9bd"; }
.icon-bars:before         { content: "\e9bd"; }
.icon-times:before        { content: "\e974"; }
.icon-cancel:before       { content: "\e974"; }
.icon-close:before        { content: "\e974"; }
.icon-search:before       { content: "\e986"; }
.icon-zoom-in:before      { content: "\e987"; }
.icon-zoom-out:before     { content: "\e988"; }
.icon-filter:before       { content: "\ea5b"; }
.icon-home:before         { content: "\e900"; }
.icon-calendar:before     { content: "\e953"; }
.icon-clock:before        { content: "\e94e"; }
.icon-info:before         { content: "\ea0c"; }
.icon-info-circle:before  { content: "\ea0c"; }
.icon-warning:before      { content: "\ea07"; }
.icon-check:before        { content: "\e972"; }
.icon-check-circle:before { content: "\e973"; }
.icon-plus:before         { content: "\e9ee"; }
.icon-minus:before        { content: "\e9ef"; }
.icon-edit:before         { content: "\e905"; }
.icon-pencil:before       { content: "\e905"; }
.icon-trash:before        { content: "\e9ac"; }
.icon-delete:before       { content: "\e9ac"; }
.icon-download:before     { content: "\e9c2"; }
.icon-upload:before       { content: "\e9c3"; }
.icon-file:before         { content: "\e926"; }
.icon-folder:before       { content: "\e92f"; }
.icon-image:before        { content: "\e90d"; }
.icon-link:before         { content: "\e9e2"; }
.icon-external-link:before{ content: "\e9e3"; }
.icon-share:before        { content: "\ea82"; }
.icon-phone:before        { content: "\e942"; }
.icon-map-marker:before   { content: "\e947"; }
.icon-location:before     { content: "\e947"; }
.icon-globe:before        { content: "\e9ca"; }
.icon-language:before     { content: "\e9cb"; }
.icon-cog:before          { content: "\e994"; }
.icon-cogs:before         { content: "\e995"; }
.icon-settings:before     { content: "\e994"; }
.icon-user-plus:before    { content: "\e977"; }
.icon-users:before        { content: "\e978"; }
.icon-star:before         { content: "\e9d9"; }
.icon-heart:before        { content: "\e9da"; }
.icon-tag:before          { content: "\e9d2"; }
.icon-tags:before         { content: "\e9d3"; }
.icon-list:before         { content: "\e9be"; }
.icon-grid:before         { content: "\e9bf"; }
.icon-th:before           { content: "\e9bf"; }
.icon-th-list:before      { content: "\e9be"; }
.icon-print:before        { content: "\e954"; }
.icon-rss:before          { content: "\ea9b"; }
.icon-feed:before         { content: "\ea9b"; }
.icon-spinner:before      { content: "\e9e1"; }
.icon-loading:before      { content: "\e9e1"; }
.icon-refresh:before      { content: "\e9e0"; }
.icon-publish:before      { content: "\e972"; }
.icon-unpublish:before    { content: "\e974"; }
.icon-featured:before     { content: "\e9d9"; }
.icon-unfeatured:before   { content: "\e9da"; }
.icon-checkedout:before   { content: "\e98f"; }
.icon-expand:before       { content: "\e9c5"; }
.icon-contract:before     { content: "\e9c6"; }
.icon-question:before     { content: "\ea09"; }
.icon-question-sign:before{ content: "\ea09"; }
.icon-signin:before       { content: "\ea13"; }
.icon-signout:before      { content: "\ea14"; }
.icon-login:before        { content: "\ea13"; }
.icon-logout:before       { content: "\ea14"; }

header .icon-fw,
.container-nav [class^="icon-"],
.input-group [class^="icon-"],
.input-group [class*=" icon-"],
.navbar-brand [class^="icon-"] { color: var(--v-mist); }

header .icon-fw:hover,
.container-nav [class^="icon-"]:hover { color: var(--v-white); }

/* ════════════════════════════════════════
   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;
}

.com-content-category-blog .items-leading .blog-item:nth-child(2),
.blog-featured .items-leading .blog-item:nth-child(2) {
  display: flex !important;
  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) {
  display: flex !important;
  flex-direction: row !important;
}
.com-content-category-blog .items-leading .blog-item .item-content,
.blog-featured .items-leading .blog-item .item-content {
  margin-left: 30px !important;
  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;
  }
}

/* ════════════════════════════════════════
   RESPONSIVE — FOOTER
════════════════════════════════════════ */
@media (max-width: 767.98px) {
  .footer-modules { grid-template-columns: 1fr 1fr; gap: 28px; }
  .footer-brand-row { flex-direction: column; align-items: flex-start; gap: 12px; }
  .footer-bottom-bar { flex-direction: column; align-items: flex-start; gap: 8px; }
  .container-search input[type="search"],
  .container-search input[type="text"] { width: 100%; }
  .container-search input:focus { width: 100%; }
}

@media (max-width: 480px) {
  .footer-modules { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════════════════════════════
   COLOR SCHEME TOGGLE BUTTON
════════════════════════════════════════════════════════════ */
.vulcanus-scheme-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10px;
  height: 24px;
  margin-left: 12px;
  flex-shrink: 0;
  background: transparent;
  border: 0px solid var(--v-ash);
  cursor: pointer;
  color: var(--v-mist);
  font-size: 18px;
  line-height: 1;
  transition: border-color .2s, color .2s;
  padding: 0;
  font-size: x-large;
}

.vulcanus-scheme-toggle:hover {
  color: var(--v-white);
}

/* Show moon in dark mode (click to go light), sun in light mode (click to go dark) */
.scheme-icon--moon { display: var(--scheme-icon-moon, block); }
.scheme-icon--sun  { display: var(--scheme-icon-sun,  none); }

/* ════════════════════════════════════════════════════════════
   LIGHT SCHEME — surface overrides for elements that use
   hard-coded vars not yet covered by the scheme blocks
════════════════════════════════════════════════════════════ */
:root[data-color-scheme="light"] body {
  background-color: var(--v-bg-page) !important;
  color: var(--v-text-body) !important;
}

/* Header & footer always stay dark regardless of color scheme */
:root[data-color-scheme="light"] header.header {
  background-color: rgba(10, 10, 10, 0.97) !important;
  border-bottom: 1px solid rgba(200, 41, 14, 0.3) !important;
  color: #C8C4BC !important;
}

/* Nav links in header stay light-on-dark in light mode */
:root[data-color-scheme="light"] .container-nav .nav-item > a,
:root[data-color-scheme="light"] .container-nav .nav-link {
  color: #C8C4BC !important;
}
:root[data-color-scheme="light"] .container-nav .nav-item > a:hover,
:root[data-color-scheme="light"] .container-nav .nav-item.active > a {
  color: #FAFAFA !important;
}
:root[data-color-scheme="light"] .vulcanus-scheme-toggle {
  color: #C8C4BC;
}
:root[data-color-scheme="light"] .vulcanus-scheme-toggle:hover {
  color: #FAFAFA;
}
:root[data-color-scheme="light"] .vulcanus-burger {
  border-color: #4A4A4A;
}
:root[data-color-scheme="light"] .burger-bar {
  background: #C8C4BC;
}

:root[data-color-scheme="light"] ::-webkit-scrollbar-track { background: var(--v-bg-page); }

:root[data-color-scheme="light"] .card-header {
  background: var(--v-bg-elevated) !important;
  border-bottom: 1px solid var(--v-border) !important;
  color: var(--v-text-head) !important;
}

:root[data-color-scheme="light"] .input-group-text,
:root[data-color-scheme="light"] .input-group .btn,
:root[data-color-scheme="light"] .input-group > .btn {
  background-color: var(--v-bg-elevated) !important;
  border-color: var(--v-border) !important;
  color: var(--v-text-muted) !important;
}

:root[data-color-scheme="light"] .container-search input[type="search"],
:root[data-color-scheme="light"] .container-search input[type="text"] {
  background: var(--v-bg-elevated) !important;
  border-color: var(--v-border) !important;
  color: var(--v-text-body) !important;
}

:root[data-color-scheme="light"] .mod-languages__select > .btn, .mod-languages .btn-group > .btn {
  color: #C8C4BC !important;
}

:root[data-color-scheme="light"] #vulcanus-nav-collapse .nav-item {
  border-bottom-color: var(--v-border) !important;
}

/* Footer always stays dark — locked regardless of scheme */
:root[data-color-scheme="light"] .footer {
  background: #0A0A0A !important;
  border-top: 1px solid #2D2D2D !important;
}
:root[data-color-scheme="light"] .footer-modules        { border-bottom-color: #2D2D2D !important; }
:root[data-color-scheme="light"] .footer-brand-row      { border-bottom-color: #2D2D2D !important; }
:root[data-color-scheme="light"] .footer-modules h3     { color: #C8C4BC !important; border-bottom-color: #2D2D2D !important; }
:root[data-color-scheme="light"] .footer-modules a      { color: #7A7A7A !important; }
:root[data-color-scheme="light"] .footer-modules a:hover{ color: #C8290E !important; }
:root[data-color-scheme="light"] .footer-copy           { color: #7A7A7A !important; }
:root[data-color-scheme="light"] .footer-copyright-nav a{ color: #4A4A4A !important; }
:root[data-color-scheme="light"] .footer-slogan         { color: #7A7A7A !important; }

: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"] .table { color: var(--v-text-body) !important; border-color: var(--v-border) !important; }
:root[data-color-scheme="light"] .table thead th { background: var(--v-bg-elevated) !important; color: var(--v-text-head) !important; }
:root[data-color-scheme="light"] .table-striped tbody tr:nth-of-type(odd) { background: rgba(0,0,0,0.03) !important; }
:root[data-color-scheme="light"] .table-hover tbody tr:hover { background: rgba(160,32,10,0.05) !important; }

:root[data-color-scheme="light"] .pagination .page-link {
  background: var(--v-bg-elevated) !important;
  border-color: var(--v-border) !important;
  color: var(--v-text-body) !important;
}

:root[data-color-scheme="light"] .site-grid { background: var(--v-bg-surface) !important; }

:root[data-color-scheme="light"] .metismenu .metismenu-submenu { background: var(--v-bg-elevated) !important; }

/* Smooth transition when switching schemes */
body,
header.header,
.site-grid,
.container-component,
.com-content-article,
.card,
.card-header,
.footer,
.footer-modules,
.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;
}

/* ── VULCANUS Contact Cards ─────────────────────────────────
   Uses existing VULCANUS CSS variables from user.css.
   Works in both dark and light scheme automatically.
──────────────────────────────────────────────────────────── */

.vulcanus-contact-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 64px;
}

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

.vulcanus-advantage-icon {
  border-radius: 50%;
  margin: 0 auto;
}
.vulcanus-contact-card, .vulcanus-advantage-card {
  background: var(--v-bg-elevated);
  border: 1px solid var(--v-border);
  border-top: 2px solid var(--v-fire);
  padding: 40px 32px;
  text-align: center;
  transition: border-color .2s ease, background .3s ease;
}

.vulcanus-contact-card:hover, .vulcanus-advantage-card:hover {
  border-color: var(--v-fire);
  border-top-color: var(--v-fire);
  box-shadow: 10px 10px 10px #333333;
}

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;
}

.is_bottom_left.help_btn_161,
.is_bottom_left.help_btn_161:hover {
  cursor: pointer;
}

/* Icon circle */
.vulcanus-contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  padding: 20px;
  border-radius: 50%;
  background: rgba(200, 41, 14, 0.80);
  margin: 0 auto 20px;
  color: var(--v-fire);
}

/* Title */
.vulcanus-contact-card h3, .vulcanus-advantage-cards h3 {
  font-family: var(--v-font-display) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--v-text-head) !important;
  margin-bottom: 8px !important;
  line-height: 1.2 !important;
}

/* Primary line (email/availability/phone) */
.vulcanus-contact-primary, .vulcanus-advantage-primary {
  font-family: var(--v-font-display) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em;
  color: var(--v-fire) !important;
  margin-bottom: 4px !important;
  line-height: 1.4 !important;
}

/* Secondary line (description) */
.vulcanus-contact-secondary, .vulcanus-advantage-secondary {
  font-family: var(--v-font-body) !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  color: var(--v-text-muted) !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}
.vulcanus-textblock {
  display:flex;
  padding: 30px;
}

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


/* Light scheme — icon bg adapts */
:root[data-color-scheme="light"] .vulcanus-contact-card, :root[data-color-scheme="light"] .vulcanus-advantage-card {
  background: var(--v-bg-elevated);
  border-color: var(--v-border);
}

:root[data-color-scheme="light"] .vulcanus-contact-icon, :root[data-color-scheme="light"] .vulcanus-advantage-icon  {
  background: rgba(160, 32, 10, 0.28);
  color: #A0200A;
}

.vulcanus-contact-icon, .vulcanus-advantage-icon  {
  background-color: #A0200A99;
}

:root[data-color-scheme="light"] .vulcanus-contact-primary, :root[data-color-scheme="light"] .vulcanus-advantage-primary {
  color: #A0200A !important;
}

/* Responsive — stack on mobile */
@media (max-width: 991.98px) {
  .vulcanus-contact-cards, .vulcanus-advantage-cards {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  /* responsive */
  .main-bottom.mod_rapid_contact { margin: 40px 10px 40px 10px !important; }
  .main-bottom {
    margin: 20px 0px;
  }
  .vulcanus-textblock {
    padding: 0px;
    flex-direction: column;
  }

  .vulcanus-textblock .left, .vulcanus-textblock .right {
    padding: 30px 10px;
    width: 100%;
    margin: 0 auto;
  }
  .vulcanus-advantage-icon {
    border-radius: 50%;
    max-width: 50%;
    margin: 0 auto;
  }
}

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

  .vulcanus-textblock .left, .vulcanus-textblock .right {
    padding: 30px 20px;
    width: 75%;
    margin: 0 auto;
  }
}

.footer { margin-top: 0em;}
.main-bottom.mod_rapid_contact .rapid_contact .form-control { max-width: 100%;}
:root[data-color-scheme="light"] { --v-bg-surface: #ffffff;  --v-bg-page: #ffffff;}
:root[data-color-scheme="light"] header.header { box-shadow : 0px 6px 8px rgba(0, 0, 0, 0.2), 0 6px 20px rgba(0, 0, 0, 0.69); border-bottom: 1px solid var(--cassiopeia-color-link) !important;}
header.header { box-shadow : 0px 6px 8px rgba(0, 0, 0, 0.2), 0 6px 20px rgba(0, 0, 0, 0.69); border-bottom: 1px solid var(--template-bg-dark-70) !important;}
.main-bottom.mod_rapid_contact{ margin: 40px 20% 80px 20%; text-align: center;}
.main-bottom.mod_rapid_contact h3, .mod_your_benefits h3, .jt-pretext .pretext_title {
  text-align: center; color: var(--v-link) !important;
  margin: 10px 0 40px 0;
  display: block;
  font-family: var(--v-font-display) !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em;
  font-size: calc(1.3rem + .6vw);
  text-transform: uppercase;}
.main-bottom.mod_rapid_contact .input-group > .form-control,
.main-bottom.mod_rapid_contact .input-group > .form-select { border-right: 1px solid var(--v-ash); border-left: 5px solid var(--v-link) !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: 5px solid var(--v-link) !important;}
:root[data-color-scheme="light"] .vulcanus-contact-card:hover, :root[data-color-scheme="light"] .vulcanus-advantage-card:hover { border-color: var(--v-link); box-shadow: 10px 10px 10px #99999999;}


/* ════════════════════════════════════════
   VULCANUS 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;
}

/* ════════════════════════════════════════
   VULCANUS PRESS RELEASES
════════════════════════════════════════ */

.pr-meta{
  display:flex;
  justify-content: space-between;
  font-size: 10px;
  margin: 10px 10px 20px 10px;
}
.pr-body {
  border-top: 1px solid #88888855;
  border-bottom: 1px solid #88888855;
  padding: 20px 0px;
}
.pr-body .pr-lang-badge{
  border-radius: 20px;
  padding: 10px;
  border: 1px solid var(--v-ash);
}
.pr-body .flags{
  padding: 10px;
  margin: 0px 0px 20px 0px;
  display: flex;
  justify-content: space-evenly;
}
.pr-footer {
  font-size: 10px;
  margin: 20px 10px;
}
.center{
  text-align: center;
}