/* --- General & Global Styles --- */
a {
    text-decoration: none !important;
}

.is-position-sticky {
    z-index: 9999 !important;
}

/* --- Arabic (RTL) & List Styles --- */
.translatepress-ar ul.wp-block-list.is-style-list-style-check-circle li,
ul.wp-block-list.is-style-list-style-check-circle-white li,
ul.wp-block-list.is-style-list-style-check-circle-fade li {
    padding-right: 24px;
}

.translatepress-ar ul.wp-block-list.is-style-list-style-check-circle li:before,
ul.wp-block-list.is-style-list-style-check-circle-white li:before,
ul.wp-block-list.is-style-list-style-check-circle-fade li:before {
    right: 0;
}

.translatepress-ar ul.wp-block-list.is-style-list-style-check-circle li:after,
ul.wp-block-list.is-style-list-style-check-circle-white li:after,
ul.wp-block-list.is-style-list-style-check-circle-fade li:after {
    right: 0;
    margin-right: 3px;
}

/* --- Header & Sticky Behavior --- */
.kelma-sticky-header {
    top: 0;
    z-index: 10001 !important;
    transition: transform 0.3s ease;
}

.kelma-sticky-header:has(.is-menu-open) {
    height: auto !important;
    overflow: visible !important;
}

.kelma-header-hidden {
    transform: translateY(-100%);
}

.kelma-header-shadow {
    background: rgba(255, 255, 255, 0.75) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

/* --- Navigation & Submenus --- */
.wp-block-navigation .wp-block-navigation__submenu-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(150px, 1fr));
    gap: 10px;
    padding: 10px;
    margin-top: 0;
    background-color: #fff !important;
    border: 3px solid #F0EAED !important;
    border-radius: 8px;
    overflow: hidden;
}

.wp-block-navigation .wp-block-navigation__submenu-container a {
    padding: 4px 6px;
    border-bottom: 1px solid #F0EAED;
    transition: background 0.2s ease;
}

.wp-block-navigation .wp-block-navigation-item__label {
    display: inline-block;
    width: auto;
    white-space: nowrap;
}

/* --- Underline Hover Effects --- */
.wp-block-navigation-item__content,
.wp-block-navigation a {
    position: relative;
    text-decoration: none;
}

/* Base Underline Animation */
:not(.registerbtn) .wp-block-navigation-item__content::after,
:not(.registerbtn) .wp-block-navigation a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 3px;
    background: rgba(112, 33, 92, 0.7);
    transition: width 0.35s ease, left 0.35s ease, right 0.35s ease;
}

:not(.registerbtn) .wp-block-navigation-item__content:hover::after,
:not(.registerbtn) .wp-block-navigation a:hover::after {
    width: 100%;
}

/* RTL Underline Support */
[dir="rtl"] :not(.registerbtn) .wp-block-navigation-item__content::after,
[dir="rtl"] :not(.registerbtn) .wp-block-navigation a::after {
    left: auto;
    right: 0;
}

/* Disable Underline for Buttons */
.registerbtn .wp-block-navigation-item__content::after,
.registerbtn .wp-block-navigation a::after,
.wp-block-button.registerbtn a::after {
    content: none !important;
}

/* --- Status Indicator --- */
.status-item a::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: 0 6px;
    border-radius: 50%;
    background-color: #28a745;
    box-shadow: 0 0 4px #28a745;
    vertical-align: middle;
}

.menu .status-item.down a::after {
    background-color: #dc3545;
    box-shadow: 0 0 4px #dc3545;
}

/* --- Mobile / Responsive Menu --- */
.wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    top: 67px !important; /* Header height */
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(100vh - 70px) !important;
    max-height: 100vh !important;
    background-color: #fff !important;
    border-top: 1px solid #F0EAED;
    padding-top: env(safe-area-inset-top, 20px) !important;
    display: flex;
    flex-direction: column;
    overflow-y: auto !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    padding-top: 0 !important;
}

/* 1. Hide the default 'X' Close Button */
.wp-block-navigation__responsive-container-close {
    display: none !important;
}

/* 2. Keep the 'Open' Button (hamburger) visible when menu is open */
.wp-block-navigation__responsive-container-open.is-menu-open {
    display: flex !important;
    position: fixed !important;
    z-index: 10002 !important; /* Higher than the menu container */
    top: 20px; /* Adjust to align with your logo */
    right: 20px;
}

/* 3. RTL Support for the toggle position */
[dir="rtl"] .wp-block-navigation__responsive-container-open.is-menu-open {
    right: auto !important;
    left: 20px;
}

@media screen and (max-width: 767px) {
    .wp-block-navigation__responsive-container-content {
        padding-bottom: 130px !important;
        padding-top: 15px !important;
    }
    .wp-block-navigation__responsive-dialog {
        max-height: 100vh !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        margin: 0 !important;
    }
}


.has-modal-open .wp-block-navigation__responsive-container-open svg {
    transform: rotate(90deg);
    transition: transform 0.3s ease;
}

.has-modal-open .wp-block-navigation__responsive-container-open {
    pointer-events: none;
}