/* =====================================================
   CATDADDY GOLF HEADER
===================================================== */

.cd-header {
    --cd-black: #101010;
    --cd-white: #ffffff;
    --cd-cream: #f4f0e7;
    --cd-coral: #df694f;

    width: 100%;
    position: relative;
    z-index: 9999;

    background: rgba(255,255,255,.97);
    border-bottom: 1px solid rgba(0,0,0,.08);

    font-family: Arial, Helvetica, sans-serif;

    transition:
        box-shadow .25s ease,
        background .25s ease;
}


/* STICKY */

.cd-header.cd-sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;

    box-shadow:
        0 8px 30px rgba(0,0,0,.07);
}


/* INNER */

.cd-header-inner {
    width: min(1280px, calc(100% - 50px));
    height: 82px;

    margin: 0 auto;

    display: grid;
    grid-template-columns: 220px 1fr 220px;
    align-items: center;
}


/* =====================================================
   LOGO
===================================================== */

.cd-header-logo {
    display: inline-flex;
    align-items: center;
    width: fit-content;
}

.cd-header-logo img {
    display: block;
    width: auto;
    max-width: 180px;
    max-height: 58px;

    object-fit: contain;
}


/* =====================================================
   DESKTOP NAV
===================================================== */

.cd-desktop-nav {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: clamp(24px, 2.6vw, 42px);
}

.cd-desktop-nav a {
    position: relative;

    color: var(--cd-black) !important;

    font-size: 11px;
    line-height: 1;
    font-weight: 800;

    letter-spacing: 1.65px;
    text-transform: uppercase;

    text-decoration: none !important;

    padding: 35px 0 33px;

    transition: opacity .2s ease;
}

.cd-desktop-nav a::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: 24px;

    width: 0;
    height: 1px;

    background: var(--cd-black);

    transition: width .25s ease;
}

.cd-desktop-nav a:hover::after {
    width: 100%;
}


/* SHOP EMPHASIS */

.cd-desktop-nav .cd-shop-link {
    font-weight: 900;
}


/* =====================================================
   RIGHT ACTIONS
===================================================== */

.cd-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 22px;
}


/* =====================================================
   CART
===================================================== */

.cd-cart {
    position: relative;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 46px !important;
    height: 46px !important;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 50% !important;

    color: var(--cd-black) !important;

    text-decoration: none !important;

    box-shadow: none !important;

    transition: background .2s ease;
}


/* kill theme / WooCommerce styles */

.cd-header .cd-cart:hover {
    background: #f2f1ed !important;
    color: var(--cd-black) !important;
}

.cd-cart-icon {
    width: 25px;
    height: 25px;

    display: block;
}


/* CART NUMBER */

.cd-cart-count {
    position: absolute;

    top: 1px;
    right: -2px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 18px;
    height: 18px;

    padding: 0;

    border-radius: 50%;

    background: var(--cd-coral);
    color: #ffffff;

    font-size: 9px;
    line-height: 18px;
    font-weight: 900;

    text-align: center;
}


/* Hide zero count if desired */

.cd-cart-count:empty {
    display: none;
}


/* =====================================================
   MOBILE TOGGLE
===================================================== */

.cd-menu-toggle {
    display: none;

    width: 35px;
    height: 35px;

    padding: 6px;

    border: 0;
    background: transparent;

    cursor: pointer;
}

.cd-menu-toggle span {
    display: block;

    height: 2px;
    width: 23px;

    margin: 5px 0;

    background: var(--cd-black);

    transition:
        transform .25s ease,
        opacity .25s ease;
}


/* OPEN X */

.cd-menu-toggle.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.cd-menu-toggle.is-open span:nth-child(2) {
    opacity: 0;
}

.cd-menu-toggle.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}


/* =====================================================
   MOBILE MENU
===================================================== */

.cd-mobile-menu {
    display: none;

    background: var(--cd-cream);

    border-top: 1px solid rgba(0,0,0,.07);
}

.cd-mobile-menu.is-open {
    display: block;
}

.cd-mobile-menu nav {
    padding: 18px 25px 28px;
}

.cd-mobile-menu a {
    display: block;

    padding: 18px 3px;

    border-bottom: 1px solid rgba(0,0,0,.1);

    color: var(--cd-black) !important;

    font-size: 14px;
    font-weight: 900;

    letter-spacing: 1.4px;
    text-transform: uppercase;

    text-decoration: none !important;
}

.cd-mobile-menu a:last-child {
    border-bottom: 0;
}


/* CART MOBILE */

.cd-mobile-cart-link {
    margin-top: 14px;

    background: var(--cd-black);

    color: white !important;

    text-align: center;

    border: 0 !important;
}


/* =====================================================
   TABLET / MOBILE
===================================================== */

@media (max-width: 960px) {

    .cd-header-inner {
        width: calc(100% - 32px);
        height: 72px;

        grid-template-columns: 1fr auto;
    }

    .cd-header-logo img {
        max-width: 155px;
        max-height: 50px;
    }

    .cd-desktop-nav {
        display: none;
    }

    .cd-header-actions {
        gap: 12px;
    }

    .cd-menu-toggle {
        display: block;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .cd-header-inner {
        width: calc(100% - 24px);
        height: 67px;
    }

    .cd-header-logo img {
        max-width: 135px;
    }

    .cd-cart {
        width: 40px !important;
        height: 40px !important;
    }

    .cd-cart-icon {
        width: 23px;
        height: 23px;
    }

}