/*
 * Abhiigyan Global Responsive Layer
 *
 * This file contains cross-module frontend responsive rules so the
 * public site can adapt without changing individual page templates.
 */

/* ---------------------------------------------------------
   Safe sizing baseline
   --------------------------------------------------------- */

.ab-article-page,
.ab-article-layout,
.ab-current-affairs-page,
.ab-current-affairs-layout,
.ab-article-left-sidebar,
.ab-article-main,
.ab-article-right-sidebar,
.ab-current-affairs-main,
.ab-global-left-sidebar,
.ab-article-content,
.ab-current-affairs-card,
.ab-current-affairs-card-content {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.ab-article-content img,
.ab-article-content video,
.ab-article-content iframe,
.ab-current-affairs-card-image img {
    max-width: 100%;
    height: auto;
}

.ab-article-content table {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    display: block;
    -webkit-overflow-scrolling: touch;
}

/* Long URLs, option text and other unbroken content must not force
 * the viewport wider than the device. */
.ab-article-content,
.ab-question-text,
.ab-question-option,
.ab-current-affairs-question-text,
.ab-current-affairs-question-option,
.ab-current-affairs-card-content,
.ab-resource-main,
.ab-student-main {
    overflow-wrap: anywhere;
    word-break: normal;
}

/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media (max-width: 1100px) {

    .ab-article-layout,
    .ab-current-affairs-layout {
        grid-template-columns: 24% minmax(0, 76%);
    }

    .ab-article-right-sidebar {
        grid-column: 1 / -1;
        padding-left: 24px;
        padding-right: 24px;
    }

    .ab-current-affairs-main {
        padding-left: 24px;
        padding-right: 24px;
    }

    .ab-current-affairs-card {
        grid-template-columns: 1fr;
    }

    .ab-article-title {
        font-size: 36px;
    }

    /* Software dashboard */
    .ab-sidebar {
        width: 215px !important;
        flex: 0 0 215px;
    }

    .ab-main {
        min-width: 0;
        max-width: none;
    }

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

    .ab-resource-grid {
        grid-template-columns: 1fr;
    }

    /* Student dashboard */
    .ab-student-sidebar {
        width: 220px;
        flex: 0 0 220px;
    }

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

/* ---------------------------------------------------------
   Mobile / small tablets
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .ab-article-layout,
    .ab-current-affairs-layout {
        width: 100%;
        grid-template-columns: minmax(0, 1fr);
    }

    .ab-article-left-sidebar,
    .ab-article-main,
    .ab-article-right-sidebar,
    .ab-current-affairs-main,
    .ab-global-left-sidebar {
        width: 100%;
        min-width: 0;
        padding-left: 18px;
        padding-right: 18px;
    }

    .ab-article-main,
    .ab-current-affairs-main {
        padding-top: 6px;
    }

    .ab-article-right-sidebar {
        grid-column: auto;
        padding-top: 20px;
    }

    .ab-article-title {
        font-size: var(--ab-font-size-mobile-article-title, 32px);
        line-height: var(--ab-line-height-article-title, 1.15);
    }

    .ab-article-excerpt {
        font-size: var(--ab-font-size-mobile-article-excerpt, 18px);
    }

    .ab-article-content {
        font-size: var(--ab-font-size-mobile-body, 17px);
        line-height: var(--ab-line-height-article-body, 1.75);
    }

    .ab-current-affairs-heading h1 {
        font-size: var(--ab-font-size-mobile-page-title, 32px);
        line-height: var(--ab-line-height-page-title, 1.25);
    }

    .ab-current-affairs-heading p {
        margin-bottom: 20px;
    }

    .ab-current-affairs-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .ab-current-affairs-card-image img {
        width: 100%;
    }

    .ab-current-affairs-list {
        gap: 26px;
    }

    /* Questions */
    .ab-current-affairs-question-display,
    .ab-question-display {
        font-size: 16px !important;
        line-height: 1.55 !important;
    }

    .ab-current-affairs-question-text,
    .ab-question-text {
        font-size: 17px !important;
        line-height: 1.5;
    }

    .ab-current-affairs-question-option,
    .ab-question-option {
        font-size: 16px;
        line-height: 1.55;
    }

    .ab-current-affairs-question-answer-button,
    .ab-show-answer-button {
        max-width: 100%;
    }

    .ab-current-affairs-question-pagination ul {
        gap: 5px;
    }

    .ab-current-affairs-question-pagination a,
    .ab-current-affairs-question-pagination span {
        padding: 6px 9px;
    }

    /* Sidebar */
    .ab-global-left-sidebar .ab-sidebar-section,
    .ab-article-right-sidebar .ab-sidebar-section {
        margin-bottom: 22px;
    }

    .ab-global-left-sidebar .ab-sidebar-section ul {
        padding-left: 20px;
    }

    /* Subscription */
    .ab-subscription-box {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding: 20px;
    }

    /* Software dashboard */
    .ab-top {
        height: auto;
        min-height: 64px;
        padding: 10px 15px !important;
        gap: 10px;
    }

    .ab-top-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    .ab-layout {
        display: block !important;
        min-height: 0;
    }

    .ab-sidebar {
        width: 100% !important;
        flex: none !important;
        border-right: 0 !important;
        border-bottom: 1px solid #e6eaf0;
        padding: 12px 15px !important;
    }

    .ab-main {
        width: 100%;
        padding: 18px !important;
    }

    .ab-welcome,
    .ab-management-header {
        display: block;
    }

    .ab-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px;
    }

    .ab-stat,
    .ab-card {
        padding: 16px;
    }

    .ab-resource-title-row {
        align-items: flex-start;
        flex-direction: column;
        padding: 16px;
    }

    .ab-resource-status-nav {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .ab-resource-status-nav a {
        flex: 0 0 auto;
        padding: 11px 14px;
    }

    .ab-resource-list-wrap,
    .ab-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Student dashboard */
    .ab-student-top {
        height: auto;
        min-height: 64px;
        padding: 10px 15px;
        gap: 10px;
    }

    .ab-student-layout {
        display: block !important;
        min-height: 0;
    }

    .ab-student-sidebar {
        width: 100% !important;
        flex: none;
        border-right: 0;
        border-bottom: 1px solid #e6eaf0;
        padding: 12px 15px;
    }

    .ab-student-main {
        width: 100%;
        padding: 18px;
    }

    .ab-student-grid {
        grid-template-columns: 1fr !important;
        gap: 12px;
    }

    .ab-student-profile-card {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ab-student-profile-actions {
        margin-left: 0;
        width: 100%;
    }
}

/* ---------------------------------------------------------
   Very small phones
   --------------------------------------------------------- */

@media (max-width: 480px) {

    .ab-article-left-sidebar,
    .ab-article-main,
    .ab-article-right-sidebar,
    .ab-current-affairs-main,
    .ab-global-left-sidebar {
        padding-left: 14px;
        padding-right: 14px;
    }

    .ab-article-title {
        font-size: 28px;
    }

    .ab-current-affairs-heading h1 {
        font-size: 27px;
    }

    .ab-current-affairs-card h2 {
        font-size: 21px;
    }

    .ab-stats {
        grid-template-columns: 1fr !important;
    }

    .ab-top-actions .ab-btn {
        padding: 8px 10px;
    }

    .ab-student-top-actions {
        gap: 4px;
    }

    .ab-student-brand,
    .ab-brand {
        font-size: 19px;
    }
}

/* Global mobile content spacing */
@media (max-width: 767px) {
    .content-area {
        margin-top: 0;
    }
}
/* Compact article cards - tablet and mobile */
@media (max-width: 1024px) {
    .ab-current-affairs-card {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-areas: "category" "title" "date" "image" "excerpt" "readmore";
        gap: 0 !important;
    }
    .ab-current-affairs-card-content { display: contents !important; }
    .ab-current-affairs-card-category { grid-area: category; }
    .ab-current-affairs-card h2 { grid-area: title; }
    .ab-current-affairs-card-date { grid-area: date; }
    .ab-current-affairs-card-image { grid-area: image; }
    .ab-current-affairs-card-excerpt { grid-area: excerpt; }
    .ab-current-affairs-read-more { grid-area: readmore; }
}
/* Compact typography and spacing */
@media (max-width: 1024px) {
    .ab-current-affairs-card { padding: 8px 0 !important; margin: 0 !important; }
    .ab-current-affairs-card-category { margin: 0 0 3px !important; font-size: 12px !important; line-height: 1.2 !important; }
    .ab-current-affairs-card h2 { margin: 0 0 3px !important; font-size: 16px !important; line-height: 1.25 !important; }
    .ab-current-affairs-card h2 a { font-size: 16px !important; }
    .ab-current-affairs-card-date { margin: 0 0 6px !important; font-size: 12px !important; line-height: 1.25 !important; }
    .ab-current-affairs-card-image { width: 100% !important; margin: 0 0 7px !important; }
    .ab-current-affairs-card-image img { display: block; width: 100% !important; height: auto !important; }
    .ab-current-affairs-card-excerpt { margin: 0 0 5px !important; font-size: 14px !important; line-height: 1.4 !important; }
    .ab-current-affairs-read-more { margin: 0 !important; font-size: 12px !important; line-height: 1.25 !important; }
    .ab-current-affairs-list { gap: 10px !important; }
}

/* Tablet: hide both left and right sidebars */
@media (min-width: 768px) and (max-width: 1024px) {
    .ab-article-left-sidebar,
    .ab-global-left-sidebar,
    .ab-article-right-sidebar,
    .ab-global-right-sidebar {
        display: none !important;
    }

    .ab-current-affairs-layout,
    .ab-article-layout {
        grid-template-columns: 1fr !important;
    }

    .ab-current-affairs-main,
    .ab-article-main {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* =====================================================
   FINAL TABLET LAYOUT - 600px TO 1100px
   Main content only. Header/menu untouched.
   ===================================================== */
@media (min-width: 600px) and (max-width: 1100px) {

    /* Hide both sidebars */
    .ab-article-left-sidebar,
    .ab-global-left-sidebar,
    .ab-article-right-sidebar,
    .ab-global-right-sidebar {
        display: none !important;
    }

    /* Full-width main content */
    .ab-current-affairs-layout,
    .ab-article-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        max-width: 1400px !important;
        margin: 0 auto !important;
    }

    .ab-current-affairs-main,
    .ab-article-main {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    /* Compact page heading */
    .ab-current-affairs-heading {
        margin-bottom: 20px !important;
    }

    .ab-current-affairs-heading h1 {
        font-size: 30px !important;
        line-height: 1.2 !important;
        margin-bottom: 8px !important;
    }

    .ab-current-affairs-heading p {
        font-size: 16px !important;
        line-height: 1.45 !important;
        margin-bottom: 18px !important;
    }

    /* Compact horizontal article cards */
    .ab-current-affairs-list {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    .ab-current-affairs-card {
        display: grid !important;
        grid-template-columns: 140px minmax(0, 1fr) !important;
        grid-template-rows: auto !important;
        column-gap: 16px !important;
        align-items: start !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 10px 0 !important;
        border-bottom: 1px solid #e5e7eb !important;
        box-sizing: border-box !important;
    }

    /* Image stays small on the left */
    .ab-current-affairs-card-image {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 140px !important;
        margin: 0 !important;
    }

    .ab-current-affairs-card-image img {
        display: block !important;
        width: 140px !important;
        height: 86px !important;
        object-fit: contain !important;
        margin: 0 !important;
    }

    /* Article content stays on the right */
    .ab-current-affairs-card-content {
        display: block !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
        width: auto !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .ab-current-affairs-card-category {
        margin: 0 0 3px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
    }

    .ab-current-affairs-card h2 {
        margin: 0 0 4px !important;
        font-size: 17px !important;
        line-height: 1.25 !important;
    }

    .ab-current-affairs-card h2 a {
        font-size: 17px !important;
    }

    .ab-current-affairs-card-date {
        margin: 0 0 5px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
    }

    .ab-current-affairs-card-excerpt {
        margin: 0 0 5px !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
    }

    .ab-current-affairs-read-more {
        display: inline-block !important;
        margin: 0 !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
    }

    /* Tablet footer - three columns in one row */
    .site-top-footer-inner-wrap.site-footer-row-columns-3 {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        align-items: start !important;
        column-gap: 18px !important;
    }

    .site-top-footer-inner-wrap.site-footer-row-columns-3 > .site-footer-section,
    .site-top-footer-inner-wrap.site-footer-row-columns-3 .footer-widget-area,
    .site-top-footer-inner-wrap.site-footer-row-columns-3 .footer-widget-area-inner {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        text-align: center !important;
        justify-content: center !important;
    }

    .site-top-footer-inner-wrap.site-footer-row-columns-3 .widget_media_image img {
        margin-left: auto !important;
        margin-right: auto !important;
    }

}
