/*!
Theme Name: Precision Projects
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: precision-projects
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Precision Projects is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

.wpcf7 .cf7-submit {
    width: 100%;
    border-radius: 0.125rem;
    background: var(--secondary);
    padding: 0.875rem 1.5rem;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--secondary-foreground);
    transition: opacity 0.2s ease;
    border: 0;
    cursor: pointer;
}

.wpcf7 .cf7-submit:hover {
    opacity: 0.9;
}

/* ==========================================================================
   Header Navigation & Dropdown Styling (Matching HTML Design)
   ========================================================================== */

/* Main nav list alignment */
.main-navigation ul#primary-menu {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.main-navigation ul#primary-menu > li {
    display: flex;
    align-items: center;
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
    height: 100%;
}

/* Dropdown Parent Item */
.ppa-dd,
.main-navigation li.menu-item-has-children {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.ppa-dd-trigger,
.main-navigation li.menu-item-has-children > a {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
}

/* Chevron arrow */
.ppa-dd-chevron {
    height: 0.85rem;
    width: 0.85rem;
    transition: transform 0.18s ease;
    flex-shrink: 0;
}

.ppa-dd:hover .ppa-dd-chevron,
.ppa-dd:focus-within .ppa-dd-chevron,
.main-navigation li.menu-item-has-children:hover > a .ppa-dd-chevron,
.main-navigation li.menu-item-has-children:focus-within > a .ppa-dd-chevron {
    transform: rotate(180deg);
}

/* Dropdown Menu Popup */
.ppa-dd-menu,
.main-navigation li.menu-item-has-children > .sub-menu {
    position: absolute;
    left: 0;
    top: 100%;
    min-width: 15rem;
    padding: 0.4rem;
    border: 1px solid var(--border);
    border-radius: 0.375rem;
    background: var(--background);
    box-shadow: 0 24px 48px -24px oklch(0 0 0 / 0.45);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
    z-index: 60;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    list-style: none;
    margin: 0;
}

/* Show Submenu on Hover / Focus */
.ppa-dd:hover .ppa-dd-menu,
.ppa-dd:focus-within .ppa-dd-menu,
.main-navigation li.menu-item-has-children:hover > .sub-menu,
.main-navigation li.menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Submenu Links */
.ppa-dd-menu a,
.main-navigation li.menu-item-has-children > .sub-menu a {
    display: block;
    padding: 0.55rem 0.7rem;
    border-radius: 0.25rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--secondary);
    opacity: 0.85;
    white-space: nowrap;
    transition: background-color 0.15s ease, color 0.15s ease;
    width: 100%;
}

.ppa-dd-menu a:hover,
.ppa-dd-menu a[aria-current="page"],
.ppa-dd-menu a.active,
.main-navigation li.menu-item-has-children > .sub-menu a:hover,
.main-navigation li.menu-item-has-children > .sub-menu li.current-menu-item > a,
.main-navigation li.menu-item-has-children > .sub-menu a.active {
    background: var(--muted);
    color: var(--primary);
    opacity: 1;
}

/* Active Top-Level Links */
.main-navigation a.active,
.main-navigation li.current-menu-item > a,
.main-navigation li.current_page_item > a,
.main-navigation li.current-menu-ancestor > a {
    color: var(--primary);
}

.main-navigation a.active:after,
.main-navigation li.current-menu-item > a:after,
.main-navigation li.current_page_item > a:after {
    transform: scaleX(1) !important;
    --tw-scale-x: 1 !important;
}

/* Responsive Mobile Navigation */
@media (max-width: 1279px) {
    .main-navigation.toggled {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--background);
        padding: 1.25rem;
        border-bottom: 1px solid var(--border);
        box-shadow: 0 10px 30px -10px oklch(0 0 0 / 0.5);
        z-index: 100;
    }
    .main-navigation.toggled ul#primary-menu {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 0.5rem;
    }
    .main-navigation.toggled li {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }
    .main-navigation.toggled li.menu-item-has-children > .sub-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: none;
        padding-left: 1rem;
        margin-top: 0.25rem;
        background: transparent;
    }
}