/**
 * File:     style.css
 * Location: wptruss/blocks/header-dash/style.css
 * Purpose:  Frontend and editor styles for wptruss/header-dash.
 *
 * CSS RULES:
 *   Rule 8:  No transition:, animation:, or @keyframes
 *   Rule 9:  No hardcoded hex, rgb(), rgba(), or hsl() (except box-shadow — no token)
 *   Spacing: var(--wpt-spacing-*)
 *   Colour:  var(--wpt-color-*)
 *
 * @package  wpTruss
 * Encoding: UTF-8 without BOM
 */


/* ══════════════════════════════════════════════════════════════════
   ROOT
   ══════════════════════════════════════════════════════════════════ */

.tp-header-dash {
    --tp-nav-bg:         var(--wpt-color-light, #fff);
    --tp-nav-link-color: var(--wpt-color-dark);
    --tp-nav-border:     var(--wpt-color-border);

    background-color: var(--tp-nav-bg);
    border-bottom: 1px solid var(--tp-nav-border);
    width: 100%;
    position: relative;
    z-index: 100;
}

/* Background modifiers */
.wpt-header-dash--bg-light     { --tp-nav-bg: var(--wpt-color-light);     --tp-nav-link-color: var(--wpt-color-dark);  }
.wpt-header-dash--bg-surface   { --tp-nav-bg: var(--wpt-color-surface);   --tp-nav-link-color: var(--wpt-color-dark);  }
.wpt-header-dash--bg-primary   { --tp-nav-bg: var(--wpt-color-primary);   --tp-nav-link-color: var(--wpt-color-light); --tp-nav-border: transparent; }
.wpt-header-dash--bg-secondary { --tp-nav-bg: var(--wpt-color-secondary); --tp-nav-link-color: var(--wpt-color-light); --tp-nav-border: transparent; }
.wpt-header-dash--bg-accent    { --tp-nav-bg: var(--wpt-color-accent);    --tp-nav-link-color: var(--wpt-color-light); --tp-nav-border: transparent; }
.wpt-header-dash--bg-dark      { --tp-nav-bg: var(--wpt-color-dark);      --tp-nav-link-color: var(--wpt-color-light); --tp-nav-border: transparent; }


/* ══════════════════════════════════════════════════════════════════
   INNER — logo | nav | actions (3-column flex)
   ══════════════════════════════════════════════════════════════════ */

.tp-header-dash__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--wpt-spacing-md);
    padding: var(--wpt-spacing-sm) var(--wpt-spacing-lg);
    max-width: var(--tp-content-width);
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}


/* ══════════════════════════════════════════════════════════════════
   LOGO
   ══════════════════════════════════════════════════════════════════ */

.tp-header-dash__logo-wrap { flex-shrink: 0; }

.tp-header-dash__logo-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.tp-header-dash__logo-link:focus-visible {
    outline: 2px solid var(--wpt-color-primary);
    outline-offset: 2px;
    border-radius: 2px;
}

.tp-header-dash__logo { display: block; height: auto; width: 100%; }

.tp-header-dash__site-name {
    font-family: var(--wpt-font-heading);
    font-size: var(--wpt-text-xl);
    font-weight: var(--wpt-font-bold);
    color: var(--tp-nav-link-color);
}

.tp-header-dash__logo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--wpt-spacing-xs) var(--wpt-spacing-sm);
    background-color: var(--wpt-color-surface);
    border: 1px dashed var(--wpt-color-border);
    border-radius: 4px;
    min-width: 80px;
    font-size: var(--wpt-text-sm);
    color: var(--wpt-color-muted);
}


/* ══════════════════════════════════════════════════════════════════
   NAVIGATION — desktop
   ══════════════════════════════════════════════════════════════════ */

.tp-header-dash__nav { flex: 1; display: flex; }

.wpt-header-dash--menu-left   .tp-header-dash__nav { justify-content: flex-start; }
.wpt-header-dash--menu-center .tp-header-dash__nav { justify-content: center;     }
.wpt-header-dash--menu-right  .tp-header-dash__nav { justify-content: flex-end;   }

.tp-header-dash__menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
}

.tp-header-dash__nav .wpt-nav-item {
    position: relative;
    list-style: none;
}

/* Nav links — 44px min-height for WCAG 2.5.5 */
.tp-header-dash__nav .wpt-nav-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 44px;
    padding: 0 var(--wpt-spacing-sm);
    font-family: var(--wpt-font-body);
    font-size: var(--wpt-text-sm);
    font-weight: var(--wpt-font-medium);
    color: var(--tp-nav-link-color);
    text-decoration: none;
    white-space: nowrap;
    border-radius: 4px;
}

.tp-header-dash__nav .wpt-nav-link:hover {
    color: var(--wpt-color-primary);
    background-color: var(--wpt-color-surface);
}

.tp-header-dash__nav .wpt-nav-item--current > .wpt-nav-link {
    color: var(--wpt-color-primary);
    font-weight: var(--wpt-font-semibold);
}

.tp-header-dash__nav .wpt-nav-link:focus-visible {
    outline: 2px solid var(--wpt-color-primary);
    outline-offset: 2px;
}

/* Chevron */
.tp-header-dash__nav .wpt-nav-item--has-children > .wpt-nav-link::after {
    content: '\25BE';
    font-size: 0.6em;
    line-height: 1;
    margin-left: 4px;
    display: inline-block;
    vertical-align: middle;
}

.tp-header-dash__nav .wpt-nav-item--has-children.is-open > .wpt-nav-link::after {
    content: '\25B4';
}

/* Mouse-travel bridge (prevents submenu from closing mid-travel) */
.tp-header-dash__nav .wpt-nav-item--has-children::before {
    content: '';
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 8px;
    z-index: 201;
}

.tp-header-dash__nav .wpt-nav-item--has-children.is-open::before {
    display: block;
}

/* Submenus */
.tp-header-dash__nav .wpt-header__submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    background-color: var(--wpt-color-light);
    border: 1px solid var(--wpt-color-border);
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    list-style: none;
    margin: 8px 0 0 0;
    padding: var(--wpt-spacing-xs) 0;
    z-index: 200;
}

.tp-header-dash__nav .wpt-nav-item--has-children.is-open > .wpt-header__submenu {
    display: block;
}

.tp-header-dash__nav .wpt-header__submenu .wpt-nav-link {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 0 var(--wpt-spacing-md);
    color: var(--wpt-color-dark);
    font-size: var(--wpt-text-sm);
    white-space: nowrap;
    border-radius: 0;
}

.tp-header-dash__nav .wpt-header__submenu .wpt-nav-link:hover {
    background-color: var(--wpt-color-surface);
    color: var(--wpt-color-primary);
}

/* Second-level fly-outs */
.tp-header-dash__nav .wpt-header__submenu .wpt-nav-item--has-children > .wpt-header__submenu {
    top: 0;
    left: 100%;
    margin: 0 0 0 4px;
}

/* Editor placeholder */
.tp-header-dash__menu-placeholder {
    font-size: var(--wpt-text-sm);
    color: var(--wpt-color-muted);
    padding: var(--wpt-spacing-xs) var(--wpt-spacing-sm);
    border: 1px dashed var(--wpt-color-border);
    border-radius: 4px;
}


/* ══════════════════════════════════════════════════════════════════
   ACTIONS — search + profile/login
   ══════════════════════════════════════════════════════════════════ */

.tp-header-dash__actions {
    display: flex;
    align-items: center;
    gap: var(--wpt-spacing-sm);
    flex-shrink: 0;
}


/* ══════════════════════════════════════════════════════════════════
   SEARCH
   ══════════════════════════════════════════════════════════════════ */

.tp-header-dash__search-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

/* WordPress wraps search in <form role="search"> */
.tp-header-dash__search-wrap form {
    display: flex;
    align-items: center;
    overflow: hidden;
    /* Collapsed: zero width, invisible */
    max-width: 0;
    opacity: 0;
    pointer-events: none;
}

/* Open state — expands to the left */
.tp-header-dash__search-wrap.is-open form {
    max-width: 260px;
    opacity: 1;
    pointer-events: auto;
}

/* Search input */
.tp-header-dash__search-wrap form input[type="search"],
.tp-header-dash__search-wrap form input[name="s"] {
    width: 220px;
    height: 36px;
    padding: 0 var(--wpt-spacing-sm);
    font-family: var(--wpt-font-body);
    font-size: var(--wpt-text-sm);
    color: var(--wpt-color-dark);
    background-color: var(--wpt-color-surface);
    border: 1px solid var(--wpt-color-border);
    border-radius: 6px;
    outline: none;
    box-sizing: border-box;
}

.tp-header-dash__search-wrap form input[type="search"]:focus,
.tp-header-dash__search-wrap form input[name="s"]:focus {
    border-color: var(--wpt-color-primary);
    outline: 2px solid var(--wpt-color-primary);
    outline-offset: 0;
}

/* Hide WP's default submit button — icon button acts as submit */
.tp-header-dash__search-wrap form input[type="submit"],
.tp-header-dash__search-wrap form button[type="submit"] {
    display: none;
}

/* Search icon button */
.tp-header-dash__search-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--tp-nav-link-color);
    border-radius: 6px;
    padding: 0;
    flex-shrink: 0;
}

.tp-header-dash__search-btn:hover {
    color: var(--wpt-color-primary);
    background-color: var(--wpt-color-surface);
}

.tp-header-dash__search-btn:focus-visible {
    outline: 2px solid var(--wpt-color-primary);
    outline-offset: 2px;
}


/* ══════════════════════════════════════════════════════════════════
   PROFILE / LOGIN
   ══════════════════════════════════════════════════════════════════ */

/* Login link — logged-out state (kept as fallback, no longer primary) */
.tp-header-dash__login-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 var(--wpt-spacing-sm);
    font-family: var(--wpt-font-body);
    font-size: var(--wpt-text-sm);
    font-weight: var(--wpt-font-medium);
    color: var(--tp-nav-link-color);
    text-decoration: none;
    border-radius: 6px;
}

.tp-header-dash__login-link:hover {
    color: var(--wpt-color-primary);
    background-color: var(--wpt-color-surface);
}

.tp-header-dash__login-link:focus-visible {
    outline: 2px solid var(--wpt-color-primary);
    outline-offset: 2px;
}

/* Profile wrap */
.tp-header-dash__profile-wrap {
    position: relative;
}

/* Avatar button */
.tp-header-dash__profile-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: none;
    border: 2px solid transparent;
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    overflow: hidden;
}

.tp-header-dash__profile-btn:hover {
    border-color: var(--wpt-color-primary);
}

.tp-header-dash__profile-btn:focus-visible {
    outline: 2px solid var(--wpt-color-primary);
    outline-offset: 2px;
}

/* Gravatar img (WordPress get_avatar output) */
.tp-header-dash__avatar-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

/* Fallback initial letter when no gravatar */
.tp-header-dash__avatar-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-family: var(--wpt-font-body);
    font-size: var(--wpt-text-sm);
    font-weight: var(--wpt-font-semibold);
    color: var(--wpt-color-light);
    background-color: var(--wpt-color-primary);
    border-radius: 50%;
    text-transform: uppercase;
}

/* Editor placeholder */
.tp-header-dash__avatar-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background-color: var(--wpt-color-surface);
    border: 1px dashed var(--wpt-color-border);
    border-radius: 50%;
    font-size: var(--wpt-text-xs);
    color: var(--wpt-color-muted);
}

/* Guest (logged-out) icon button — same size/shape as avatar button */
.tp-header-dash__profile-btn--guest {
    color: var(--tp-nav-link-color);
    background-color: var(--wpt-color-surface);
    border-color: var(--wpt-color-border);
    border-radius: 50%;
}

.tp-header-dash__profile-btn--guest:hover {
    color: var(--wpt-color-primary);
    border-color: var(--wpt-color-primary);
    background-color: var(--wpt-color-surface);
}

/* ── Login dropdown ─────────────────────────────────────────────── */

.tp-header-dash__login-dropdown {
    min-width: 300px;
}

.tp-header-dash__login-dropdown-inner {
    padding: var(--wpt-spacing-md);
}

.tp-header-dash__login-heading {
    margin: 0 0 var(--wpt-spacing-sm) 0;
    font-family: var(--wpt-font-body);
    font-size: var(--wpt-text-base);
    font-weight: var(--wpt-font-semibold);
    color: var(--wpt-color-dark);
}

/* Style WordPress's wp_login_form() output */
.tp-header-dash__login-dropdown #loginform,
.tp-header-dash__login-dropdown form {
    display: flex;
    flex-direction: column;
    gap: var(--wpt-spacing-sm);
    margin: 0;
    padding: 0;
}

.tp-header-dash__login-dropdown .login-username,
.tp-header-dash__login-dropdown .login-password,
.tp-header-dash__login-dropdown p {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
}

.tp-header-dash__login-dropdown label {
    font-family: var(--wpt-font-body);
    font-size: var(--wpt-text-xs);
    font-weight: var(--wpt-font-medium);
    color: var(--wpt-color-dark);
}

.tp-header-dash__login-dropdown input[type="text"],
.tp-header-dash__login-dropdown input[type="password"] {
    width: 100%;
    height: 40px;
    padding: 0 var(--wpt-spacing-sm);
    font-family: var(--wpt-font-body);
    font-size: var(--wpt-text-sm);
    color: var(--wpt-color-dark);
    background-color: var(--wpt-color-surface);
    border: 1px solid var(--wpt-color-border);
    border-radius: 6px;
    box-sizing: border-box;
    outline: none;
}

.tp-header-dash__login-dropdown input[type="text"]:focus,
.tp-header-dash__login-dropdown input[type="password"]:focus {
    border-color: var(--wpt-color-primary);
    outline: 2px solid var(--wpt-color-primary);
    outline-offset: 0;
}

/* Remember me row */
.tp-header-dash__login-dropdown .login-remember,
.tp-header-dash__login-dropdown .forgetmenot {
    flex-direction: row !important;
    align-items: center;
    gap: var(--wpt-spacing-xs) !important;
}

.tp-header-dash__login-dropdown .login-remember label,
.tp-header-dash__login-dropdown .forgetmenot label {
    font-size: var(--wpt-text-xs);
    color: var(--wpt-color-muted);
}

/* Submit button */
.tp-header-dash__login-dropdown input[type="submit"],
.tp-header-dash__login-dropdown .login-submit input {
    width: 100%;
    height: 44px;
    padding: 0 var(--wpt-spacing-md);
    font-family: var(--wpt-font-body);
    font-size: var(--wpt-text-sm);
    font-weight: var(--wpt-font-semibold);
    color: var(--wpt-color-light);
    background-color: var(--wpt-color-primary);
    border: none;
    border-radius: 6px;
    cursor: pointer;
    box-sizing: border-box;
}

.tp-header-dash__login-dropdown input[type="submit"]:hover,
.tp-header-dash__login-dropdown .login-submit input:hover {
    background-color: var(--wpt-color-secondary);
}

/* Lost password link */
.tp-header-dash__login-footer {
    margin-top: var(--wpt-spacing-sm);
    text-align: center;
}

.tp-header-dash__lost-password {
    font-family: var(--wpt-font-body);
    font-size: var(--wpt-text-xs);
    color: var(--wpt-color-muted);
    text-decoration: none;
}

.tp-header-dash__lost-password:hover {
    color: var(--wpt-color-primary);
    text-decoration: underline;
}

.tp-header-dash__lost-password:focus-visible {
    outline: 2px solid var(--wpt-color-primary);
    outline-offset: 2px;
    border-radius: 2px;
}

/* Profile dropdown */
.tp-header-dash__profile-dropdown {
    display: none;
    position: absolute;
    top: calc( 100% + 8px );
    right: 0;
    min-width: 220px;
    background-color: var(--wpt-color-light);
    border: 1px solid var(--wpt-color-border);
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.10);
    z-index: 300;
    overflow: hidden;
}

.tp-header-dash__profile-dropdown.is-open {
    display: block;
}

/* Dropdown header — name + email */
.tp-header-dash__dropdown-header {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--wpt-spacing-sm) var(--wpt-spacing-md);
    border-bottom: 1px solid var(--wpt-color-border);
}

.tp-header-dash__dropdown-name {
    font-family: var(--wpt-font-body);
    font-size: var(--wpt-text-sm);
    font-weight: var(--wpt-font-semibold);
    color: var(--wpt-color-dark);
}

.tp-header-dash__dropdown-email {
    font-family: var(--wpt-font-body);
    font-size: var(--wpt-text-xs);
    color: var(--wpt-color-muted);
    word-break: break-all;
}

/* Dropdown list */
.tp-header-dash__dropdown-list {
    list-style: none;
    margin: 0;
    padding: var(--wpt-spacing-xs) 0;
}

.tp-header-dash__dropdown-link {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 0 var(--wpt-spacing-md);
    font-family: var(--wpt-font-body);
    font-size: var(--wpt-text-sm);
    font-weight: var(--wpt-font-regular);
    color: var(--wpt-color-dark);
    text-decoration: none;
}

.tp-header-dash__dropdown-link:hover {
    background-color: var(--wpt-color-surface);
    color: var(--wpt-color-primary);
}

.tp-header-dash__dropdown-link:focus-visible {
    outline: 2px solid var(--wpt-color-primary);
    outline-offset: -2px;
}

/* Divider before logout */
.tp-header-dash__dropdown-divider-item {
    border-top: 1px solid var(--wpt-color-border);
    margin-top: var(--wpt-spacing-xs);
    padding-top: var(--wpt-spacing-xs);
}

.tp-header-dash__dropdown-link--logout {
    color: var(--wpt-color-danger);
}

.tp-header-dash__dropdown-link--logout:hover {
    background-color: var(--wpt-color-surface);
    color: var(--wpt-color-danger);
}


/* ══════════════════════════════════════════════════════════════════
   HAMBURGER
   ══════════════════════════════════════════════════════════════════ */

.tp-header-dash__hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    border-radius: 4px;
    /* Positioned inside __inner via order */
    order: 10;
}

.tp-header-dash__hamburger:focus-visible {
    outline: 2px solid var(--wpt-color-primary);
    outline-offset: 2px;
}

.tp-header-dash__burger-bar {
    display: block;
    width: 22px;
    height: 2px;
    background-color: var(--tp-nav-link-color);
    border-radius: 2px;
}

.tp-header-dash.is-mobile-open .tp-header-dash__burger-bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.tp-header-dash.is-mobile-open .tp-header-dash__burger-bar:nth-child(2) {
    opacity: 0;
}
.tp-header-dash.is-mobile-open .tp-header-dash__burger-bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}


/* ══════════════════════════════════════════════════════════════════
   MOBILE DRAWER
   ══════════════════════════════════════════════════════════════════ */

.tp-header-dash__mobile-drawer {
    display: none;
    background-color: var(--tp-nav-bg);
    border-top: 1px solid var(--tp-nav-border);
    padding: var(--wpt-spacing-sm) var(--wpt-spacing-lg) var(--wpt-spacing-md);
}

.tp-header-dash.is-mobile-open .tp-header-dash__mobile-drawer {
    display: block;
}

.tp-header-dash__mobile-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tp-header-dash__mobile-nav .wpt-nav-item {
    list-style: none;
    border-bottom: 1px solid var(--wpt-color-border);
}

.tp-header-dash__mobile-nav .wpt-nav-item:last-child {
    border-bottom: none;
}

.tp-header-dash__mobile-nav .wpt-nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 44px;
    padding: var(--wpt-spacing-xs) 0;
    font-family: var(--wpt-font-body);
    font-size: var(--wpt-text-base);
    font-weight: var(--wpt-font-medium);
    color: var(--tp-nav-link-color);
    text-decoration: none;
}

.tp-header-dash__mobile-nav .wpt-nav-link:focus-visible {
    outline: 2px solid var(--wpt-color-primary);
    outline-offset: 2px;
}

/* Mobile chevrons */
.tp-header-dash__mobile-nav .wpt-nav-item--has-children > .wpt-nav-link::after {
    content: '\25BE';
    font-size: 0.6em;
    line-height: 1;
    vertical-align: middle;
}

.tp-header-dash__mobile-nav .wpt-nav-item--has-children.is-open > .wpt-nav-link::after {
    content: '\25B4';
}

/* Mobile submenu — expands inline */
.tp-header-dash__mobile-nav .wpt-header__submenu {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0 0 0 var(--wpt-spacing-md);
}

.tp-header-dash__mobile-nav .wpt-nav-item--has-children.is-open > .wpt-header__submenu {
    display: block;
}

.tp-header-dash__mobile-nav .wpt-header__submenu .wpt-nav-link {
    font-size: var(--wpt-text-sm);
    color: var(--wpt-color-muted);
}

.tp-header-dash__mobile-nav .wpt-nav-item--current > .wpt-nav-link {
    color: var(--wpt-color-primary);
}

/* Mobile search */
.tp-header-dash__mobile-search {
    margin-top: var(--wpt-spacing-sm);
    padding-top: var(--wpt-spacing-sm);
    border-top: 1px solid var(--wpt-color-border);
}

.tp-header-dash__mobile-search form {
    display: flex;
    gap: var(--wpt-spacing-xs);
}

.tp-header-dash__mobile-search form input[type="search"],
.tp-header-dash__mobile-search form input[name="s"] {
    flex: 1;
    height: 44px;
    padding: 0 var(--wpt-spacing-sm);
    font-family: var(--wpt-font-body);
    font-size: var(--wpt-text-sm);
    color: var(--wpt-color-dark);
    background-color: var(--wpt-color-surface);
    border: 1px solid var(--wpt-color-border);
    border-radius: 6px;
    box-sizing: border-box;
}

.tp-header-dash__mobile-search form input[type="search"]:focus,
.tp-header-dash__mobile-search form input[name="s"]:focus {
    border-color: var(--wpt-color-primary);
    outline: 2px solid var(--wpt-color-primary);
    outline-offset: 0;
}

.tp-header-dash__mobile-search form input[type="submit"],
.tp-header-dash__mobile-search form button[type="submit"] {
    height: 44px;
    padding: 0 var(--wpt-spacing-md);
    font-size: var(--wpt-text-sm);
    font-family: var(--wpt-font-body);
    font-weight: var(--wpt-font-medium);
    color: var(--wpt-color-light);
    background-color: var(--wpt-color-primary);
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

.tp-header-dash__mobile-search form input[type="submit"]:hover,
.tp-header-dash__mobile-search form button[type="submit"]:hover {
    background-color: var(--wpt-color-secondary);
}


/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE — ≤ 768px
   ══════════════════════════════════════════════════════════════════ */

@media ( max-width: 768px ) {

    .tp-header-dash__nav    { display: none; }
    .tp-header-dash__hamburger { display: flex; }

    .tp-header-dash__inner {
        flex-wrap: wrap;
        padding: var(--wpt-spacing-sm) var(--wpt-spacing-md);
    }

    /* Keep logo + actions on one line, hamburger last */
    .tp-header-dash__logo-wrap { order: 1; }
    .tp-header-dash__actions   { order: 2; }
    .tp-header-dash__hamburger { order: 3; }

    /* Desktop search hidden on mobile */
    .tp-header-dash__search-wrap { display: none; }
}


/* ══════════════════════════════════════════════════════════════════
   DEVICE VISIBILITY
   ══════════════════════════════════════════════════════════════════ */

@media ( max-width: 640px ) {
    .wpt-header-dash--hide-mobile { display: none !important; }
}

@media ( min-width: 641px ) and ( max-width: 1024px ) {
    .wpt-header-dash--hide-tablet { display: none !important; }
}

@media ( min-width: 1025px ) {
    .wpt-header-dash--hide-desktop { display: none !important; }
}