/* ==========================================================================
   GLAMSMITH - RESPONSIVE STYLES
   ========================================================================== */

/* Large Tablets & Small Laptops (max-width: 1200px) */
@media screen and (max-width: 1200px) {
    .navbar {
        padding: 20px 40px;
    }
    
    .hero-container {
        padding: 0 40px;
    }

    .hero-title {
        font-size: 68px;
    }

    .glass-card-floating {
        right: 40px;
        max-width: 480px;
    }

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

/* Tablets (max-width: 992px) */
@media screen and (max-width: 992px) {
    .navbar {
        padding: 18px 30px;
    }

    .nav-links, .nav-socials {
        display: none;
    }

    .nav-links.active {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: rgba(9, 9, 9, 0.98);
        padding: 30px;
        border-bottom: 1px solid rgba(212, 175, 55, 0.3);
        gap: 24px;
    }

    .mobile-toggle {
        display: flex;
    }

    .hero {
        padding-top: 120px;
        min-height: auto;
    }

    .hero-container {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 0 24px;
    }

    .hero-left {
        flex: 1 1 100%;
        max-width: 100%;
        padding-right: 0;
        padding-bottom: 40px;
    }

    .hero-subtitle-wrap {
        justify-content: center;
    }

    .hero-title {
        font-size: 56px;
    }

    .diamond-divider {
        margin: 20px auto;
    }

    .hero-description {
        margin: 0 auto 30px auto;
    }

    .hero-actions {
        justify-content: center;
    }

    .hero-stats {
        justify-content: center;
    }

    .scroll-indicator {
        justify-content: center;
    }

    .hero-right {
        flex: 1 1 100%;
        justify-content: center;
        width: 100%;
    }

    .model-frame {
        max-width: 450px;
    }

    .glass-card-floating {
        position: relative;
        bottom: auto;
        right: auto;
        margin: 40px auto 0 auto;
        max-width: 100%;
    }

    .about-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

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

    .footer-top {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

/* Mobile Devices (max-width: 768px) */
@media screen and (max-width: 768px) {
    .hero-title {
        font-size: 44px;
    }

    .hero-actions{
    flex-direction:column;
    align-items:center;
}

.hero-actions .btn{
    width:100%;
    max-width:320px;
}

    .hero-stats{
    justify-content:center;
    gap:18px;
    flex-wrap:wrap;
}

    .stat-number-wrap {
        font-size: 32px;
    }

    .glass-card-inner {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .services-grid,
.services-grid-all {
    grid-template-columns: 1fr;
    gap:20px;
}

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

    .section-title {
        font-size: 34px;
    }
       /* ===========================
       HERO MOBILE LAYOUT
    ============================ */

    .hero {
        overflow: hidden;
    }

    .hero-container{
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        padding:0 20px;
        gap:30px;
    }

    .hero-left{
        order:1;
        width:100%;
        max-width:100%;
        text-align:center;
    }

    .hero-right{
        order:2;
        width:100%;
        display:flex;
        justify-content:center;
        align-items:center;
        margin-top:10px;
    }

    .model-frame{
        width:100%;
        max-width:280px;
    }

    .hero-model{
        width:100%;
        max-height:420px;
        object-fit:contain;
    }

    .gold-lights-img{
        width:100%;
        left:0;
        bottom:-5%;
    }

    .glass-card-floating{
        position:relative;
        right:auto;
        left:auto;
        bottom:auto;
        width:100%;
        max-width:420px;
        margin:25px auto 0;
    }

    .glass-card-inner{
        grid-template-columns:1fr;
    }


/* =====================================
   ABOUT SECTION
===================================== */

.about-grid{
    grid-template-columns:1fr;
    gap:40px;
    align-items:center;
}

.about-image-wrap{
    order:1;
    width:100%;
}

.about-content{
    order:2;
    width:100%;
    text-align:center;
}

.about-img-box{
    height:420px;
    border-radius:20px;
}

.about-img-box img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.about-img-badge{
    left:20px;
    bottom:20px;
    padding:14px 18px;
}

.about-gold-border{
    display:none;
}

.about-highlights{
    gap:20px;
    margin-top:30px;
}

.highlight-item{
    align-items:flex-start;
    text-align:left;
}

.section-about .btn{
    width:100%;
    max-width:320px;
    margin:auto;
}
/* ==========================
   PRICING RESPONSIVE
========================== */

.category-heading{
    text-align:center;
    justify-content:center;
    font-size:30px;
}

.featured-combo-card{
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:25px;
}

.combo-meta{
    justify-content:center;
    flex-wrap:wrap;
    gap:16px;
}

.featured-combo-card .btn{
    width:100%;
    max-width:320px;
}

.pricing-combos-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

.combo-box{
    width:100%;
    padding:22px 18px;
}

.combo-box h4{
    font-size:20px;
}

.combo-details{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
}

.combo-box .btn-sm{
    width:100%;
    justify-content:center;
}
}

/* Small Phones (max-width: 480px) */
@media screen and (max-width: 480px) {
    .hero-title {
        font-size: 36px;
    }

    .logo a {
        font-size: 24px;
    }

    .glass-card-floating {
        padding: 20px;
    }

    /* ABOUT SMALL MOBILE */

.about-img-box{
    height:300px;
}

.about-img-badge{
    position:relative;
    left:0;
    bottom:0;
    margin-top:15px;
    width:100%;
}

.badge-title{
    font-size:15px;
}

.badge-sub{
    font-size:12px;
}

.highlight-item{
    gap:15px;
}

.h-icon{
    width:42px;
    height:42px;
    font-size:16px;
}

.h-text h4{
    font-size:17px;
}

.h-text p{
    font-size:14px;
}

.section-desc{
    font-size:15px;
}
/* ==========================
   PRICING MOBILE
========================== */

.category-heading{
    font-size:26px;
}

.pricing-combos-grid{
    grid-template-columns:1fr;
}

.combo-box{
    padding:24px;
}

.combo-box h4{
    font-size:22px;
}

.combo-details{
    flex-direction:row;
    justify-content:space-between;
    flex-wrap:wrap;
}

.combo-box .btn-sm{
    margin-top:15px;
}
}
/* ==========================================================================
   UNIVERSAL RESPONSIVE FIXES
   ========================================================================== */

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

img,
video,
iframe {
    max-width: 100%;
    height: auto;
    display: block;
}

.container{
    width:100%;
}

/* Prevent flex/grid children from overflowing */
* {
    min-width: 0;
}