/* ----------------------
/ File: header-desktop.css
/ Theme: Artender
/ Section: Refined Desktop Header + Mega Menu
/ -------------------- */

:root {
    /* Site width is inherited from main.css. */
    /* Header colors are inherited from the global "رنگ اصلی قالب" panel. */
    --artender-header-primary: var(--artender-primary-color, #f50000);
    --artender-header-primary-hover: var(--artender-primary-hover-color, #d90000);
    --artender-header-secondary: var(--artender-secondary-color, #111827);
    --artender-header-secondary-hover: var(--artender-secondary-hover-color, #0f172a);
    --artender-desktop-text: #4d535c;
    --artender-desktop-muted: #6f7680;
    --artender-desktop-light: #f0f1f3;
    --artender-desktop-search: #f3f3f3;
    --artender-desktop-white: #ffffff;
    --artender-desktop-border: #eceef1;
    --artender-desktop-shadow: 0 3px 12px rgba(15, 23, 42, 0.16);
    --artender-mega-shadow: 0 18px 42px rgba(15, 23, 42, 0.13);
}

/* ----------------------
/ Base
/ -------------------- */
.artender-site-header {
    width: 100%;
    position: relative;
    z-index: 9999;
    background: #ffffff;
    direction: rtl;
}

.artender-desktop-header {
    width: 100%;
    display: block;
    background: #ffffff;
    direction: rtl;
    overflow-x: clip;

    --artender-desktop-topbar-side-gap: 18px;
    --artender-desktop-main-side-gap: 18px;
    --artender-desktop-nav-side-gap: 60px;
    --artender-desktop-top-gap: 4px;
    --artender-desktop-card-gap: 10px;
}

.artender-desktop-header,
.artender-desktop-header * {
    box-sizing: border-box;
}

.artender-desktop-shell {
    width: calc(100% - (var(--artender-site-side-padding) * 2));
    max-width: var(--artender-site-max-width);
    margin-right: auto;
    margin-left: auto;
}

/* ----------------------
/ Top Bar
/ -------------------- */
.artender-desktop-topbar {
    width: 100%;
    background: #ffffff;
    padding-top: var(--artender-desktop-top-gap);
}

.artender-desktop-topbar-inner {
    width: calc(100% - (var(--artender-site-side-padding) * 2));
    min-height: 54px;
    padding: 0 28px;
    border-radius: 14px;
    color: #ffffff;

    background-color: var(--artender-header-primary) !important;
    background-image: linear-gradient(90deg, var(--artender-header-primary-hover) 0%, var(--artender-header-primary) 100%) !important;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    overflow: hidden;
}

.artender-desktop-topbar-message {
    flex: 1 1 auto;
    min-width: 0;
    text-align: right;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.7;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.artender-desktop-topbar-message span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

.artender-desktop-phone {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    color: #ffffff;
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
    direction: ltr;
    white-space: nowrap;
}

.artender-desktop-phone:hover,
.artender-desktop-phone:focus {
    color: #ffffff;
}

.artender-desktop-phone svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
    flex: 0 0 auto;
}

/* ----------------------
/ Main Header Card
/ -------------------- */
.artender-desktop-main-wrap {
    width: 100%;
    background: #ffffff;
    padding-top: var(--artender-desktop-card-gap);
}

.artender-desktop-main {
    width: calc(100% - (var(--artender-site-side-padding) * 2));
    min-height: 128px;
    padding: 0 44px;
    border: 1px solid #eeeeee;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: var(--artender-desktop-shadow);

    display: grid;
    grid-template-columns: 300px minmax(380px, 1fr) 360px;
    grid-template-areas: "logo search actions";
    align-items: center;
    column-gap: 32px;
    direction: rtl;
}

/* ----------------------
/ Logo
/ -------------------- */
.artender-desktop-logo {
    grid-area: logo;
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.artender-desktop-logo a {
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.artender-desktop-logo img {
    width: auto;
    max-width: 245px;
    max-height: 78px;
    display: block;
    object-fit: contain;
}

/* ----------------------
/ Search Area
/ -------------------- */
.artender-desktop-search-area {
    grid-area: search;
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.artender-desktop-search-area .artender-fibosearch,
.artender-desktop-search-area .artender-desktop-fibosearch {
    width: 100% !important;
    max-width: 605px !important;
    min-width: 0 !important;
}

/* Fallback search, when FiboSearch is unavailable */
.artender-desktop-search-area .artender-fibosearch-fallback {
    width: 100%;
    max-width: 605px;
    height: 46px;
    background: var(--artender-desktop-search);
    border: 1px solid transparent;
    border-radius: 7px;
    display: flex;
    align-items: center;
    overflow: hidden;
    direction: rtl;
}

.artender-desktop-search-area .artender-fibosearch-fallback input {
    flex: 1 1 auto;
    min-width: 0;
    height: 46px;
    border: 0;
    outline: 0;
    background: transparent;
    padding: 0 18px;
    color: #161616;
    font-size: 13px;
    text-align: right;
}

.artender-desktop-search-area .artender-fibosearch-fallback-submit {
    order: 2;
    width: 52px;
    height: 46px;
    border: 0;
    outline: 0;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #4b5563;
    cursor: pointer;
}

.artender-desktop-search-area .artender-fibosearch-fallback-submit svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
}

/* ----------------------
/ Actions
/ -------------------- */
.artender-desktop-actions {
    grid-area: actions;
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    direction: ltr;
}

.artender-desktop-account-btn,
.artender-desktop-cart-btn {
    height: 46px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
    direction: ltr;
    border: 1px solid transparent;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.artender-desktop-account-btn:hover,
.artender-desktop-cart-btn:hover {
    transform: translateY(-1px);
}

.artender-desktop-account-btn {
    min-width: 150px;
    color: #ffffff !important;
    background: var(--artender-header-primary) !important;
}

.artender-desktop-account-btn:hover,
.artender-desktop-account-btn:focus {
    color: #ffffff !important;
    background: var(--artender-header-primary-hover) !important;
    box-shadow: 0 6px 16px rgba(var(--artender-primary-rgb, 245, 0, 0), 0.18) !important;
}

.artender-desktop-cart-btn {
    min-width: 166px;
    color: #111827 !important;
    background: #f5f6f8 !important;
    border-color: #f0f1f3;
}

.artender-desktop-cart-btn:hover,
.artender-desktop-cart-btn:focus {
    color: #111827 !important;
    background: #ffffff !important;
    border-color: #e5e7eb;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.07);
}

.artender-desktop-action-text {
    direction: rtl;
    unicode-bidi: plaintext;
}

.artender-desktop-account-btn svg,
.artender-desktop-cart-btn svg {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.artender-desktop-cart-count {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 8px;
    background: #ffffff;
    color: var(--artender-header-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 2px 7px rgba(15, 23, 42, 0.06);
}

/* ----------------------
/ Navigation
/ -------------------- */
.artender-desktop-nav-wrap {
    width: 100%;
    background: #ffffff;
}

.artender-desktop-nav {
    width: calc(100% - (var(--artender-site-side-padding) * 2));
    max-width: var(--artender-site-max-width);
    min-height: 58px;
    margin-right: auto;
    margin-left: auto;
    padding: 0 34px;
    background: var(--artender-desktop-light);
    border-radius: 0 0 18px 18px;

    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    direction: rtl;

    position: relative;
    z-index: 1000;
    overflow: visible;
}

.artender-desktop-menu-wrap {
    min-width: 0;
    width: 100%;
    position: static;
    overflow: visible;
}

.artender-desktop-menu {
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: clamp(14px, 1.45vw, 28px);
    flex-wrap: nowrap;
    position: static;
}

.artender-desktop-menu > li {
    position: static !important;
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
}

.artender-desktop-menu > li > a {
    height: 58px !important;
    line-height: 58px !important;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--artender-desktop-text);
    font-size: 13.5px;
    font-weight: 750;
    white-space: nowrap;
    text-decoration: none;
    position: relative !important;
    z-index: 100003 !important;
    pointer-events: auto !important;
    transition: color .18s ease;
}

.artender-desktop-menu > li > a:hover,
.artender-desktop-menu > li.current-menu-item > a,
.artender-desktop-menu > li.current-menu-ancestor > a {
    color: var(--artender-header-primary);
}

.artender-desktop-menu > li.menu-item-has-children > a::after {
    content: "";
    width: 6px;
    height: 6px;
    border-left: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(-45deg) translateY(-1px);
    margin-right: 5px;
    opacity: .65;
}

/* ----------------------
/ Nav Buttons
/ -------------------- */
.artender-desktop-nav-buttons {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    position: relative;
    z-index: 100000;
    direction: ltr;
}

.artender-desktop-magazine-button,
.artender-desktop-buy-button {
    min-width: 190px;
    height: 44px;
    padding: 0 24px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    background: var(--artender-header-primary) !important;
    font-size: 13px;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.artender-desktop-buy-button {
    background: var(--artender-header-secondary) !important;
}

.artender-desktop-magazine-button:hover,
.artender-desktop-buy-button:hover {
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 15px rgba(15, 23, 42, 0.12);
}

.artender-desktop-magazine-button:hover {
    background: var(--artender-header-primary-hover) !important;
}

.artender-desktop-buy-button:hover {
    background: var(--artender-header-secondary-hover) !important;
}

/* ----------------------
/ Mega Menu
/ -------------------- */
.artender-desktop-menu > li > .sub-menu {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px 32px;

    position: absolute !important;
    top: 58px !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    min-height: 260px;

    list-style: none;
    margin: 0;
    padding: 28px 32px 30px;
    background: #ffffff;
    border-top: 1px solid rgba(15, 23, 42, 0.05);
    border-radius: 0 0 16px 16px;
    box-shadow: var(--artender-mega-shadow);

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(10px) !important;
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease !important;
    z-index: 99999 !important;
    direction: rtl;
}

.artender-desktop-menu > li:hover > .sub-menu,
.artender-desktop-menu > li:focus-within > .sub-menu,
.artender-desktop-menu > li.is-open > .sub-menu,
.artender-desktop-menu > li:has(> a:hover) > .sub-menu,
.artender-desktop-menu > li:has(> a:focus) > .sub-menu,
.artender-desktop-menu > li:has(> .sub-menu:hover) > .sub-menu {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(10px) !important;
}

.artender-desktop-menu > li.is-mega-open > .sub-menu,
.artender-desktop-menu > li.is-mega-open:hover > .sub-menu,
.artender-desktop-menu > li.is-mega-open:focus-within > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

.artender-desktop-menu > li > .sub-menu > li {
    list-style: none;
    margin: 0;
    padding: 0;
    min-width: 0;
}

.artender-desktop-menu > li > .sub-menu > li > a {
    color: #1f2937;
    font-size: 13.5px;
    font-weight: 850;
    line-height: 1.8;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    text-decoration: none;
}

.artender-desktop-menu > li > .sub-menu > li > a::before {
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 999px;
    background: var(--artender-header-primary);
}

.artender-desktop-menu > li > .sub-menu > li > a:hover {
    color: var(--artender-header-primary);
}

.artender-desktop-menu > li > .sub-menu > li > .sub-menu {
    position: static;
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
    background: transparent;
    border: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
}

.artender-desktop-menu > li > .sub-menu > li > .sub-menu > li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.artender-desktop-menu > li > .sub-menu > li > .sub-menu > li > a {
    color: #6b7280;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.9;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 1px 0;
    text-decoration: none;
    transition: color .16s ease, padding-right .16s ease;
}

.artender-desktop-menu > li > .sub-menu > li > .sub-menu > li > a::before {
    content: "";
    width: 5px;
    height: 5px;
    flex: 0 0 5px;
    border-radius: 999px;
    background: #d1d5db;
}

.artender-desktop-menu > li > .sub-menu > li > .sub-menu > li > a:hover {
    color: var(--artender-header-primary);
    padding-right: 3px;
}

.artender-desktop-menu > li > .sub-menu > li > .sub-menu > li > a:hover::before {
    background: var(--artender-header-primary);
}

.artender-desktop-menu .sub-menu .sub-menu .sub-menu {
    position: static;
    display: block;
    margin-top: 4px;
    padding-right: 10px;
}

/* ----------------------
/ Responsive Desktop
/ -------------------- */
@media (max-width: 1500px) {
    .artender-desktop-main {
        grid-template-columns: 255px minmax(340px, 1fr) 330px;
        column-gap: 24px;
        padding: 0 32px;
    }

    .artender-desktop-logo img {
        max-width: 220px;
        max-height: 70px;
    }

    .artender-desktop-actions {
        gap: 9px;
    }

    .artender-desktop-account-btn {
        min-width: 136px;
    }

    .artender-desktop-cart-btn {
        min-width: 152px;
    }

    .artender-desktop-nav {
        padding: 0 26px;
    }

    .artender-desktop-menu {
        gap: clamp(10px, 1vw, 18px);
    }

    .artender-desktop-menu > li > a {
        font-size: 13px;
    }

    .artender-desktop-magazine-button,
    .artender-desktop-buy-button {
        min-width: 160px;
        padding: 0 18px;
    }
}

@media (max-width: 1240px) {
    .artender-desktop-main {
        grid-template-columns: 215px minmax(300px, 1fr) 286px;
        min-height: 116px;
        column-gap: 18px;
        padding: 0 22px;
    }

    .artender-desktop-logo img {
        max-width: 185px;
        max-height: 62px;
    }

    .artender-desktop-account-btn,
    .artender-desktop-cart-btn {
        height: 44px;
        min-width: 0;
        padding: 0 10px;
        font-size: 12px;
        gap: 6px;
    }

    .artender-desktop-account-btn svg,
    .artender-desktop-cart-btn svg {
        width: 20px;
        height: 20px;
    }

    .artender-desktop-cart-count {
        width: 27px;
        height: 27px;
        flex-basis: 27px;
    }

    .artender-desktop-topbar-inner {
        padding: 0 20px;
    }

    .artender-desktop-topbar-message {
        font-size: 12.5px;
    }

    .artender-desktop-nav {
        padding: 0 20px;
        gap: 14px;
    }

    .artender-desktop-menu {
        gap: 12px;
    }

    .artender-desktop-menu > li > a {
        font-size: 12px;
    }

    .artender-desktop-magazine-button,
    .artender-desktop-buy-button {
        min-width: 138px;
        height: 42px;
        padding: 0 14px;
        font-size: 12px;
    }

    .artender-desktop-menu > li > .sub-menu {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px 24px;
    }
}

/* ----------------------
/ Desktop container lock
/ Header stays the same width as the main content on desktop.
/ -------------------- */
@media (min-width: 992px) {
    .artender-desktop-shell,
    .artender-desktop-topbar-inner,
    .artender-desktop-main,
    .artender-desktop-nav {
        width: calc(100% - (var(--artender-site-side-padding) * 2)) !important;
        max-width: var(--artender-site-max-width) !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .artender-desktop-main {
        min-height: 128px !important;
        padding-right: 32px !important;
        padding-left: 32px !important;
        grid-template-columns: 245px minmax(320px, 1fr) 315px !important;
        column-gap: 24px !important;
    }

    .artender-desktop-logo img {
        max-width: 210px !important;
        max-height: 68px !important;
    }

    .artender-desktop-account-btn {
        min-width: 136px !important;
        height: 46px !important;
        padding-right: 14px !important;
        padding-left: 14px !important;
        font-size: 12.5px !important;
    }

    .artender-desktop-cart-btn {
        min-width: 150px !important;
        height: 46px !important;
        padding-right: 14px !important;
        padding-left: 14px !important;
        font-size: 12.5px !important;
    }

    .artender-desktop-nav {
        min-height: 58px !important;
        padding-right: 24px !important;
        padding-left: 24px !important;
        gap: 16px !important;
    }

    .artender-desktop-menu {
        gap: 14px !important;
    }

    .artender-desktop-menu > li > a {
        font-size: 12.5px !important;
    }

    .artender-desktop-magazine-button,
    .artender-desktop-buy-button {
        min-width: 150px !important;
        height: 42px !important;
        padding-right: 16px !important;
        padding-left: 16px !important;
        font-size: 12px !important;
    }
}

/* ----------------------
/ Mobile: desktop header hidden
/ -------------------- */
@media (max-width: 991px) {
    .artender-desktop-header {
        display: none !important;
    }
}
