/* ============================================
   تيم المنهج - Mobile Responsive CSS
   Comprehensive Mobile & Tablet Optimizations
   v2.0 — Full responsive overhaul
   ============================================ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   GLOBAL OVERFLOW & BOX-MODEL SAFETY
   Prevent horizontal scroll on all viewports
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
html {
    overflow-x: hidden;
}

/* Ensure all images and media are fluid */
img,
video,
iframe,
embed,
object,
svg {
    max-width: 100%;
    height: auto;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SMALL PHONES (up to 480px)
   Targeting budget/compact devices
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 480px) {
    /* Tighter container padding */
    .container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    /* Smaller section titles for tiny screens */
    .premium-heading-main {
        font-size: clamp(1.6rem, 11vw, 3rem) !important;
        letter-spacing: -1px !important;
    }

    .premium-heading-sub {
        font-size: clamp(0.95rem, 4.5vw, 1.3rem) !important;
    }

    .premium-title-part1 {
        font-size: 1.5rem !important;
    }

    .premium-title-part2 {
        font-size: 1.8rem !important;
        margin-top: -3px !important;
        letter-spacing: -1px !important;
    }

    .premium-subtitle {
        font-size: 1rem !important;
    }

    /* Hero buttons stack full width */
    .btn-glow-gold,
    .btn-glow-outline {
        font-size: 1rem !important;
        padding: 10px 24px !important;
    }

    /* Stat boxes compact */
    .stat-box h2 {
        font-size: 1.5rem !important;
    }

    .stat-box p {
        font-size: 0.75rem !important;
    }

    /* News featured card ultra-compact */
    .news-featured-card {
        min-height: 280px !important;
        max-height: 380px !important;
    }

    .news-featured-card .news-content {
        padding: 20px 16px 24px !important;
    }

    .news-featured-card .news-title {
        font-size: 1.1rem !important;
    }

    .news-featured-card .news-excerpt {
        font-size: 0.85rem !important;
        -webkit-line-clamp: 2 !important;
        line-clamp: 2 !important;
    }

    .news-featured-card .news-badge {
        top: 14px !important;
        right: 14px !important;
        padding: 5px 14px !important;
        font-size: 0.75rem !important;
    }

    .news-featured-card .news-link {
        padding: 8px 16px !important;
        font-size: 0.8rem !important;
    }

    /* Small card thumb */
    .news-small-card .news-thumb {
        height: 120px !important;
    }

    /* Cloud / feature cards tighter */
    .cloud-cards .card {
        padding: 1rem 0.875rem !important;
    }

    .cloud-cards h4 {
        font-size: 1rem !important;
    }

    .cloud-cards p {
        font-size: 0.85rem !important;
    }

    /* Footer compact */
    footer .d-flex.flex-wrap.justify-content-center.gap-4 {
        gap: 10px 16px !important;
    }

    /* Course card image height */
    .card-thumb,
    .course-grid .card-img {
        height: 140px !important;
    }

    .card-content {
        padding: 1rem !important;
    }

    .card-title {
        font-size: 1rem !important;
    }

    /* CTA Banner compact */
    .cta-banner-card {
        padding: 2rem 1rem !important;
    }

    .cta-banner-card h2 {
        font-size: 1.4rem !important;
    }

    /* Accordion extra compact */
    .accordion-button {
        padding: 0.75rem 0.875rem !important;
        font-size: 0.85rem !important;
    }

    .accordion-body {
        padding: 0.75rem 0.875rem !important;
        font-size: 0.85rem !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   BASE MOBILE FIXES (up to 576px)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 576px) {
    /* Container adjustments */
    .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    /* Hero section mobile fixes */
    .hero-premium {
        padding-top: 100px !important;
        min-height: auto !important;
        padding-bottom: 60px !important;
    }

    .hero-premium-content {
        flex-direction: column !important;
        text-align: center !important;
        gap: 2rem !important;
    }

    .hero-premium-text {
        width: 100% !important;
        padding: 0 !important;
    }

    .premium-title-part1 {
        font-size: 1.8rem !important;
    }

    .premium-title-part2 {
        font-size: 2.2rem !important;
        margin-top: -5px !important;
    }

    .premium-desc {
        font-size: 1rem !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .premium-btn-group {
        flex-direction: column !important;
        gap: 1rem !important;
        align-items: stretch !important;
    }

    .btn-glow-gold,
    .btn-glow-outline {
        width: 100% !important;
        justify-content: center !important;
    }

    .hero-premium-image {
        width: 100% !important;
    }

    .hero-premium-image img {
        max-width: 100% !important;
        margin: 0 auto !important;
        display: block !important;
    }

    /* Scroll indicator hidden on small screens */
    .scroll-indicator {
        display: none !important;
    }

    /* Section titles mobile */
    .premium-heading-main {
        font-size: clamp(2rem, 12vw, 4rem) !important;
    }

    .premium-heading-sub {
        font-size: clamp(1.1rem, 5vw, 1.6rem) !important;
    }

    .premium-section-desc {
        font-size: 0.9rem !important;
        padding: 0 0.5rem !important;
    }

    /* Stats boxes mobile */
    .stat-box {
        padding: 1rem !important;
        margin-bottom: 0.75rem !important;
    }

    .stat-box h2 {
        font-size: 1.8rem !important;
    }

    .stat-box p {
        font-size: 0.8rem !important;
    }

    /* Course cards mobile */
    .premium-card {
        margin-bottom: 1rem !important;
    }

    .p-course-title {
        font-size: 1rem !important;
    }

    .p-course-body {
        padding: 16px !important;
    }

    .p-course-stats {
        flex-wrap: wrap !important;
        gap: 8px !important;
        font-size: 0.8rem !important;
    }

    .p-course-foot {
        padding-top: 14px !important;
    }

    /* Cart dropdown mobile fix */
    .cart-dropdown {
        width: calc(100vw - 24px) !important;
        max-width: 360px !important;
        right: 12px !important;
        left: 12px !important;
    }

    /* Navbar mobile fixes */
    .navbar {
        padding: 0.5rem 0 !important;
    }

    .navbar-brand img {
        height: 35px !important;
    }

    .navbar-brand .fw-black {
        font-size: 1.2rem !important;
    }

    .navbar-collapse {
        background: #080810 !important;
        padding: 1rem !important;
        border-radius: 12px !important;
        margin-top: 0.5rem !important;
        border: 1px solid rgba(255, 255, 255, 0.08) !important;
        max-height: calc(100vh - 70px) !important;
        overflow-y: auto !important;
    }

    /* Auth buttons mobile — both login and logout groups */
    .auth-login-group,
    #auth-login-group {
        flex-direction: column !important;
        width: 100% !important;
        gap: 0.5rem !important;
        margin-top: 1rem !important;
    }

    .auth-login-group .btn,
    #auth-login-group .btn,
    #auth-login-group a.btn {
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
    }

    .auth-logout-group,
    #auth-logout-group {
        width: 100% !important;
        margin-top: 0.5rem !important;
    }

    /* Nav icon group (theme/language toggles) */
    .nav-icon-group {
        justify-content: center !important;
        margin-top: 0.75rem !important;
        padding-top: 0.75rem !important;
        border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    }

    /* Footer mobile */
    footer {
        text-align: center !important;
        padding: 2.5rem 0 1.5rem !important;
    }

    footer .d-flex.justify-content-center.gap-2 {
        gap: 8px !important;
    }

    footer .d-flex.flex-wrap.justify-content-center.gap-4 {
        gap: 8px 16px !important;
        font-size: 0.75rem !important;
    }

    .premium-footer {
        text-align: center !important;
    }

    .footer-main-card {
        padding: 1.5rem !important;
        border-radius: 16px !important;
    }

    .footer-contact-bar {
        flex-direction: column !important;
        gap: 1rem !important;
    }

    .contact-item {
        justify-content: center !important;
    }

    /* News wrapper goes single column */
    .news-wrapper {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    /* News cards mobile */
    .news-featured-card {
        min-height: auto !important;
        max-height: none !important;
    }

    .news-featured-card .news-image-wrap {
        height: 180px !important;
        position: relative !important;
    }

    .news-featured-card .news-image-overlay {
        background: linear-gradient(to top,
            rgba(8, 8, 16, 0.98) 0%,
            rgba(8, 8, 16, 0.6) 50%,
            transparent 100%) !important;
    }

    .news-small-card {
        flex-direction: column !important;
    }

    .news-small-card .news-thumb {
        width: 100% !important;
        height: 140px !important;
    }

    /* Feature cards mobile */
    .cloud-cards .card {
        margin-bottom: 1rem !important;
    }

    .card-purple, .card-teal, .card-blue {
        padding: 1.5rem !important;
    }

    /* Testimonial cards mobile */
    .testi-card {
        padding: 1.5rem !important;
        margin-bottom: 1rem !important;
    }

    .testi-card p {
        font-size: 0.95rem !important;
    }

    /* Tables mobile scroll */
    .table-responsive {
        border-radius: 12px !important;
        border: 1px solid rgba(255, 255, 255, 0.06) !important;
    }

    /* Form inputs mobile */
    .form-control, .form-select {
        font-size: 16px !important; /* Prevents zoom on iOS */
    }

    /* Buttons mobile sizing */
    .btn {
        padding: 0.625rem 1rem !important;
    }

    .btn-sm {
        padding: 0.4rem 0.75rem !important;
    }

    /* Modal mobile */
    .modal-dialog {
        margin: 0.5rem !important;
    }

    .modal-content {
        border-radius: 16px !important;
    }

    /* Video modal responsive */
    #videoModal .modal-body iframe {
        height: 220px !important;
    }

    /* Accordion mobile */
    .accordion-button {
        padding: 1rem !important;
        font-size: 0.95rem !important;
    }

    .accordion-body {
        font-size: 0.9rem !important;
    }

    /* Target cards mobile */
    .target-card {
        flex-direction: column !important;
        text-align: center !important;
        padding: 1.5rem !important;
    }

    .target-card img {
        width: 80px !important;
        height: 80px !important;
        margin: 0 auto 1rem !important;
    }

    .target-card h3 {
        font-size: 1.3rem !important;
    }

    /* YouTube recommendations mobile */
    .play-btn-glass {
        width: 50px !important;
        height: 50px !important;
        font-size: 1.2rem !important;
    }

    /* Feature block zig-zag: stack and center */
    .feature-text {
        text-align: center !important;
        margin-bottom: 2rem !important;
    }

    .feature-text h2 {
        font-size: 1.5rem !important;
    }

    .feature-text p {
        font-size: 0.95rem !important;
    }

    .feature-list {
        text-align: right !important;
    }

    .feature-list li {
        font-size: 0.9rem !important;
    }

    /* Back to top button */
    .back-to-top,
    #backToTop {
        bottom: 16px !important;
        right: 16px !important;
        width: 40px !important;
        height: 40px !important;
        font-size: 1rem !important;
    }

    /* Section spacing more compact on mobile */
    .section-padding {
        padding: 0.75rem 0 !important;
    }

    /* Page header for inner pages */
    .page-header {
        padding: 6rem 0 3rem !important;
    }

    .page-header h1 {
        font-size: 1.75rem !important;
    }

    /* Course card grid */
    .course-grid .card-img {
        height: 160px !important;
    }

    .course-grid .t-card {
        margin-bottom: 1rem !important;
    }

    /* Trust badges strip mobile fix */
    .trust-strip {
        padding: 1rem 0 !important;
    }
    
    .trust-marquee {
        gap: 1.5rem !important;
        animation-duration: 20s !important;
    }

    .trust-item {
        font-size: 0.85rem !important;
    }
    
    .trust-item i {
        font-size: 1.1rem !important;
    }

    /* Wave dividers */
    .wave-divider svg {
        height: 40px !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TABLET FIXES (577px - 991px)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (min-width: 577px) and (max-width: 991px) {
    .hero-premium {
        padding-top: 120px !important;
    }

    .premium-title-part1 {
        font-size: 2.5rem !important;
    }

    .premium-title-part2 {
        font-size: 3rem !important;
    }

    .hero-premium-image img {
        max-width: 80% !important;
        margin: 0 auto !important;
        display: block !important;
    }

    .stat-box h2 {
        font-size: 2.2rem !important;
    }

    .premium-heading-main {
        font-size: clamp(2.5rem, 10vw, 5rem) !important;
    }

    /* News wrapper 2-column on tablet */
    .news-wrapper {
        grid-template-columns: 1fr 1fr !important;
        gap: 20px !important;
    }

    /* Course cards 2-col on tablet */
    .course-grid .row > [class*="col-lg"] {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }

    /* Featured card smaller height */
    .news-featured-card {
        min-height: 360px !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   NAVBAR MOBILE MENU IMPROVEMENTS (≤991px)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 991px) {
    /* Main Bootstrap navbar collapse */
    .navbar-expand-lg .navbar-collapse,
    .navbar-expand-xl .navbar-collapse {
        background: #080810 !important;
        border: 1px solid rgba(255, 255, 255, 0.08) !important;
        border-radius: 14px !important;
        padding: 1rem !important;
        margin-top: 0.5rem !important;
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5) !important;
    }

    .navbar-expand-lg .navbar-nav,
    .navbar-expand-xl .navbar-nav {
        gap: 0.25rem !important;
    }

    .navbar-expand-lg .navbar-nav .nav-link,
    .navbar-expand-xl .navbar-nav .nav-link {
        padding: 0.75rem 1rem !important;
        border-radius: 10px !important;
        transition: all 0.3s ease !important;
        font-size: 0.95rem !important;
    }

    .navbar-expand-lg .navbar-nav .nav-link:hover,
    .navbar-expand-lg .navbar-nav .nav-link.active,
    .navbar-expand-xl .navbar-nav .nav-link:hover,
    .navbar-expand-xl .navbar-nav .nav-link.active {
        background: rgba(217, 119, 6, 0.1) !important;
        color: #D97706 !important;
    }

    /* Dropdown in mobile menu — full width */
    .navbar .dropdown-menu {
        background: rgba(20, 20, 30, 0.95) !important;
        border: 1px solid rgba(255, 255, 255, 0.08) !important;
        border-radius: 12px !important;
        margin-top: 0.25rem !important;
        position: static !important;
        float: none !important;
        box-shadow: none !important;
    }

    .navbar .dropdown-item {
        padding: 0.75rem 1rem !important;
        border-radius: 8px !important;
    }

    .navbar .dropdown-item:hover {
        background: rgba(217, 119, 6, 0.08) !important;
    }

    /* Auth groups in mobile menu */
    .auth-login-group,
    #auth-login-group {
        flex-direction: column !important;
        gap: 0.5rem !important;
        margin-top: 0.75rem !important;
        padding-top: 0.75rem !important;
        border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    }

    .auth-login-group .btn,
    #auth-login-group .btn,
    #auth-login-group a.btn {
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
    }

    /* Navbar toggler icon refinement */
    .navbar-toggler {
        padding: 0.5rem !important;
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
    }

    .navbar-toggler:focus {
        box-shadow: none !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CART DROPDOWN MOBILE FIXES
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 576px) {
    .cart-dropdown {
        position: fixed !important;
        top: 70px !important;
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-height: calc(100vh - 100px) !important;
        overflow-y: auto !important;
        border-radius: 16px !important;
        z-index: 1060 !important;
    }

    .cart-items-container {
        max-height: 50vh !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CHECKOUT PAGE MOBILE FIXES
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 768px) {
    .checkout-page {
        padding-top: 90px !important;
        padding-bottom: 40px !important;
    }

    .checkout-card {
        padding: 1.25rem !important;
        border-radius: 16px !important;
    }

    .checkout-steps {
        flex-wrap: wrap !important;
        gap: 0.5rem !important;
    }

    .step {
        padding: 0.5rem 0.75rem !important;
        flex: 1 !important;
        justify-content: center !important;
    }

    .step-label {
        font-size: 0.75rem !important;
    }

    .step-line {
        width: 20px !important;
    }

    .payment-method {
        padding: 0.875rem !important;
    }

    .pm-icon {
        width: 40px !important;
        height: 40px !important;
    }

    .pay-phone-box {
        flex-direction: column !important;
        text-align: center !important;
        gap: 8px !important;
    }

    .pay-phone-number {
        font-size: 1.2rem !important;
    }

    .upload-zone {
        padding: 1.5rem !important;
    }

    .order-summary-card {
        position: static !important;
        margin-top: 1.5rem !important;
    }

    .order-item-preview {
        flex-direction: column !important;
        text-align: center !important;
        gap: 12px !important;
    }

    .order-item-icon {
        margin: 0 auto !important;
    }

    .coupon-input-group {
        flex-direction: column !important;
    }

    .coupon-input-group .form-control,
    .coupon-input-group .btn-gold-outline {
        width: 100% !important;
        border-radius: 12px !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   DASHBOARD MOBILE FIXES (Admin & Student)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 991px) {
    /* Sidebar slide-in overlay */
    .ultra-sidebar {
        width: 100% !important;
        max-width: 300px !important;
    }

    .ultra-main {
        margin-right: 0 !important;
    }

    .ultra-content-wrapper {
        padding: 1rem !important;
    }

    .metric-card {
        padding: 1.25rem !important;
    }

    .metric-card .value {
        font-size: 1.5rem !important;
    }

    .main-chart-wrapper {
        height: 250px !important;
        padding: 1rem !important;
    }

    /* Student hero card */
    .student-hero-card {
        min-height: auto !important;
    }

    .student-hero-card h2 {
        font-size: 1.5rem !important;
    }

    .stats-float-container {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .float-stat {
        flex: 1 1 auto !important;
        min-width: 120px !important;
        text-align: center !important;
    }

    /* Course horizontal cards */
    .course-horizontal-ultra {
        flex-direction: column !important;
        text-align: center !important;
    }

    .course-horizontal-ultra .thumb {
        margin: 0 auto 12px !important;
    }
}

@media (max-width: 576px) {
    .ultra-header {
        padding: 0.75rem !important;
    }

    .header-left .mobile-toggle {
        width: 40px !important;
        height: 40px !important;
    }

    .admin-profile .profile-info,
    .student-profile .profile-info {
        display: none !important;
    }

    .icon-circle {
        width: 36px !important;
        height: 36px !important;
    }

    .action-icons {
        gap: 8px !important;
    }

    .ultra-content-wrapper {
        padding: 0.75rem !important;
    }

    .metric-card {
        margin-bottom: 1rem !important;
    }

    .metric-card .card-icon {
        width: 40px !important;
        height: 40px !important;
        font-size: 1.2rem !important;
    }

    .table-responsive {
        font-size: 0.85rem !important;
    }

    .table td, .table th {
        padding: 0.75rem 0.5rem !important;
        white-space: nowrap !important;
    }

    /* Stat bubbles stack on very small */
    .stat-bubble-ultra {
        margin-bottom: 8px !important;
    }

    .stat-bubble-ultra .data h3 {
        font-size: 1.1rem !important;
    }

    /* XP radial smaller */
    .xp-radial-container {
        width: 90px !important;
        height: 90px !important;
    }

    /* Dashboard header pills */
    .header-pill {
        font-size: 0.7rem !important;
        padding: 4px 8px !important;
    }

    /* Profile view tabs */
    .nav-tabs {
        flex-wrap: wrap !important;
        gap: 4px !important;
    }

    .nav-tabs .nav-link {
        font-size: 0.8rem !important;
        padding: 0.5rem 0.75rem !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   QUIZZES PAGE MOBILE FIXES
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 768px) {
    .quizzes-page .page-header-premium {
        padding-top: 80px !important;
    }

    .quizzes-page .lectures-search-bar {
        margin-bottom: 1.5rem !important;
    }

    .quizzes-page .lectures-search-bar input {
        font-size: 16px !important;
    }

    .quizzes-page .courses-grid {
        gap: 1rem !important;
    }

    #quizModal .modal-dialog {
        margin: 0 !important;
    }

    #quizModal .modal-content {
        border-radius: 0 !important;
        min-height: 100vh !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   LECTURES & COURSE DETAILS MOBILE FIXES
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 768px) {
    .page-header-premium {
        padding: 80px 0 30px !important;
    }

    .premium-page-title {
        font-size: 2rem !important;
    }

    .filter-container {
        gap: 8px !important;
    }

    .filter-btn {
        padding: 8px 16px !important;
        font-size: 0.85rem !important;
    }

    .lectures-search-bar .form-control {
        max-width: 100% !important;
        padding: 12px 18px !important;
    }

    /* Purchase card responsive */
    .purchase-card {
        position: static !important;
        margin-top: 1.5rem !important;
    }

    .pagination-container {
        gap: 6px !important;
    }

    .page-link-custom {
        width: 38px !important;
        height: 38px !important;
        font-size: 0.85rem !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   LOGIN / REGISTER / AUTH PAGES MOBILE
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 576px) {
    .login-page-body,
    .register-page-body {
        padding: 20px 0 !important;
        align-items: flex-start !important;
        padding-top: 60px !important;
    }

    .login-card-p,
    .register-card-p {
        padding: 30px 20px !important;
        border-radius: 24px !important;
        margin: 0 12px !important;
        max-width: 100% !important;
    }

    .login-title-text,
    .register-title-text {
        font-size: 1.5rem !important;
    }

    .login-card-p .form-control,
    .register-card-p .form-control,
    .register-card-p .form-select {
        padding: 12px 16px !important;
    }

    .btn-login-premium,
    .btn-register-premium {
        padding: 14px !important;
        font-size: 1rem !important;
    }

    .back-home-btn {
        top: 12px !important;
        right: 12px !important;
        padding: 8px 14px !important;
        font-size: 0.85rem !important;
    }

    /* Wizard steps compact */
    .wizard-steps {
        gap: 16px !important;
    }

    .w-step {
        width: 34px !important;
        height: 34px !important;
        font-size: 0.85rem !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   BLOG PAGE MOBILE FIXES
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 768px) {
    /* Blog hero */
    .blog-grid-section {
        padding: 60px 0 !important;
    }

    /* Featured card stacks on mobile */
    .featured-card {
        flex-direction: column !important;
        min-height: auto !important;
    }

    .featured-img-wrap,
    .featured-content {
        width: 100% !important;
    }

    .featured-img-wrap {
        height: 220px !important;
    }

    .featured-content {
        padding: 24px !important;
    }

    .featured-title {
        font-size: 1.4rem !important;
    }

    /* Category filters scroll */
    .category-filters {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        padding-bottom: 8px !important;
    }

    .category-filters::-webkit-scrollbar {
        display: none !important;
    }

    .category-filter-btn {
        flex-shrink: 0 !important;
        padding: 8px 18px !important;
        font-size: 0.85rem !important;
    }

    /* Blog card image */
    .blog-card-img-wrap {
        height: 180px !important;
    }

    .blog-card-content {
        padding: 20px !important;
    }

    .blog-card-title {
        font-size: 1.15rem !important;
    }

    /* Single post */
    .post-header-premium {
        padding: 140px 0 60px !important;
    }

    .post-main-title {
        font-size: 1.8rem !important;
    }

    .post-cover-wrapper {
        border-radius: 20px !important;
        margin-top: -40px !important;
    }

    .post-content-inner {
        font-size: 1.05rem !important;
    }

    .post-content-inner h2 {
        font-size: 1.6rem !important;
    }

    .post-content-inner blockquote {
        padding: 30px 20px !important;
        margin: 30px 0 !important;
        font-size: 1.15rem !important;
    }

    .sidebar-widget {
        padding: 24px !important;
        border-radius: 24px !important;
    }

    .author-box-premium {
        flex-direction: column !important;
        text-align: center !important;
        padding: 30px 20px !important;
        gap: 20px !important;
    }

    .author-img-big {
        width: 100px !important;
        height: 100px !important;
        margin: 0 auto !important;
    }

    /* CTA section */
    .cta-content {
        padding: 40px 20px !important;
        border-radius: 24px !important;
    }

    .cta-btns {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .cta-primary,
    .cta-secondary {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   ABOUT PAGE MOBILE FIXES
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 768px) {
    /* About hero */
    .hero-section {
        padding: 120px 0 60px !important;
    }

    .hero-title {
        font-size: clamp(2.5rem, 10vw, 4rem) !important;
    }

    .hero-desc {
        font-size: 1rem !important;
    }

    .hero-stats {
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .stat-pill {
        width: 100% !important;
        max-width: 280px !important;
        justify-content: center !important;
    }

    /* Services grid */
    .services-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .service-card {
        padding: 28px 20px !important;
    }

    /* Mission / Vision */
    .mv-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .mv-divider {
        display: none !important;
    }

    .mv-card {
        padding: 30px 24px !important;
    }

    /* Team */
    .teachers-grid,
    .content-team-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .founder-card {
        flex-direction: column !important;
        text-align: center !important;
        padding: 30px 20px !important;
        gap: 24px !important;
    }

    .founder-tags,
    .founder-socials {
        justify-content: center !important;
    }

    .ring-outer {
        width: 160px !important;
        height: 160px !important;
    }

    .tc-photo-wrap {
        height: 200px !important;
    }

    /* CTA */
    .cta-section {
        padding: 60px 0 !important;
    }

    .cta-content {
        padding: 50px 20px !important;
        border-radius: 28px !important;
    }

    /* About footer grid */
    .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    /* Custom cursor: hide on mobile */
    .custom-cursor,
    .cursor-follower {
        display: none !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CONTACT PAGE MOBILE FIXES
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 768px) {
    .contact-header {
        padding: 100px 0 40px !important;
    }

    .contact-title {
        font-size: 2rem !important;
    }

    .contact-form-section {
        padding: 24px !important;
        border-radius: 24px !important;
        margin-bottom: 60px !important;
    }

    .contact-info-card-p {
        padding: 24px !important;
        border-radius: 20px !important;
    }

    .contact-icon {
        width: 50px !important;
        height: 50px !important;
        font-size: 1.3rem !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SUMMARIES & OTHER LISTING PAGES
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 576px) {
    /* Page headers universal */
    .page-header-premium {
        padding: 80px 0 25px !important;
    }

    .premium-page-title {
        font-size: 1.75rem !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MODAL MOBILE FIXES
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 576px) {
    .modal-dialog {
        margin: 0.5rem !important;
    }

    .modal-dialog.modal-fullscreen {
        margin: 0 !important;
    }

    .modal-content {
        border-radius: 16px !important;
    }

    .modal-header {
        padding: 1rem !important;
    }

    .modal-title {
        font-size: 1.1rem !important;
    }

    .modal-body {
        padding: 1rem !important;
    }

    .modal-footer {
        padding: 1rem !important;
        flex-direction: column !important;
        gap: 0.5rem !important;
    }

    .modal-footer .btn {
        width: 100% !important;
    }

    /* File viewer modal */
    #fileViewerModal .modal-body iframe {
        min-height: 60vh !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FORM MOBILE FIXES
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 576px) {
    .form-control, .form-select {
        font-size: 16px !important; /* Prevents iOS zoom */
        padding: 0.75rem 1rem !important;
    }

    .input-group {
        flex-direction: column !important;
    }

    .input-group .form-control {
        border-radius: 12px !important;
        margin-bottom: 0.5rem !important;
    }

    .input-group .btn {
        border-radius: 12px !important;
        width: 100% !important;
    }

    .form-label {
        font-size: 0.9rem !important;
    }

    /* Footer form (subscribe) */
    .footer-form {
        max-width: 100% !important;
    }

    .footer-form .form-control {
        padding: 12px 16px !important;
    }

    .footer-form .btn-subscribe {
        position: static !important;
        width: 100% !important;
        border-radius: 50px !important;
        margin-top: 8px !important;
        padding: 12px !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TABLE MOBILE FIXES
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 768px) {
    .table-responsive {
        border: 1px solid rgba(255, 255, 255, 0.06) !important;
        border-radius: 12px !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .table {
        font-size: 0.85rem !important;
    }

    .table thead th {
        font-size: 0.75rem !important;
        padding: 0.75rem 0.5rem !important;
        white-space: nowrap !important;
    }

    .table tbody td {
        padding: 0.75rem 0.5rem !important;
    }

    .table .btn-sm {
        padding: 0.375rem 0.5rem !important;
        font-size: 0.75rem !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SWEETALERT MOBILE FIXES
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 576px) {
    .swal2-popup {
        width: calc(100% - 24px) !important;
        max-width: 360px !important;
        border-radius: 16px !important;
        font-size: 0.95rem !important;
    }

    .swal2-title {
        font-size: 1.25rem !important;
    }

    .swal2-html-container,
    .swal2-content {
        font-size: 0.95rem !important;
    }

    .swal2-actions {
        flex-direction: column !important;
        gap: 0.5rem !important;
        width: 100% !important;
        padding: 0 1rem !important;
    }

    .swal2-actions button {
        width: 100% !important;
        margin: 0 !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FAQ, PRICING, TESTIMONIALS STANDALONE
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 768px) {
    /* FAQ page */
    .faq-search-box input {
        font-size: 16px !important;
    }

    .faq-category-pills {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        gap: 8px !important;
    }

    .faq-category-pills::-webkit-scrollbar {
        display: none !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TOUCH FRIENDLY IMPROVEMENTS
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (hover: none) and (pointer: coarse) {
    /* Minimum 44px touch targets (WCAG) */
    .btn {
        min-height: 44px !important;
    }

    .nav-link {
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
    }

    .form-check-input {
        min-width: 22px !important;
        min-height: 22px !important;
    }

    .form-control, .form-select {
        min-height: 44px !important;
    }

    .dropdown-item {
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
    }

    /* Social icons touch-friendly */
    .social-icon,
    .social-icon-box,
    footer .fab {
        min-width: 44px !important;
        min-height: 44px !important;
    }

    /* Disable hover transforms on touch — reduce jank */
    .premium-card:hover,
    .testi-card:hover,
    .news-featured-card:hover,
    .news-small-card:hover,
    .service-card:hover,
    .teacher-card:hover,
    .mini-card:hover,
    .stat-box:hover,
    .blog-card:hover,
    .course-card:hover,
    .p-course-card:hover {
        transform: none !important;
    }

    /* Keep focus states for accessibility */
    .btn:focus,
    .nav-link:focus,
    .form-control:focus {
        outline: 2px solid #D97706 !important;
        outline-offset: 2px !important;
    }

    /* Larger close buttons on modals */
    .btn-close {
        width: 1.5rem !important;
        height: 1.5rem !important;
        padding: 0.5rem !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   LANDSCAPE MODE OPTIMIZATIONS
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-height: 500px) and (orientation: landscape) {
    .hero-premium {
        min-height: auto !important;
        padding-top: 90px !important;
        padding-bottom: 40px !important;
    }

    .hero-premium-image {
        display: none !important;
    }

    .scroll-indicator {
        display: none !important;
    }

    .navbar-collapse {
        max-height: 80vh !important;
        overflow-y: auto !important;
    }

    /* Compact hero text in landscape */
    .premium-title-part1 {
        font-size: 1.8rem !important;
    }

    .premium-title-part2 {
        font-size: 2rem !important;
    }

    .premium-desc {
        font-size: 0.95rem !important;
        margin-bottom: 1.5rem !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SAFARI iOS SPECIFIC FIXES
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@supports (-webkit-touch-callout: none) {
    /* iOS specific fixes — prevent input zoom */
    .form-control,
    .form-select {
        font-size: 16px !important;
    }

    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="number"],
    input[type="tel"],
    input[type="url"],
    textarea,
    select {
        font-size: 16px !important;
    }

    /* Fix iOS momentum scrolling */
    .navbar-collapse,
    .cart-dropdown,
    .modal-body,
    .table-responsive,
    .sidebar-menu {
        -webkit-overflow-scrolling: touch !important;
    }

    /* Fix iOS safe area (notch) */
    .navbar {
        padding-top: max(0.5rem, env(safe-area-inset-top)) !important;
    }

    footer {
        padding-bottom: max(1rem, env(safe-area-inset-bottom)) !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   QUIZ-TAKE PAGE MOBILE IMPROVEMENTS
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 768px) {
    .quiz-container {
        padding: 16px 12px !important;
    }

    .quiz-header {
        padding: 16px !important;
        border-radius: 16px !important;
        position: sticky !important;
        top: 0 !important;
    }

    .timer-badge {
        font-size: 1.1rem !important;
        padding: 8px 14px !important;
    }

    .question-card {
        padding: 20px 16px !important;
        border-radius: 14px !important;
    }

    .option-item {
        padding: 14px 14px !important;
    }

    .result-card {
        padding: 24px 16px !important;
    }

    .result-score {
        font-size: 3rem !important;
    }

    .btn-submit {
        width: 100% !important;
        padding: 14px 20px !important;
        font-size: 1rem !important;
        border-radius: 16px !important;
    }

    .review-question {
        padding: 16px !important;
        border-radius: 14px !important;
    }
}

@media (max-width: 480px) {
    .quiz-header {
        padding: 12px !important;
    }

    .option-item {
        padding: 12px 10px !important;
        gap: 8px !important;
    }

    .option-letter {
        width: 30px !important;
        height: 30px !important;
        font-size: 0.85rem !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   PRICING PAGE MOBILE IMPROVEMENTS
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 768px) {
    /* Pricing cards */
    .pricing-card,
    .price-card {
        margin-bottom: 1.5rem !important;
    }

    /* Comparison table horizontal scroll */
    .comparison-table-wrapper,
    .pricing-comparison {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .pricing-hero {
        padding-top: 80px !important;
        padding-bottom: 40px !important;
        text-align: center !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TESTIMONIALS PAGE MOBILE IMPROVEMENTS
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 768px) {
    .testi-card {
        padding: 1.25rem !important;
    }

    .testi-stats-row {
        gap: 1rem !important;
    }

    .featured-quote-box {
        padding: 1.5rem 1rem !important;
    }

    .featured-quote-text {
        font-size: clamp(1.1rem, 4vw, 1.4rem) !important;
    }

    .video-placeholder {
        min-height: 180px !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FAQ STANDALONE PAGE MOBILE IMPROVEMENTS
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 768px) {
    .faq-hero {
        padding-top: 80px !important;
        text-align: center !important;
    }

    .faq-search-box {
        width: 100% !important;
    }

    /* Category pills horizontally scrollable */
    .faq-category-pills,
    .filter-pills-row {
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        scrollbar-width: none;
        padding-bottom: 6px !important;
        gap: 6px !important;
    }

    .faq-category-pills::-webkit-scrollbar,
    .filter-pills-row::-webkit-scrollbar {
        display: none;
    }

    .faq-category-pills .btn,
    .filter-pills-row .btn {
        flex-shrink: 0 !important;
        white-space: nowrap !important;
    }

    .accordion-button {
        font-size: 0.9rem !important;
        padding: 14px 16px !important;
    }

    .accordion-body {
        padding: 14px 16px !important;
        font-size: 0.9rem !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   GLOBAL PILL/FILTER ROWS — HORIZONTAL SCROLL
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 768px) {
    /* All pill/filter rows that should scroll instead of wrap */
    .filter-row,
    .pills-row,
    .subjects-filter,
    .quiz-filter-row,
    .lectures-filter-row {
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        scrollbar-width: none;
        padding-bottom: 6px !important;
        gap: 6px !important;
        -webkit-overflow-scrolling: touch;
    }

    .filter-row::-webkit-scrollbar,
    .pills-row::-webkit-scrollbar,
    .subjects-filter::-webkit-scrollbar,
    .quiz-filter-row::-webkit-scrollbar,
    .lectures-filter-row::-webkit-scrollbar {
        display: none;
    }

    .filter-row .btn,
    .pills-row .btn,
    .subjects-filter .btn,
    .quiz-filter-row .btn,
    .lectures-filter-row .btn {
        flex-shrink: 0 !important;
        white-space: nowrap !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   DASHBOARD SAFE-AREA INSETS (Notch/Island)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@supports (padding: max(0px)) {
    .ultra-sidebar {
        padding-top: max(0px, env(safe-area-inset-top)) !important;
        padding-bottom: max(0px, env(safe-area-inset-bottom)) !important;
    }

    .ultra-header {
        padding-top: max(0.9rem, env(safe-area-inset-top)) !important;
    }

    .student-ultra-body .ai-chatbot,
    .admin-ultra-body .ai-chatbot {
        bottom: max(24px, env(safe-area-inset-bottom)) !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   VIDEO PLAYER PAGE — EXTRA MOBILE FIXES
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 576px) {
    /* Note cards scroll horizontally on tiny screens */
    .notes-area .d-flex {
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        scrollbar-width: none;
        gap: 10px !important;
    }

    .notes-area .d-flex::-webkit-scrollbar {
        display: none;
    }

    .note-card {
        min-width: 200px !important;
        max-width: 220px !important;
        flex-shrink: 0;
    }

    /* Player header wraps properly */
    .player-header {
        flex-wrap: wrap !important;
        gap: 10px !important;
    }

    .player-controls {
        width: 100% !important;
        justify-content: flex-start !important;
    }

    .player-controls .btn {
        flex: 1 1 auto !important;
        min-width: 100px !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   VERIFY CERTIFICATE PAGE MOBILE FIXES
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 768px) {
    .certificate-result-card {
        padding: 1.5rem 1rem !important;
        border-radius: 20px !important;
    }

    .cert-qr-code {
        width: 120px !important;
        height: 120px !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   REDUCED MOTION PREFERENCE
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   GLOBAL NAVBAR + FOOTER HARDENING (all pages)
   v2.1 — final responsive polish
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 991px) {
    /* Cart + auth-group should stack cleanly inside the collapsed menu */
    .navbar .auth-group {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.75rem !important;
        width: 100% !important;
        margin-top: 0.75rem !important;
        padding-top: 0.75rem !important;
        border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    }

    .navbar .auth-group .dropdown.me-3 {
        margin-right: 0 !important;
        align-self: center;
    }

    /* Cart dropdown when triggered from inside collapsed navbar — full width */
    .navbar-collapse .cart-dropdown {
        position: fixed !important;
        top: 70px !important;
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-width: 480px !important;
        margin: 0 auto !important;
    }

    /* Container fluid padding tweak so logo + toggler don't touch edges */
    .navbar > .container-fluid {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

@media (max-width: 576px) {
    /* Brand image scales down */
    .navbar-brand img {
        height: 38px !important;
    }

    /* Cart icon hit area */
    .cart-btn {
        width: 40px;
        height: 40px;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }

    .cart-badge {
        font-size: 0.65rem !important;
    }

    /* Footer: tighter typography + balanced columns at very small widths */
    .premium-footer {
        padding-top: 2rem !important;
    }

    .footer-main-card {
        padding: 1.25rem !important;
    }

    .footer-main-card h5 {
        font-size: 1rem !important;
        margin-bottom: 1rem !important;
    }

    .footer-links li a {
        font-size: 0.85rem !important;
    }

    .footer-desc {
        font-size: 0.9rem !important;
    }

    .footer-logo img {
        height: 45px !important;
    }

    .footer-bottom p {
        font-size: 0.75rem !important;
    }

    /* Social icons: tighten + center */
    .social-icons-only {
        flex-wrap: wrap !important;
        justify-content: center !important;
    }
}

@media (max-width: 380px) {
    /* Ultra-compact phones (Galaxy Fold closed, etc.) */
    .navbar > .container-fluid {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .navbar-brand img {
        height: 34px !important;
    }

    .footer-main-card {
        padding: 1rem !important;
    }

    .footer-main-card .row > [class*="col-"] {
        text-align: center !important;
    }

    .footer-links {
        margin-bottom: 0.5rem !important;
    }
}

/* Prevent any horizontal scroll caused by wide children */
@media (max-width: 991px) {
    body {
        overflow-x: hidden !important;
    }

    main, section, footer, header, .container, .container-fluid {
        max-width: 100%;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   PRINT STYLES
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media print {
    .navbar,
    .scroll-indicator,
    .cart-btn,
    .cart-dropdown,
    .auth-login-group,
    #auth-login-group,
    .auth-logout-group,
    #auth-logout-group,
    .premium-footer,
    footer,
    .sidebar,
    .ultra-sidebar,
    .mobile-toggle,
    .back-to-top,
    #backToTop,
    .nav-icon-group,
    .particles-canvas,
    .custom-cursor,
    .cursor-follower {
        display: none !important;
    }

    body {
        background: white !important;
        color: black !important;
        font-size: 12pt !important;
    }

    .premium-card,
    .testi-card,
    .blog-card {
        break-inside: avoid !important;
        border: 1px solid #ddd !important;
        box-shadow: none !important;
    }

    a {
        color: #000 !important;
        text-decoration: underline !important;
    }
}
