/*
Theme Name: HVK Developer
Theme URI: https://hvkaidevelopers.com/
Author: HVK Web & Software Developer
Author URI: https://hvkaidevelopers.com/
Description: High-performance, bespoke WordPress theme for HVK Web & Software Developer. Features custom post types for services and portfolio projects, an interactive process timeline, dynamic mega-menu, accessible mobile drawer navigation, and responsive layouts built with modern standards.
Version: 1.0.2
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hvk
Tags: two-columns, custom-menu, custom-logo, featured-images, translation-ready, full-width-template, theme-options
*/

/* Official HVK Brand Design Tokens & System */
:root {
  --color-royal: #003b8f; /* Primary Blue */
  --color-navy: #062b5b;  /* Dark Navy */
  --color-cta: #f4510b;   /* CTA Orange */
  --color-azure: #003b8f;
  --color-mist: #eaf3ff;  /* Soft Blue */
  --color-frost: #f5f9ff;
  --color-ink: #172b4d;
  --color-slate2: #64748b;
  --color-line: #d9e2ec;
  --color-cyan2: #18b7d9;
}

/* High-Conversion CTA Orange Buttons */
.btn-cta,
.btn-orange {
  background-color: var(--color-cta) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 10px 24px -12px rgba(244, 81, 11, 0.7);
}
.btn-cta:hover,
.btn-orange:hover {
  background-color: #d94204 !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 28px -14px rgba(244, 81, 11, 0.9);
}

/* Accessible Touch Targets */
button,
.btn,
input,
select,
textarea {
  touch-action: manipulation;
}
button,
.btn {
  min-height: 44px;
}

/* WordPress Core Alignment & Utility Fallbacks */
.alignnone {
  margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

a img.alignnone {
  margin: 5px 20px 20px 0;
}

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  background: #fff;
  border: 1px solid #d9e2ec;
  max-width: 96%;
  padding: 5px 3px 10px;
  text-align: center;
}

.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}

.wp-caption p.wp-caption-text {
  font-size: 13px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
  color: #64748b;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #062b5b;
  display: block;
  font-size: 14px;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Admin Bar adjustments for sticky header */
.admin-bar .sticky.top-0,
body.admin-bar header.sticky {
  top: 32px;
}
@media screen and (max-width: 782px) {
  body.admin-bar header.sticky {
    top: 46px;
  }
}

/* ==========================================================================
   HVK Responsive Navigation & Header System
   Guarantees full horizontal navigation on desktop displays (>= 960px),
   including 1024px, 1280px, 1366px, 1440px, 1920px and 100%-150% browser zoom,
   while preserving the functional mobile drawer on smaller displays (< 960px).
   ========================================================================== */

/* Mobile & Tablet Portrait (< 960px): Hamburger visible, desktop nav hidden */
@media screen and (max-width: 959.98px) {
  .hvk-desktop-nav {
    display: none !important;
  }
  .hvk-mobile-toggle {
    display: inline-flex !important;
  }
  .hvk-header-cta {
    display: none !important;
  }
}

@media screen and (min-width: 540px) and (max-width: 959.98px) {
  .hvk-header-cta {
    display: inline-flex !important;
    padding: 0 14px;
    font-size: 13px;
    min-height: 40px;
  }
}

/* Desktop & Laptop Displays (>= 960px): Full horizontal navigation */
@media screen and (min-width: 960px) {
  .hvk-desktop-nav {
    display: block !important;
  }
  .hvk-mobile-toggle {
    display: none !important;
  }
  .hvk-mobile-drawer,
  #mobile-menu,
  #mobile-overlay {
    display: none !important;
  }
  .hvk-header-cta {
    display: inline-flex !important;
  }
}

/* Desktop Navigation List & Item Layout */
.hvk-desktop-nav ul {
  display: flex !important;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 2px;
}
@media screen and (min-width: 1200px) {
  .hvk-desktop-nav ul {
    gap: 6px;
  }
}

.hvk-desktop-nav li {
  position: relative;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.hvk-desktop-nav a.nav-link,
.hvk-desktop-nav li > a {
  position: relative;
  display: block;
  padding: 8px 10px;
  font-family: var(--font-sans, "Inter", sans-serif);
  font-size: 14px;
  font-weight: 500;
  color: var(--color-ink, #172b4d);
  text-decoration: none;
  white-space: nowrap;
  border-radius: var(--radius-ui, 6px);
  transition: color 0.18s ease, background-color 0.18s ease;
}
@media screen and (min-width: 1200px) {
  .hvk-desktop-nav a.nav-link,
  .hvk-desktop-nav li > a {
    padding: 8px 13px;
    font-size: 15px;
  }
}

.hvk-desktop-nav a.nav-link:hover,
.hvk-desktop-nav li > a:hover {
  color: var(--color-royal, #003b8f);
  background-color: rgba(0, 59, 143, 0.05);
}

.hvk-desktop-nav a.nav-link.active,
.hvk-desktop-nav li.current-menu-item > a,
.hvk-desktop-nav li.current_page_item > a {
  color: var(--color-royal, #003b8f) !important;
  font-weight: 700;
}

/* Services Mega Menu Dropdown */
#mega-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 60;
  width: 720px;
  max-width: calc(100vw - 32px);
  padding-top: 12px;
}
#mega-menu[hidden] {
  display: none !important;
}

/* Services Dropdown Toggle Button */
#mega-menu-toggle {
  background: transparent;
  border: none;
  padding: 0 4px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  color: var(--color-ink, #172b4d);
  transition: color 0.18s ease;
}
#mega-menu-toggle:hover {
  color: var(--color-royal, #003b8f);
}

