/*
 * =========================================================
 * ARFA ACADEMY — UNIFIED FRONTEND CSS
 * =========================================================
 *
 * Covers:
 * - Academy Finder: Full / Sidebar / Header
 * - Academy Article Cards
 * - Related Articles Slider
 * - Home Featured Articles Slider
 * - Responsive behavior
 *
 * Designed to work with:
 * [arfa_featured_articles limit="6"]
 *
 * =========================================================
 */


/* =========================================================
   1. ARFA DESIGN TOKENS
   ========================================================= */

.arfa-academy-finder-search,
.arfa-related-slider,
.arfa-home-academy-grid {

    --arfa-gold: #c9a96e;
    --arfa-gold-light: #e5c98b;
    --arfa-black: #0b0b0b;
    --arfa-panel: #111111;
    --arfa-panel-soft: #151515;

    --arfa-border: rgba(201,169,110,.18);
    --arfa-border-hover: rgba(201,169,110,.45);

    --arfa-text: #ffffff;
    --arfa-muted: rgba(255,255,255,.58);

    box-sizing: border-box;
}

.arfa-academy-finder-search *,
.arfa-academy-finder-search *::before,
.arfa-academy-finder-search *::after,
.arfa-related-slider *,
.arfa-related-slider *::before,
.arfa-related-slider *::after,
.arfa-home-academy-grid *,
.arfa-home-academy-grid *::before,
.arfa-home-academy-grid *::after {
    box-sizing: border-box;
}


/* =========================================================
   2. GLOBAL ARFA RESET
   ========================================================= */

.arfa-academy-finder-search ul,
.arfa-academy-finder-search ol,
.arfa-academy-finder-search li,
.arfa-related-slider ul,
.arfa-related-slider ol,
.arfa-related-slider li,
.arfa-home-academy-grid ul,
.arfa-home-academy-grid ol,
.arfa-home-academy-grid li {
    list-style: none !important;
}

.arfa-academy-finder-search ul,
.arfa-academy-finder-search ol,
.arfa-related-slider ul,
.arfa-related-slider ol,
.arfa-home-academy-grid ul,
.arfa-home-academy-grid ol {
    margin: 0 !important;
    padding: 0 !important;
}

.arfa-academy-finder-search button,
.arfa-related-slider button,
.arfa-home-academy-grid button {
    font-family: inherit;
}

.arfa-academy-finder-search a,
.arfa-related-slider a,
.arfa-home-academy-grid a {
    text-decoration: none !important;
    text-shadow: none !important;
}

.arfa-academy-finder-search img,
.arfa-related-slider img,
.arfa-home-academy-grid img {
    display: block !important;
    max-width: 100%;
}


/* =========================================================
   3. FINDER — BASE
   ========================================================= */

.arfa-academy-finder-search {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0;
    font-family: inherit;
}


/* =========================================================
   4. FINDER — SEARCH FORM
   ========================================================= */

.arfa-academy-finder-search-form {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.arfa-academy-finder-search-field {
    position: relative;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.arfa-academy-finder-search-input {
    display: block !important;
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;

    margin: 0 !important;
    padding: 0 18px !important;

    border: 1px solid var(--arfa-border) !important;
    border-radius: 10px !important;

    outline: none !important;

    background: rgba(255,255,255,.035) !important;
    background-image: none !important;

    color: #fff !important;

    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 46px !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    transition:
        border-color .25s ease,
        background .25s ease,
        box-shadow .25s ease;
}

.arfa-academy-finder-search-input::placeholder {
    color: rgba(255,255,255,.42) !important;
    opacity: 1 !important;
}

.arfa-academy-finder-search-input:hover {
    border-color: rgba(201,169,110,.32) !important;
}

.arfa-academy-finder-search-input:focus {
    border-color: rgba(201,169,110,.65) !important;
    background: rgba(255,255,255,.055) !important;
    box-shadow: 0 0 0 3px rgba(201,169,110,.06) !important;
}


/* =========================================================
   5. FINDER — SEARCH BUTTON
   ========================================================= */

.arfa-academy-finder-search-submit {
    flex: 0 0 76px !important;
    width: 76px !important;
    height: 46px !important;
    min-height: 46px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid rgba(201,169,110,.4) !important;
    border-radius: 10px !important;

    background: linear-gradient(
        135deg,
        #c9a96e,
        #e5c98b
    ) !important;

    color: #0b0b0b !important;

    font-family: inherit !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;

    cursor: pointer !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        opacity .2s ease;
}

.arfa-academy-finder-search-submit:hover {
    opacity: .92;
    transform: translateY(-1px);
    box-shadow: 0 7px 18px rgba(201,169,110,.16) !important;
}

.arfa-academy-finder-search-submit:active {
    transform: translateY(0);
}


/* =========================================================
   6. AUTOCOMPLETE
   ========================================================= */

.arfa-academy-finder-autocomplete {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 1000;

    display: none;

    width: 100%;
    max-height: 320px;
    overflow-y: auto;

    padding: 6px;

    border: 1px solid var(--arfa-border);
    border-radius: 12px;

    background: rgba(14,14,14,.98);

    box-shadow: 0 18px 45px rgba(0,0,0,.45);

    backdrop-filter: blur(16px);
}

.arfa-academy-finder-autocomplete.active {
    display: block;
}

.arfa-academy-finder-autocomplete-item {
    display: block;

    width: 100%;
    margin: 0;
    padding: 10px 12px;

    border: 0;
    border-radius: 8px;

    background: transparent;
    color: rgba(255,255,255,.8);

    font-size: 11px;
    line-height: 1.3;
    text-decoration: none;

    cursor: pointer;

    transition:
        background .2s ease,
        color .2s ease;
}

.arfa-academy-finder-autocomplete-item:hover {
    background: rgba(201,169,110,.1);
    color: var(--arfa-gold-light);
}


/* =========================================================
   7. TOPICS
   ========================================================= */

.arfa-academy-finder-topics {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 6px;

    margin-top: 16px;
    padding: 0;
}

.arfa-academy-finder-topic {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 0 !important;
    height: auto !important;

    margin: 0 !important;
    padding: 7px 12px !important;

    border: 1px solid rgba(201,169,110,.18) !important;
    border-radius: 999px !important;

    background: rgba(255,255,255,.025) !important;
    color: rgba(255,255,255,.62) !important;

    font-size: 8px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;

    cursor: pointer !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}

.arfa-academy-finder-topic:hover {
    border-color: rgba(201,169,110,.42) !important;
    color: #fff !important;
    transform: translateY(-1px);
}

.arfa-academy-finder-topic.active {
    background: rgba(201,169,110,.16) !important;
    border-color: rgba(201,169,110,.55) !important;
    color: var(--arfa-gold-light) !important;
}


/* =========================================================
   8. FINDER RESULTS
   ========================================================= */

.arfa-academy-finder-search-results {
    position: relative;
    width: 100%;
    margin-top: 22px;
}

.arfa-academy-finder-results-wrapper {
    position: relative;
    width: 100%;
    min-width: 0;
}


/* =========================================================
   9. STANDARD ARTICLE RAIL
   ========================================================= */

.arfa-academy-finder-results-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;

    width: 100% !important;

    gap: 14px !important;

    margin: 0 !important;
    padding: 4px 2px 14px !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    scroll-behavior: smooth;
    scroll-snap-type: x proximity;

    scrollbar-width: none;
    -ms-overflow-style: none;

    cursor: grab;
}

.arfa-academy-finder-results-grid::-webkit-scrollbar {
    display: none;
}

.arfa-academy-finder-results-grid.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
    scroll-snap-type: none;
}


/* =========================================================
   10. CORE ARTICLE CARD
   ========================================================= */

.arfa-academy-finder-card {
    position: relative;

    display: flex !important;
    flex-direction: column !important;

    flex: 0 0 calc((100% - 42px) / 4) !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background: linear-gradient(
        145deg,
        rgba(255,255,255,.045),
        rgba(255,255,255,.018)
    ) !important;

    border: 1px solid var(--arfa-border) !important;
    border-radius: 12px !important;

    box-shadow: 0 10px 28px rgba(0,0,0,.18) !important;

    scroll-snap-align: start;

    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.arfa-academy-finder-card:hover {
    transform: translateY(-4px);
    border-color: var(--arfa-border-hover) !important;
    box-shadow: 0 16px 35px rgba(0,0,0,.30) !important;
}


/* =========================================================
   11. CARD IMAGE
   ========================================================= */

.arfa-academy-finder-card-image {
    position: relative;

    display: block !important;

    width: 100% !important;
    height: auto !important;

    aspect-ratio: 16 / 10;

    overflow: hidden;

    background: #181818;
}

.arfa-academy-finder-card-image img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    object-fit: cover !important;
    object-position: center;

    transition: transform .45s ease;
}

.arfa-academy-finder-card:hover
.arfa-academy-finder-card-image img {
    transform: scale(1.045);
}


/* =========================================================
   12. CARD CONTENT
   ========================================================= */

.arfa-academy-finder-card-content {
    display: flex !important;
    flex-direction: column !important;

    flex: 1 1 auto !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 14px !important;
}


/* =========================================================
   13. CARD META
   ========================================================= */

.arfa-academy-finder-card-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 5px;

    margin: 0 0 7px !important;
    padding: 0 !important;

    color: var(--arfa-gold-dark);

    font-size: 0.4em;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 2px;
	justify-content: center;
    text-transform: uppercase;
}


/* =========================================================
   14. CARD TAGS
   ========================================================= */

.arfa-academy-finder-card-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
justify-content: center;
    gap: 5px;

    margin: 0 0 8px;
}

.arfa-academy-finder-tag,
.arfa-academy-finder-card .arfa-academy-finder-tag {
    display: inline-flex !important;
    align-items: center !important;

    width: auto !important;
    max-width: max-content !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 5px !important;
    border: 1px solid var(--arfa-accent-border) !important;
    border-radius: 4px !important;
    background: transparent !important;
    color: var(--arfa-gold) !important;
    font-size: 7px !important;
    font-weight: 300 !important;
    line-height: 1.2 !important;
    letter-spacing: .8px !important;
    text-align: left !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;

    box-shadow: none !important;
}

.arfa-academy-finder-tag:hover {
	color: var(--arfa-black) !important;
    background: var(--arfa-border-hover) !important;
}


/* =========================================================
   15. CARD TITLE
   ========================================================= */

.arfa-academy-finder-card-title {
    display: -webkit-box !important;

    margin: 0 0 8px !important;
    padding: 0 !important;

    color: var(--arfa-gold-light) !important;

    font-family: inherit !important;
    font-size: 1em !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: -.1px !important;

    overflow: hidden;

    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.arfa-academy-finder-card-title a {
    color: inherit !important;
    text-decoration: none !important;
}

.arfa-academy-finder-card-title a:hover {
    color: var(--arfa-gold-light) !important;
}


/* =========================================================
   16. CARD EXCERPT
   ========================================================= */

.arfa-academy-finder-card-excerpt {
    display: -webkit-box !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--arfa-muted) !important;

    font-size: 9px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;

    overflow: hidden !important;

    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}


/* =========================================================
   17. CARD CTA
   ========================================================= */

.arfa-academy-finder-card-link {
    display: inline-flex !important;
    align-items: center !important;
    margin-top: auto !important;
    padding-top: 13px !important;

    border: 0 !important;

    background: transparent !important;

    color: var(--arfa-gold-light) !important;

    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 1.1px !important;
justify-content: center;
    text-transform: uppercase;
}

.arfa-academy-finder-card-link::after {
    content: '→' !important;

    display: inline-block !important;

    margin-left: 6px;

    transition: transform .2s ease;
}

.arfa-academy-finder-card-link:hover {
    color: #fff !important;
}

.arfa-academy-finder-card-link:hover::after {
    transform: translateX(3px);
}


/* =========================================================
   18. FINDER ARROWS
   ========================================================= */

.arfa-academy-finder-rail-prev,
.arfa-academy-finder-rail-next {
    position: absolute;

    top: 50%;
    z-index: 20;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;
    height: 34px !important;

    min-width: 34px !important;
    min-height: 34px !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: translateY(-50%);

    border: 1px solid rgba(201,169,110,.4) !important;
    border-radius: 50% !important;

    background: rgba(11,11,11,.90) !important;
    color: var(--arfa-gold-light) !important;

    font-size: 15px !important;
    line-height: 1 !important;

    cursor: pointer !important;

    box-shadow: 0 8px 22px rgba(0,0,0,.35) !important;
    backdrop-filter: blur(8px);

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        opacity .2s ease;
}

.arfa-academy-finder-rail-prev {
    left: -16px;
}

.arfa-academy-finder-rail-next {
    right: -16px;
}

.arfa-academy-finder-rail-prev:hover,
.arfa-academy-finder-rail-next:hover {
    background: rgba(201,169,110,.18) !important;
    border-color: rgba(201,169,110,.7) !important;
    color: #fff !important;
}

.arfa-academy-finder-rail-prev:disabled,
.arfa-academy-finder-rail-next:disabled {
    opacity: .25 !important;
    pointer-events: none !important;
}


/* =========================================================
   19. RELATED + HOME — SHARED SLIDER ENGINE
   ========================================================= */

.arfa-related-slider {
    position: relative;

    width: 100%;
    max-width: 100%;

    margin: 0;
    padding: 18px 0 24px;

    overflow: visible;
}

.arfa-related-list.arfa-academy-finder-results-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;

    width: 100% !important;

    gap: 18px !important;

    margin: 0 !important;
    padding: 4px 2px 12px !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    scroll-behavior: smooth !important;
    scroll-snap-type: x mandatory !important;

    scrollbar-width: none !important;
    -ms-overflow-style: none !important;

    -webkit-overflow-scrolling: touch;

    cursor: grab;
}

.arfa-related-list.arfa-academy-finder-results-grid::-webkit-scrollbar {
    display: none !important;
}

.arfa-related-list.is-dragging {
    cursor: grabbing !important;
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
}


/* =========================================================
   20. SLIDER ITEMS
   IMPORTANT:
   The width belongs to the LI/item, not the CARD.
   This avoids the Home/Finder flex conflict.
   ========================================================= */

.arfa-related-list .arfa-academy-finder-item,
.arfa-related-list .arfa-related-item {
    display: block !important;

    flex: 0 0 calc((100% - 54px) / 4) !important;

    width: calc((100% - 54px) / 4) !important;

    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;

    list-style: none !important;
}


/* =========================================================
   21. SLIDER CARD — DO NOT SET FLEX WIDTH HERE
   ========================================================= */

.arfa-related-list
.arfa-academy-finder-card {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;

    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background: linear-gradient(
        145deg,
        rgba(255,255,255,.045),
        rgba(255,255,255,.018)
    ) !important;

    border: 1px solid rgba(201,169,110,.18) !important;
    border-radius: 12px !important;

    box-shadow: 0 10px 28px rgba(0,0,0,.18) !important;
}

.arfa-related-list
.arfa-academy-finder-card:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(201,169,110,.42) !important;
    box-shadow: 0 16px 35px rgba(0,0,0,.30) !important;
}


/* =========================================================
   22. RELATED CARD COMPATIBILITY
   ========================================================= */

.arfa-related-card-link {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;

    color: inherit !important;
}

.arfa-related-card-content {
    display: flex !important;
    flex-direction: column !important;

    flex: 1 1 auto !important;

    width: 100% !important;
    min-width: 0 !important;

    padding: 14px !important;
}


/* =========================================================
   23. RELATED SLIDER ARROWS
   ========================================================= */

.arfa-related-slider-prev,
.arfa-related-slider-next {
    position: absolute !important;

    top: 50% !important;
    z-index: 30 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 32px !important;
    height: 32px !important;

    min-width: 32px !important;
    min-height: 32px !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: translateY(-50%) !important;

    border: 1px solid rgba(201,169,110,.45) !important;
    border-radius: 50% !important;

    background: rgba(11,11,11,.92) !important;
    color: var(--arfa-gold-light) !important;

    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    cursor: pointer !important;

    box-shadow: 0 8px 22px rgba(0,0,0,.35) !important;

    backdrop-filter: blur(8px);

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        opacity .2s ease;
}

.arfa-related-slider-prev {
    left: -2px !important;
}

.arfa-related-slider-next {
    right: -2px !important;
}

.arfa-related-slider-prev:hover,
.arfa-related-slider-next:hover {
    background: rgba(201,169,110,.18) !important;
    border-color: rgba(201,169,110,.75) !important;
    color: #fff !important;
}

.arfa-related-slider-prev:disabled,
.arfa-related-slider-next:disabled {
    opacity: .18 !important;
    pointer-events: none !important;
}


/* =========================================================
   24. HOME — FEATURED ACADEMY
   ========================================================= */

.arfa-home-academy-grid {
    position: relative;

    width: 100%;
    max-width: 100%;

    margin: 0;
    padding: 0;

    font-family: inherit;
}

.arfa-home-academy-grid
.arfa-related-slider {
    width: 100%;
    margin: 0;
    padding: 18px 0 28px;
}

.arfa-home-academy-grid
.arfa-related-list.arfa-academy-finder-results-grid {
    gap: 18px !important;

    width: 100% !important;

    padding: 4px 2px 14px !important;
}


/*
 * Home item width:
 * 4 cards desktop.
 *
 * IMPORTANT:
 * Width is assigned to the item, never to the card.
 */

.arfa-home-academy-grid
.arfa-related-list
.arfa-academy-finder-item,
.arfa-home-academy-grid
.arfa-related-list
.arfa-related-item {
    flex: 0 0 calc((100% - 54px) / 4) !important;

    width: calc((100% - 54px) / 4) !important;

    min-width: 0 !important;
    max-width: none !important;
}


/* Home card */

.arfa-home-academy-grid
.arfa-related-list
.arfa-academy-finder-card {
    width: 100% !important;
    max-width: 100% !important;

    min-width: 0 !important;

    min-height: 0 !important;

    height: 100% !important;
}


/* Home card visual refinement */

.arfa-home-academy-grid
.arfa-academy-finder-card-image {
    aspect-ratio: 16 / 10 !important;
}

.arfa-home-academy-grid
.arfa-academy-finder-card-content {
    padding: 15px !important;
}

.arfa-home-academy-grid
.arfa-academy-finder-card-title {
    font-size: 21px !important;
    line-height: 1.22 !important;
}

.arfa-home-academy-grid
.arfa-academy-finder-card-excerpt {
    font-size: 9px !important;
    line-height: 1.55 !important;
}


/* =========================================================
   25. HOME — HEADER / INTRO IF PRESENT
   ========================================================= */

.arfa-home-academy-heading {
    margin: 0 0 24px;
}

.arfa-home-academy-eyebrow {
    display: inline-block;

    margin: 0 0 10px;
    padding: 5px 11px;

    border: 1px solid rgba(201,169,110,.28);
    border-radius: 999px;

    color: var(--arfa-gold-light);

    font-size: 8px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 1.7px;

    text-transform: uppercase;
}

.arfa-home-academy-title {
    margin: 0 !important;
    padding: 0 !important;

    color: #fff !important;

    font-family: inherit !important;
    font-size: clamp(27px, 3vw, 42px) !important;
    font-weight: 600 !important;
    line-height: 1.08 !important;

    letter-spacing: -.7px !important;
}

.arfa-home-academy-description {
    max-width: 620px;

    margin: 12px 0 0 !important;
    padding: 0 !important;

    color: rgba(255,255,255,.60) !important;

    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
}

.arfa-home-academy-link {
    display: inline-flex;
    align-items: center;

    margin-top: 20px;

    color: var(--arfa-gold-light) !important;

    font-size: 8px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;

    text-transform: uppercase;
}

.arfa-home-academy-link-arrow {
    margin-left: 7px;

    transition: transform .2s ease;
}

.arfa-home-academy-link:hover {
    color: #fff !important;
}

.arfa-home-academy-link:hover
.arfa-home-academy-link-arrow {
    transform: translateX(4px);
}


/* =========================================================
   26. SIDEBAR MODE
   ========================================================= */

.arfa-academy-finder-sidebar {
    position: relative;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 16px !important;

    border: 1px solid rgba(201,169,110,.16) !important;
    border-radius: 14px !important;

    background: linear-gradient(
        145deg,
        rgba(255,255,255,.035),
        rgba(255,255,255,.012)
    ) !important;
}

.arfa-academy-finder-sidebar
.arfa-academy-sidebar-title {
    margin: 0 0 4px !important;

    color: var(--arfa-gold) !important;

    font-size: 7px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 1.6px !important;

    text-transform: uppercase !important;
}

.arfa-academy-finder-sidebar
.arfa-academy-sidebar-heading {
    margin: 0 0 10px !important;

    color: #fff !important;

    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

.arfa-academy-finder-sidebar
.arfa-academy-finder-search-form {
    height: 36px !important;
    gap: 5px !important;
}

.arfa-academy-finder-sidebar
.arfa-academy-finder-search-input {
    height: 36px !important;
    min-height: 36px !important;

    padding: 0 10px !important;

    border-radius: 8px !important;

    font-size: 9px !important;
    line-height: 36px !important;
}

.arfa-academy-finder-sidebar
.arfa-academy-finder-search-submit {
    flex: 0 0 54px !important;

    width: 54px !important;
    height: 36px !important;
    min-height: 36px !important;

    border-radius: 8px !important;

    font-size: 7px !important;
    letter-spacing: .8px !important;
}

.arfa-academy-finder-sidebar
.arfa-academy-finder-results-grid {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;

    gap: 8px !important;

    overflow: visible !important;

    padding: 0 !important;
}

.arfa-academy-finder-sidebar
.arfa-academy-finder-card {
    display: grid !important;

    grid-template-columns: 68px minmax(0,1fr) !important;

    width: 100% !important;
    max-width: 100% !important;

    height: 68px !important;
    min-height: 68px !important;

    flex: none !important;

    border-radius: 8px !important;
}

.arfa-academy-finder-sidebar
.arfa-academy-finder-card-image {
    width: 68px !important;
    height: 68px !important;

    aspect-ratio: auto !important;
}

.arfa-academy-finder-sidebar
.arfa-academy-finder-card-content {
    min-height: 68px !important;

    padding: 7px 8px !important;

    justify-content: center !important;
}

.arfa-academy-finder-sidebar
.arfa-academy-finder-card-tags,
.arfa-academy-finder-sidebar
.arfa-academy-finder-card-excerpt,
.arfa-academy-finder-sidebar
.arfa-academy-finder-card-link,
.arfa-academy-finder-sidebar
.arfa-academy-finder-rail-prev,
.arfa-academy-finder-sidebar
.arfa-academy-finder-rail-next {
    display: none !important;
}

.arfa-academy-finder-sidebar
.arfa-academy-finder-card-title {
    display: -webkit-box !important;

    margin: 0 !important;

    font-size: 9px !important;
    line-height: 1.25 !important;

    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;

    overflow: hidden;
}


/* =========================================================
   27. HEADER MODE
   ========================================================= */

.arfa-academy-finder-header {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
    box-shadow: none !important;
}

.arfa-academy-finder-header
.arfa-academy-finder-search-form {
    display: flex !important;

    width: 100% !important;
    max-width: 360px !important;

    height: 34px !important;

    gap: 5px !important;
}

.arfa-academy-finder-header
.arfa-academy-finder-search-input {
    height: 34px !important;
    min-height: 34px !important;

    padding: 0 12px !important;

    border-radius: 999px !important;

    font-size: 9px !important;
    line-height: 34px !important;
}

.arfa-academy-finder-header
.arfa-academy-finder-search-submit {
    flex: 0 0 58px !important;

    width: 58px !important;
    height: 34px !important;
    min-height: 34px !important;

    border-radius: 999px !important;

    font-size: 7px !important;
    letter-spacing: .8px !important;
}

.arfa-academy-finder-header
.arfa-academy-finder-autocomplete {
    top: calc(100% + 6px) !important;
    left: 0 !important;

    width: 100% !important;
    max-width: 360px !important;

    z-index: 99999 !important;
}

.arfa-academy-finder-header
.arfa-academy-finder-search-results {
    position: absolute !important;

    top: calc(100% + 6px) !important;
    left: 0 !important;

    width: 100% !important;
    max-width: 420px !important;

    margin-top: 0 !important;

    z-index: 99998 !important;
}

.arfa-academy-finder-header
.arfa-academy-finder-results-wrapper {
    padding: 8px !important;

    border: 1px solid rgba(201,169,110,.20) !important;
    border-radius: 12px !important;

    background: rgba(11,11,11,.97) !important;

    box-shadow: 0 15px 40px rgba(0,0,0,.45) !important;
}

.arfa-academy-finder-header
.arfa-academy-finder-results-grid {
    display: flex !important;
    flex-direction: column !important;

    gap: 6px !important;

    overflow: visible !important;

    padding: 0 !important;
}

.arfa-academy-finder-header
.arfa-academy-finder-card {
    display: grid !important;

    grid-template-columns: 55px minmax(0,1fr) !important;

    width: 100% !important;
    max-width: 100% !important;

    height: 55px !important;
    min-height: 55px !important;

    flex: none !important;
}

.arfa-academy-finder-header
.arfa-academy-finder-card-image {
    width: 55px !important;
    height: 55px !important;

    aspect-ratio: auto !important;
}

.arfa-academy-finder-header
.arfa-academy-finder-card-content {
    min-height: 55px !important;

    padding: 6px 8px !important;

    justify-content: center !important;
}

.arfa-academy-finder-header
.arfa-academy-finder-card-tags,
.arfa-academy-finder-header
.arfa-academy-finder-card-excerpt,
.arfa-academy-finder-header
.arfa-academy-finder-card-link,
.arfa-academy-finder-header
.arfa-academy-finder-rail-prev,
.arfa-academy-finder-header
.arfa-academy-finder-rail-next {
    display: none !important;
}

.arfa-academy-finder-header
.arfa-academy-finder-card-title {
    margin: 0 !important;

    font-size: 9px !important;
    line-height: 1.25 !important;
}


/* =========================================================
   28. NO RESULTS / LOADING
   ========================================================= */

.arfa-academy-finder-no-results {
    width: 100%;

    padding: 35px 20px;

    text-align: center;

    border: 1px solid var(--arfa-border);
    border-radius: 12px;

    background: rgba(255,255,255,.025);
}

.arfa-academy-finder-no-results h3 {
    margin: 0 0 8px !important;

    color: #fff !important;

    font-size: 17px !important;
    line-height: 1.2 !important;
}

.arfa-academy-finder-no-results p {
    margin: 0 !important;

    color: var(--arfa-muted) !important;

    font-size: 10px !important;
    line-height: 1.5 !important;
}

.arfa-academy-finder-search.is-loading {
    opacity: .82;
}

.arfa-academy-finder-search.is-loading
.arfa-academy-finder-results-grid {
    pointer-events: none;
}


/* =========================================================
   29. PAGINATION
   ========================================================= */

.arfa-academy-finder-pagination {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 6px;

    margin-top: 18px;
}

.arfa-academy-finder-page {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 28px;
    height: 28px;

    margin: 0;
    padding: 0 8px;

    border: 1px solid var(--arfa-border) !important;
    border-radius: 7px !important;

    background: transparent !important;
    color: rgba(255,255,255,.65) !important;

    font-size: 8px !important;
    line-height: 1 !important;

    cursor: pointer;
}

.arfa-academy-finder-page:hover {
    border-color: rgba(201,169,110,.5) !important;
    color: #fff !important;
}

.arfa-academy-finder-page.active {
    background: rgba(201,169,110,.14) !important;
    border-color: rgba(201,169,110,.55) !important;
    color: var(--arfa-gold-light) !important;
}


/* =========================================================
   30. THEME DECORATION RESET
   ========================================================= */

.arfa-academy-finder-search button::before,
.arfa-academy-finder-search button::after,
.arfa-academy-finder-search-submit::before,
.arfa-academy-finder-search-submit::after,
.arfa-academy-finder-topic::before,
.arfa-academy-finder-topic::after,
.arfa-academy-finder-rail-prev::before,
.arfa-academy-finder-rail-prev::after,
.arfa-academy-finder-rail-next::before,
.arfa-academy-finder-rail-next::after,
.arfa-related-slider-prev::before,
.arfa-related-slider-prev::after,
.arfa-related-slider-next::before,
.arfa-related-slider-next::after {
    content: none !important;
    display: none !important;
}


/* =========================================================
   31. RESPONSIVE — TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .arfa-related-list
    .arfa-academy-finder-item,
    .arfa-related-list
    .arfa-related-item {

        flex-basis: calc((100% - 36px) / 3) !important;

        width: calc((100% - 36px) / 3) !important;
    }

    .arfa-academy-finder-card {
        flex-basis: calc((100% - 28px) / 3) !important;
    }

    .arfa-home-academy-grid
    .arfa-related-list
    .arfa-academy-finder-item,
    .arfa-home-academy-grid
    .arfa-related-list
    .arfa-related-item {

        flex-basis: calc((100% - 36px) / 3) !important;

        width: calc((100% - 36px) / 3) !important;
    }
}


/* =========================================================
   32. RESPONSIVE — MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .arfa-academy-finder-search-form {
        gap: 7px !important;
    }

    .arfa-academy-finder-search-input {
        height: 42px !important;
        min-height: 42px !important;

        padding: 0 13px !important;

        font-size: 11px !important;
        line-height: 42px !important;
    }

    .arfa-academy-finder-search-submit {
        flex-basis: 64px !important;

        width: 64px !important;
        height: 42px !important;
        min-height: 42px !important;

        font-size: 8px !important;
    }

    .arfa-academy-finder-topics {
        flex-wrap: nowrap;

        gap: 5px;

        margin-top: 12px;

        padding-bottom: 4px;

        overflow-x: auto;

        scrollbar-width: none;
    }

    .arfa-academy-finder-topics::-webkit-scrollbar {
        display: none;
    }

    .arfa-academy-finder-topic {
        flex: 0 0 auto !important;

        padding: 6px 9px !important;

        font-size: 7px !important;
    }

    .arfa-academy-finder-results-grid {
        gap: 10px !important;
    }

    .arfa-academy-finder-card {
        flex-basis: 82% !important;
        width: auto !important;
    }

    .arfa-academy-finder-card-content {
        padding: 12px !important;
    }

    .arfa-academy-finder-card-title {
        font-size: 14px !important;
    }

    .arfa-academy-finder-card-excerpt {
        font-size: 9px !important;
    }

    .arfa-academy-finder-rail-prev,
    .arfa-academy-finder-rail-next {
        width: 30px !important;
        height: 30px !important;

        min-width: 30px !important;
        min-height: 30px !important;

        font-size: 13px !important;
    }

    .arfa-academy-finder-rail-prev {
        left: -7px;
    }

    .arfa-academy-finder-rail-next {
        right: -7px;
    }


    /* -----------------------------------------------------
       RELATED / HOME MOBILE
       ----------------------------------------------------- */

    .arfa-related-slider {
        padding: 8px 10px 18px !important;
    }

    .arfa-related-list.arfa-academy-finder-results-grid {
        gap: 12px !important;

        padding: 4px 2px 10px !important;

        scroll-snap-type: x mandatory !important;
    }

    .arfa-related-list
    .arfa-academy-finder-item,
    .arfa-related-list
    .arfa-related-item {

        flex-basis: 82% !important;

        width: 82% !important;
    }

    .arfa-home-academy-grid
    .arfa-related-list
    .arfa-academy-finder-item,
    .arfa-home-academy-grid
    .arfa-related-list
    .arfa-related-item {

        flex-basis: 84% !important;

        width: 84% !important;
    }

    .arfa-related-slider-prev,
    .arfa-related-slider-next {
        width: 28px !important;
        height: 28px !important;

        min-width: 28px !important;
        min-height: 28px !important;

        font-size: 15px !important;
    }

    .arfa-related-slider-prev {
        left: -2px !important;
    }

    .arfa-related-slider-next {
        right: -2px !important;
    }


    /* -----------------------------------------------------
       HOME INTRO
       ----------------------------------------------------- */

    .arfa-home-academy-heading {
        margin-bottom: 28px;
    }

    .arfa-home-academy-eyebrow {
        margin-bottom: 10px;

        padding: 5px 11px;

        font-size: 7px;

        letter-spacing: 1.6px;
    }

    .arfa-home-academy-title {
        font-size: 28px !important;
        line-height: 1.12 !important;
        letter-spacing: -.6px !important;
        text-align: center;
    }

    .arfa-home-academy-description {
        max-width: 340px;

        margin-left: auto !important;
        margin-right: auto !important;

        font-size: 11px !important;
        line-height: 1.6 !important;

        text-align: center;
    }

    .arfa-home-academy-link {
        display: flex;

        justify-content: center;

        margin-top: 20px;
    }
}


/* =========================================================
   33. RESPONSIVE — SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .arfa-related-list
    .arfa-academy-finder-item,
    .arfa-related-list
    .arfa-related-item {

        flex-basis: 88% !important;

        width: 88% !important;
    }

    .arfa-home-academy-grid
    .arfa-related-list
    .arfa-academy-finder-item,
    .arfa-home-academy-grid
    .arfa-related-list
    .arfa-related-item {

        flex-basis: 90% !important;

        width: 90% !important;
    }
	.arfa-home-academy-grid {
    padding: 0 !important;

}

    .arfa-home-academy-grid
    .arfa-academy-finder-card-content {
        padding: 15px !important;
    }

    .arfa-home-academy-grid
    .arfa-academy-finder-card-title {
        font-size: 17px !important;
    }

    .arfa-home-academy-grid
    .arfa-academy-finder-card-excerpt {
        font-size: 10px !important;
    }


    /* Sidebar protection */

    .arfa-academy-finder-sidebar {
        padding: 13px !important;
    }

    .arfa-academy-finder-sidebar
    .arfa-academy-finder-card {
        grid-template-columns: 58px minmax(0,1fr) !important;

        height: 58px !important;
        min-height: 58px !important;
    }

    .arfa-academy-finder-sidebar
    .arfa-academy-finder-card-image {
        width: 58px !important;
        height: 58px !important;
    }

    .arfa-academy-finder-sidebar
    .arfa-academy-finder-card-content {
        min-height: 58px !important;

        padding: 6px 7px !important;
    }
}


/* =========================================================
   34. SIDEBAR / HEADER RESPONSIVE PROTECTION
   ========================================================= */

@media (max-width: 767px) {

    .arfa-academy-finder-sidebar
    .arfa-academy-finder-search-form {
        height: 36px !important;
    }

    .arfa-academy-finder-sidebar
    .arfa-academy-finder-search-input {
        height: 36px !important;
        min-height: 36px !important;

        font-size: 9px !important;
        line-height: 36px !important;
    }

    .arfa-academy-finder-sidebar
    .arfa-academy-finder-search-submit {
        width: 54px !important;

        flex-basis: 54px !important;

        height: 36px !important;
        min-height: 36px !important;

        font-size: 7px !important;
    }

    .arfa-academy-finder-header
    .arfa-academy-finder-search-form {
        height: 34px !important;
    }

    .arfa-academy-finder-header
    .arfa-academy-finder-search-input {
        height: 34px !important;
        min-height: 34px !important;

        font-size: 9px !important;
        line-height: 34px !important;
    }

    .arfa-academy-finder-header
    .arfa-academy-finder-search-submit {
        width: 58px !important;

        flex-basis: 58px !important;

        height: 34px !important;
        min-height: 34px !important;

        font-size: 7px !important;
    }
}


/* =========================================================
   35. ACCESSIBILITY
   ========================================================= */

.arfa-academy-finder-search button:focus,
.arfa-academy-finder-search input:focus,
.arfa-academy-finder-search a:focus,
.arfa-related-slider button:focus,
.arfa-related-slider a:focus,
.arfa-home-academy-grid a:focus {
    outline: none !important;
}

.arfa-academy-finder-search button:focus-visible,
.arfa-academy-finder-search input:focus-visible,
.arfa-academy-finder-search a:focus-visible,
.arfa-related-slider button:focus-visible,
.arfa-related-slider a:focus-visible,
.arfa-home-academy-grid a:focus-visible {
    box-shadow: 0 0 0 2px rgba(201,169,110,.30) !important;
}


/* =========================================================
   36. REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .arfa-academy-finder-search *,
    .arfa-related-slider *,
    .arfa-home-academy-grid * {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}