/**
 * Andalus Keys - RTL Stylesheet
 * Strict Cairo font enforcement and RTL alignment
 */

:root {
    --font-sans: 'Cairo', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-serif: var(--font-sans);
    --font-heading: var(--font-sans);
}

html, body {
    direction: rtl;
    unicode-bidi: isolate;
    overflow-x: hidden;
    max-width: 100%;
    font-family: var(--font-sans);
}

#page, #page * {
    font-family: var(--font-sans);
}

h1, h2, h3, h4, h5, h6,
.hero-title, .page-title, .page-hero-title, .section-title, .apartment-title, .box-title, .modal-title, .hub-heading, .service-headline, .apartment-card-title, .apartment-hero-title, .apartment-heading {
    letter-spacing: 0;
}

/* Centered Page Heroes & Section Headers */
.page-hero-header,
.page-hero-header .page-hero-title,
.page-hero-header .page-hero-lead,
.page-hero-header .section-pretitle,
.section-header-center,
.section-header-center .section-title,
.section-header-center .section-lead,
.section-header-center .section-pretitle {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.hero-title .title-highlight {
    font-style: normal !important;
}

.hero-pretitle, .section-pretitle, .service-pretitle, .service-banner-badge, .badge-label, .badge-label-small {
    letter-spacing: 0;
}

.header-lang-switcher {
    direction: ltr;
}

/* Header & Navigation in RTL */
.site-header-container {
    padding: 8px 24px 8px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-nav-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 1;
    margin-left: 0 !important;
    margin-right: 36px !important;
}

.main-navigation .nav-links {
    margin: 0;
    padding: 0;
}

.header-actions {
    margin-right: auto !important;
    margin-left: 0 !important;
    flex-shrink: 0;
}

@media (max-width: 1100px) {
    .header-nav-wrapper {
        margin-right: 20px !important;
    }
}

@media (max-width: 992px) {
    .header-nav-wrapper {
        margin-right: 0 !important;
        margin-left: 0 !important;
        justify-content: flex-end !important;
    }
    .header-actions {
        margin-right: 0 !important;
    }
}

@media (max-width: 640px) {
    .site-header-container {
        padding: 8px 14px;
    }
}

.main-navigation .nav-links a::after,
.main-navigation .nav-links > li > a::after {
    left: auto;
    right: 0;
}

@media (max-width: 992px) {
    .main-navigation {
        right: auto;
        left: 0;
        transform: translateX(-100%);
        box-shadow: 10px 0 30px rgba(0, 0, 0, 0.15);
    }

    .main-navigation.mobile-menu-open {
        transform: translateX(0);
    }
}

/* Hero Section in RTL */
.hero-bg-img {
    transform: scaleX(-1);
}

.hero-overlay {
    background: linear-gradient(
        270deg,
        rgba(251, 249, 245, 0.94) 0%,
        rgba(251, 249, 245, 0.88) 38%,
        rgba(251, 249, 245, 0.35) 65%,
        rgba(251, 249, 245, 0.05) 100%
    );
}

.badge-live-bookings {
    left: auto;
    right: 48%;
}

.badge-growth {
    right: auto;
    left: 6%;
}

/* Comparison Badges */
.badge-before {
    left: auto;
    right: 18px;
}

.badge-after {
    right: auto;
    left: 18px;
}

/* Buttons Arrow Animation */
.btn-hero-primary svg,
.btn-outline-dark svg {
    transform: rotate(180deg);
}

.btn-hero-primary:hover svg,
.btn-outline-dark:hover svg {
    transform: rotate(180deg) translateX(4px);
}

/* Numerical and Phone Data must remain LTR */
a[href^="tel:"],
.badge-number,
.metric-val,
.metric-value {
    direction: ltr !important;
    unicode-bidi: isolate;
    display: inline-block;
}

.metric-info {
    text-align: right;
}

/* Portfolio Header Desc */
.portfolio-header-desc {
    text-align: right;
}

/* Co-hosting & Mentoring in RTL */
.cohosting-bg-img {
    object-position: -5% bottom;
}

.mentoring-arch-spacer {
    display: none;
}

.mentoring-grid {
    grid-template-columns: 340px 1fr;
    gap: 36px;
}

.mentoring-intro {
    padding-right: 0;
    padding-left: 8px;
}

.step-connector-arrow svg {
    transform: rotate(180deg);
}

.mentoring-bg-img {
    transform: scaleX(-1);
    opacity: 0.15;
}

@media (max-width: 1100px) {
    .mentoring-grid {
        grid-template-columns: 1fr;
        padding-right: 0;
        padding-left: 0;
    }
}

/* Apartments CPT in RTL */
.apartment-card-price-badge {
    right: auto;
    left: 14px;
}

.apartment-back-link svg {
    transform: rotate(180deg);
}

.apartment-back-link:hover {
    transform: translateX(3px);
}

.apartment-section-title::after {
    left: auto;
    right: 0;
}

.spec-price .spec-value {
    direction: ltr;
    display: inline-flex;
}

.portfolio-archive-btn svg {
    transform: rotate(180deg);
}

.portfolio-archive-btn:hover svg {
    transform: rotate(180deg) translateX(3px);
}

/* Contact & Services Page RTL */
.contact-trust-grid {
    text-align: right;
}

.contact-whatsapp-card .card-phone-display {
    direction: ltr;
    display: inline-block;
}

.service-banner-badge {
    left: auto;
    right: 28px;
}

@media (max-width: 640px) {
    .service-banner-badge {
        left: auto;
        right: 14px;
    }
}

/* Content Lists in RTL */
.entry-content ul,
.apartment-rich-description ul,
.entry-content ol,
.apartment-rich-description ol {
    padding-left: 0;
    padding-right: 26px;
}
