/*
Theme Name: آکادمی وردپرس
Theme URI: http://localhost:8080
Description: قالب فرزند از Twenty Twenty-Five با هدر فارسی، منوی اختصاصی و صفحه نخست طراحی‌شده
Author: WordPress Academy
Template: twentytwentyfive
Version: 1.1.0
Text Domain: academy-theme
*/

/* ==========================================================================
   متغیرهای پایه
   ========================================================================== */
:root {
    --academy-primary: #1d4ed8;
    --academy-primary-dark: #1e3a8a;
    --academy-accent: #f59e0b;
    --academy-ink: #111827;
    --academy-body: #374151;
    --academy-muted: #6b7280;
    --academy-line: #e5e7eb;
    --academy-bg: #ffffff;
    --academy-soft: #f9fafb;
    --academy-radius: 14px;
    --academy-radius-sm: 9px;
    --academy-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 8px 24px rgba(0, 0, 0, .05);
    --academy-shadow-lg: 0 12px 40px rgba(0, 0, 0, .10);
    --academy-max: 1200px;
}

/* ==========================================================================
   پایه
   ========================================================================== */
body {
    font-family: 'Vazirmatn', -apple-system, BlinkMacSystemFont, 'Segoe UI', Tahoma, sans-serif;
    line-height: 1.85;
    color: var(--academy-body);
    background: var(--academy-bg);
    -webkit-font-smoothing: antialiased;
}

/*
 * Twenty Twenty-Five روی گروه‌ها محدودیت عرض و padding اعمال می‌کند.
 * برای اینکه بخش‌های صفحه نخست کنترل کامل روی عرض داشته باشند،
 * کلاس‌های layout قالب والد را خنثی می‌کنیم.
 */
.academy-home .ac-container,
.academy-home .ac-hero-inner,
.academy-home .ac-section,
.academy-home .ac-hero,
.academy-home .ac-section-head,
.academy-home .ac-head-row,
.academy-home .ac-head-row > .wp-block-group {
    max-width: none !important;
    width: auto;
    margin-inline: 0;
}

/* حذف padding سراسری قالب والد و کنترل فاصله عمودی بخش‌ها */
.academy-home .has-global-padding,
.academy-home .ac-container {
    padding-inline: 24px !important;
    padding-top: 0;
    padding-bottom: 0;
}

/* قالب والد padding عمودی سخاوتمندانه به هر گروه اضافه می‌کند که باعث
   ایجاد فضای مرده بین بخش‌ها می‌شود. آن را خنثی می‌کنیم و
   فاصله عمودی را روی خود .ac-section می‌گذاریم نه فرزندانش. */
.academy-home .ac-hero-inner,
.academy-home .ac-section-head,
.academy-home .ac-head-row,
.academy-home .ac-head-row > .wp-block-group {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-block: 0 !important;
}

/* قالب والد برای هر گروه داخل constrained یک max-width محاسبه‌شده اعمال می‌کند.
   آن را برای تمام اجزای صفحه نخست خنثی می‌کنیم. */
.academy-home .wp-block-group.is-layout-constrained,
.academy-home .wp-block-group.is-layout-constrained > *,
.academy-home .ac-cats-grid,
.academy-home .ac-latest-grid,
.academy-home .ac-featured-grid,
.academy-home .ac-hero-inner,
.academy-home .ac-section-head,
.academy-home .ac-head-row,
.academy-home .ac-head-row > .wp-block-group,
.academy-home .ac-cta {
    max-width: none !important;
    width: auto;
    margin-inline: 0;
}

/* کانتینر داخلی: عرض ثابت و وسط‌چین */
.academy-home .ac-container {
    max-width: var(--academy-max) !important;
    width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
}

/* بخش‌ها تمام عرض صفحه */
.academy-home .ac-section,
.academy-home .ac-hero {
    max-width: none !important;
    width: 100%;
}

/* فاصله عمودی بخش‌ها — روی خود .ac-section اعمال می‌شود (نه فرزندان) */
.academy-home .ac-section {
    padding-block: 60px !important;
    margin-block: 0 !important;
}

.academy-home .ac-hero {
    padding-block: 72px 84px !important;
    margin-block: 0 !important;
}

a {
    text-decoration: none;
    transition: color .15s ease;
}

img {
    max-width: 100%;
    height: auto;
}

code, pre {
    font-family: ui-monospace, SFMono-Regular, 'Cascadia Code', Consolas, monospace;
}

/* ==========================================================================
   هدر
   ========================================================================== */
.academy-header {
    background: rgba(255, 255, 255, .92);
    backdrop-filter: saturate(180%) blur(12px);
    border-bottom: 1px solid var(--academy-line);
    padding: 14px 0;
    position: sticky;
    top: 0;
    z-index: 200;
}

.academy-header-inner {
    max-width: var(--academy-max);
    margin: 0 auto;
    width: 100%;
    padding: 0 24px;
    gap: 20px;
}

.academy-site-title {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--academy-ink);
    letter-spacing: -.02em;
    white-space: nowrap;
    margin: 0;
}

.academy-site-title a {
    color: inherit;
}

.academy-site-title a:hover {
    color: var(--academy-primary);
}

.academy-menu {
    display: flex;
    align-items: center;
    gap: 2px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

.academy-menu li {
    position: relative;
    margin: 0;
}

.academy-menu a {
    display: block;
    padding: 9px 14px;
    border-radius: var(--academy-radius-sm);
    color: var(--academy-body);
    font-size: .96rem;
    font-weight: 500;
    white-space: nowrap;
}

.academy-menu a:hover {
    background: var(--academy-soft);
    color: var(--academy-ink);
}

.academy-menu .current-menu-item > a,
.academy-menu .current_page_item > a {
    color: var(--academy-primary);
    font-weight: 700;
    background: rgba(29, 78, 216, .07);
}

.academy-menu .menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    margin-inline-start: 6px;
    vertical-align: middle;
    opacity: .5;
}

.academy-menu .sub-menu {
    position: absolute;
    top: calc(100% + 6px);
    inset-inline-start: 0;
    background: #fff;
    border: 1px solid var(--academy-line);
    border-radius: var(--academy-radius-sm);
    min-width: 190px;
    padding: 6px;
    margin: 0;
    list-style: none;
    box-shadow: var(--academy-shadow-lg);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
    z-index: 300;
}

.academy-menu li:hover > .sub-menu,
.academy-menu li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

@media (max-width: 780px) {
    .academy-header-inner { justify-content: center; }
    .academy-menu { justify-content: center; }
}

/* ==========================================================================
   متای نوشته
   ========================================================================== */
.academy-meta {
    margin: 0 0 1.1em;
    font-size: .88rem;
}

.academy-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 6px;
}

.academy-cat,
.academy-tag {
    display: inline-block;
    padding: 3px 11px;
    border-radius: 99px;
    font-size: .8rem;
    font-weight: 600;
    line-height: 1.8;
}

.academy-cat {
    background: rgba(29, 78, 216, .09);
    color: var(--academy-primary-dark);
}

.academy-cat:hover { background: rgba(29, 78, 216, .16); }

.academy-tag {
    background: var(--academy-soft);
    color: var(--academy-muted);
    border: 1px solid var(--academy-line);
}

.academy-tag:hover { color: var(--academy-primary); border-color: var(--academy-primary); }

/* ==========================================================================
   فوتر
   ========================================================================== */
.academy-footer {
    background: #0f172a;
    color: #cbd5e1;
    padding: 48px 0 0;
    margin-top: 0;
}

.academy-footer .wp-block-columns,
.academy-footer .wp-block-column {
    max-width: none !important;
    width: auto;
    margin-inline: 0;
}

.academy-footer .wp-block-columns {
    max-width: var(--academy-max) !important;
    width: 100%;
    margin-inline: auto;
    padding-inline: 24px;
    box-sizing: border-box;
    gap: 40px;
}

.academy-footer .wp-block-column {
    min-width: 0;
}

.academy-footer a { color: #e2e8f0; }
.academy-footer a:hover { color: #fff; }

.footer-widget-title {
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 14px;
}

.academy-footer-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 10px;
}

.academy-footer-title a { color: #fff; }

.academy-footer-about {
    color: #94a3b8;
    font-size: .92rem;
    line-height: 1.95;
    margin: 0;
    max-width: 34ch;
}

.academy-footer-menu,
.academy-footer-cats {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
    font-size: .93rem;
}

.academy-footer-cats span {
    color: #64748b;
    font-size: .82rem;
}

.academy-footer-bottom p {
    margin: 0;
}

.academy-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .1);
    margin: 40px auto 0;
    padding: 20px 24px 26px;
    font-size: .88rem;
    color: #94a3b8;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    max-width: var(--academy-max);
    box-sizing: border-box;
}
