/* ==============================================================
   RahaJob — Responsive Media Queries
   Breakpoints:
     1200px  small desktop / tablet landscape
      991px  tablet portrait
      767px  large mobile
      575px  small mobile
   ============================================================== */


/* ================================================================
   1200px — Small desktop / tablet landscape
   ================================================================ */
@media only screen and (max-width: 1200px) {
    :root {
        --margin-inline: 3rem;
        --margin-inline-page: 4rem;
    }

    /* Profile */
    .prf_display {
        grid-template-columns: minmax(0, 1fr) 18.5rem;
    }

    .prf_overview_strip {
        grid-template-columns: minmax(0, 1fr);
    }

    /* Search */
    .search_page_layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .search_page_layout.is_split {
        grid-template-columns: minmax(0, 1fr) 22rem;
    }

    .search_filters_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /* Home */
    .home_cats_grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home_cat_card {
        min-height: 15rem;
    }

    .home_rjobs_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /* Job Detail */
    .jd_hero {
        padding-inline: 3rem;
    }

    .jd_body {
        padding-inline: 3rem;
    }
}


/* ================================================================
   991px — Tablet portrait
   ================================================================ */
@media only screen and (max-width: 991px) {
    :root {
        --margin-inline: 1.25rem;
        --margin-inline-page: 1.25rem;
    }

    /* ── Navbar ── */
    .app_navbar {
        flex-wrap: wrap;
        align-items: center;
        gap: 0;
        padding: 0.75rem 0;
        margin-inline: var(--margin-inline);
    }

    .app_navbar_logo {
        flex: 0 0 auto;
    }

    .app_navbar_toggler {
        display: flex;
        margin-inline-start: auto;
    }

    .app_navbar_menu {
        display: none;
        flex: 0 0 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        border-top: 1px solid var(--border-color, #e5e7eb);
        padding: 0.85rem 0 0.5rem;
        margin-top: 0.65rem;
    }

    .app_navbar_menu.is_open {
        display: flex;
    }

    .app_navbar_overlay-dark .app_navbar_menu {
        background: rgba(11, 21, 36, 0.94);
        border-top-color: rgba(255, 255, 255, 0.12);
    }

    .app_navbar_overlay-dark .left_nav_links .links a,
    .app_navbar_overlay-dark .right_nav_links .auth_links>a,
    .app_navbar_overlay-dark .nav_lang_btn {
        color: rgba(255, 255, 255, 0.92);
    }

    .app_navbar_overlay-dark .left_nav_links .links a {
        border-bottom-color: rgba(255, 255, 255, 0.08);
    }

    .app_navbar .left_nav_links,
    .app_navbar .right_nav_links {
        width: 100%;
    }

    .app_navbar .left_nav_links .links {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        width: 100%;
    }

    .app_navbar .left_nav_links .links a {
        padding: 0.65rem 0.25rem;
        border-bottom: 1px solid var(--border-color);
        font-weight: 500;
        font-size: 1rem;
    }

    .app_navbar.app_navbar_overlay-dark .left_nav_links .links a {
        border-bottom: 1px solid #233046 !important;
    }

    .app_navbar .right_nav_links {
        margin-inline-start: 0;
        padding-top: 0.75rem;
    }

    .app_navbar .right_nav_links .auth_links {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
        width: 100%;
    }

    .app_navbar .right_nav_links .auth_links>a {
        text-align: center;
    }

    .app_navbar .right_nav_links .fill_btn {
        text-align: center;
        padding-block: 0.75rem;
    }

    .app_navbar .nav_lang_wrap {
        width: 100%;
    }

    .app_navbar .nav_lang_btn {
        width: 100%;
        justify-content: space-between;
        padding-block: 0.75rem;
        font-size: 0.9rem;
    }

    .app_navbar .nav_lang_dropdown {
        width: 100%;
        min-width: 100%;
        inset-inline-end: auto;
        inset-inline-start: 0;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    }

    .app_navbar .nav_profile_wrap {
        width: 100%;
    }

    .app_navbar .nav_profile_btn {
        width: 100%;
        justify-content: space-between;
    }

    .app_navbar .nav_profile_dropdown {
        width: 100%;
        min-width: 100%;
        inset-inline-end: auto;
        inset-inline-start: 0;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    }

    .nav_lang_label {
        font-size: 1rem;
    }

    /* ── Auth ── */
    .auth_section .auth_section_inner {
        grid-template-columns: 1fr;
    }

    .auth_section .auth_section_sidebar,
    .auth_section .auth_visual_panel {
        display: none;
    }

    .auth_section .auth_section_form_panel {
        padding: 1.5rem;
    }

    .auth_section .auth_section_form_shell {
        width: min(500px, 100%);
        max-height: calc(100vh - 3rem);
    }

    .auth_section .auth_stage {
        padding-inline: 1.4rem;
    }

    .auth_section .auth_stage_shell {
        width: min(100%, 29rem);
    }

    /* ── Hero ── */
    .hero_shell {
        grid-template-columns: minmax(0, 1fr);
        gap: 2rem;
    }

    .hero_area .hero_content {
        width: 100%;
        min-height: auto;
        margin-bottom: 2rem;
    }

    .hero_copy {
        max-width: none;
    }

    .hero_visual {
        min-height: 26rem;
    }

    .hero_area .hero_content .form_area {
        margin-top: 3rem;
    }

    .hero_quick_cats {
        gap: 0.25rem;
        margin-top: 0.75rem;
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
    }

    .hero_quick_cat {
        font-size: 0.9rem;
    }

    .hero_area .hero_content .form_area .form_input_area {
        border-radius: 2rem;
        padding: 1.1rem;
        flex-wrap: wrap;
        gap: 0.25rem;
    }

    .hero_area .hero_content .form_area .custom_dropdown {
        width: 100%;
        order: 2;
    }

    .hero_area .hero_content .form_area .dropdown_toggle {
        width: 100%;
        justify-content: space-between;
    }

    .hero_area .hero_content .form_area .dropdown_menu {
        left: 0;
        right: 0;
        min-width: auto;
    }

    .hero_area .hero_content .form_area .btn_action {
        margin-inline-start: auto;
    }

    .hero_area .hero_content .form_area .btn_action .btn {
        width: 2.75rem;
        height: 2.75rem;
    }

    .hero_area .hero_content .form_area .search_suggestions {
        padding: 1.1rem 0.85rem 0.75rem;
    }

    /* ── Search Page ── */
    .search_wrap {
        margin-inline: 1rem;
    }

    .search_page {
        padding-top: 2rem;
    }

    .search_page_header {
        gap: 0.8rem;
        margin-bottom: 1rem;
    }

    .search_page_layout {
        grid-template-columns: 1fr;
    }

    #search-filters-wrap {
        display: none;
    }

    .sf_fab {
        display: flex;
    }

    .sf_sheet_overlay {
        display: block;
    }

    .sf_sheet {
        display: flex;
        z-index: 999999;
        max-height: 75vh;
    }

    .search_filters {
        position: static;
        max-height: none;
    }

    .search_page_layout.is_split {
        grid-template-columns: 1fr;
    }

    .search_page_layout.is_split .search_results_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .search_detail_panel {
        display: flex !important;
        flex-direction: column;
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        top: auto !important;
        max-height: 88vh !important;
        z-index: 200;
        border-radius: 18px 18px 0 0;
        border: none !important;
        box-shadow: 0 -6px 36px rgba(0, 0, 0, 0.13);
        overflow: hidden !important;
        transform: translateY(100%);
        transition: transform 0.38s cubic-bezier(0.34, 1.05, 0.64, 1);
        scrollbar-width: none;
    }

    .search_detail_panel::before {
        content: '';
        display: block;
        width: 36px;
        height: 3px;
        background: var(--border-color);
        border-radius: 2px;
        margin: 0.6rem auto 0;
        flex-shrink: 0;
    }

    .search_page_layout.is_split .search_detail_panel {
        transform: translateY(0);
    }

    .search_detail_topbar {
        position: relative;
        flex-shrink: 0;
    }

    .search_detail_body {
        overflow-y: auto;
        flex: 1;
        -webkit-overflow-scrolling: touch;
    }

    .search_page_form_bar {
        position: relative;
        flex-wrap: wrap;
        border-radius: 1.5rem;
        padding: 1rem;
        gap: 0.5rem;
    }

    .search_page_input_wrap {
        width: 100%;
    }

    .search_page_city_picker {
        width: 100%;
    }

    .search_page_city_toggle {
        width: 100%;
        justify-content: space-between;
    }

    .search_page_btn_action {
        position: absolute;
        top: 16px;
        right: 8px;
    }

    .search_page_submit {
        width: 2.5rem;
        height: 2.5rem;
    }

    .search_results_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .search_filters_grid {
        grid-template-columns: 1fr;
        padding: 0.9rem;
    }

    /* ── Account Area ── */
    .account_area {
        margin-inline: 1.5rem;
    }

    .account_area .personal_info_card {
        flex-wrap: wrap;
        gap: 1rem;
        margin-bottom: 1rem;
    }

    .account_area .personal_info_card .prf_insights_grid {
        flex-wrap: wrap;
    }

    .account_area .personal_info_card .prf_insight_item {
        min-width: 8rem;
    }

    .account_area .navbar_account_profile {
        flex-wrap: wrap;
        gap: 0.5rem;
        padding-bottom: 1rem;
    }

    /* ── Profile ── */
    .prf_display {
        grid-template-columns: 1fr;
    }

    .prf_sidebar {
        position: static;
        display: grid;
    }

    .prf_sections {
        grid-column: auto;
    }

    .prf_main {
        grid-template-columns: 1fr;
    }

    .prf_overview_strip,
    .prf_overview_identity_row {
        grid-template-columns: 1fr;
    }

    .account_area .personal_info_card .account_profile_edit_btn {
        width: auto;
        justify-content: center;
    }

    .prf_insights_inline {
        grid-template-columns: repeat(2, 1fr);
    }

    /* ── Complete Profile ── */
    .complete_profile_stepper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
    }

    /* ── Home Sections ── */
    .home_cats_section,
    .home_hiw_section,
    .home_loc_section {
        margin-inline: 1.5rem;
    }

    .home_cats_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home_cat_card {
        min-height: 14rem;
        padding: 1.4rem;
    }

    .home_hiw_steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home_hiw_steps .home_hiw_step:last-child {
        grid-column: 1 / -1;
    }

    .home_hiw_panel {
        padding: 0.9rem;
        border-radius: 1.5rem;
    }

    .home_hiw_step {
        min-height: 12.25rem;
    }

    .home_hiw_step:nth-child(2) {
        transform: none;
    }

    .home_hiw_step:nth-child(2):hover {
        transform: translateY(-4px);
    }

    .home_loc_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.65rem;
    }

    .home_loc_card {
        padding: 0.9rem 0.95rem;
    }

    .home_cta_band {
        padding: 3.5rem 1.5rem;
    }

    .home_cta_band_headline {
        font-size: 1.65rem;
    }

    .home_rjobs_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /* ── Match ── */
    .match_hero_main {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .match_hero_actions {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .match_btn,
    .match_link_btn {
        flex: 1;
        min-width: 8rem;
    }

    .match_stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .match_saved_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .match_stats_inside {
        max-width: 100%;
    }

    /* ── Job Detail ── */


    .jd_hero {
        padding-top: 5rem!important;
    }

    .jd_job_title {
        font-size: 1.5rem;
    }

    .jd_body {
        grid-template-columns: 1fr;
        padding: 1.5rem 1.25rem;
        gap: 1.25rem;
    }

    .jd_sidebar {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.85rem;
    }

    /* ── Applications – Job Seeker ── */

    .app_head {
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    /* ── Applications – Employer ── */
    .emp_app_layout {
        flex-direction: column;
        gap: 1rem;
    }

    .emp_app_jobs_sidebar {
        width: 100%;
        position: static;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.4rem;
    }

    .emp_app_sidebar_label {
        grid-column: 1 / -1;
        margin-bottom: 0.25rem;
    }

    /* ── Saved Jobs ── */
    .svd_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .svd_head {
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    /* ── Footer ── */
    .site_footer_inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2rem;
        padding: 3.2rem 1.5rem;
    }

    .site_footer_brand {
        grid-column: 1 / -1;
    }

    .site_footer_brand_panel {
        padding-inline-end: 0;
    }

    .site_footer_bottom {
        padding: 1.15rem 1.5rem 1.35rem;
        margin-inline: 0;
    }

    /* ── Profile Preview ── */
    .prv_hero {
        padding-top: 3rem;
    }

    .prv_hero_inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        padding: 2rem var(--margin-inline) 1.75rem;
    }

    .prv_hero_avatar {
        width: 72px;
        height: 72px;
        font-size: 1.8rem;
    }

    .prv_hero_name {
        font-size: 1.35rem;
    }

    .prv_body {
        flex-direction: column;
        gap: 1rem;
        padding: 0 var(--margin-inline) 3rem;
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .prv_left {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        position: static;
        padding-top: 1.25rem;
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
        align-items: flex-start;
    }

    .prv_left_actions {
        width: 100%;
    }

    .prv_stats_block {
        display: flex;
        flex-wrap: wrap;
        gap: 0.65rem 1.5rem;
        flex: 1;
        border-top: none;
        padding-top: 0;
        margin-bottom: 0;
    }

    .prv_stat_row {
        border-bottom: none;
        padding: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.12rem;
        min-width: 4.5rem;
    }

    .prv_stat_row:last-child {
        border-bottom: none;
    }

    .prv_stat_views {
        width: 100%;
        flex-direction: row;
        align-items: center;
        gap: 0.5rem;
        margin-bottom: 0.25rem;
        padding: 0.45rem 0.65rem;
    }

    .prv_right {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
        padding-top: 0;
    }

    .prv_tabs {
        display: flex;
        flex-wrap: nowrap;
        gap: 0;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        border-bottom: 2px solid var(--border-color);
        margin-bottom: 1.5rem;
        background: transparent;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        justify-content: flex-start;
    }

    .prv_tab {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .prv_tabs::-webkit-scrollbar {
        height: 4px;
    }

    .prv_tabs::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, 0.2);
        border-radius: 10px;
    }
}


/* ================================================================
   767px — Mobile
   ================================================================ */
@media only screen and (max-width: 767px) {
    :root {
        --margin-inline: 1rem;
        --margin-inline-page: 1rem;
    }

    .sf_sheet_body .search_filters_header {
        display: none;
    }

    /* ── Profile Preview ── */
    .prv_hero_name {
        font-size: 1.2rem;
    }

    .prv_hero_tagline {
        font-size: 0.82rem;
    }

    .prv_body {
        padding-bottom: 2.5rem;
    }

    .prv_section:not(.prv_section_grid) {
        padding: 1.1rem;
    }

    .search_page_city_menu {
        top: calc(100% + 0rem);
        right: 0;
        min-width: 12rem;
    }

    /* ── Auth ── */
    .auth_section .auth_stage {
        padding: 1.35rem 1rem 2rem;
    }

    .auth_section .auth_stage_center {
        align-items: start;
        padding-top: 0.9rem;
    }

    .auth_section .auth_stage_title,
    .auth_section .auth_wizard_intro h2 {
        font-size: 1.7rem;
    }

    .auth_section .auth_section_grid,
    .auth_section .auth_wizard_actions_split {
        grid-template-columns: minmax(0, 1fr);
    }

    .auth_section .auth_stage_code_grid {
        gap: 0.55rem;
    }

    /* ── Hero ── */
    .hero_area {
        padding-top: 5rem;
        min-height: unset;
        overflow-x: unset;
        padding-bottom: 2rem;
    }

    .hero_area::after {
        opacity: .3;
        width: 8rem;
        height: 8rem;
        right: 0;
    }

    html[dir="rtl"] .hero_area::before {
        right: -8rem;
        left: unset;
    }

    .hero_area .hero_content h1 {
        font-size: 2rem;
    }

    .hero_title_word_wrap {
        width: var(--hero-word-width, 6ch);
        min-width: var(--hero-word-width, 6ch);
    }

    .hero_preview_metrics {
        grid-template-columns: 1fr;
    }

    .hero_preview_card {
        width: 100%;
        padding: 1.2rem;
        border-radius: 1.5rem;
    }

    .hero_visual {
        display: none;
    }

    /* ── Search ── */
    .search_results_grid {
        grid-template-columns: 1fr;
    }

    .search_page_layout {
        margin-top: 2rem;
    }

    /* ── Account Area ── */
    .account_area {
        margin-inline: 1rem;
        padding-inline: 0rem;
    }

    .account_area .personal_info_card {
        display: flex;
        flex-wrap: wrap;
    }

    .avatar_account {
        flex: 0 0 auto;
    }

    .account_text_content {
        flex: 1;
    }

    .prf_insights_grid {
        flex: 0 0 100%;
    }

    .account_area .personal_info_card .prf_insights_grid {
        flex-wrap: nowrap;
        overflow: scroll;
        scrollbar-width: none;
        width: 100%;
    }

    .account_area .personal_info_card .prf_insight_item {
        min-width: unset;
        width: 100%;
    }

    .account_area .navbar_account_profile {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.4rem;
    }

    .account_area .navbar_account_profile a {
        font-size: 0.9rem;
        padding: 0.45rem 0.6rem;
        width: 100%;
    }

    /* ── Profile ── */
    .prf_card {
        padding: 1rem;
    }

    .prf_ring_wrap {
        width: 7rem;
        height: 7rem;
    }

    .prf_exp_body_grid {
        grid-template-columns: 1fr;
    }

    .prf_info_row {
        flex-wrap: wrap;
        gap: 0.25rem;
    }

    .prf_info_val {
        text-align: start;
    }

    /* ── Complete Profile ── */

    .complete_profile_header_title {
        font-size: 1.1rem;
    }

    .complete_profile_stepper,
    .complete_profile_switches {
        grid-template-columns: 1fr;
    }

    .complete_profile_actions {
        flex-direction: column;
        align-items: stretch;
    }

    .complete_profile_actions_group {
        width: 100%;
        flex-direction: column;
    }

    .complete_profile_actions_group .btn {
        width: 100%;
    }

    /* ── Home Sections ── */
    .home_cats_section,
    .home_hiw_section,
    .home_loc_section {
        margin-inline: 0.5rem;
        padding-block: 4rem;
        padding-inline: 0.5rem;
    }

    .home_cats_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.6rem;
    }

    .home_cat_card {
        min-height: 13rem;
        padding: 1.15rem;
    }

    .home_cat_icon {
        width: 3rem;
        height: 3rem;
        border-radius: 0.85rem;
        margin-bottom: 1rem;
    }

    .home_cat_icon svg {
        width: 1.2rem;
        height: 1.2rem;
    }

    .home_cat_name {
        font-size: 0.95rem;
    }

    .home_cat_desc {
        font-size: 0.82rem;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    .home_loc_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .home_loc_card {
        gap: 0.7rem;
        padding: 0.85rem 0.85rem 0.85rem 0.9rem;
        border-radius: 0.9rem;
    }

    .home_loc_icon {
        width: 2.1rem;
        height: 2.1rem;
        border-radius: 0.72rem;
    }

    .home_cta_band {
        padding: 3rem 1.25rem;
    }

    .home_cta_band_headline {
        font-size: 1.45rem;
    }

    .home_cta_band_subtitle {
        font-size: 0.88rem;
    }

    .home_hiw_steps {
        grid-template-columns: minmax(0, 1fr);
    }

    .home_hiw_steps .home_hiw_step:last-child {
        grid-column: auto;
    }

    .home_hiw_panel {
        padding: 0.75rem;
        border-radius: 1.25rem;
    }

    .home_hiw_step {
        min-height: auto;
        padding: 1.2rem 1.1rem 1.15rem;
    }

    .home_hiw_num {
        font-size: 3.5rem;
        inset-inline-end: 0.8rem;
        top: 0.4rem;
    }

    .home_hiw_tab {
        padding: 0.45rem 0.9rem;
        font-size: 0.82rem;
    }

    .home_section_head h2 {
        font-size: 1.35rem;
    }

    .home_rjobs_grid {
        grid-template-columns: 1fr;
    }

    /* ── Match ── */
    .match_hero {
        padding: 1.5rem 1rem !important;
    }

    .match_title {
        font-size: 1.2rem;
    }

    .match_hero_actions {
        flex-direction: column;
    }

    .match_btn,
    .match_link_btn {
        flex: unset;
        width: 100%;
    }

    .match_stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .match_saved_grid {
        grid-template-columns: 1fr;
    }

    /* ── Job Detail ── */
    .jd_hero {
        padding: 1.5rem 1rem;
    }

    .jd_job_title {
        font-size: 1.2rem;
    }

    .jd_body {
        padding: 1.25rem 1rem;
    }

    .jd_sidebar {
        grid-template-columns: 1fr;
    }

    .jd_hero_actions {
        flex-direction: column;
        align-items: stretch;
    }

    .jd_apply_btn,
    .jd_save_btn {
        justify-content: center;
    }

    /* ── Applications – Job Seeker ── */
    .app_head {
        flex-direction: column;
    }

    .app_card_top {
        gap: 0.5rem;
    }

    /* ── Applications – Employer ── */
    .emp_app_jobs_sidebar {
        grid-template-columns: 1fr;
    }

    .emp_app_main_head {
        flex-direction: column;
        gap: 0.75rem;
    }

    .emp_app_filter_pills {
        justify-content: flex-start;
    }

    /* ── Activity ── */
    .act_head {
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    /* ── Saved Jobs ── */
    .svd_grid {
        grid-template-columns: 1fr;
    }

    .svd_head {
        flex-direction: column;
        align-items: flex-start;
    }

    /* ── Footer ── */
    .site_footer_inner {
        grid-template-columns: minmax(0, 2fr);
        gap: 1.75rem;
        padding: 2.5rem 1.25rem;
    }

    .site_footer_brand {
        grid-column: auto;
    }

    .site_footer_bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.65rem;
        padding: 1rem 1.25rem 1.2rem;
    }

    .site_footer_social {
        gap: 0.6rem;
    }

    .site_footer_primary_link {
        width: 100%;
        justify-content: center;
    }

    .global_modal {
        padding: 24px 12px !important;
    }

    .complete_profile_shell {
        gap: 1rem;
    }
}


/* ================================================================
   575px — Small mobile
   ================================================================ */
@media only screen and (max-width: 575px) {

    /* ── Navbar ── */
    .app_navbar {
        padding: 0.6rem 0;
        z-index: 99999999;
    }

    .app_navbar.is_open {
        background: white;
        width: 100%;
        left: 0;
        margin: 0;
        padding-inline: 1rem;
    }

    .app_navbar.is_open.app_navbar_overlay-dark {
        background-color: #192231;
    }

    .app_navbar_overlay-dark .app_navbar_menu {
        background-color: #192231;
    }

    /* ── Auth ── */
    .auth_section {
        --auth-control-height: 2.75rem;
    }

    .auth_section .auth_section_form_panel {
        padding: 1rem;
    }

    .auth_section .auth_section_form_shell {
        max-height: calc(100vh - 2rem);
    }

    .auth_section .auth_section_grid {
        grid-template-columns: 1fr;
        gap: 0.62rem;
    }

    .auth_section .auth_section_form_header .title {
        font-size: 1.3rem;
    }

    .auth_section .auth_section_form_header p {
        font-size: 0.87rem;
    }

    .auth_section .auth_section_row {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.75rem;
    }

    .auth_section .auth_section_code_grid {
        gap: 0.45rem;
    }

    /* ── Hero ── */
    .hero_area .hero_content h1 {
        font-size: 2.15rem;
        line-height: 1.3;
    }

    /* ── Account ── */
    .account_area {
        margin-inline: 0.75rem;
    }

    /* ── Profile ── */
    .prf_insights_inline {
        grid-template-columns: repeat(2, 1fr);
    }

    .prf_exp_trigger {
        padding: 0.4rem 0.75rem;
    }

    /* ── Home ── */
    .home_cats_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .home_cat_card {
        min-height: auto;
        padding: 1rem 0.95rem 1.1rem;
    }

    .home_cat_icon {
        width: 2.8rem;
        height: 2.8rem;
        margin-bottom: 0.85rem;
    }

    .home_cat_desc {
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    .home_cat_foot {
        margin-top: 1rem;
        padding-top: 0.75rem;
    }

    .home_cat_name {
        max-width: none;
        padding-top: 0;
        padding-inline-end: 2.8rem;
    }

    .home_cat_desc {
        max-width: none;
        padding-inline-end: 2rem;
    }

    .home_loc_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .home_hiw_steps {
        grid-template-columns: minmax(0, 1fr);
    }

    .home_hiw_steps .home_hiw_step:last-child {
        grid-column: auto;
    }

    /* ── Match ── */
    .match_stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .match_saved_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /* ── Applications ── */
    .app_card {
        padding: 0.85rem 1rem;
    }

    .emp_app_card {
        padding: 0.85rem 1rem;
    }

    /* ── Footer ── */
    .site_footer_inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.75rem;
        padding: 2.35rem 1.25rem;
    }

    .site_footer_brand {
        grid-column: auto;
    }

    .site_footer_bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.65rem;
        padding: 1rem 1.25rem;
    }

    .site_footer_social {
        gap: 0.6rem;
    }

    .site_footer_bottom_links {
        flex-wrap: wrap;
        gap: 0.85rem 1.15rem;
    }
}

@media (max-width: 991px) {
    .info_page_shell {
        padding-bottom: 3rem;
    }

    .info_page_hero_grid,
    .info_page_cards,
    .info_page_step_grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .info_page_hero_copy,
    .info_page_hero_panel,
    .info_page_card,
    .info_page_step_card,
    .info_page_content_block {
        border-radius: 22px;
    }

    .info_page_hero_copy {
        padding: 1.5rem;
    }
}

@media (max-width: 640px) {
    .info_page_shell {
        padding-top: 0.8rem;
    }

    .info_page_hero_copy,
    .info_page_hero_panel,
    .info_page_card,
    .info_page_step_card,
    .info_page_content_block {
        padding: 1.15rem;
    }

    .info_page_actions {
        flex-direction: column;
    }

    .info_page_btn {
        width: 100%;
    }
}

@media (max-width: 991px) {

    .profile_story_hero,
    .works_map_header,
    .contact_canvas_top,
    .about_editorial_hero,
    .policy_document_layout,
    .works_map_lanes,
    .works_map_explainers,
    .contact_canvas_channels,
    .contact_canvas_reasons,
    .about_editorial_panels,
    .terms_document_grid,
    .profile_story_steps_grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .policy_document_toc {
        position: static;
    }

    .profile_story_note.is_offset {
        transform: none;
    }
}

@media (max-width: 640px) {

    .profile_story_intro,
    .profile_story_snapshot,
    .profile_story_step_card,
    .profile_story_note,
    .works_map_lane,
    .works_map_stop_body,
    .works_map_explainer,
    .contact_canvas_channel,
    .contact_canvas_reason,
    .about_editorial_copy,
    .about_editorial_stamp,
    .about_editorial_panel,
    .about_editorial_block,
    .policy_document_intro,
    .policy_document_toc,
    .policy_document_clause,
    .terms_document_intro,
    .terms_document_clause {
        padding: 1rem;
        border-radius: 20px;
    }

    .profile_story_note,
    .works_map_stop {
        grid-template-columns: minmax(0, 1fr);
    }

    .works_map_track::before {
        display: none;
    }

    .profile_story_actions,
    .works_map_header_actions,
    .contact_canvas_cta {
        flex-direction: column;
    }

    .profile_story_btn,
    .works_map_btn,
    .contact_canvas_btn,
    .about_editorial_btn {
        width: 100%;
    }
}
