/* برق — تنسيقات صفحات التسويق العامة (الرئيسية، الأسعار). */

/* ===== شريط التنقّل العام: مبني يدويًا بلا اعتماد على مكوّنات Bootstrap
   (offcanvas/dropdown/d-none-d-lg-flex) — يزيل أي غموض حول سبب عدم عملها. ===== */

.pub-nav-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .5rem 1rem;
    max-width: 1400px;
    margin: 0 auto;
}

@media (min-width: 992px) {
    .pub-nav-row { padding: .5rem 3rem; }
}

/* اللغة/الحساب (يسار) وزر القائمة الجانبية (يمين) ظاهران دائمًا في كل حجم
   شاشة الآن — روابط التصفّح (الإضافات/الأسعار/الأسئلة الشائعة) صارت داخل
   اللوحة الجانبية فقط، يفتحها زر الهمبرغر دون استثناء. */
.pub-nav-links {
    display: flex;
    align-items: center;
    gap: .75rem;
}

@media (min-width: 768px) {
    .pub-nav-links { gap: 1.25rem; }
}

/* الشعار يكبر ويخرج فعليًا خارج الشريط الأبيض إلى داخل قسم الهيرو الأرجواني
   تحته — margin-bottom سالب يسحبه للأسفل بلا تغيير ارتفاع الشريط نفسه،
   وz-index يضمن رسمه فوق الهيرو لا خلفه، وdrop-shadow من الأسفل فقط بلون
   الهوية ليتّضح فوق الخلفيتين (البيضاء والأرجوانية) معًا. */
.pub-nav-brand {
    position: relative;
    z-index: 5;
    margin-bottom: -22px;
}

.pub-nav-brand img {
    height: 68px;
    display: block;
    filter: drop-shadow(0 14px 12px rgba(101, 45, 144, .5));
}

@media (min-width: 768px) {
    .pub-nav-brand {
        margin-bottom: -34px;
    }

    .pub-nav-brand img {
        height: 96px;
    }
}

.pub-nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(0, 0, 0, .1);
    border-radius: .5rem;
    background: #fff;
    width: 42px;
    height: 42px;
    padding: 0;
    flex-shrink: 0;
}

.pub-side-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(20, 15, 30, .5);
    z-index: 1049;
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease, visibility .2s ease;
}

.pub-side-backdrop.is-open {
    opacity: 1;
    visibility: visible;
}

.pub-side-menu {
    position: fixed;
    top: 0;
    inset-inline-end: 0;
    height: 100vh;
    width: min(320px, 85vw);
    background: #fff;
    z-index: 1050;
    transform: translateX(100%);
    transition: transform .25s ease;
    box-shadow: -.5rem 0 2rem rgba(0, 0, 0, .15);
    overflow-y: auto;
}

html[dir="rtl"] .pub-side-menu { transform: translateX(-100%); }

/* يجب أن تفوز هذه القاعدة على القاعدة أعلاه تحديدًا — html[dir="rtl"] .pub-side-menu
   أعلى تخصيصًا (عنصر + صنفان) من .pub-side-menu.is-open وحدها (صنفان فقط)،
   فتبقى اللوحة مخفية رغم إضافة is-open بالجافاسكربت إن لم تُكتب هذه بنفس
   بادئة html[dir]. هذا كان سبب "لا تفتح القائمة" فعليًا. */
html[dir="rtl"] .pub-side-menu.is-open,
.pub-side-menu.is-open {
    transform: translateX(0);
}

.bg-hero {
    background:
        radial-gradient(circle at 15% 20%, rgba(255, 193, 14, 0.25), transparent 40%),
        radial-gradient(circle at 85% 0%, rgba(255, 255, 255, 0.15), transparent 45%),
        linear-gradient(135deg, var(--brand-primary), var(--brand-primary-dark));
    color: #fff;
    position: relative;
    overflow: hidden;
}

.badge-soft {
    background: rgba(124, 81, 160, 0.1);
    color: var(--brand-primary-dark);
    border-radius: 999px;
    padding: .35rem .9rem;
    font-size: .85rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.badge-soft-light {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    border-radius: 999px;
    padding: .4rem 1rem;
    font-size: .85rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    backdrop-filter: blur(4px);
}

.icon-circle {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-dark));
    color: #fff;
    flex-shrink: 0;
}

.icon-circle-lg {
    width: 72px;
    height: 72px;
    border-radius: 20px;
    font-size: 2rem;
}

.section-eyebrow {
    color: var(--brand-primary);
    font-weight: 700;
    letter-spacing: .04em;
    font-size: .9rem;
    text-transform: uppercase;
}

.card-elevated {
    border: 1px solid rgba(0, 0, 0, .06);
    border-radius: 18px;
    transition: transform .18s ease, box-shadow .18s ease;
}

.card-elevated:hover {
    transform: translateY(-4px);
    box-shadow: 0 1rem 2rem rgba(26, 21, 35, .08) !important;
}

.stat-card {
    border-radius: 18px;
    padding: 1.75rem 1.5rem;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .06);
}

.stat-number {
    font-size: 2.25rem;
    font-weight: 800;
    color: var(--brand-primary-dark);
    line-height: 1;
}

.step-number {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--brand-gold);
    color: var(--brand-ink);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.cta-band {
    background: linear-gradient(135deg, var(--brand-ink), #2a1f38);
    color: #fff;
    border-radius: 24px;
}

/* ===== صفحة الأسعار ===== */

.billing-toggle {
    display: inline-flex;
    background: #f1eef7;
    border-radius: 999px;
    padding: .3rem;
    gap: .25rem;
}

.billing-toggle button {
    border: 0;
    background: transparent;
    padding: .5rem 1.25rem;
    border-radius: 999px;
    font-weight: 600;
    font-size: .9rem;
    color: #6b6478;
    transition: all .15s ease;
}

.billing-toggle button.active {
    background: #fff;
    color: var(--brand-primary-dark);
    box-shadow: 0 .25rem .5rem rgba(26, 21, 35, .08);
}

.billing-toggle .save-pill {
    background: var(--brand-gold);
    color: var(--brand-ink);
    font-size: .7rem;
    padding: .1rem .5rem;
    border-radius: 999px;
    margin-inline-start: .35rem;
    font-weight: 700;
}

.pricing-price {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--brand-ink);
}

.pricing-feature-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pricing-feature-list li {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    padding: .4rem 0;
    font-size: .92rem;
    color: #4a4553;
}

.pricing-feature-list li i {
    color: #16a34a;
    margin-top: .2rem;
}

.pricing-usage-badges .badge {
    background: #f1eef7;
    color: var(--brand-primary-dark);
    font-weight: 600;
    padding: .45rem .75rem;
}

.faq-accordion .accordion-button {
    font-weight: 700;
    color: var(--brand-ink);
}

.faq-accordion .accordion-button:not(.collapsed) {
    color: var(--brand-primary-dark);
    background: #f7f5fb;
}

.faq-accordion .accordion-button:focus {
    box-shadow: none;
    border-color: rgba(0, 0, 0, .06);
}
