/*
Theme Name:   Astra KIFA
Theme URI:    https://kifa.vn/
Description:  Child theme cho Astra — branding KIFA (Học viện Bóng đá Quốc tế Hàn Quốc).
Author:       KIFA Team
Author URI:   https://kifa.vn/
Template:     astra
Version:      1.2.0
Text Domain:  astra-kifa
*/

:root {
    --kifa-navy: #0E4D92;
    --kifa-navy-dark: #07305a;
    --kifa-red: #CD2E3A;
    --kifa-yellow: #FFC72C;
    --kifa-gray: #f5f7fa;
}

/* Buttons */
.wp-block-button__link,
.elementor-button,
.ast-button,
button.ast-custom-button,
.menu-toggle {
    background-color: var(--kifa-red) !important;
    color: #fff !important;
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: 0.02em;
    transition: transform .15s ease, background-color .15s ease;
}
.wp-block-button__link:hover,
.elementor-button:hover,
.ast-button:hover {
    background-color: #a8222d !important;
    transform: translateY(-2px);
}

/* Headings */
h1, h2, h3,
.entry-title,
.ast-section-title {
    color: var(--kifa-navy);
    font-weight: 700;
    letter-spacing: -0.01em;
}

/* Links — unified style: no underline by default, underline on hover */
a {
    color: var(--kifa-navy);
    text-decoration: none;
    transition: color .15s ease;
}
a:hover, a:focus {
    color: var(--kifa-red);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}
/* Inline content links inside post body — underlined by default for clarity */
.entry-content a:not(.wp-element-button):not(.button):not(.kifa-cta-btn):not(.kifa-yt-card):not(.kifa-news-card),
.post-content a:not(.wp-element-button):not(.button) {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    color: var(--kifa-red);
}
.entry-content a:hover {
    color: var(--kifa-navy);
    text-decoration-thickness: 2px;
}
/* Cards / buttons / menu / swiper / Elementor — never underline */
.kifa-yt-card, .kifa-yt-card *, .kifa-news-card, .kifa-news-card *,
.kifa-cta-btn, .kifa-footer-cta,
.kifa-menu a, .kifa-footer-links a, .kifa-social, .kifa-footer-social a,
.swiper a, .swiper-slide a, .swiper-slide a *,
.elementor a, .elementor-button, .wp-block-button__link, button,
.site-header a, .site-footer a, .kifa-header a, .kifa-footer a {
    text-decoration: none !important;
}
.kifa-yt-card:hover, .kifa-yt-card:hover *,
.kifa-news-card:hover, .kifa-news-card:hover *,
.swiper-slide a:hover, .swiper-slide a:hover *,
.elementor a:hover { text-decoration: none !important; }

/* Custom page templates (front-page, giới thiệu, HLV, chương trình, đăng ký, tin tức)
   — UI links never underline, kể cả hover. Link trong nội dung bài viết
   (.kifa-ap-content a) vẫn gạch chân riêng vì đó là link nội dung. */
.kifa-fp a, .kifa-ab a, .kifa-hlv a, .kifa-reg a, .kifa-prog a,
.kifa-news-page a, .kifa-article-page a,
.kifa-fp a:hover, .kifa-ab a:hover, .kifa-hlv a:hover, .kifa-reg a:hover, .kifa-prog a:hover,
.kifa-news-page a:hover, .kifa-article-page a:hover {
    text-decoration: none !important;
}
.kifa-article-page .kifa-ap-content a { text-decoration: underline !important; }

/* Single post (Astra default) — improved layout */
.single-post .ast-container,
.single-post #primary {
    max-width: 800px;
    margin: 0 auto;
}
.single-post .entry-title {
    font-size: 36px;
    line-height: 1.2;
    margin: 30px 0 20px;
    color: var(--kifa-navy);
}
.single-post .entry-meta,
.single-post .post-meta {
    color: #888;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 30px;
}
.single-post .entry-content {
    font-size: 17px;
    line-height: 1.75;
    color: #2a3441;
}
.single-post .entry-content p { margin: 0 0 1.4em; }
.single-post .entry-content figure,
.single-post .entry-content .wp-block-image,
.single-post .entry-content .wp-block-embed {
    margin: 2em 0;
}
.single-post .entry-content img {
    border-radius: 12px;
    max-width: 100%;
    height: auto;
    box-shadow: 0 4px 24px rgba(14,77,146,0.08);
}
.single-post .entry-content iframe { border-radius: 12px; }
.single-post .entry-content h2,
.single-post .entry-content h3 {
    margin-top: 2em;
    color: var(--kifa-navy);
}

/* Archive (Tin tức list) — clean grid */
.archive .ast-container article,
.blog .ast-container article,
.category .ast-container article {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 30px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    transition: all .25s;
}
.archive article:hover,
.category article:hover,
.blog article:hover {
    box-shadow: 0 12px 36px rgba(14,77,146,0.14);
    transform: translateY(-3px);
}
.archive .entry-title,
.category .entry-title,
.blog .entry-title {
    font-size: 22px;
    margin: 0 0 10px;
    line-height: 1.35;
}

/* Header */
.site-header,
.ast-primary-header-bar {
    border-bottom: 3px solid var(--kifa-yellow);
}
.main-header-menu > .menu-item > a {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.92em;
    color: var(--kifa-navy);
}
.main-header-menu > .current-menu-item > a {
    color: var(--kifa-red);
}

/* Hero overlays */
.wp-block-cover {
    border-radius: 12px;
    overflow: hidden;
}
.wp-block-cover h1,
.wp-block-cover h2 {
    color: #fff !important;
    text-shadow: 0 2px 12px rgba(0,0,0,0.5);
}

/* USP columns */
.wp-block-columns h3 {
    margin-top: 0;
    color: var(--kifa-navy);
}

/* Page title bar */
.ast-page-builder-template .entry-header,
.entry-header.ast-no-title.ast-no-thumbnail.ast-no-meta {
    display: none;
}

/* Hero flush under header — remove empty Astra entry-header + content top-spacing
   so the first Elementor section sits right against the header bottom. */
.entry-header.ast-no-title.ast-no-thumbnail,
.entry-header.ast-header-without-markup {
    display: none !important;
}
.elementor-page #main.site-main,
.elementor-page #primary,
.elementor-page .ast-article-single,
.elementor-page .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
.elementor-page #content { padding-top: 0 !important; }

/* USP row (Home) — pull 3 columns apart */
.elementor-8 .elementor-element-3666dc8,
.elementor-8 .elementor-element-5341b92,
.elementor-8 .elementor-element-a7ae261 {
    padding: 0 18px !important;
}

/* Chương trình row (Home) — same spacing for 3 cards (U7-U9 / U11-U13 / U15) */
.elementor-8 .elementor-element-6bd2c20,
.elementor-8 .elementor-element-7765d2b,
.elementor-8 .elementor-element-f3db244 {
    padding: 0 14px !important;
}

/* HLV page — 3 HLV cards (Park / Kim Dong Hae / Trợ giảng) */
.elementor-11 .elementor-element-4766cf4,
.elementor-11 .elementor-element-804e424,
.elementor-11 .elementor-element-4c41213 {
    padding: 0 18px !important;
}

/* ============ MOBILE FIXES (≤ 767px) ============ */
@media (max-width: 767px) {
    /* Hero — reduce padding for less gap to header */
    .elementor-8 .elementor-element-33c9fa0 {
        padding: 60px 16px !important;
    }
    .elementor-8 .elementor-element-26c816d .elementor-heading-title {
        font-size: 32px !important;
        line-height: 1.15em !important;
    }
    .elementor-8 .elementor-element-fd7a857 .elementor-heading-title {
        font-size: 16px !important;
    }
    /* All other sub-page heroes */
    .elementor-page .elementor-top-section.elementor-section-stretched:first-of-type {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }

    /* Reduce section padding on mobile */
    .elementor-top-section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }
    /* But keep CTA & stats spacing tight */
    .elementor-8 .elementor-element-6293e43,
    .elementor-8 .elementor-element-2fae5f4 {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }

    /* USP / Chương trình / HLV columns — remove side padding (already stacked vertically), add bottom margin */
    .elementor-8 .elementor-element-3666dc8,
    .elementor-8 .elementor-element-5341b92,
    .elementor-8 .elementor-element-a7ae261,
    .elementor-8 .elementor-element-6bd2c20,
    .elementor-8 .elementor-element-7765d2b,
    .elementor-8 .elementor-element-f3db244,
    .elementor-11 .elementor-element-4766cf4,
    .elementor-11 .elementor-element-804e424,
    .elementor-11 .elementor-element-4c41213 {
        padding: 0 !important;
        margin-bottom: 18px !important;
    }

    /* Reduce big stat numbers font on mobile so they fit */
    .elementor-8 .elementor-element-49774f8 .elementor-heading-title,
    .elementor-8 .elementor-element-4232c4c .elementor-heading-title,
    .elementor-8 .elementor-element-6aa4bb3 .elementor-heading-title,
    .elementor-8 .elementor-element-3f85dba .elementor-heading-title {
        font-size: 42px !important;
    }

    /* Section headings on mobile */
    .elementor-top-section h2.elementor-heading-title {
        font-size: 26px !important;
    }
}

/* Hero section custom bg position override (Elementor preset values only support keyword, not %) */
.elementor-8 .elementor-element-33c9fa0:not(.elementor-motion-effects-element-type-background),
.elementor-8 .elementor-element-33c9fa0 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-position: 50% 70% !important;
}

/* Sub-page heroes are SHORTER than the home hero — the subject (team, ~mid of photo)
   gets cropped. Push the background down so the center of the image stays in view. */
.elementor-9 .elementor-element-faaf3d1,
.elementor-9 .elementor-element-faaf3d1 .elementor-background-overlay,
.elementor-11 .elementor-element-18ca171,
.elementor-11 .elementor-element-18ca171 .elementor-background-overlay,
.elementor-12 .elementor-element-65ba187,
.elementor-12 .elementor-element-65ba187 .elementor-background-overlay,
.elementor-14 .elementor-element-f05638c,
.elementor-14 .elementor-element-f05638c .elementor-background-overlay {
    background-position: 50% 62% !important;
}

/* Footer */
.site-footer {
    background-color: var(--kifa-navy-dark);
    color: #cfd8e3;
}
.site-footer a {
    color: #fff;
}

/* Custom highlights */
.kifa-highlight {
    background: linear-gradient(135deg, var(--kifa-navy) 0%, var(--kifa-navy-dark) 100%);
    color: #fff;
    padding: 3rem 1.5rem;
    border-radius: 16px;
    text-align: center;
}
.kifa-highlight h2 {
    color: #fff !important;
}
.kifa-badge {
    display: inline-block;
    background: var(--kifa-yellow);
    color: var(--kifa-navy);
    padding: 0.3em 1em;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.85em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
