/* Header account menu + guest links (Elementor header shortcodes) */

.ps-header-account {
    display: inline-block;
    font-family: inherit;
    overflow: visible !important;
    position: relative;
    vertical-align: middle;
    z-index: 100010;
}

/* Prevent Elementor header containers from clipping the dropdown.
   Do not apply this inside popups — it stacks above the close (X) button. */
.elementor-location-header .elementor-widget-shortcode:has(.ps-header-account),
.elementor-location-header .elementor-element:has(.ps-header-account),
.elementor-location-header .e-con:has(.ps-header-account),
.elementor-location-header .e-flex:has(.ps-header-account) {
    overflow: visible !important;
    position: relative;
    z-index: 100010;
}

.elementor-location-popup .elementor-element:has(.ps-header-account),
.elementor-location-popup .e-con:has(.ps-header-account),
.elementor-location-popup .e-flex:has(.ps-header-account),
.elementor-location-popup .elementor-widget-shortcode:has(.ps-header-account),
.dialog-widget .elementor-element:has(.ps-header-account),
.dialog-widget .e-con:has(.ps-header-account),
.dialog-widget .e-flex:has(.ps-header-account),
.dialog-widget .elementor-widget-shortcode:has(.ps-header-account) {
    z-index: auto !important;
}

.ps-header-account.is-open {
    z-index: 100020;
}

/* Reset Elementor/theme button styles on toggle */
.elementor-widget-shortcode .ps-header-account__toggle,
.ps-header-account__toggle {
    align-items: center;
    background: #eef2ff !important;
    border: 0 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    color: #2563eb !important;
    cursor: pointer;
    display: inline-flex !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    gap: 0.5rem;
    line-height: 1.2 !important;
    margin: 0;
    min-height: auto !important;
    padding: 0.5rem 0.85rem !important;
    position: relative;
    text-decoration: none !important;
    text-transform: none !important;
    transition: background-color 0.15s ease;
    white-space: nowrap;
}

.elementor-widget-shortcode .ps-header-account__toggle:hover,
.ps-header-account__toggle:hover,
.elementor-widget-shortcode .ps-header-account__toggle:focus,
.ps-header-account__toggle:focus {
    background: #e0e7ff !important;
    color: #2563eb !important;
    outline: none;
}

.ps-header-account__toggle-icon {
    display: inline-flex;
    flex-shrink: 0;
    line-height: 0;
}

.ps-header-account__toggle-icon svg {
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
}

.ps-header-account__toggle-label {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.ps-header-account__notify-dot {
    background: #ef4444;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
    height: 7px;
    margin-left: 0.15rem;
    width: 7px;
}

.ps-header-account__dropdown {
    background: #fff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.14);
    left: 0;
    min-width: 280px;
    padding: 0;
    position: absolute;
    top: calc(100% + 10px);
    z-index: 2147483000;
}

.ps-header-account__dropdown.is-portaled {
    margin: 0;
    position: fixed;
}

.ps-header-account__dropdown[hidden] {
    display: none !important;
}

.ps-header-account__greeting {
    border-bottom: 1px solid #e5e7eb;
    color: #111827;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    padding: 0.85rem 1.25rem;
}

.ps-header-account__menu {
    list-style: none;
    margin: 0;
    padding: 0.35rem 0;
}

.ps-header-account__menu li {
    margin: 0;
    padding: 0;
}

.ps-header-account__menu li a {
    align-items: center;
    color: #111827 !important;
    display: flex;
    font-size: 15px;
    font-weight: 400;
    gap: 0.5rem;
    justify-content: space-between;
    line-height: 1.35;
    padding: 0.5rem 1.25rem;
    text-decoration: none !important;
    transition: color 0.12s ease, background-color 0.12s ease;
}

.ps-header-account__menu li a:hover {
    background: #f9fafb;
    color: #2563eb !important;
}

.ps-header-account__logout {
    border-top: 1px solid #e5e7eb;
    color: #6b7280 !important;
    display: block;
    font-size: 15px;
    font-weight: 400;
    margin: 0;
    padding: 0.85rem 1.25rem 1rem;
    text-align: center;
    text-decoration: underline !important;
}

.ps-header-account__logout:hover {
    color: #2563eb !important;
}

/* Support ticket badge in header menu */
.ps-header-account .ps-portal__badge--header {
    background: #fee2e2;
    border: 1px solid #fecaca;
    border-radius: 999px;
    color: #dc2626 !important;
    display: inline-block;
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    margin-left: 0.35rem;
    padding: 0.2rem 0.55rem;
    white-space: nowrap;
}

/* Guest links (logged out) */
.ps-header-guest-links {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
    vertical-align: middle;
}

.ps-header-guest-links__item {
    align-items: center;
    color: #111827 !important;
    display: inline-flex;
    font-size: 15px;
    font-weight: 500;
    gap: 0.45rem;
    text-decoration: none !important;
}

.ps-header-guest-links__item:hover {
    color: #2563eb !important;
}

.ps-header-guest-links__label {
    line-height: 1.2;
}

.ps-header-guest-links__icon {
    background-color: currentColor !important;
    display: inline-block !important;
    flex-shrink: 0;
    height: 26px !important;
    line-height: 0;
    overflow: hidden;
    width: 26px !important;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.ps-header-guest-links__icon svg {
    display: none !important;
}

.ps-header-guest-links__icon--tracking {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M507.2 275.2 466.2 185a42.7 42.7 0 0 0-38.8-25H352v-32a32 32 0 0 0-32-32H53.3A32 32 0 0 0 21.3 128v128a10.7 10.7 0 1 0 21.4 0V128A10.7 10.7 0 0 1 53.3 117.3H320A10.7 10.7 0 0 1 330.7 128v170.7A10.7 10.7 0 0 1 320 309.3H192a10.7 10.7 0 0 0 0 21.4h128a32 32 0 0 0 32-32V181.3h75.4a21.4 21.4 0 0 1 19.4 12.5l4 8.8H403.3a21.4 21.4 0 0 0-21.3 21.4v42.6a21.4 21.4 0 0 0 21.3 21.4h83.9a31.8 31.8 0 0 1 1.4 9.2v44.1A10.7 10.7 0 0 1 478 352h-33.1a53.3 53.3 0 0 0-104.5 0H167.6a53.3 53.3 0 0 0-104.5 0H51.3A10.7 10.7 0 0 1 40.7 341.3V330.7a10.7 10.7 0 0 0-21.4 0v10.6A32 32 0 0 0 51.3 373.3h11.7a53.3 53.3 0 0 0 104.6 0h172.8a53.3 53.3 0 0 0 104.5 0H478a32 32 0 0 0 32-32v-44.1a52.9 52.9 0 0 0-4.8-22zm-389.9 119.5a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm277.3 0a32 32 0 1 1 32-32 32 32 0 0 1-32 32zM405.3 224h55.2l19.4 42.7h-74.6z'/%3E%3Cpath fill='black' d='M10.7 298.7h53.3a10.7 10.7 0 0 0 0-21.4H10.7a10.7 10.7 0 0 0 0 21.4z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M507.2 275.2 466.2 185a42.7 42.7 0 0 0-38.8-25H352v-32a32 32 0 0 0-32-32H53.3A32 32 0 0 0 21.3 128v128a10.7 10.7 0 1 0 21.4 0V128A10.7 10.7 0 0 1 53.3 117.3H320A10.7 10.7 0 0 1 330.7 128v170.7A10.7 10.7 0 0 1 320 309.3H192a10.7 10.7 0 0 0 0 21.4h128a32 32 0 0 0 32-32V181.3h75.4a21.4 21.4 0 0 1 19.4 12.5l4 8.8H403.3a21.4 21.4 0 0 0-21.3 21.4v42.6a21.4 21.4 0 0 0 21.3 21.4h83.9a31.8 31.8 0 0 1 1.4 9.2v44.1A10.7 10.7 0 0 1 478 352h-33.1a53.3 53.3 0 0 0-104.5 0H167.6a53.3 53.3 0 0 0-104.5 0H51.3A10.7 10.7 0 0 1 40.7 341.3V330.7a10.7 10.7 0 0 0-21.4 0v10.6A32 32 0 0 0 51.3 373.3h11.7a53.3 53.3 0 0 0 104.6 0h172.8a53.3 53.3 0 0 0 104.5 0H478a32 32 0 0 0 32-32v-44.1a52.9 52.9 0 0 0-4.8-22zm-389.9 119.5a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm277.3 0a32 32 0 1 1 32-32 32 32 0 0 1-32 32zM405.3 224h55.2l19.4 42.7h-74.6z'/%3E%3Cpath fill='black' d='M10.7 298.7h53.3a10.7 10.7 0 0 0 0-21.4H10.7a10.7 10.7 0 0 0 0 21.4z'/%3E%3C/svg%3E");
}

.ps-header-guest-links__icon--signin {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a4.5 4.5 0 1 0-4.5-4.5A4.5 4.5 0 0 0 12 12zm0-7a2.5 2.5 0 1 1-2.5 2.5A2.5 2.5 0 0 1 12 5zM12 13.5c-3.2 0-6 2.1-6 5.3V20a1 1 0 0 0 2 0v-1.2c0-2 2-3.3 4-3.3s4 1.3 4 3.3V20a1 1 0 0 0 2 0v-1.2c0-3.2-2.8-5.3-6-5.3z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a4.5 4.5 0 1 0-4.5-4.5A4.5 4.5 0 0 0 12 12zm0-7a2.5 2.5 0 1 1-2.5 2.5A2.5 2.5 0 0 1 12 5zM12 13.5c-3.2 0-6 2.1-6 5.3V20a1 1 0 0 0 2 0v-1.2c0-2 2-3.3 4-3.3s4 1.3 4 3.3V20a1 1 0 0 0 2 0v-1.2c0-3.2-2.8-5.3-6-5.3z'/%3E%3C/svg%3E");
}

.ps-header-guest-links__icon--register {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a4.5 4.5 0 1 0-4.5-4.5A4.5 4.5 0 0 0 12 12zm0-7a2.5 2.5 0 1 1-2.5 2.5A2.5 2.5 0 0 1 12 5zM12 13.5c-3.2 0-6 2.1-6 5.3V20a1 1 0 0 0 2 0v-1.2c0-2 2-3.3 4-3.3.3 0 .7 0 1 .1a1 1 0 0 0 .3-2A8 8 0 0 0 12 13.5zm7.2 3.1-2.5 2.5-.9-1.3a1 1 0 0 0-1.6 1.2l1.6 2.3a1 1 0 0 0 1.5.1l3.3-3.3a1 1 0 1 0-1.4-1.5z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a4.5 4.5 0 1 0-4.5-4.5A4.5 4.5 0 0 0 12 12zm0-7a2.5 2.5 0 1 1-2.5 2.5A2.5 2.5 0 0 1 12 5zM12 13.5c-3.2 0-6 2.1-6 5.3V20a1 1 0 0 0 2 0v-1.2c0-2 2-3.3 4-3.3.3 0 .7 0 1 .1a1 1 0 0 0 .3-2A8 8 0 0 0 12 13.5zm7.2 3.1-2.5 2.5-.9-1.3a1 1 0 0 0-1.6 1.2l1.6 2.3a1 1 0 0 0 1.5.1l3.3-3.3a1 1 0 1 0-1.4-1.5z'/%3E%3C/svg%3E");
}

.ps-header-guest-links--stack,
.elementor-location-popup .ps-header-guest-links,
.dialog-widget .ps-header-guest-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.85rem;
    width: 100%;
    padding: 0.35rem 0 0.75rem;
}

.ps-header-account--list {
    display: block;
    width: 100%;
}

.ps-header-account--list .ps-header-account__dropdown {
    border: 0;
    box-shadow: none;
    left: auto;
    min-width: 0;
    position: static;
    top: auto;
    width: 100%;
}

.ps-header-account--list .ps-header-account__dropdown[hidden] {
    display: block !important;
}

@media (max-width: 767px) {
    .ps-header-account__dropdown {
        min-width: 260px;
        right: 0;
        left: auto;
    }

    .ps-header-guest-links {
        gap: 0.75rem 1rem;
    }

    .ps-header-guest-links__label {
        font-size: 14px;
    }
}

/* Mobile drawer: always a stacked list, never the desktop dropdown. */
.elementor-location-popup .ps-header-account,
.dialog-widget .ps-header-account {
    display: block;
    width: 100%;
    z-index: auto;
}

.elementor-location-popup .ps-header-account__toggle,
.elementor-location-popup .elementor-widget-shortcode .ps-header-account__toggle,
.dialog-widget .ps-header-account__toggle,
.dialog-widget .elementor-widget-shortcode .ps-header-account__toggle {
    display: none !important;
}

.elementor-location-popup .ps-header-account__dropdown,
.dialog-widget .ps-header-account__dropdown {
    background: transparent;
    border: 0;
    box-shadow: none;
    display: block !important;
    left: auto;
    min-width: 0;
    position: static !important;
    right: auto;
    top: auto;
    width: 100%;
}

.elementor-location-popup .ps-header-account__greeting,
.dialog-widget .ps-header-account__greeting {
    padding-left: 0;
    padding-right: 0;
}

.elementor-location-popup .ps-header-account__menu li a,
.dialog-widget .ps-header-account__menu li a {
    color: #0a213b !important;
    font-size: 18px;
    padding-left: 0;
    padding-right: 0;
}

.elementor-location-popup .ps-header-account__logout,
.dialog-widget .ps-header-account__logout {
    padding-left: 0;
    text-align: left;
}