/* AUTOKING VI — shared colour tokens and Bootstrap 4 / legacy theme adapters.
   Keep dimensions, typography, images, markup and business behaviour in their existing files. */
:root {
  --ak-blue: #144490;
  --ak-blue-hover: #103b7e;
  --ak-blue-active: #0c306b;
  --ak-blue-deep: #0c2c60;
  --ak-blue-dark: #0b2248;
  --ak-blue-rgb: 20, 68, 144;
  --ak-blue-deep-rgb: 12, 44, 96;
  --ak-blue-dark-rgb: 11, 34, 72;
  --ak-green: #019746;
  --ak-green-hover: #19a657;
  --ak-green-strong: #017a38;
  --ak-green-active: #01662f;
  --ak-green-rgb: 1, 151, 70;
  --ak-green-text: #017a38;
  --ak-green-on-dark: #72dda1;
  --ak-on-green: #06160e;
  --ak-white: #ffffff;
  --ak-text: #253345;
  --ak-text-muted: #5d6876;
  --ak-text-inverse: #d6e3f5;
  --ak-text-inverse-muted: #b6cbea;
  --ak-surface: #f5f7fa;
  --ak-surface-blue: #edf3fb;
  --ak-surface-green: #eaf7f0;
  --ak-border: #d9e2ed;
  --ak-control-border: #77899e;
  --ak-border-on-dark: #6582ad;
  --ak-focus: #144490;
  --ak-disabled-bg: #e8edf3;
  --ak-disabled-text: #5d6876;
  --ak-error: #b42318;
  --ak-error-rgb: 180, 35, 24;
  --ak-error-bg: #fff1ef;
  --ak-error-border: #b42318;
  --ak-success: #017a38;
  --ak-success-bg: #eaf7f0;
  --ak-warning: #735400;
  --ak-warning-bg: #fff6d9;
}

body { color: var(--ak-text); background-color: var(--ak-white); }

/* Bootstrap 4 modifiers: framework files are deliberately untouched. */
.btn-primary, .btn-dark { background-color: var(--ak-blue); border-color: var(--ak-blue); color: var(--ak-white); }
.btn-primary:hover, .btn-primary:focus, .btn-dark:hover, .btn-dark:focus { background-color: var(--ak-blue-hover); border-color: var(--ak-blue-hover); color: var(--ak-white); }
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active { background-color: var(--ak-blue-active); border-color: var(--ak-blue-active); color: var(--ak-white); }
.btn-success { background-color: var(--ak-green-strong); border-color: var(--ak-green-strong); color: var(--ak-white); }
.btn-success:hover, .btn-success:focus { background-color: var(--ak-green-active); border-color: var(--ak-green-active); color: var(--ak-white); }
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active { background-color: var(--ak-green-active); border-color: var(--ak-green-active); color: var(--ak-white); }
.btn-outline-primary { color: var(--ak-blue); border-color: var(--ak-blue); background-color: transparent; }
.btn-outline-primary:hover { background-color: var(--ak-blue); border-color: var(--ak-blue); color: var(--ak-white); }
.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle, .show > .btn-outline-primary.dropdown-toggle,
.show > .btn-dark.dropdown-toggle { background-color: var(--ak-blue-active); border-color: var(--ak-blue-active); color: var(--ak-white); }
.show > .btn-success.dropdown-toggle { background-color: var(--ak-green-active); border-color: var(--ak-green-active); color: var(--ak-white); }
.dropdown-menu { color: var(--ak-text); background-color: var(--ak-white); border-color: var(--ak-border); }
.dropdown-item { color: var(--ak-blue); }
.dropdown-item:hover, .dropdown-item:focus { color: var(--ak-blue-hover); background-color: var(--ak-surface-blue); }
.dropdown-item.active, .dropdown-item:active { color: var(--ak-white); background-color: var(--ak-blue); }
.btn-link { color: var(--ak-blue); }
.btn-link:hover { color: var(--ak-blue-hover); }
.badge-primary { background-color: var(--ak-blue); color: var(--ak-white); }
.badge-success { background-color: var(--ak-green-strong); color: var(--ak-white); }
.badge-danger { background-color: var(--ak-error); color: var(--ak-white); }
.badge-warning { background-color: var(--ak-warning-bg); color: var(--ak-warning); }
.alert-primary, .alert-info { color: var(--ak-blue); background-color: var(--ak-surface-blue); border-color: var(--ak-control-border); }
.alert-success { color: var(--ak-success); background-color: var(--ak-success-bg); border-color: var(--ak-success); }
.alert-danger { color: var(--ak-error); background-color: var(--ak-error-bg); border-color: var(--ak-error-border); }
.alert-warning { color: var(--ak-warning); background-color: var(--ak-warning-bg); border-color: var(--ak-warning); }
.form-control.is-invalid { border-color: var(--ak-error); }
.form-control.is-valid { border-color: var(--ak-green-strong); }
.form-control.is-invalid:focus, .form-control[aria-invalid=true]:focus { border-color: var(--ak-error); box-shadow: 0 0 0 2px rgba(var(--ak-error-rgb), .16); }
.form-control.is-valid:focus { border-color: var(--ak-green-strong); box-shadow: 0 0 0 2px rgba(var(--ak-green-rgb), .16); }
.invalid-feedback { color: var(--ak-error); }
.valid-feedback { color: var(--ak-green-strong); }

/* WordPress theme: quotation actions use the exact VI green with dark text. */
.thm-btn { background-color: var(--ak-green); color: var(--ak-on-green); }
.thm-btn:hover, .thm-btn:focus { color: var(--ak-on-green); }
.thm-btn::before { background-color: var(--ak-green-hover); }
.thm-btn:active { background-color: var(--ak-green-active); color: var(--ak-white); }
.thm-btn:active::before { background-color: var(--ak-green-active); }
.thm-btn.border-btn { color: var(--ak-blue); background-color: transparent; border-color: var(--ak-blue); }
.thm-btn.border-btn:hover, .thm-btn.border-btn:focus { color: var(--ak-white); background-color: var(--ak-blue); }
.thm-btn.border-btn::before { background-color: var(--ak-blue); }
.thm-btn.border-btn-white { color: var(--ak-white); background-color: transparent; border-color: var(--ak-border-on-dark); }
.thm-btn.border-btn-white:hover, .thm-btn.border-btn-white:focus { color: var(--ak-white); background-color: var(--ak-green-strong); border-color: var(--ak-green-strong); }
.thm-btn.border-btn-white::before { background-color: var(--ak-green-strong); }
.thm-btn.black-btn { background-color: var(--ak-blue); color: var(--ak-white); }
.thm-btn.black-btn::before { background-color: var(--ak-blue-hover); }
.thm-btn.black-btn:hover, .thm-btn.black-btn:focus { color: var(--ak-white); }
.btn:disabled, .btn.disabled, .thm-btn:disabled { background-color: var(--ak-disabled-bg); border-color: var(--ak-control-border); color: var(--ak-disabled-text); opacity: 1; }
.thm-btn:disabled::before { background-color: var(--ak-disabled-bg); }

.main-menu ul li a { color: var(--ak-blue); }
.main-menu ul li:hover > a { color: var(--ak-green-text); }
.header-2 .header-bottom, .header-color-2 { background-color: var(--ak-blue-deep); }
.header-2 .main-menu ul li a { color: var(--ak-white); }
.header-2 .main-menu ul li:hover > a { color: var(--ak-green-on-dark); }
.header-2 .main-menu ul li ul.submenu li a { color: var(--ak-blue); }
.header-2 .main-menu ul li ul.submenu li:hover > a { color: var(--ak-green-text); }
.mean-container a.meanmenu-reveal { color: var(--ak-blue); border-color: var(--ak-blue); }
.mean-container a.meanmenu-reveal span { background-color: var(--ak-blue); }
.mean-container .mean-nav, .mean-container .mean-nav ul li a.mean-expand { background-color: var(--ak-white); }
.mean-container .mean-nav ul li a { color: var(--ak-blue); border-top-color: var(--ak-border); }
.mean-container .mean-nav ul li a:hover { background-color: var(--ak-surface-blue); color: var(--ak-blue-hover); }
.mean-container .mean-nav ul li a.mean-expand:hover { background-color: var(--ak-surface-green); color: var(--ak-green-text); }
.thm-bg { background-color: var(--ak-surface-blue); }
.gray-bg, .widget { background-color: var(--ak-surface); }
.theme-bg, .primary-bg, .dark-bg, .black-bg { background-color: var(--ak-blue-dark); }
.theme-color, .black-color { color: var(--ak-text); }
.counter-right-text span, .testimonial-2 .testimonial-text span, .footer-address span { color: var(--ak-green-on-dark); }
.testimonial-2 .testimonial-text-white span { color: var(--ak-white); }
.page-title .breadcrumb > .active { color: var(--ak-green-on-dark); }
.blog-item:hover .blog-content .blog-text p, .counter-2 .counter-right-text p { color: var(--ak-text); }
.text-box input, .message-box textarea, .contact-form input, .contact-form textarea,
.post-comment-form .conatct-post-form input, .post-comment-form .conatct-post-form textarea { color: var(--ak-text); border-color: var(--ak-control-border); }
.text-box input::placeholder, .message-box textarea::placeholder, .contact-form input::placeholder,
.contact-form textarea::placeholder, .post-comment-form .conatct-post-form input::placeholder,
.post-comment-form .conatct-post-form textarea::placeholder { color: var(--ak-text-muted); }
.text-box input:focus, .message-box textarea:focus, .contact-form input:focus, .contact-form textarea:focus,
.post-comment-form .conatct-post-form input:focus, .post-comment-form .conatct-post-form textarea:focus { border-color: var(--ak-focus); }
.table { color: var(--ak-text); }
.table th, .table td { border-color: var(--ak-border); }
.table thead th { color: var(--ak-blue); background-color: var(--ak-surface-blue); border-color: var(--ak-control-border); }
.table-striped tbody tr:nth-of-type(odd) { background-color: var(--ak-surface); }
.table-hover tbody tr:hover { background-color: var(--ak-surface-blue); }
.pd-desclist .services-link span { color: var(--ak-text-muted); }

/* The older homepage draft shares the same palette without image recolouring. */
.head, .top-logowp { background-color: var(--ak-white); }
.top-nav a, .top-nav-lang a { color: var(--ak-blue); }
.top-nav a:hover { background-color: var(--ak-surface-blue); color: var(--ak-blue-hover); }
.top-nav-lang { background-color: var(--ak-blue); }
.top-nav-lang a, .top-nav-lang a:hover { color: var(--ak-white); background-color: var(--ak-blue); }
.ind-sect h2 { color: var(--ak-blue); }
.vc-box { background-color: var(--ak-blue-deep); color: var(--ak-white); }
.vc-box h3, .vc-box p { color: var(--ak-white); }
.ind-sect-hs figcaption a { color: var(--ak-blue); }
.ind-sect-hs figcaption a:hover { color: var(--ak-green-text); }
.ind-sect-inq h2, .ind-sect-inq-wp { color: var(--ak-white); }
.ind-sect-inq-wp input, .ind-sect-inq-wp textarea { background-color: var(--ak-white); color: var(--ak-text); border-color: var(--ak-control-border); }
.ind-sect-inq-wp input::placeholder, .ind-sect-inq-wp textarea::placeholder { color: var(--ak-text-muted); }
.ind-sect-inq-wp button.thm-btn { background-color: var(--ak-green); color: var(--ak-on-green); }
.ind-sect-inq-wp button.thm-btn:hover { background-color: var(--ak-green-hover); color: var(--ak-on-green); }
.ind-sect-inq-wp button.thm-btn:active { background-color: var(--ak-green-active); color: var(--ak-white); }
.ind-sect-foot { background-color: var(--ak-blue-dark); color: var(--ak-text-inverse); }
.ind-sect-foot .col-12:nth-child(1) div { background-color: var(--ak-blue-deep); }
.ind-sect-foot a { color: var(--ak-text-inverse); }
.ind-sect-foot a:hover { color: var(--ak-white); }

::selection { background-color: var(--ak-blue); color: var(--ak-white); }
/* Dual-colour focus remains visible on white, green and dark blue surfaces. */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible,
.btn:focus-visible, .form-control:focus-visible {
  outline: 3px solid var(--ak-focus);
  outline-offset: 3px;
  box-shadow: 0 0 0 2px var(--ak-white);
}
