/* =========================================================
   PRINT MY MAGS - GLOBAL HEADER
========================================================= */

:root{
    --pmm-cyan:#00aeef;
    --pmm-purple:#6755df;
    --pmm-magenta:#ec008c;
    --pmm-orange:#ff5c24;
    --pmm-yellow:#f4d500;
    --pmm-ink:#111316;
    --pmm-muted:#686c73;
    --pmm-line:rgba(17,19,22,.09);
    --pmm-gradient:linear-gradient(90deg,#00aeef 0%,#6755df 25%,#ec008c 52%,#ff5c24 75%,#f4d500 100%);
}

body.pmm-global-header-active{
    --pmm-admin-offset:0px;
}

body.admin-bar.pmm-global-header-active{
    --pmm-admin-offset:32px;
}

body.pmm-global-header-active.pmm-menu-open{
    overflow:hidden;
}

/* Hide the existing WordPress / Astra / Elementor / WooCommerce header surfaces. */
body.pmm-global-header-active.pmm-hide-theme-header #masthead:not(.pmm-site-header),
body.pmm-global-header-active.pmm-hide-theme-header .site-header:not(.pmm-site-header),
body.pmm-global-header-active.pmm-hide-theme-header .ast-above-header-wrap,
body.pmm-global-header-active.pmm-hide-theme-header #ast-desktop-header,
body.pmm-global-header-active.pmm-hide-theme-header #ast-mobile-header,
body.pmm-global-header-active.pmm-hide-theme-header header.elementor-location-header:not(.pmm-site-header),
body.pmm-global-header-active.pmm-hide-theme-header .elementor-location-header,
body.pmm-global-header-active.pmm-hide-theme-header [data-elementor-type="header"],
body.pmm-global-header-active.pmm-hide-theme-header .woocommerce-store-notice{
    display:none !important;
}

.pmm-global-header-shell,
.pmm-global-header-shell *{
    box-sizing:border-box;
}

.pmm-global-header-shell{
    position:relative;
    z-index:999999;
    width:100%;
    font-family:Inter,Arial,Helvetica,sans-serif;
}

body.pmm-header-sticky-enabled .pmm-global-header-shell{
    position:sticky;
    top:var(--pmm-admin-offset);
}

.pmm-header-inner{
    width:min(1400px,calc(100% - 52px));
    margin:0 auto;
}

/* Announcement */
.pmm-announcement-bar{
    position:relative;
    background:#111316;
    color:#fff;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.pmm-announcement-inner{
    min-height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.pmm-announcement-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    color:#fff !important;
    text-decoration:none !important;
    font-size:10.5px;
    line-height:1;
    font-weight:900;
    letter-spacing:1.45px;
    text-transform:uppercase;
    transition:opacity .2s ease;
}

.pmm-announcement-link:hover{
    opacity:.82;
}

.pmm-announcement-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--pmm-gradient);
    box-shadow:0 0 14px rgba(236,0,140,.55);
}

.pmm-announcement-arrow{
    transform:translateX(0);
    transition:transform .2s ease;
}

.pmm-announcement-link:hover .pmm-announcement-arrow{
    transform:translateX(3px);
}

/* Main header */
.pmm-site-header{
    position:relative;
    width:100%;
    background:rgba(255,255,255,.97);
    color:var(--pmm-ink);
    box-shadow:0 5px 24px rgba(17,19,22,.045);
    backdrop-filter:saturate(150%) blur(14px);
    -webkit-backdrop-filter:saturate(150%) blur(14px);
    transition:background .22s ease,box-shadow .22s ease;
}

.pmm-global-header-shell.is-scrolled .pmm-site-header{
    background:rgba(255,255,255,.93);
    box-shadow:0 9px 34px rgba(17,19,22,.10);
}

.pmm-header-row{
    min-height:112px;
    display:grid;
    grid-template-columns:minmax(330px,auto) 1fr auto;
    align-items:center;
    gap:38px;
    transition:min-height .22s ease;
}

.pmm-global-header-shell.is-scrolled .pmm-header-row{
    min-height:84px;
}

/* Brand */
.pmm-header-brand{
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:410px;
    color:var(--pmm-ink) !important;
    text-decoration:none !important;
}

.pmm-header-logo-image{
    display:block;
    width:auto;
    height:82px;
    max-width:390px;
    max-height:none;
    object-fit:contain;
    transition:height .22s ease;
}

.pmm-global-header-shell.is-scrolled .pmm-header-logo-image{
    height:64px;
    max-height:none;
}

.pmm-header-wordmark{
    display:flex;
    align-items:center;
    gap:5px;
    color:#111316;
    font-size:31px;
    line-height:1;
    font-weight:950;
    font-style:italic;
    letter-spacing:-1.7px;
    text-transform:uppercase;
    white-space:nowrap;
}

.pmm-header-wordmark-my{
    background:var(--pmm-gradient);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
    color:transparent;
}

/* Desktop menu */
.pmm-desktop-nav{
    display:flex;
    justify-content:center;
    min-width:0;
}

.pmm-header-menu,
.pmm-header-menu ul{
    list-style:none;
    margin:0;
    padding:0;
}

.pmm-desktop-nav > .pmm-header-menu{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:38px;
}

.pmm-desktop-nav .pmm-header-menu > li{
    position:relative;
    margin:0;
    padding:0;
}

.pmm-desktop-nav .pmm-header-menu > li > a{
    position:relative;
    display:flex;
    align-items:center;
    min-height:44px;
    color:#202226 !important;
    text-decoration:none !important;
    font-size:13px;
    line-height:1;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
    white-space:nowrap;
}

.pmm-desktop-nav .pmm-header-menu > li > a:after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:5px;
    height:3px;
    border-radius:999px;
    background:var(--pmm-gradient);
    transition:right .22s ease;
}

.pmm-desktop-nav .pmm-header-menu > li > a:hover:after,
.pmm-desktop-nav .pmm-header-menu > li.current-menu-item > a:after,
.pmm-desktop-nav .pmm-header-menu > li.current-menu-ancestor > a:after{
    right:0;
}

.pmm-desktop-nav .sub-menu{
    position:absolute;
    top:calc(100% + 10px);
    left:50%;
    min-width:210px;
    transform:translate(-50%,8px);
    padding:10px;
    background:#fff;
    border:1px solid var(--pmm-line);
    border-radius:15px;
    box-shadow:0 22px 60px rgba(17,19,22,.14);
    opacity:0;
    visibility:hidden;
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}

.pmm-desktop-nav li:hover > .sub-menu,
.pmm-desktop-nav li:focus-within > .sub-menu{
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0);
}

.pmm-desktop-nav .sub-menu a{
    display:block;
    padding:11px 12px;
    border-radius:9px;
    color:#25272b !important;
    text-decoration:none !important;
    font-size:12px;
    font-weight:800;
}

.pmm-desktop-nav .sub-menu a:hover{
    background:#f3f3f1;
}

/* Right actions */
.pmm-header-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
}

.pmm-header-icon-link{
    position:relative;
    width:46px;
    height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#17191c !important;
    background:transparent;
    border:1px solid transparent;
    border-radius:12px;
    text-decoration:none !important;
    transition:background .2s ease,border-color .2s ease,transform .2s ease;
}

.pmm-header-icon-link:hover{
    background:#f5f5f3;
    border-color:rgba(17,19,22,.08);
    transform:translateY(-1px);
}

.pmm-header-icon-link svg{
    width:24px;
    height:24px;
}

.pmm-cart-count{
    position:absolute;
    top:1px;
    right:-1px;
    min-width:17px;
    height:17px;
    padding:0 4px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #fff;
    border-radius:999px;
    background:#111316;
    color:#fff;
    font-size:8px;
    line-height:1;
    font-weight:900;
}

.pmm-cart-count.is-empty{
    display:none;
}

.pmm-header-cta{
    min-height:54px;
    margin-left:7px;
    padding:0 24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:12px;
    background:var(--pmm-gradient);
    color:#101114 !important;
    text-decoration:none !important;
    font-size:13px;
    line-height:1;
    font-weight:950;
    letter-spacing:.55px;
    text-transform:uppercase;
    white-space:nowrap;
    box-shadow:0 11px 25px rgba(103,85,223,.16);
    transition:transform .2s ease,box-shadow .2s ease;
}

.pmm-header-cta:hover{
    color:#101114 !important;
    transform:translateY(-2px);
    box-shadow:0 15px 34px rgba(236,0,140,.22);
}

.pmm-header-cta-arrow{
    transition:transform .2s ease;
}

.pmm-header-cta:hover .pmm-header-cta-arrow{
    transform:translateX(3px);
}

.pmm-header-color-line{
    width:100%;
    height:4px;
    background:var(--pmm-gradient);
}

/* Mobile toggle */
.pmm-mobile-toggle{
    display:none;
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid rgba(17,19,22,.08);
    border-radius:12px;
    background:#f5f5f3;
    color:#111316;
    cursor:pointer;
}

.pmm-mobile-toggle svg{
    width:22px;
    height:22px;
}

.pmm-toggle-close{
    display:none;
}

.pmm-mobile-toggle[aria-expanded="true"] .pmm-toggle-open{
    display:none;
}

.pmm-mobile-toggle[aria-expanded="true"] .pmm-toggle-close{
    display:flex;
}

/* Mobile drawer */
.pmm-mobile-overlay{
    position:fixed;
    inset:0;
    z-index:999997;
    background:rgba(17,19,22,.42);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    opacity:0;
    visibility:hidden;
    transition:opacity .22s ease,visibility .22s ease;
}

.pmm-mobile-drawer{
    position:fixed;
    z-index:999998;
    top:var(--pmm-admin-offset);
    right:0;
    bottom:0;
    width:min(430px,92vw);
    background:#fff;
    box-shadow:-30px 0 80px rgba(17,19,22,.18);
    transform:translateX(104%);
    visibility:hidden;
    transition:transform .25s ease,visibility .25s ease;
    overflow-y:auto;
}

body.pmm-menu-open .pmm-mobile-overlay{
    opacity:1;
    visibility:visible;
}

body.pmm-menu-open .pmm-mobile-drawer{
    transform:translateX(0);
    visibility:visible;
}

.pmm-mobile-drawer-inner{
    padding:34px 26px 34px;
}

.pmm-mobile-nav-label{
    margin-bottom:18px;
    color:#989ca4;
    font-size:10px;
    font-weight:900;
    letter-spacing:1.4px;
}

.pmm-mobile-nav > .pmm-header-menu{
    display:flex;
    flex-direction:column;
    gap:0;
}

.pmm-mobile-nav .pmm-header-menu > li{
    margin:0;
    border-bottom:1px solid rgba(17,19,22,.08);
}

.pmm-mobile-nav .pmm-header-menu a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 2px;
    color:#17191c !important;
    text-decoration:none !important;
    font-size:22px;
    line-height:1.05;
    font-weight:950;
    letter-spacing:-.5px;
    text-transform:uppercase;
}

.pmm-mobile-nav .sub-menu{
    padding:0 0 12px 14px;
}

.pmm-mobile-nav .sub-menu li{
    border:0;
}

.pmm-mobile-nav .sub-menu a{
    padding:9px 2px;
    font-size:14px;
    font-weight:800;
}

.pmm-mobile-cta{
    min-height:58px;
    margin-top:28px;
    padding:0 22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border-radius:13px;
    background:var(--pmm-gradient);
    color:#111316 !important;
    text-decoration:none !important;
    font-size:12px;
    font-weight:950;
    letter-spacing:.6px;
    text-transform:uppercase;
}

.pmm-mobile-utility{
    margin-top:28px;
    padding-top:22px;
    border-top:1px solid rgba(17,19,22,.09);
    display:flex;
    gap:20px;
    flex-wrap:wrap;
}

.pmm-mobile-utility a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#686c73 !important;
    text-decoration:none !important;
    font-size:10px;
    font-weight:900;
    letter-spacing:.8px;
}

.pmm-cart-count-inline{
    position:static;
    display:inline-flex;
    border:0;
    min-width:18px;
    height:18px;
}

/* Anchor offset for the homepage section. */
#how-it-works,
.pmm-how{
    scroll-margin-top:175px;
}

@media(max-width:1180px){
    .pmm-header-inner{
        width:min(100% - 36px,1400px);
    }

    .pmm-header-row{
        grid-template-columns:minmax(275px,auto) 1fr auto;
        gap:18px;
    }

    .pmm-desktop-nav > .pmm-header-menu{
        gap:26px;
    }

    .pmm-header-cta{
        padding:0 15px;
    }
}

@media(max-width:980px){
    .pmm-desktop-nav,
    .pmm-header-actions > .pmm-header-cta,
    .pmm-header-actions > .pmm-header-icon-link:first-of-type{
        display:none;
    }

    .pmm-mobile-toggle{
        display:inline-flex;
    }

    .pmm-header-row{
        min-height:88px;
        grid-template-columns:1fr auto;
        gap:16px;
    }

    .pmm-global-header-shell.is-scrolled .pmm-header-row{
        min-height:76px;
    }

    .pmm-header-brand{
        max-width:290px;
    }

    .pmm-header-logo-image{
        max-width:275px;
        height:62px;
        max-height:none;
    }
}

@media(max-width:782px){
    body.admin-bar.pmm-global-header-active{
        --pmm-admin-offset:46px;
    }
}

@media(max-width:560px){
    .pmm-header-inner{
        width:calc(100% - 24px);
    }

    .pmm-announcement-inner{
        min-height:31px;
    }

    .pmm-announcement-link{
        gap:7px;
        font-size:8.5px;
        letter-spacing:1px;
    }

    .pmm-announcement-arrow{
        display:none;
    }

    .pmm-header-row{
        min-height:78px;
    }

    .pmm-header-brand{
        max-width:225px;
    }

    .pmm-header-logo-image{
        max-width:215px;
        height:52px;
        max-height:none;
    }

    .pmm-header-wordmark{
        font-size:21px;
    }

    .pmm-header-icon-link{
        width:40px;
        height:40px;
    }

    .pmm-mobile-toggle{
        width:40px;
        height:40px;
    }
}
