/* Accessible, responsive refinements layered over the legacy template. */
:root {
  --isecpe-ink: #183247;
  --isecpe-muted: #607486;
  --isecpe-blue: #087ca6;
  --isecpe-blue-dark: #075b7b;
  --isecpe-coral: #e96b68;
  --isecpe-surface: #fff;
  --isecpe-soft: #f2f8fb;
  --isecpe-border: #dce7ed;
  --isecpe-shadow: 0 14px 40px rgba(16, 54, 74, .10);
}

html { scroll-behavior: smooth; }
body { color: var(--isecpe-ink); font-family: "Open Sans", Arial, sans-serif; line-height: 1.7; }
a { transition: color .2s ease, background-color .2s ease, box-shadow .2s ease; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid #f2a23a !important; outline-offset: 3px;
}
.site-header { position: relative; z-index: 50; }
.top-bar { background: var(--isecpe-blue-dark) !important; }
.top-bar .site-button { border-radius: 5px; font-weight: 700; letter-spacing: .02em; }
.main-bar { background: var(--isecpe-surface) !important; box-shadow: 0 4px 22px rgba(16,54,74,.08); }
.logo-header img { max-width: 193px; height: auto; }
.header-nav .nav > li > a { color: var(--isecpe-ink); font-weight: 600; }
.header-nav .nav > li.active > a, .header-nav .nav > li > a:hover { color: var(--isecpe-blue); background: transparent; }
.main-slider .tp-caption { text-shadow: 0 2px 14px rgba(0,0,0,.34); }
.section-head h2, .dez-title { color: var(--isecpe-ink); }
.dez-box, .icon-bx-wraper { border-radius: 8px; }
.dez-box { overflow: hidden; box-shadow: 0 8px 26px rgba(16,54,74,.08); transition: box-shadow .2s ease, transform .2s ease; }
.dez-box:hover { box-shadow: var(--isecpe-shadow); transform: translateY(-3px); }
.breadcrumb-row a { color: var(--isecpe-blue-dark); }
.pagination > .active > a, .pagination > .active > a:hover { background: var(--isecpe-blue); border-color: var(--isecpe-blue); }
.page-content { overflow: hidden; }
.site-button { border-radius: 5px; background: var(--isecpe-blue); border-color: var(--isecpe-blue); font-weight: 700; letter-spacing: .015em; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.site-button:hover, .site-button:focus { background: var(--isecpe-blue-dark); border-color: var(--isecpe-blue-dark); box-shadow: 0 8px 20px rgba(7,91,123,.20); transform: translateY(-1px); }
.site-button[style*="#ff6666"] { background: var(--isecpe-coral) !important; border-color: var(--isecpe-coral) !important; }
.site-button[style*="#ff6666"]:hover { background: #d95350 !important; }
.form-control { min-height: 46px; border: 1px solid var(--isecpe-border); border-radius: 5px; box-shadow: none; color: var(--isecpe-ink); }
textarea.form-control { min-height: 120px; resize: vertical; }
.form-control:focus { border-color: var(--isecpe-blue); box-shadow: 0 0 0 3px rgba(8,124,166,.12); }
.form-group { margin-bottom: 18px; }
.input-group-addon { border-color: var(--isecpe-border); background: var(--isecpe-soft); color: var(--isecpe-blue); }
.modal-content { overflow: hidden; border: 0; border-radius: 10px; box-shadow: var(--isecpe-shadow); }
.modal-header { padding: 20px 24px; background: var(--isecpe-soft); border-bottom: 1px solid var(--isecpe-border); }
.modal-title { color: var(--isecpe-ink); font-weight: 700; }
.modal-body { padding: 24px; }
.dzFormMsg:empty { display: none; }
.dzFormMsg .alert { margin-bottom: 18px; border-radius: 5px; }
.site-footer .footer-top { background-color: #12364a; }
.site-footer a { color: rgba(255,255,255,.85); }
.site-footer a:hover { color: #fff; }
.site-footer .widget_getintuch li { line-height: 1.7; }
.contact-page { padding: 54px 0 72px; background: linear-gradient(180deg, var(--isecpe-soft), #fff 340px); }
.contact-page__intro { margin-bottom: 28px; }
.contact-page__intro h1 { margin-top: 0; color: var(--isecpe-ink); font-size: clamp(30px, 4vw, 44px); font-weight: 700; }
.contact-page__intro p { max-width: 680px; color: var(--isecpe-muted); font-size: 17px; }
.contact-card { height: 100%; padding: 30px; background: #fff; border: 1px solid var(--isecpe-border); border-radius: 10px; box-shadow: var(--isecpe-shadow); }
.contact-card h2 { margin-top: 0; font-size: 22px; font-weight: 700; }
.contact-card__detail { display: block; margin: 16px 0; color: var(--isecpe-muted); }
.contact-card__detail i { width: 26px; color: var(--isecpe-blue); }
.contact-card__detail a { color: var(--isecpe-blue-dark); }
.contact-form-card { margin-top: 28px; }
.contact-form-card .form-control { background: #fff; }
@media (max-width: 767px) {
  .top-bar .dez-topbar-right ul { float: none !important; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
  .logo-header { max-width: calc(100% - 70px); }
  .logo-header img { max-width: min(170px, 100%); }
  .navbar-toggle { margin-top: 20px; background: var(--isecpe-blue); border-color: var(--isecpe-blue); }
  .navbar-toggle .icon-bar { background: #fff; }
  .header-nav { max-height: 70vh; overflow-y: auto; }
  .header-nav .nav > li > a { padding: 12px 15px; }
  .contact-card { margin-bottom: 20px; padding: 22px; }
  .modal-body { padding: 18px; }
}
@media (min-width: 768px) and (max-width: 991px) {
  .extra-nav { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
