/* ==========================================================
   Responsive breakpoints
   Tested at: 320 / 375 / 425 / 768 / 1024 / 1280 / 1440 / 1920
   ========================================================== */

/* ----- Large desktop refinement ----- */
@media (min-width: 1441px) {
    :root { --container-width: 1320px; }
}

/* ----- Laptop / small desktop ----- */
@media (max-width: 1280px) {
    .books-grid { grid-template-columns: repeat(3, 1fr); }
    .quick-grid { grid-template-columns: repeat(3, 1fr); }
    .faculty-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ----- Tablet ----- */
@media (max-width: 1024px) {
    :root { --header-height: 118px; }
    .topbar-info span:nth-child(2) { display: none; }
    .nav-links > li > a { padding: 12px 10px; font-size: 0.88rem; }
    .two-col { grid-template-columns: 1fr; }
    .two-col .two-col-image { order: -1; }
    .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .resources-grid { grid-template-columns: repeat(2, 1fr); }
    .events-grid { grid-template-columns: repeat(2, 1fr); }
    .services-grid, .facilities-grid { grid-template-columns: repeat(2, 1fr); }
    .membership-grid { grid-template-columns: repeat(2, 1fr); }
    .dept-grid { grid-template-columns: repeat(2, 1fr); }
    .sitemap-grid { grid-template-columns: repeat(2, 1fr); gap: 30px; }
    .contact-grid { grid-template-columns: 1fr; }
    .ayurveda-hub-inner { flex-direction: column; text-align: center; }
    .ayurveda-hub-text { max-width: 100%; }
}

/* ----- Mobile nav breakpoint ----- */
@media (max-width: 900px) {
    .topbar { display: none; }
    :root { --header-height: 74px; }

    .navbar-inner { padding: 10px 20px; }
    .hamburger { display: flex; }
    .d-none-mobile { display: none; }

    .nav-links {
        position: fixed; top: 0; right: 0; height: 100vh; width: min(320px, 84vw);
        background: var(--color-surface); flex-direction: column; align-items: stretch;
        padding: 100px 24px 40px; gap: 2px; box-shadow: -10px 0 40px rgba(0,0,0,0.15);
        transform: translateX(100%); transition: transform var(--transition-medium); z-index: 950;
        overflow-y: auto;
    }
    .nav-links.open { transform: translateX(0); }
    .nav-links > li > a { padding: 16px 12px; font-size: 1rem; width: 100%; border-bottom: 1px solid var(--color-border); border-radius: 0; }
    .dropdown-menu {
        position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none;
        max-height: 0; overflow: hidden; padding: 0; transition: max-height var(--transition-medium), padding var(--transition-medium);
        background: var(--color-bg-alt); border-radius: var(--radius-sm); margin: 0;
    }
    .has-dropdown.open .dropdown-menu { max-height: 400px; padding: 8px; margin-top: 4px; }
    .has-dropdown.open .dropdown-caret { transform: rotate(180deg); }
}

/* ----- Large mobile / small tablet (768px) ----- */
@media (max-width: 768px) {
    .section { padding: 60px 0; }
    .hero { min-height: 86vh; }
    .hero-content { padding: 40px 20px; }
    .hero-ctas { flex-direction: column; align-items: stretch; }
    .hero-ctas .btn { width: 100%; }

    .library-search-form { flex-direction: column; border-radius: var(--radius-md); padding: 12px; }
    .library-search-form .btn { width: 100%; }
    .search-input-wrap { padding: 8px; }

    .stats-grid { grid-template-columns: repeat(2, 1fr); }
    .quick-grid { grid-template-columns: repeat(2, 1fr); }
    .books-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
    .resources-grid { grid-template-columns: 1fr; }
    .events-grid { grid-template-columns: 1fr; }
    .services-grid, .facilities-grid { grid-template-columns: 1fr; }
    .membership-grid { grid-template-columns: 1fr; }
    .faculty-grid { grid-template-columns: repeat(2, 1fr); }
    .dept-grid { grid-template-columns: 1fr; }
    .sitemap-grid { grid-template-columns: 1fr; gap: 30px; }

    .filters-bar { flex-direction: column; align-items: stretch; margin-top: -24px; }
    .filters-group { flex-direction: column; align-items: stretch; }
    .filter-select { width: 100%; }
    .results-count { text-align: center; }

    .footer-grid { grid-template-columns: 1fr 1fr; gap: 34px; }
    .footer-bottom-inner { flex-direction: column; text-align: center; }

    .notice-card { flex-direction: column; gap: 10px; }
    .contact-form { padding: 24px; }
    .form-row { grid-template-columns: 1fr; }

    .d-mobile-only { display: inline; }
}

/* ----- Mobile (425px and below) ----- */
@media (max-width: 425px) {
    .container { padding: 0 18px; }
    .hero-title { font-size: 1.9rem; }
    .brand-college { font-size: 0.8rem; }
    .brand-library { font-size: 0.68rem; }
    .stats-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
    .stat-number { font-size: 1.7rem; }
    .quick-grid { grid-template-columns: 1fr; }
    .books-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
    .book-title { font-size: 0.88rem; min-height: auto; }
    .faculty-grid { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; }
    .modal-box { padding: 26px 20px; }
    .modal-meta-grid { grid-template-columns: 1fr; }
    .back-to-top { bottom: 18px; right: 18px; width: 42px; height: 42px; }
    .page-hero { padding: 50px 0 46px; }
}

/* ----- Extra small (375px / 320px) ----- */
@media (max-width: 375px) {
    .books-grid { grid-template-columns: 1fr; }
    .hero-eyebrow { font-size: 0.72rem; padding: 6px 12px; }
    .global-search-form { flex-wrap: wrap; }
    .global-search-form input { width: 100%; order: 3; }
}

/* ----- Prevent horizontal overflow globally ----- */
html, body { max-width: 100%; overflow-x: hidden; }
img, table, .table-wrap { max-width: 100%; }
