/* ===========================================================================
   Arabdown Child — Parent Theme Fixes
   ---------------------------------------------------------------------------
   تجاوزات حقيقية على CSS القالب الأب (Ultra News).

   📛 NOT in @layer (UNLAYERED) — لأن CSS Cascade 5: قواعد UNLAYERED تتفوّق
       على layers لقواعد NORMAL.
   📐 الاستراتيجية: نستخدم body-class prefixing (body.archive، body.single-post)
       لرفع specificity → نتغلّب على parent بدون !important في الغالب.
   📛 !important يُحتفَظ به فقط حين specificity تساوي parent ولا توجد body-class
       طبيعية للـ scope.

   ❗ لا تضع components جديدة (.article-*, .hp-*) هنا. مكانها components/.
   ============================================================================ */


/* ============================================================
 * (1) عزل تخطيطي للمقال — حماية من flex/grid في parents
 * ------------------------------------------------------------
 * السبب: الأب قد يضع <article> داخل .primary-content-inner flex →
 *   نتيجة: المقال يصبح عمودًا في 4-column grid.
 * ما الذي يكسره الأب: flex/grid على main containers.
 * !important مُبرَّر: nadeed لتغلّب على flex inline computed values.
 * ============================================================ */
.single-article {
    display: block !important;
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: 100%;
    flex-basis: 100% !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    grid-column: 1 / -1 !important;
}

.single-article > * {
    display: block;
    inline-size: 100%;
    flex-basis: 100% !important;
    grid-column: 1 / -1 !important;
}

/* استثناء: .single-layout يبقى grid (TOC + main) */
.single-article > .single-layout,
.single-article > .ad-container.single-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
}
.single-article > .single-layout--with-toc,
.single-article > .ad-container.single-layout.single-layout--with-toc {
    grid-template-columns: 240px minmax(0, 1fr) !important;
}
@media (max-width: 992px) {
    .single-article > .single-layout--with-toc,
    .single-article > .ad-container.single-layout.single-layout--with-toc {
        grid-template-columns: 1fr !important;
    }
}

.single-related-wrap {
    display: block;
    inline-size: 100%;
    clear: both;
    margin-block-start: var(--ad-space-2xl, 89px);
}


/* ============================================================
 * (2) عزل widget bars القالب الأب عن المقال
 * ------------------------------------------------------------
 * السبب: a4h_widgets_sidebar() قد تحقن widgets بجانب article كـ flex children.
 * ما يكسره الأب: float/flex على widget-area داخل #site-main.
 * specificity: #site-main > .X = 0,1,1 vs parent .X = 0,1,0 → نتغلّب بدون !important.
 * ============================================================ */
#site-main > .widget-area,
#site-main > aside,
#site-main > .primary-content,
#site-main > .glob-container-outer {
    display: block;
    inline-size: 100%;
    clear: both;
    float: none;
}


/* ============================================================
 * (3) Selection color — global override
 * ============================================================ */
::selection      { background: var(--ad-c-primary-500, #8db600); color: #fff; }
::-moz-selection { background: var(--ad-c-primary-500, #8db600); color: #fff; }


/* ============================================================
 * (4) ARCHIVE / SEARCH / CATEGORY POLISH (Desktop)
 * ------------------------------------------------------------
 * specificity: body.archive .X = 0,2,1 vs parent .X = 0,1,0 → win بدون !important.
 * ============================================================ */

/* (4.1) Container max-width */
body.archive .glob-container-outer,
body.search .glob-container-outer,
body.category .glob-container-outer,
body.tag .glob-container-outer,
body.author .glob-container-outer {
    max-inline-size: 1280px;
    margin-inline: auto;
    padding-inline: 24px;
}

@media (max-width: 1023.98px) {
    body.archive .glob-container-outer,
    body.search .glob-container-outer,
    body.category .glob-container-outer {
        padding-inline: 16px;
    }
}

@media (max-width: 480px) {
    body.archive .glob-container-outer,
    body.search .glob-container-outer,
    body.category .glob-container-outer {
        padding-inline: 12px;
    }
}

/* (4.2) شريط الفئات في أعلى الصفحة */
body.archive .glob-links,
body.category .glob-links,
body.search .glob-links,
.terms-list-wrapper {
    inline-size: 100%;
    max-inline-size: 100%;
    overflow: visible;
    margin-block-end: 24px;
}

body.archive .glob-links-inner,
body.category .glob-links-inner,
body.search .glob-links-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
    justify-content: flex-start;
    align-items: center;
}

body.archive .glob-links-inner > *,
body.category .glob-links-inner > *,
body.search .glob-links-inner > * {
    flex: 0 0 auto;
    inline-size: auto;
    max-inline-size: 100%;
}

body.archive .glob-links-inner > a,
body.archive .glob-links-inner li > a,
body.category .glob-links-inner > a,
body.category .glob-links-inner li > a,
body.search .glob-links-inner > a {
    display: inline-flex;
    align-items: center;
    padding: 9px 16px;
    border-radius: 22px;
    background: #f3f4f6;
    color: #1a1a1a;
    border: 1px solid transparent;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: none;
    white-space: nowrap;
    transition: all 0.15s ease;
}

body.archive .glob-links-inner > a:hover,
body.category .glob-links-inner > a:hover,
body.search .glob-links-inner > a:hover {
    background: rgba(141, 182, 0, 0.12);
    color: var(--ad-c-primary-700, #6a8a00);
    transform: translateY(-1px);
}

body.archive .glob-links-inner .current,
body.archive .glob-links-inner .current > a,
body.archive .glob-links-inner > .current,
body.category .glob-links-inner .current,
body.category .glob-links-inner .current > a,
body.category .glob-links-inner > .current,
body.archive .glob-links-inner > .current > a,
body.category .glob-links-inner > .current > a {
    background: var(--ad-c-primary-500, #8db600);
    color: #fff;
    border-color: var(--ad-c-primary-700, #6a8a00);
    box-shadow: 0 2px 6px rgba(141, 182, 0, 0.3);
}

/* (4.3) Posts grid في الأرشيف/البحث */
@media (min-width: 768px) {
    body.archive .posts-loop,
    body.archive .posts-list,
    body.archive .archive-loop,
    body.search .posts-loop,
    body.search .posts-list,
    body.category .posts-loop,
    body.category .posts-list {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 20px;
        padding: 0;
        list-style: none;
    }
}

@media (min-width: 1200px) {
    body.archive .posts-loop,
    body.archive .posts-list,
    body.search .posts-loop,
    body.category .posts-loop {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 24px;
    }
}

/* Post card */
body.archive article.post,
body.archive .posts-loop > article,
body.archive .posts-list > .post,
body.search article.post,
body.category article.post,
body.tag article.post,
body.author article.post {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
}

body.archive article.post:hover,
body.search article.post:hover,
body.category article.post:hover,
body.tag article.post:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.10);
    border-color: rgba(141, 182, 0, 0.25);
}

/* Thumbnail */
body.archive article.post .post-thumbnail,
body.archive article.post .post-thumb,
body.search article.post .post-thumbnail,
body.category article.post .post-thumbnail,
body.tag article.post .post-thumbnail {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    margin: 0;
    block-size: auto;
    background: #f3f4f6;
}
body.archive article.post .post-thumbnail a,
body.search article.post .post-thumbnail a,
body.category article.post .post-thumbnail a {
    display: block;
    block-size: 100%;
    inline-size: 100%;
}
body.archive article.post .post-thumbnail img,
body.archive article.post .post-thumb img,
body.search article.post .post-thumbnail img,
body.category article.post .post-thumbnail img,
body.tag article.post .post-thumbnail img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
body.archive article.post:hover .post-thumbnail img,
body.search article.post:hover .post-thumbnail img,
body.category article.post:hover .post-thumbnail img {
    transform: scale(1.05);
}

/* Post body */
body.archive article.post .post-content,
body.archive article.post .post-header,
body.archive article.post .post-body,
body.archive article.post .entry-summary,
body.search article.post .post-content,
body.category article.post .post-content,
body.tag article.post .post-content {
    padding: 16px 18px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Post title */
body.archive article.post .post-title,
body.archive article.post h2.post-title,
body.archive article.post h3.post-title,
body.search article.post .post-title,
body.category article.post .post-title,
body.tag article.post .post-title {
    font-size: 1.05rem;
    line-height: 1.45;
    font-weight: 700;
    margin: 0 0 8px;
}
body.archive article.post .post-title a,
body.search article.post .post-title a,
body.category article.post .post-title a {
    color: #111;
    text-decoration: none;
    transition: color 0.15s ease;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
body.archive article.post .post-title a:hover,
body.search article.post .post-title a:hover,
body.category article.post .post-title a:hover {
    color: var(--ad-c-primary-700, #6a8a00);
}

/* Post meta */
body.archive article.post .post-meta,
body.archive article.post .entry-meta,
body.archive article.post .post-cat-wrap,
body.search article.post .post-meta,
body.category article.post .post-meta {
    font-size: 0.78rem;
    color: #6b7280;
    margin-block-start: auto;
    padding-block-start: 12px;
    gap: 8px;
    flex-wrap: wrap;
    display: flex;
    align-items: center;
}

/* Category badge */
body.archive article.post .post-cat-wrap a,
body.archive article.post .term-link,
body.archive article.post .entry-cat,
body.archive article.post .post-cat,
body.search article.post .post-cat-wrap a,
body.category article.post .post-cat-wrap a {
    display: inline-block;
    padding: 3px 10px;
    background: rgba(141, 182, 0, 0.12);
    color: var(--ad-c-primary-700, #6a8a00);
    border-radius: 4px;
    font-size: 0.72rem;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.15s ease;
}
body.archive article.post .post-cat-wrap a:hover,
body.search article.post .post-cat-wrap a:hover,
body.category article.post .post-cat-wrap a:hover {
    background: rgba(141, 182, 0, 0.2);
}

/* Excerpt */
body.archive article.post .post-excerpt,
body.archive article.post .entry-summary p,
body.search article.post .post-excerpt {
    font-size: 0.85rem;
    color: #4b5563;
    line-height: 1.6;
    margin: 0 0 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* (4.4) Archive header */
body.archive .archive-header,
body.archive .page-header,
body.search .page-header,
body.category .archive-header {
    text-align: start;
    padding-block: 24px 16px;
    margin-block-end: 16px;
    border-block-end: 1px solid #f0f0f0;
}
body.archive .archive-title,
body.archive .page-title,
body.search .page-title,
body.category .archive-title {
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-weight: 800;
    color: #111;
    margin: 0 0 8px;
    line-height: 1.3;
}
body.archive .archive-description,
body.search .archive-description {
    font-size: 0.95rem;
    color: #6b7280;
    margin: 0;
}

/* (4.5) Search form */
body.search .search-form,
.archive-search-form {
    max-inline-size: 600px;
    margin-block-end: 24px;
}
body.search .search-form input[type="search"] {
    padding: 12px 16px;
    font-size: 1rem;
    border: 2px solid #e5e7eb;
    border-radius: 10px;
    inline-size: 100%;
    transition: border-color 0.15s ease;
}
body.search .search-form input[type="search"]:focus {
    border-color: var(--ad-c-primary-500, #8db600);
    outline: none;
    box-shadow: 0 0 0 3px rgba(141, 182, 0, 0.15);
}


/* ============================================================
 * (5) UNIVERSAL POST CARDS — كل الصفحات
 * ------------------------------------------------------------
 * specificity: .glob-container article.post = 0,1,1.
 * Parent likely uses article.post (0,0,1) أو .post (0,1,0) أو article.post (0,1,1).
 * في حالة tie، نتغلّب بـ source order (تُحمَّل ملفاتنا بعد parent).
 * !important يُحتفَظ بها فقط على القواعد التي شوهد parent يستخدم نفس الـ
 * specificity مع inline values محسوبة (مثل display:flex inline).
 * ============================================================ */

/* (5.1) Container universal */
.glob-container,
.glob-container-outer,
body.archive .glob-container-outer,
body.search .glob-container-outer,
body.category .glob-container-outer,
body.tag .glob-container-outer,
body.author .glob-container-outer,
body.home .glob-container-outer {
    max-inline-size: 1320px;
    margin-inline: auto;
    padding-inline: clamp(12px, 2vw, 20px);
    box-sizing: border-box;
}

/* (5.2) Universal post cards */
.glob-container article.post,
.glob-container .post,
.archive-loop article.post,
.archive-loop .post,
.post-listing article,
.post-listing .post,
.posts-list article,
.posts-list .post,
.posts-loop article,
.posts-loop .post,
.primary-content article.post,
.primary-content .post-list-item,
article[class*="post-"]:not(.single-article) {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    margin-block-end: 16px;
    display: flex;
    flex-direction: column;
}

.glob-container article.post:hover,
.archive-loop article.post:hover,
.posts-loop article.post:hover,
.primary-content article.post:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
    border-color: rgba(141, 182, 0, 0.2);
}

/* (5.3) Universal post thumbnails */
.glob-container .post-thumbnail,
.glob-container .post-thumb,
.archive-loop .post-thumbnail,
.posts-loop .post-thumbnail,
.posts-list .post-thumbnail,
.primary-content .post-thumbnail,
.post-thumb,
.entry-thumb,
.post-image {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    margin: 0;
    background: #f3f4f6;
    inline-size: 100%;
    block-size: auto;
    border-radius: 0;
}

.glob-container .post-thumbnail a,
.archive-loop .post-thumbnail a,
.posts-loop .post-thumbnail a,
.primary-content .post-thumbnail a,
.post-thumb a {
    display: block;
    inline-size: 100%;
    block-size: 100%;
}

.glob-container .post-thumbnail img,
.archive-loop .post-thumbnail img,
.posts-loop .post-thumbnail img,
.primary-content .post-thumbnail img,
.post-thumb img,
.entry-thumb img,
.post-image img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.glob-container article.post:hover .post-thumbnail img,
.archive-loop article.post:hover .post-thumbnail img,
.primary-content article.post:hover .post-thumbnail img {
    transform: scale(1.05);
}

/* (5.4) Universal post body */
.glob-container article.post .post-content,
.glob-container article.post .post-body,
.glob-container article.post .post-header,
.glob-container article.post .entry-summary,
.archive-loop article.post .post-content,
.archive-loop article.post .post-body,
.posts-loop article.post .post-content,
.primary-content article.post .post-content {
    padding: 14px 18px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* (5.5) Universal post titles */
.glob-container .post-title,
.glob-container h2.post-title,
.glob-container h3.post-title,
.archive-loop .post-title,
.posts-loop .post-title,
.posts-list .post-title,
.primary-content article.post .post-title,
.primary-content article.post h2.post-title,
.primary-content article.post h3.post-title {
    font-size: clamp(0.95rem, 1.2vw, 1.1rem);
    line-height: 1.45;
    font-weight: 700;
    margin: 0 0 8px;
}

.glob-container .post-title a,
.archive-loop .post-title a,
.posts-loop .post-title a,
.primary-content .post-title a {
    color: #111;
    text-decoration: none;
    transition: color 0.15s ease;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.glob-container .post-title a:hover,
.archive-loop .post-title a:hover,
.posts-loop .post-title a:hover,
.primary-content .post-title a:hover {
    color: var(--ad-c-primary-700, #6a8a00);
}

/* (5.6) Universal post meta */
.glob-container article.post .post-meta,
.glob-container article.post .entry-meta,
.glob-container article.post .post-cat-wrap,
.archive-loop article.post .post-meta,
.posts-loop article.post .post-meta,
.primary-content article.post .post-meta,
.primary-content article.post .post-cat-wrap {
    font-size: 0.78rem;
    color: #6b7280;
    margin-block-start: auto;
    padding-block-start: 10px;
    gap: 8px;
    flex-wrap: wrap;
    display: flex;
    align-items: center;
}

/* (5.7) Universal category badges */
.glob-container .post-cat-wrap a,
.glob-container article.post .term-link,
.glob-container article.post .entry-cat,
.glob-container article.post .post-cat,
.archive-loop article.post .post-cat-wrap a,
.posts-loop article.post .post-cat-wrap a,
.primary-content article.post .post-cat-wrap a,
.primary-content article.post .term-link {
    display: inline-block;
    padding: 3px 10px;
    background: rgba(141, 182, 0, 0.12);
    color: var(--ad-c-primary-700, #6a8a00);
    border-radius: 4px;
    font-size: 0.72rem;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.15s ease;
    margin-block-end: 6px;
}

.glob-container .post-cat-wrap a:hover,
.archive-loop .post-cat-wrap a:hover,
.primary-content .post-cat-wrap a:hover {
    background: rgba(141, 182, 0, 0.2);
}

/* (5.8) Universal grid layout */
@media (min-width: 768px) {
    body.archive .posts-loop,
    body.archive .posts-list,
    body.archive .archive-loop,
    body.search .posts-loop,
    body.search .posts-list,
    body.category .posts-loop,
    body.category .posts-list,
    body.tag .posts-loop,
    body.author .posts-loop {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
        gap: 16px;
        padding: 0;
        list-style: none;
    }

    body.archive .posts-loop > article,
    body.archive .posts-list > article,
    body.search .posts-loop > article,
    body.category .posts-loop > article {
        margin-block-end: 0;
    }
}

@media (min-width: 1200px) {
    body.archive .posts-loop,
    body.search .posts-loop,
    body.category .posts-loop {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 20px;
    }
}


/* ============================================================
 * (6) HOMEPAGE — primary-header للقالب الأب
 * ------------------------------------------------------------
 * specificity: .glob-container .primary-header = 0,2,0 vs parent's .primary-header
 * (0,1,0) → نتغلّب بدون !important.
 * ============================================================ */

.glob-container .primary-header,
.home .glob-container .primary-header,
.home .primary-header-inner,
body.home .section-title {
    margin-block-end: 20px;
    border-block-end: 2px solid rgba(141, 182, 0, 0.15);
    padding-block-end: 10px;
    position: relative;
}

.glob-container .primary-header h2,
.glob-container .primary-header h3,
.home .primary-header h2,
.home .primary-header h3,
body.home .section-title {
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    font-weight: 800;
    color: #111;
    margin: 0;
    line-height: 1.3;
    position: relative;
    padding-inline-start: 14px;
}

.glob-container .primary-header h2::before,
.glob-container .primary-header h3::before,
.home .primary-header h2::before,
.home .primary-header h3::before,
body.home .section-title::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 0.15em;
    inline-size: 4px;
    block-size: 1.1em;
    background: linear-gradient(
        to bottom,
        var(--ad-c-primary-500, #8db600),
        var(--ad-c-primary-700, #6a8a00)
    );
    border-radius: 2px;
}

body.home .glob-container > .primary-content + .primary-content,
body.home .primary-content {
    margin-block-end: 32px;
}

@media (min-width: 992px) {
    body.home .glob-container > .primary-content + .primary-content {
        margin-block-end: 48px;
    }
}
