/* ------------------------------------------------------------------
   Header navigation
   DM Sans is referenced by the Elementor header but Google Fonts are
   blocked for performance, so it is self-hosted here.
------------------------------------------------------------------ */
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 100 1000;
    font-display: swap;
    src: url('../fonts/dm-sans-variable.woff2') format('woff2');
}

:root {
    --ss-nav-blue: #2a74ed;
    --ss-nav-ink: #111111;
    --ss-nav-muted: #6b6b6b;
    --ss-nav-line: #e6e6e6;
    --ss-nav-panel-shadow: 0 14px 34px rgba(17, 17, 17, 0.12);
}

/* Top-level row -------------------------------------------------- */
.elementor-nav-menu--layout-horizontal .elementor-nav-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 2px;
}

.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li > a.elementor-item {
    padding: 14px 14px !important;
    font-weight: 500;
    letter-spacing: 0.01em;
    white-space: nowrap;
    color: var(--ss-nav-ink) !important;
    transition: color .15s ease;
}

.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li > a.elementor-item:hover,
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li > a.elementor-item.highlighted,
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li > a.elementor-item.elementor-item-active {
    color: var(--ss-nav-blue) !important;
}

/* Sale gets a little heat */
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li > a.elementor-item[href*="on_sale"] {
    color: #c72a2a !important;
    font-weight: 600;
}

/* Small caret on items that open a panel */
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li.menu-item-has-children > a.elementor-item .sub-arrow {
    margin-left: 4px;
    font-size: 10px;
    opacity: .55;
}

/* Dropdown panels ------------------------------------------------ */
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li > ul.sub-menu {
    min-width: 280px !important;
    max-width: none !important;
    padding: 12px 0;
    margin-top: 4px;
    border: 1px solid var(--ss-nav-line) !important;
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--ss-nav-panel-shadow);
    overflow: hidden;
}

.elementor-nav-menu--layout-horizontal .elementor-nav-menu ul.sub-menu > li > a.elementor-sub-item {
    display: block;
    padding: 10px 22px !important;
    font-size: 15px;
    color: var(--ss-nav-ink) !important;
    background: transparent !important;
    transition: background .15s ease, color .15s ease, padding-left .15s ease;
}

.elementor-nav-menu--layout-horizontal .elementor-nav-menu ul.sub-menu > li > a.elementor-sub-item:hover,
.elementor-nav-menu--layout-horizontal .elementor-nav-menu ul.sub-menu > li > a.elementor-sub-item.highlighted {
    background: #f4f7fd !important;
    color: var(--ss-nav-blue) !important;
    padding-left: 26px !important;
}

/* First link in a panel is always "Shop All …" — make it the anchor of the list */
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li > ul.sub-menu > li:first-child > a.elementor-sub-item {
    font-weight: 600;
}

.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li > ul.sub-menu > li:first-child {
    margin-bottom: 6px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--ss-nav-line);
}

/* "About …" links read as secondary */
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li > ul.sub-menu > li:last-child > a.elementor-sub-item[href*="/about"],
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li > ul.sub-menu > li > a.elementor-sub-item[href$="-shades/"]:not([href*="product-category"]) {
    color: var(--ss-nav-muted) !important;
    font-size: 14px;
}

/* The "All Blinds & Shades" panel is a plain list of collections: no "Shop All" divider */
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:first-child > ul.sub-menu > li:first-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:first-child > ul.sub-menu > li:first-child > a.elementor-sub-item {
    font-weight: 400;
}

/* The "More" panel is the last item; keep it right-aligned so it never overflows the viewport */
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:last-child > ul.sub-menu {
    left: auto !important;
    right: 0 !important;
}

/* Mobile / dropdown menu ----------------------------------------- */
.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    border: 0 !important;
    box-shadow: 0 18px 40px rgba(17, 17, 17, 0.14);
}

.elementor-nav-menu--dropdown .elementor-nav-menu > li > a.elementor-item {
    padding: 14px 20px !important;
    font-weight: 600;
    border-bottom: 1px solid var(--ss-nav-line);
}

.elementor-nav-menu--dropdown .elementor-nav-menu ul.sub-menu > li > a.elementor-sub-item {
    padding: 12px 20px 12px 34px !important;
    font-size: 15px;
    color: #333 !important;
    background: #fafafa !important;
}

.elementor-nav-menu--dropdown .elementor-nav-menu ul.sub-menu ul.sub-menu > li > a.elementor-sub-item {
    padding-left: 48px !important;
}

.elementor-nav-menu--dropdown .elementor-nav-menu a.elementor-item[href*="on_sale"] {
    color: #c72a2a !important;
}
