/* =====================================================================
   الهيدر الموحد (عربي + إنجليزي)
   القيم المرتبطة بالاتجاه تُعرّف بمتغيرات حتى يعمل نفس الملف في RTL و LTR
   ===================================================================== */

:root {
    --rq-align-start: right;
}

html[dir="ltr"] {
    --rq-align-start: left;
}

.header-container {
            width: 100%;
            max-width: 1250px;
            margin: 0 auto;
            padding: 0 30px;
        }

.header-fade-item {
            opacity: 0;
            transform: translateY(-14px);
            animation: headerFadeInUp 0.9s cubic-bezier(0.25, 1, 0.3, 1) forwards;
        }

@keyframes headerFadeInUp {
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

.header-social-media-links.header-fade-item { animation-delay: 0.05s; }

.header-promo-center-wrapper.header-fade-item { animation-delay: 0.15s; }

.header-contacts-left-wrapper.header-fade-item { animation-delay: 0.25s; }

.header-logo-brand-link.header-fade-item { animation-delay: 0.1s; }

.header-links-desktop-nav.header-fade-item .header-nav-item-list {
            opacity: 0;
            transform: translateY(-14px);
            animation: headerFadeInUp 0.9s cubic-bezier(0.25, 1, 0.3, 1) forwards;
        }

.header-links-desktop-nav.header-fade-item .header-nav-item-list:nth-child(1)  { animation-delay: 0.20s; }

.header-links-desktop-nav.header-fade-item .header-nav-item-list:nth-child(2)  { animation-delay: 0.24s; }

.header-links-desktop-nav.header-fade-item .header-nav-item-list:nth-child(3)  { animation-delay: 0.28s; }

.header-links-desktop-nav.header-fade-item .header-nav-item-list:nth-child(4)  { animation-delay: 0.32s; }

.header-links-desktop-nav.header-fade-item .header-nav-item-list:nth-child(5)  { animation-delay: 0.36s; }

.header-links-desktop-nav.header-fade-item .header-nav-item-list:nth-child(6)  { animation-delay: 0.40s; }

.header-links-desktop-nav.header-fade-item .header-nav-item-list:nth-child(7)  { animation-delay: 0.44s; }

.header-links-desktop-nav.header-fade-item .header-nav-item-list:nth-child(8)  { animation-delay: 0.48s; }

.header-links-desktop-nav.header-fade-item .header-nav-item-list:nth-child(9)  { animation-delay: 0.52s; }

.header-cta-booking-btn.header-fade-item { animation-delay: 0.55s; }

.header-search-trigger-btn.header-fade-item { animation-delay: 0.5s; }

.header-hamburger-trigger-btn.header-fade-item { animation-delay: 0.3s; }

.header-main-wrapper {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            z-index: 1000;
            background: transparent; /* خلفية شفافة لتكشف صور الهيرو خلفها */
            transition: var(--transition-header-smooth);
        }

.header-top-bar-section {
            background-color: rgba(var(--rq-rgb-dark), 0.4); /* خلفية داكنة خفيفة شفافة جداً */
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            padding: 12px 0;
            transition: var(--transition-header-smooth);
        }

.header-top-flex-container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

.header-social-media-links {
            display: flex;
            gap: 10px;
            align-items: center;
        }

@media (max-width: 480px) {
    .header-social-media-links {
                gap: 5px;           
            }

    .header-container{
                padding: 0 15px;
            }
}

.header-social-item-link {
            color: var(--brand-header-white);
            font-size: 15px;
            width: 34px;
            height: 34px;
            border-radius: 50%;
            background-color: rgba(255, 255, 255, 0.1);
            display: flex;
            align-items: center;
            justify-content: center;
            transition: var(--transition-header-fast);
        }

.header-social-item-link:hover {
            background-color: var(--brand-header-teal-green);
            color: var(--brand-header-white);
            transform: translateY(-2px);
        }

.header-promo-center-wrapper {
            display: flex;
            align-items: center;
            gap: 14px;
        }

.header-shining-promo-btn {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background-color: var(--brand-header-secondary-2); /* لون الموقع المعتمد */
            color: var(--brand-header-white);
            padding: 9px 24px; /* حجم أكبر */
            border-radius: 25px;
            font-size: 14px;
            font-weight: 700;
            position: relative;
            overflow: hidden;
            border: 2px solid rgba(var(--rq-rgb-teal), 0.4);
            cursor: pointer;
            box-shadow: 0 0 20px rgba(var(--rq-rgb-secondary), 0.7); /* توهج ملفت */
            animation: pulseShineGlow 2s infinite alternate ease-in-out;
            transition: var(--transition-header-smooth);
        }

.header-shining-promo-btn::before {
            content: '';
            width: 8px;
            height: 8px;
            background-color: #39FF14; /* لون أخضر فسفوري مضيء */
            border-radius: 50%;
            display: inline-block;
            box-shadow: 0 0 10px #39FF14;
            animation: dotBlink 1s infinite;
        }

.header-shining-promo-btn::after {
            content: '';
            position: absolute;
            top: -50%;
            left: -60%;
            width: 30%;
            height: 200%;
            background: rgba(255, 255, 255, 0.4);
            transform: rotate(30deg);
            animation: shineEffect 3.5s infinite ease-in-out;
        }

.header-shining-promo-btn:hover {
            background-color: var(--brand-header-teal-green);
            box-shadow: 0 0 30px rgba(var(--rq-rgb-teal), 0.9);
            transform: translateY(-2px);
        }

@keyframes shineEffect {
            0% { left: -60%; }
            20% { left: 130%; }
            100% { left: 130%; }
        }

@keyframes pulseShineGlow {
            0% {
                box-shadow: 0 0 12px rgba(var(--rq-rgb-secondary), 0.6), inset 0 0 5px rgba(255, 255, 255, 0.2);
                border-color: rgba(var(--rq-rgb-teal), 0.4);
            }
            100% {
                box-shadow: 0 0 25px rgba(var(--rq-rgb-teal), 1), inset 0 0 10px rgba(255, 255, 255, 0.4);
                border-color: rgba(255, 255, 255, 0.6);
            }
        }

@keyframes dotBlink {
            0%, 100% { opacity: 0.3; transform: scale(0.8); }
            50% { opacity: 1; transform: scale(1.2); }
        }

.header-promo-text-span {
            color: var(--brand-header-white);
            font-size: 14.5px;
            font-weight: 600;
            letter-spacing: 0.5px;
            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
        }

.header-contacts-left-wrapper {
            display: flex;
            gap: 18px;
            align-items: center;
        }

.header-phone-item-link {
            color: var(--brand-header-white);
            font-size: 13.5px;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 8px;
            transition: var(--transition-header-fast);
        }

.header-phone-item-link i {
            color: var(--brand-header-teal-green);
            font-size: 14px;
        }

.header-phone-item-link:hover {
            color: var(--brand-header-teal-green);
        }

.header-top-divider {
            width: 1px;
            height: 16px;
            background-color: rgba(255, 255, 255, 0.3);
        }

.header-lang-switcher-link {
            color: var(--brand-header-white);
            font-size: 13.5px;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 6px;
            transition: var(--transition-header-fast);
        }

.header-lang-switcher-link i {
            color: var(--brand-header-teal-green);
            font-size: 13px;
        }

.header-lang-switcher-link:hover {
            color: var(--brand-header-teal-green);
        }

.header-primary-nav-section {
            padding: 20px 0;
            transition: var(--transition-header-smooth);
            width: 100%;
            position: relative;
            z-index: 1001;
        }

.header-main-wrapper.scrolled .header-primary-nav-section {
            position: fixed;
            top: 0;
            left: 0;
            background-color: rgba(var(--rq-rgb-primary), 0.96); /* خلفية لونية للمجمع مع شفافية وضباب */
            backdrop-filter: blur(15px);
            -webkit-backdrop-filter: blur(15px);
            box-shadow: 0 10px 30px rgba(var(--rq-rgb-dark), 0.3);
            border-bottom: 1px solid rgba(var(--rq-rgb-teal), 0.2);
            padding: 12px 0;
            animation: slideDownNav 0.4s cubic-bezier(0.25, 1, 0.2, 1) forwards;
        }

@keyframes slideDownNav {
            0% {
                transform: translateY(-100%);
            }
            100% {
                transform: translateY(0);
            }
        }

.header-nav-flex-container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

.header-logo-brand-link {
            display: flex;
            align-items: center;
            gap: 12px;
        }

.header-logo-brand-img {
            height: 65px;
            width: auto;
            object-fit: contain;
            transition: var(--transition-header-smooth);
            filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
        }

.header-main-wrapper.scrolled .header-logo-brand-img {
            height: 65px;
        }

.header-logo-text-fallback {
            font-size: 24px;
            font-weight: 900;
            color: var(--brand-header-white);
            letter-spacing: -0.5px;
        }

.header-logo-text-fallback span {
            color: var(--brand-header-teal-green);
        }

.header-links-desktop-nav {
            display: flex;
            gap: 24px;
            align-items: center;
        }

.header-nav-item-list {
            position: relative;
        }

.header-nav-item-link {
            color: var(--brand-header-white);
            font-weight: 600;
            font-size: 14.5px;
            padding: 10px 4px;
            position: relative;
            transition: var(--transition-header-fast);
            display: flex;
            align-items: center;
            gap: 5px;
            opacity: 0.95;
            text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
        }

.header-nav-item-link::after {
            display: none !important;
        }

.header-nav-item-link:hover {
            color: var(--brand-header-teal-green);
            opacity: 1;
        }

.header-nav-item-link.active {
            color: var(--brand-header-teal-green) !important;
            font-weight: 700;
            opacity: 1;
        }

.header-dropdown-menu-list {
            position: absolute;
            top: 100%;
            right: 0;
            background-color: var(--brand-header-white);
            min-width: 250px;
            border-radius: 12px;
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
            padding: 12px 0;
            opacity: 0;
            visibility: hidden;
            transform: translateY(15px);
            transition: all 0.3s ease;
            border: 1px solid rgba(var(--rq-rgb-primary), 0.08);
            z-index: 1100;
        }

.header-nav-item-list:hover .header-dropdown-menu-list {
            opacity: 1;
            visibility: visible;
            transform: translateY(5px);
        }

.header-dropdown-subitem-link {
            display: block;
            padding: 12px 20px;
            color: var(--brand-header-secondary-1);
            font-size: 14px;
            font-weight: 600;
            transition: var(--transition-header-fast);
            border-bottom: 1px dashed rgba(var(--rq-rgb-primary), 0.05);
            text-align: var(--rq-align-start);
        }

.header-dropdown-subitem-link:last-child {
            border-bottom: none;
        }

.header-dropdown-subitem-link:hover {
            background-color: rgba(var(--rq-rgb-teal), 0.08);
            color: var(--brand-header-secondary-2);
            padding-right: 25px;
        }

.header-cta-booking-btn {
            display: inline-flex;
            align-items: center;
            gap: 10px; /* مسافة بين الأيقونة والنص */
            background-color: var(--brand-header-secondary-2);
            color: var(--brand-header-white);
            padding: 12px 28px;
            border-radius: 30px;
            font-weight: 700;
            font-size: 14px;
            transition: var(--transition-header-smooth);
            border: 2px solid transparent;
            box-shadow: 0 4px 15px rgba(var(--rq-rgb-secondary), 0.3);
            text-shadow: none;
        }

.header-cta-booking-btn:hover {
            background-color: var(--brand-header-teal-green);
            color: var(--brand-header-white);
            transform: translateY(-3px);
            box-shadow: 0 8px 25px rgba(var(--rq-rgb-teal), 0.45);
        }

.header-search-cta-group {
            display: flex;
            align-items: center;
            gap: 8px;
            position: relative; /* لتثبيت صندوق البحث المنسدل بالنسبة لهذه المجموعة تحديداً */
        }

.header-search-trigger-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 42px;
            height: 42px;
            border-radius: 50%;
            background-color: rgba(255, 255, 255, 0.1);
            color: var(--brand-header-white);
            border: 2px solid transparent;
            font-size: 16px;
            cursor: pointer;
            transition: var(--transition-header-smooth);
            flex-shrink: 0;
        }

.header-search-trigger-btn:hover,
        .header-search-trigger-btn.active {
            background-color: var(--brand-header-teal-green);
            transform: translateY(-3px);
            box-shadow: 0 8px 20px rgba(var(--rq-rgb-teal), 0.4);
        }

.header-search-box-wrapper {
            position: absolute;
            top: calc(100% + 14px);
            left: 0;
            width: 340px;
            max-width: 90vw;
            background-color: var(--brand-header-white);
            border-radius: 16px;
            box-shadow: 0 15px 45px rgba(var(--rq-rgb-dark), 0.25);
            padding: 16px;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-10px);
            transition: var(--transition-header-smooth);
            z-index: 1200;
        }

.header-search-box-wrapper.active {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

.header-search-form {
            display: flex;
            align-items: center;
            gap: 8px;
            background-color: rgba(var(--rq-rgb-primary), 0.06);
            border-radius: 30px;
            padding: 6px 6px 6px 16px;
            border: 2px solid transparent;
            transition: var(--transition-header-fast);
        }

.header-search-form:focus-within {
            border-color: var(--brand-header-teal-green);
        }

.header-search-input {
            flex: 1;
            border: none;
            background: transparent;
            outline: none;
            font-family: inherit;
            font-size: 14px;
            font-weight: 600;
            color: var(--brand-header-secondary-1);
            text-align: var(--rq-align-start);
        }

.header-search-input::placeholder {
            color: rgba(var(--rq-rgb-primary), 0.45);
            font-weight: 500;
        }

.header-search-submit-btn,
        .header-search-close-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 34px;
            height: 34px;
            border-radius: 50%;
            border: none;
            cursor: pointer;
            font-size: 13px;
            transition: var(--transition-header-fast);
            flex-shrink: 0;
        }

.header-search-submit-btn {
            background-color: var(--brand-header-secondary-2);
            color: var(--brand-header-white);
        }

.header-search-submit-btn:hover {
            background-color: var(--brand-header-teal-green);
        }

.header-search-close-btn {
            background-color: transparent;
            color: var(--brand-header-secondary-1);
        }

.header-search-close-btn:hover {
            background-color: rgba(var(--rq-rgb-primary), 0.1);
        }

.header-search-status {
            margin-top: 10px;
            font-size: 12.5px;
            font-weight: 600;
            color: var(--brand-header-secondary-1);
            text-align: var(--rq-align-start);
            min-height: 16px;
        }

.header-search-status.no-results {
            color: #c0392b;
        }

.header-search-highlight {
            background-color: rgba(var(--rq-rgb-gold), 0.55);
            color: inherit;
            border-radius: 3px;
            padding: 0 2px;
        }

.header-search-highlight.current-match {
            background-color: var(--brand-header-gold);
            box-shadow: 0 0 0 2px var(--brand-header-secondary-2);
        }

.header-hamburger-trigger-btn {
            display: none;
            color: var(--brand-header-white);
            font-size: 26px;
            cursor: pointer;
            background: none;
            border: none;
            transition: var(--transition-header-fast);
        }

.header-hamburger-trigger-btn:hover {
            color: var(--brand-header-teal-green);
            transform: scale(1.1);
        }

.header-aside-menu-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(var(--rq-rgb-dark), 0.5);
            backdrop-filter: blur(5px);
            -webkit-backdrop-filter: blur(5px);
            z-index: 1999;
            opacity: 0;
            pointer-events: none;
            transition: var(--transition-header-smooth);
        }

.header-aside-menu-overlay.active {
            opacity: 1;
            pointer-events: auto;
        }

.header-aside-drawer-wrapper {
            position: fixed;
            top: 0;
            right: -320px;
            width: 300px;
            max-width: 80%;
            height: 100vh;
            height: 100dvh;                    /* الارتفاع الحقيقي للجوال */
            background-color: var(--brand-header-secondary-1);
            z-index: 2000;
            display: flex;
            flex-direction: column;
            overflow-y: auto;
            box-shadow: -10px 0 40px rgba(0, 0, 0, 0.3);
            padding: 30px 24px;
            transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            border-left: 1px solid rgba(255, 255, 255, 0.1);
        }

.header-aside-drawer-wrapper.active {
            right: 0;
        }

.header-aside-drawer-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 35px;
            padding-bottom: 20px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

.header-aside-logo-brand-img {
            max-height: 65px;
            width: auto;
        }

.header-aside-close-drawer-btn {
            background: rgba(255, 255, 255, 0.1);
            border: none;
            color: var(--brand-header-teal-green);
            width: 38px;
            height: 38px;
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: var(--transition-header-fast);
        }

.header-aside-close-drawer-btn:hover {
            background-color: var(--brand-header-teal-green);
            color: var(--brand-header-white);
            transform: rotate(90deg);
        }

.header-aside-mobile-nav-links {
            flex-grow: 1;
        }

.header-aside-mobile-nav-links > ul > li {
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        }

.header-aside-mobile-nav-links ul li a {
            color: var(--brand-header-light-gray);
            font-size: 15px;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 16px 0;
            transition: var(--transition-header-fast);
        }

.header-aside-mobile-nav-links ul li a i {
            color: var(--brand-header-teal-green);
            font-size: 14px;
        }

.header-aside-mobile-nav-links ul li a:hover {
            color: var(--brand-header-white);
            padding-right: 6px;
        }

.header-aside-mobile-submenu {
            background-color: rgba(var(--rq-rgb-dark), 0.3);
            border-radius: 8px;
            padding: 5px 15px;
            margin-bottom: 10px;
            display: none; /* يتم فتحها بـ JS */
        }

.header-aside-mobile-submenu.active {
            display: block;
        }

.header-aside-mobile-submenu a {
            padding: 10px 0 !important;
            font-size: 13.5px !important;
        }

.header-aside-drawer-footer {
            margin-top: auto;
            padding-top: 25px;
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

.header-aside-mobile-cta-btn {
            width: 100%;
            padding: 14px;
            border-radius: 30px;
            text-align: center;
            font-weight: 700;
            font-size: 14px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            transition: var(--transition-header-fast);
        }

.header-aside-mobile-btn-book {
            background-color: var(--brand-header-secondary-2);
            color: var(--brand-header-white);
            box-shadow: 0 4px 15px rgba(var(--rq-rgb-secondary), 0.3);
        }

.header-aside-mobile-btn-book:hover {
            background-color: var(--brand-header-teal-green);
        }

.header-aside-mobile-btn-book-english {
            background-color: white;
            color:  var(--brand-header-secondary-2);
            box-shadow: 0 4px 15px rgba(var(--rq-rgb-secondary), 0.3);
        }

.header-aside-mobile-btn-book-english:hover {
            background-color:   var(--brand-header-teal-green); 
            color:  white;
        }

@media (max-width: 1200px) {
    .header-links-desktop-nav, .header-cta-booking-btn, .header-search-trigger-btn, .header-search-box-wrapper {
                display: none; /* إخفاء قائمة سطح المكتب والزر والبحث عند الانتقال للتابلت */
            }

    .header-hamburger-trigger-btn {
                display: block; /* إظهار زر الهامبرغر للتحكم */
            }

    .header-promo-center-wrapper,
            .header-top-divider,
            .header-lang-switcher-link {
                display: none; /* إخفاء العروض المنتصفة ورابط اللغة على الجوال */
            }

    .header-contacts-left-wrapper {
                gap: 10px;
            }

    .header-phone-item-link {
                width: 34px;
                height: 34px;
                border-radius: 50%;
                background-color: rgba(255, 255, 255, 0.1);
                justify-content: center;
                gap: 0;
                padding: 0;
            }

    .header-phone-item-link span {
                display: none; /* إخفاء رقم الهاتف النصي، الأيقونة فقط تظهر */
            }

    .header-phone-item-link i {
                color: var(--brand-header-white);
                font-size: 14px;
            }

    .header-phone-item-link:hover {
                background-color: var(--brand-header-teal-green);
            }

    .header-phone-item-link:hover i {
                color: var(--brand-header-white);
            }
}

@media (max-width: 768px) {
    .header-logo-brand-img {
                height: 65px;
            }

    .header-primary-nav-section {
                padding: 12px 0;
            }
}
