/* Veritas brand layer */
:root {
  --primary-color2: #009DFC;
  --primary-color2-opc: 0, 157, 252;
  --veritas-blue: #009DFC;
  --veritas-blue-dark: #0077C2;
  --veritas-grey: #838285;
}

::selection { background: var(--veritas-blue); color: #fff; }

/* ---------- logo ---------- */
.veritas-logo, .footer-logo { display: inline-flex !important; align-items: center; gap: 10px; text-decoration: none; }
.veritas-logo img, .footer-logo img { width: 44px !important; height: auto !important; max-width: none; }
.veritas-logo .logo-text, .footer-logo .logo-text {
  font-family: var(--font-kanit); font-weight: 600; font-size: 26px; line-height: 1;
  letter-spacing: 0.02em; color: var(--title-color);
}
.right-sidebar-menu .veritas-logo .logo-text { font-size: 24px; }
@media (max-width: 576px) {
  .veritas-logo img { width: 38px !important; }
  .veritas-logo .logo-text { font-size: 23px; }
}

/* ---------- header menu ---------- */
header.style-1 .main-menu ul > li ul.sub-menu > li > a small {
  display: block; font-size: 12px; letter-spacing: 0.02em; text-transform: none;
  color: var(--paragraph-color); margin-top: 2px; font-family: var(--font-inter);
}
header.style-1 .main-menu ul > li ul.sub-menu { min-width: 250px; }
header.style-1 .main-menu ul > li ul.sub-menu > li:hover > a small,
header.style-1 .main-menu ul > li ul.sub-menu > li.current-menu-item > a small { color: inherit; }

/* ---------- breadcrumb ---------- */
.breadcrumb-section {
  background-image: linear-gradient(91.45deg, #000000 17.96%, rgba(0, 0, 0, 0.9) 44.49%, rgba(0, 0, 0, 0.78) 67.58%, rgba(0, 0, 0, 0.45) 98.52%), url(../img/breadcrumb-bg.jpg) !important;
  background-size: cover !important; background-position: center !important;
}

/* ---------- what we offer (sectors tabs) ---------- */
.home2-property-description-section .property-content-wrap .property-description-tab .property-content ul li .icon i {
  font-size: 30px; line-height: 1; color: var(--veritas-blue); display: inline-block; width: 34px;
}
.home2-property-description-section .property-content-wrap .property-description-nav .nav-tabs .nav-link.active { color: var(--title-color); }
.home2-property-description-section .property-img img { width: 100%; height: 478px; object-fit: cover; }
@media (max-width: 1199px) { .home2-property-description-section .property-img img { height: 440px; } }

/* ---------- process icons ---------- */
.home3-process-section .process-card .process-content .icon i { font-size: 46px; line-height: 1; color: var(--title-color); display: inline-block; transition: 0.4s; }
.home3-process-section .process-card:hover .process-content .icon i { color: var(--veritas-blue); }

/* ---------- services page ---------- */
.home1-service-section.digital-practice { background-color: #fff; }
.page-services .home1-service-section .single-services { scroll-margin-top: 120px; }
.page-services .home1-service-section .single-services .content p { margin-bottom: 18px; }

/* ---------- solution pages ---------- */
.service-details-page .service-details-img-grp img { width: 100%; height: 260px; object-fit: cover; }
.page-verigov .elementor-element-a4d7c35 img, .page-vela .elementor-element-a4d7c35 img,
.page-chis .elementor-element-a4d7c35 img, .page-wfms .elementor-element-a4d7c35 img { width: 100%; height: 530px; object-fit: cover; }
@media (max-width: 991px) {
  .page-verigov .elementor-element-a4d7c35 img, .page-vela .elementor-element-a4d7c35 img,
  .page-chis .elementor-element-a4d7c35 img, .page-wfms .elementor-element-a4d7c35 img { height: 380px; }
}
@media (max-width: 576px) {
  .page-verigov .elementor-element-a4d7c35 img, .page-vela .elementor-element-a4d7c35 img,
  .page-chis .elementor-element-a4d7c35 img, .page-wfms .elementor-element-a4d7c35 img { height: 240px; }
}

/* ---------- sectors grid ---------- */
.project-grid-page .sector-intro p { margin-bottom: 0; }
.project-grid-page .project-card .project-img-wrap img { width: 100%; aspect-ratio: 872 / 540; object-fit: cover; }
.project-grid-page .project-card .project-content .sector-no {
  display: inline-block; font-family: var(--font-kanit); font-size: 13px; letter-spacing: 0.1em;
  color: var(--veritas-blue); margin-bottom: 6px;
}
.project-grid-page .project-card .project-content p { font-size: 15px; line-height: 1.7; margin: 8px 0 0; }
.project-grid-page .col-lg-4 { scroll-margin-top: 120px; }

/* ---------- contact ---------- */
.home6-contact-section .contact-content .contact-intro { margin: 0 0 18px; }
.home6-contact-section .contact-content .contact-badge {
  font-family: var(--font-kanit); font-size: 13px; letter-spacing: 0.08em; color: var(--veritas-blue); margin-bottom: 30px;
}
.home6-contact-section .contact-list .single-contact .icon i { font-size: 22px; color: var(--title-color); line-height: 1; }
.veritas-form .form-inner input, .veritas-form .form-inner textarea {
  width: 100%; border: 1px solid rgba(var(--primary-color-opc), 0.1); background: #fff; padding: 12px 16px;
  font-family: var(--font-inter); font-size: 15px; color: var(--title-color); border-radius: 0; outline: none; transition: border-color 0.3s;
}
.veritas-form .form-inner input:focus, .veritas-form .form-inner textarea:focus { border-color: var(--veritas-blue); }
.veritas-form .form-inner textarea { min-height: 150px; resize: vertical; }
.veritas-form .form-inner label { display: block; margin-bottom: 8px; }
.veritas-form .form-inner .nice-select { width: 100%; }
.veritas-form .form-check { display: flex; gap: 10px; align-items: flex-start; padding-left: 0; }
.veritas-form .form-check .form-check-input { float: none; margin: 4px 0 0; flex: 0 0 auto; }
.veritas-form .form-check-label a { text-decoration: underline; }
.veritas-form .vf-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.veritas-form button[type=submit] { margin-top: 30px; }
.veritas-form .vf-status { margin-top: 18px; font-family: var(--font-inter); font-size: 15px; }
.veritas-form .vf-status.ok { color: #0a7d3b; }
.veritas-form .vf-status.err { color: #c62828; }
.veritas-form .is-invalid { border-color: #c62828 !important; }

/* ---------- footer ---------- */
.footer-section .address-area .single-address.head-office { max-width: 100%; }
.footer-section .footer-logo-area .footer-logo { margin-bottom: 0; }

/* ---------- legal pages ---------- */
.legal-page .legal-aside { position: sticky; top: 120px; }
.legal-page .legal-meta { border-left: 2px solid var(--veritas-blue); padding: 4px 0 4px 16px; margin-bottom: 30px; }
.legal-page .legal-meta span { display: block; font-family: var(--font-kanit); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--paragraph-color); }
.legal-page .legal-meta strong { font-family: var(--font-kanit); font-weight: 500; font-size: 18px; }
.legal-page .legal-aside h6 { font-family: var(--font-kanit); font-size: 15px; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 14px; }
.legal-page .legal-toc { margin: 0 0 35px; padding-left: 20px; }
.legal-page .legal-toc li { font-family: var(--font-inter); font-size: 15px; line-height: 1.5; padding: 5px 0; color: var(--paragraph-color); }
.legal-page .legal-toc li a:hover { color: var(--veritas-blue); }
.legal-page .legal-help { background: #F0F2F4; padding: 25px; }
.legal-page .legal-help p { margin-bottom: 10px; font-size: 15px; }
.legal-page .legal-help a { display: block; font-family: var(--font-inter); font-size: 15px; color: var(--title-color); word-break: break-word; }
.legal-page .legal-help a:hover { color: var(--veritas-blue); }
.legal-page .legal-block { padding-bottom: 35px; margin-bottom: 35px; border-bottom: 1px solid rgba(var(--primary-color-opc), 0.08); scroll-margin-top: 120px; }
.legal-page .legal-block:last-child { border-bottom: 0; margin-bottom: 0; }
.legal-page .legal-block h2 { font-size: 28px; font-weight: 400; display: flex; gap: 14px; align-items: baseline; margin-bottom: 18px; }
.legal-page .legal-block h2 span { font-size: 15px; color: var(--veritas-blue); letter-spacing: 0.08em; }
.legal-page .legal-block h3 { font-size: 19px; font-weight: 500; margin: 22px 0 10px; }
.legal-page .legal-block p, .legal-page .legal-block li { font-family: var(--font-inter); font-size: 16px; line-height: 1.8; color: var(--paragraph-color); }
.legal-page .legal-block strong { color: var(--title-color); font-weight: 600; }
.legal-page .legal-block ul { padding-left: 20px; margin-bottom: 16px; }
.legal-page .legal-block ul li { padding: 3px 0; }
.legal-page .legal-block a { color: var(--veritas-blue); }
.legal-page .legal-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 30px; background: #F0F2F4; padding: 28px; margin: 20px 0; }
.legal-page .legal-card span { display: block; font-family: var(--font-kanit); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--paragraph-color); margin-bottom: 3px; }
.legal-page .legal-card p { margin: 0; color: var(--title-color); font-size: 15px; line-height: 1.6; word-break: break-word; }
@media (max-width: 991px) { .legal-page .legal-aside { position: static; } }
@media (max-width: 576px) {
  .legal-page .legal-card { grid-template-columns: 1fr; padding: 20px; }
  .legal-page .legal-block h2 { font-size: 23px; }
}

/* ---------- 404 ---------- */
.error-page .error-code {
  display: flex; align-items: center; justify-content: center; gap: 18px;
  font-family: var(--font-kanit); font-weight: 600; font-size: 190px; line-height: 1; color: var(--title-color);
}
.error-page .error-code img { width: 170px; height: auto; }
.error-page .error-actions { display: flex; gap: 30px; align-items: center; justify-content: center; flex-wrap: wrap; }
.error-page .error-wrapper { text-align: center; }
.error-page .error-content p { max-width: 560px; margin: 0 auto 35px; }
@media (max-width: 576px) {
  .error-page .error-code { font-size: 110px; gap: 10px; }
  .error-page .error-code img { width: 95px; }
}

/* ---------- misc ---------- */
a[href^="mailto:"], a[href^="tel:"] { word-break: break-word; }

/* footer and sidebar email fits on one line */
.footer-section .contact-area .single-contact .content h6 a[href^="mailto:"],
.right-sidebar-menu .contact-area .single-contact .content h6 a[href^="mailto:"] { word-break: normal; white-space: nowrap; font-size: 0.92em; }

/* breadcrumb separator and select arrows */
.breadcrumb-section .banner-content .breadcrumb-list li::before {
  content: "" !important; width: 7px; height: 7px; border-top: 1px solid #fff; border-right: 1px solid #fff;
  transform: translateY(-50%) rotate(45deg) !important; opacity: 0.7;
}
.contact-form-wrap .nice-select::after, .contact-form-wrap .nice-select.open::after {
  content: "" !important; width: 8px !important; height: 8px !important;
  border-bottom: 1.5px solid var(--title-color) !important; border-right: 1.5px solid var(--title-color) !important;
  transform: rotate(45deg) !important; margin-top: -6px !important;
}
.contact-form-wrap .nice-select.open::after { transform: rotate(-135deg) !important; margin-top: -2px !important; }

/* about page counters */
.page-about .home2-counter-section { padding-top: 10px; }
.page-about .elementor-element-9e2ef9e { margin-bottom: 110px !important; }
.page-about .home2-counter-section .single-countdown .number h2,
.page-about .home2-counter-section .single-countdown .number span { font-size: 84px; letter-spacing: 0.04em; }
@media (max-width: 1199px) {
  .page-about .home2-counter-section .single-countdown .number h2,
  .page-about .home2-counter-section .single-countdown .number span { font-size: 70px; }
}
@media (max-width: 576px) {
  .page-about .home2-counter-section .single-countdown .number h2,
  .page-about .home2-counter-section .single-countdown .number span { font-size: 64px; }
}
.breadcrumb-section .banner-content .breadcrumb-list li:first-child::before { display: none !important; }

/* solution pages: undo the theme's mobile pull up so the title never covers the image */
@media (max-width: 767px) {
  .elementor-34 .elementor-element.elementor-element-0e57fbb { --margin-top: 0px !important; margin-top: 0 !important; }
  .elementor-element-a4d7c35 { margin-bottom: 40px; }
}
