/* ===== responsive.css - CLEAN VERSION ===== */

/* ===== Fix for ALL screens ===== */
@media only screen and (min-width: 1200px) {
    .custom-navbar {
        padding: 10px 0 !important;
    }

    .hero-section {
        min-height: auto !important;
        margin-top: 45px !important;
        margin-bottom: 10px !important;
        gap: 30px;
    }

    .container {
        max-width: 1200px !important;
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    .hero-section .row {
        width: 100%;
        margin: 0;
    }

    .hero-section .col-lg-6 {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* ===== Large Desktops (1600px to 2800px) ===== */
@media only screen and (min-width: 1600px) and (max-width: 2800px) {
    .container {
        max-width: 1400px !important;
        padding-left: 40px !important;
        padding-right: 40px !important;
    }

    .main-title {
        font-size: 70px;
        line-height: 1.2;
    }

    .hero-img {
        width: 480px;
    }

    .hero-section {
        gap: 50px;
        padding-top: 10px !important;
    }

    .about-title {
        font-size: 44px;
    }

    .work-title,
    .resume-subtitle,
    .section-title {
        font-size: 42px;
    }

    #posts.collage-mode {
        grid-template-columns: repeat(4, 1fr);
        grid-auto-rows: 220px;
        gap: 20px;
    }
}

/* ===== 1920px Desktop ===== */
@media only screen and (min-width: 1400px) and (max-width: 1599px) {
    .container {
        max-width: 1300px !important;
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    .main-title {
        font-size: 60px;
    }

    .hero-img {
        width: 420px;
    }

    .hero-section {
        padding-top: 15px !important;
        gap: 40px;
    }

    .about-title {
        font-size: 38px;
    }

    .work-title,
    .resume-subtitle,
    .section-title {
        font-size: 36px;
    }

    #posts.collage-mode {
        grid-template-columns: repeat(4, 1fr);
        grid-auto-rows: 190px;
        gap: 15px;
    }
}

/* ===== Standard Laptop (1200px to 1400px) ===== */
@media only screen and (max-width: 1400px) and (min-width: 1200px) {
    .container {
        max-width: 1140px !important;
        padding-left: 25px !important;
        padding-right: 25px !important;
    }

    .main-title {
        font-size: 52px;
    }

    .hero-img {
        width: 380px;
    }

    .about-title {
        font-size: 35px;
    }

    .work-title,
    .resume-subtitle,
    .section-title {
        font-size: 32px;
    }

    #posts.collage-mode {
        grid-auto-rows: 170px;
        gap: 15px;
    }
}

/* ===== Small Laptops (992px to 1200px) ===== */
@media only screen and (max-width: 1200px) {
    .container {
        max-width: 960px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .main-title {
        font-size: 45px;
    }

    .hero-img {
        width: 340px;
    }

    .hero-section {
        padding-top: 20px !important;
        gap: 30px;
    }

    .about-title {
        font-size: 32px;
    }

    .work-title,
    .resume-subtitle,
    .section-title {
        font-size: 30px;
    }

    .work-card {
        padding: 25px 18px;
    }

    #posts.collage-mode {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: 180px;
        gap: 12px;
    }

    #posts.collage-mode .item:nth-child(1) {
        grid-column: span 2;
        grid-row: span 2;
    }

    #posts.collage-mode .item:nth-child(4) {
        grid-row: span 2;
    }

    #posts.collage-mode .item:nth-child(6) {
        grid-column: span 2;
    }

    #posts.collage-mode .item:nth-child(11) {
        grid-column: span 2;
    }
}

/* ===== Tablets Landscape (768px to 992px) ===== */
@media only screen and (max-width: 992px) {
    .container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    /* NAVBAR - Menu RIGHT side */
    .navbar-toggler {
        background: rgba(155, 92, 255, 0.2);
        border: 1px solid rgba(155, 92, 255, 0.4);
    }

    .navbar-collapse {
        background: rgba(11, 1, 32, 0.98);
        backdrop-filter: blur(12px);
        padding: 25px 20px;
        border-radius: 16px;
        margin-top: 15px;
        border: 1px solid rgba(155, 92, 255, 0.25);
    }

    .navbar-nav {
        text-align: right;
    }

    .navbar-nav .nav-link {
        margin: 8px 0;
        padding: 10px 0;
        text-align: right;
        font-size: 15px;
        border-bottom: 1px solid rgba(155, 92, 255, 0.15);
    }

    .navbar-nav .nav-link:last-child {
        border-bottom: none;
    }

    .navbar-nav .nav-link::after {
        display: none;
    }

    /* HERO SECTION */
    .hero-section {
        flex-direction: column;
        text-align: center;
        padding-top: 20px !important;
    }

    .hero-section .row {
        flex-direction: column-reverse;
    }

    .content {
        text-align: center;
    }

    .main-title {
        font-size: 34px;
        text-align: center;
        padding-left: 10px;
        padding-right: 10px;
    }

    .hero-img {
        width: 240px;
        margin-top: 20px;
    }

    .arrow {
        display: none;
    }

    .intro-text {
        font-size: 14px;
        text-align: center;
    }

    .sub-text {
        font-size: 13px;
        text-align: center;
    }

    /* ABOUT SECTION - Features 2 COLUMNS */
    .about-premium {
        text-align: center;
    }

    .about-premium .col-lg-7 {
        padding-right: 15px;
        margin-bottom: 30px;
    }

    .about-title {
        font-size: 28px;
        text-align: center;
    }

    .about-text {
        font-size: 14px;
        text-align: center;
    }

    /* CRITICAL FIX: 2 columns for features */
    .about-features {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px 25px !important;
        max-width: 400px !important;
        margin: 20px auto 0 auto !important;
        text-align: left !important;
    }

    .feature {
        font-size: 13px !important;
    }

    .about-cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .about-card {
        padding: 20px;
    }

    /* WORK SECTION */
    #work-section {
        padding: 40px 0 50px;
    }

    .work-title {
        font-size: 28px;
    }

    .sub-title {
        font-size: 18px;
    }

    .work-card {
        flex-direction: row;
        text-align: left;
        gap: 15px;
        padding: 20px 15px;
    }

    .work-card .icon {
        font-size: 32px;
    }

    /* RESUME SECTION */
    #resume-section {
        padding: 40px 0;
    }

    .resume-subtitle {
        font-size: 28px;
    }

    .resume-box {
        margin-bottom: 20px;
        padding: 20px;
    }

    /* PORTFOLIO - 2 columns */
    #portfolio-section {
        padding: 40px 0;
    }

    .section-title {
        font-size: 28px;
    }

    .filters {
        flex-wrap: wrap;
        justify-content: center;
    }

    .filters .btn {
        padding: 5px 12px;
        font-size: 13px;
        margin: 3px;
    }

    #posts.collage-mode {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 160px;
        gap: 12px;
    }

    #posts.collage-mode .item:nth-child(1) {
        grid-column: span 2;
        grid-row: span 2;
    }

    #posts.collage-mode .item:nth-child(4) {
        grid-row: span 2;
    }

    #posts.collage-mode .item:nth-child(6) {
        grid-column: span 2;
    }

    /* CONTACT */
    .contact-info-row {
        flex-direction: column;
        align-items: center;
    }

    .contact-icon {
        width: 50px;
        height: 50px;
    }

    .map-wrapper iframe {
        height: 280px;
    }

    /* FOOTER - Professional Layout */
    .footer-main {
        text-align: left;
        padding: 40px 0 25px;
    }

    .footer-col {
        margin-bottom: 35px;
    }

    .footer-desc {
        font-size: 13px;
        line-height: 1.6;
        margin-bottom: 15px;
        white-space: normal;
        word-wrap: break-word;
        max-width: 100%;
    }

    .footer-email {
        font-size: 12px;
        word-break: break-word;
        white-space: normal;
    }

    .footer-heading {
        margin-top: 0;
        margin-bottom: 20px;
        font-size: 18px;
        display: inline-block;
        position: relative;
    }

    .footer-heading::after {
        content: '';
        position: absolute;
        bottom: -8px;
        left: 0;
        width: 40px;
        height: 3px;
        background: linear-gradient(90deg, #9b5cff, #c084fc);
        border-radius: 3px;
    }

    .social-icons {
        justify-content: flex-start;
        margin-top: 20px;
        gap: 15px;
    }

    .social-circle {
        width: 38px;
        height: 38px;
        font-size: 18px;
    }

    .footer-bottom {
        text-align: center;
        padding: 20px 0;
    }

    .footer-bottom-links {
        justify-content: center;
        margin-top: 12px;
    }
}

/* ===== Tablets Portrait (576px to 768px) ===== */
@media only screen and (max-width: 768px) {
    .container {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .main-title {
        font-size: 30px;
    }

    .hero-img {
        width: 220px;
    }

    .about-title,
    .work-title,
    .resume-subtitle,
    .section-title {
        font-size: 26px;
    }

    .about-cards {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    #posts.collage-mode {
        grid-auto-rows: 140px;
        gap: 10px;
    }

    .contact-icon {
        width: 48px;
        height: 48px;
    }

    .footer-desc {
        font-size: 12px;
    }
}

/* ===== Mobile Devices (400px to 576px) ===== */
@media only screen and (max-width: 576px) {
    .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .main-title {
        font-size: 28px;
        line-height: 1.3;
    }

    .hero-img {
        width: 200px;
    }

    .intro-text {
        font-size: 12px;
    }

    .sub-text {
        font-size: 11px;
    }

    .about-title,
    .work-title,
    .resume-subtitle,
    .section-title {
        font-size: 24px;
    }

    /* Features - Still 2 columns on mobile */
    .about-features {
        grid-template-columns: repeat(2, 1fr) !important;
        column-gap: 15px !important;
        max-width: 350px !important;
        row-gap: 15px !important;
        align-items: center;
    }

    .feature {
        font-size: 12px !important;
    }

    /* WORK CARDS - Vertical */
    .work-card {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }

    .work-card .icon {
        font-size: 32px;
        margin-bottom: 5px;
    }

    /* PORTFOLIO - Keep 2 columns */
    #posts.collage-mode {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 130px;
        gap: 10px;
    }

    #posts.collage-mode .item:nth-child(1) {
        grid-column: span 2;
        grid-row: span 2;
    }

    #posts.collage-mode .item:nth-child(4) {
        grid-row: span 2;
    }

    #posts.collage-mode .item:nth-child(6) {
        grid-column: span 2;
    }

    .contact-icon {
        width: 42px;
        height: 42px;
    }

    .map-wrapper iframe {
        height: 200px;
    }

    .footer-desc {
        font-size: 12px;
        line-height: 1.5;
    }

    .footer-email {
        font-size: 11px;
        padding: 6px 12px;
    }

    .social-circle {
        width: 35px;
        height: 35px;
        font-size: 16px;
    }

    .footer-bottom p {
        font-size: 10px;
    }
}

/* ===== Small Mobile (up to 400px) ===== */
@media only screen and (max-width: 400px) {
    .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .main-title {
        font-size: 24px;
    }

    .hero-img {
        width: 180px;
    }

    .about-title,
    .work-title,
    .resume-subtitle,
    .section-title {
        font-size: 22px;
    }

    /* Features - Still 2 columns */
    .about-features {
        gap: 6px 15px !important;
        max-width: 280px !important;
    }

    .feature {
        font-size: 11px !important;
    }

    #posts.collage-mode {
        grid-auto-rows: 110px;
        gap: 8px;
    }

    .social-circle {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }

    .footer-bottom-links {
        /* flex-direction: column; */
        gap: 35px;
    }
        .footer-bottom p{
            text-align: center;
}
}
/* ===== Extra Small (up to 325px) - ONLY HERE 1 COLUMN for features & portfolio ===== */
@media only screen and (max-width: 325px) {
    .main-title {
        font-size: 22px;
    }

    .hero-img {
        width: 160px;
    }

    .about-title {
        font-size: 20px;
    }

    /* Features - NOW 1 column at 325px */
    .about-features {
        grid-template-columns: 1fr !important;
        max-width: 200px !important;
        gap: 6px !important;
        text-align: center !important;
    }

    .feature {
        text-align: center !important;
    }

    /* Portfolio - 1 column at 325px */
    #posts.collage-mode {
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
        gap: 10px;
    }

    #posts.collage-mode .item {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
    }

    .about-card h2 {
        font-size: 22px;
    }
}

/* ===== Responsive for 1920px ===== */
@media only screen and (min-width: 1400px) and (max-width: 1920px) {
    .main-title {
        font-size: 65px;
    }

    .hero-img {
        width: 420px;
    }

    .intro-text {
        font-size: 16px;
    }

    .sub-text {
        font-size: 14px;
    }

    .hero-section {
        padding-top: 30px;
        margin-bottom: 20px;
    }
}
/* ===== FIX: Hero Text Line Breaks ===== */
@media only screen and (max-width: 992px) {

    /* Target the main title text */
    .main-title {
        white-space: normal !important;
        word-break: normal !important;
    }

    /* Force proper line breaks */
    .main-title br {
        display: none;
    }
}

@media only screen and (max-width: 576px) {
    .main-title {
        font-size: 28px;
        line-height: 1.3;
        max-width: 100%;
        display: block;
        word-break: keep-all;
    }
}