/*
Theme Name: Kenny AV Solution
Theme URI: https://kennyavsolution.com/
Author: Kenny AV Solution
Author URI: https://kennyavsolution.com/
Description: Official Kenny AV Solution theme — clean, modern light design in brand colours (Deep Navy #0B1530, Electric Blue #0066FF). AV CAD drafting outsourcing. Keeps your existing pages, posts and URLs; changes only the look.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.6
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: kenny-av
*/

/* The full design system lives in assets/css/style.css (enqueued via functions.php).
   Below: WordPress-specific additions (nav menu, blog typography, widgets). */

/* ---- Primary nav menu (wp_nav_menu) styled like the static nav ---- */
#primary-menu { display: flex; align-items: center; gap: 2rem; list-style: none; margin: 0; padding: 0; }
#primary-menu li { position: relative; }
#primary-menu li a {
  position: relative; color: #475569; font-weight: 500; text-decoration: none; transition: color .25s ease;
  font-family: 'Inter', sans-serif;
}
#primary-menu li a::after {
  content:''; position:absolute; left:0; bottom:-6px; width:0; height:2px;
  background: linear-gradient(135deg,#2f80ff,#0066ff); transition:width .3s ease; border-radius:2px;
}
#primary-menu li a:hover, #primary-menu li.current-menu-item > a, #primary-menu li.current_page_item > a { color:#0b1530; }
#primary-menu li a:hover::after, #primary-menu li.current-menu-item > a::after, #primary-menu li.current_page_item > a::after { width:100%; }

/* Submenus */
#primary-menu ul.sub-menu {
  position:absolute; top:100%; left:0; min-width:220px; background:#fff; border:1px solid #e3e8f0;
  border-radius:1rem; box-shadow:0 14px 32px -20px rgba(11,21,48,.25); padding:.5rem; margin-top:.75rem;
  list-style:none; opacity:0; visibility:hidden; transform:translateY(8px); transition:all .22s ease; z-index:50;
}
#primary-menu li:hover > ul.sub-menu { opacity:1; visibility:visible; transform:translateY(0); }
#primary-menu ul.sub-menu li a { display:block; padding:.6rem 1rem; border-radius:.5rem; color:#475569; }
#primary-menu ul.sub-menu li a:hover { background:#f5f8fd; color:#0066ff; }
#primary-menu ul.sub-menu li a::after { display:none; }

/* Mobile menu list reset */
#mobileMenu ul { list-style:none; margin:0; padding:0; }

/* ---- Blog post / page content typography (.entry-content) ---- */
.entry-content { color:#475569; line-height:1.8; font-size:1.05rem; }
.entry-content > * + * { margin-top:1.25rem; }
.entry-content h2 { font-family:'Outfit',sans-serif; color:#0b1530; font-weight:700; font-size:1.8rem; margin-top:2.5rem; }
.entry-content h3 { font-family:'Outfit',sans-serif; color:#0b1530; font-weight:600; font-size:1.4rem; margin-top:2rem; }
.entry-content h4 { font-family:'Outfit',sans-serif; color:#0b1530; font-weight:600; font-size:1.15rem; margin-top:1.5rem; }
.entry-content a { color:#0066ff; text-decoration:underline; }
.entry-content a:hover { color:#0052d6; }
.entry-content img { border-radius:1rem; height:auto; max-width:100%; }
.entry-content ul, .entry-content ol { padding-left:1.4rem; }
.entry-content ul li { list-style:disc; margin:.4rem 0; }
.entry-content ol li { list-style:decimal; margin:.4rem 0; }
.entry-content blockquote {
  border-left:4px solid #0066ff; background:#f5f8fd; padding:1rem 1.25rem; border-radius:.5rem; color:#0b1530; font-style:italic;
}
.entry-content table { width:100%; border-collapse:collapse; }
.entry-content table th, .entry-content table td { border:1px solid #e3e8f0; padding:.6rem .8rem; text-align:left; }
.entry-content figure { margin:1.5rem 0; }

/* WordPress core alignment helpers */
.alignleft { float:left; margin:.5rem 1.5rem 1rem 0; }
.alignright { float:right; margin:.5rem 0 1rem 1.5rem; }
.aligncenter { display:block; margin-left:auto; margin-right:auto; }
.wp-caption-text { font-size:.85rem; color:#64748b; text-align:center; }
.screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); }

/* Pagination */
.pagination { display:flex; gap:.5rem; flex-wrap:wrap; justify-content:center; }
.pagination .page-numbers {
  display:grid; place-items:center; min-width:42px; height:42px; padding:0 .75rem; border-radius:.75rem;
  border:1px solid #e3e8f0; color:#475569; text-decoration:none; font-weight:600; transition:all .2s ease;
}
.pagination .page-numbers:hover { border-color:#0066ff; color:#0066ff; }
.pagination .page-numbers.current { background:linear-gradient(135deg,#2f80ff,#0066ff); color:#fff; border-color:transparent; }
