/*==================================
    Stone Gallery
==================================*/

.stone-gallery{

    --gap:18px;
    --radius:18px;

    width:100%;
    

}
/*==================================
        Section Width
==================================*/

.stone-gallery{

    width:80%;

    

}

@media (max-width:1400px){

    .stone-gallery{

        width:92%;

    }

}

@media (max-width:1150px){

    .stone-gallery{

        width:96%;

    }

}
.gallery-scroll{

    overflow-x:auto;
    overflow-y:hidden;

    scrollbar-width:thin;
    scrollbar-color:var(--blue) transparent;

    scroll-behavior:smooth;

    padding-bottom:10px;

}

.gallery-scroll::-webkit-scrollbar{

    height:10px;

}

.gallery-scroll::-webkit-scrollbar-track{

    background:#edf4ff;
    border-radius:30px;

}

.gallery-scroll::-webkit-scrollbar-thumb{

    background:var(--blue);
    border-radius:30px;

}

.gallery-grid{

    display:grid;

    grid-auto-flow:column;

    grid-template-rows:repeat(2,220px);

    grid-auto-columns:320px;

    gap:var(--gap);

    width:max-content;

    scroll-snap-type:x proximity;

}

.gallery-item{

    position:relative;

    overflow:hidden;

    border-radius:var(--radius);

    cursor:pointer;

    background:#fff;

    border:1px solid #e8eef8;

    transition:.35s;

    scroll-snap-align:start;

    user-select:none;

}

.gallery-item:hover{

    transform:translateY(-6px);

    box-shadow:0 18px 45px rgba(0,0,0,.12);

}

.gallery-item img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:.45s;

}

.gallery-item:hover img{

    transform:scale(1.08);

}

/*==================================
        Mobile
==================================*/

@media(max-width:768px){

    .gallery-grid{

        grid-template-rows:220px;

        grid-auto-columns:280px;

    }

}
/*==================================
        Lightbox
==================================*/

.gallery-lightbox{

    position:fixed;

    inset:0;

    background:rgba(7,17,30,.92);

    backdrop-filter:blur(8px);

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:99999;

}

.gallery-lightbox.active{

    opacity:1;

    visibility:visible;

}

.gallery-lightbox img{

    max-width:92vw;

    max-height:90vh;

    border-radius:16px;

    object-fit:contain;

    transform:scale(.92);

    transition:.3s;

    box-shadow:0 30px 80px rgba(0,0,0,.45);

}

.gallery-lightbox.active img{

    transform:scale(1);

}
.gallery-lightbox button{

    position:absolute;

    width:54px;

    height:54px;

    border:none;

    border-radius:50%;

    background:#fff;

    color:var(--blue);

    cursor:pointer;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:28px;

    transition:.25s;
    z-index: 5;

}

.gallery-lightbox button:hover{

    transform:scale(1.08);

    background:var(--blue);

    color:#fff;

}

.gallery-lightbox .close{

    top:30px;

    right:30px;

}

.gallery-lightbox .prev{

    left:30px;

}

.gallery-lightbox .next{

    right:30px;

}

@media(max-width:768px){

    .gallery-lightbox button{

        width:46px;

        height:46px;

        font-size:24px;

    }

    .gallery-lightbox .prev{

        left:10px;

    }

    .gallery-lightbox .next{

        right:10px;

    }

    .gallery-lightbox .close{

        top:15px;

        right:15px;

    }

}
/*===============================
        Gallery Header
================================*/

.gallery-header{

    margin-bottom:35px;

}

.gallery-subtitle{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:var(--blue);

    font-size:.9rem;

    font-weight:600;

    letter-spacing:1px;

    text-transform:uppercase;

    margin-bottom:12px;

}

.gallery-subtitle::before{

    content:"";

    width:35px;

    height:2px;

    background:var(--blue);

}

.gallery-header h2{

    font-size:2rem;

    color:#1b1b1b;

    font-weight:700;

    line-height:1.4;

    margin-bottom:18px;

}

.gallery-header p{

    max-width:720px;

    font-size:1rem;

    line-height:2;

    color:#6d7685;

}
.material-symbols-rounded{

    font-size:26px;

    user-select:none;

    pointer-events:none;

}
/*==================================
        Video Section
==================================*/
/*==================================
        Container
==================================*/

.container{

    width:80%;

    margin:10px auto;

}

@media (max-width:1400px){

    .container{

        width:92%;

    }

}

@media (max-width:1150px){

    .container{

        width:96%;

    }

}

.video-header{

    margin-bottom:30px;

}

.video-subtitle{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:var(--blue);

    font-size:.95rem;

    font-weight:700;

}

.video-subtitle::before{

    content:"";

    width:35px;

    height:2px;

    background:var(--blue);

}

.video-header h2{

    margin-top:15px;

    margin-bottom:15px;

    font-size:2rem;

    font-weight:700;

    color:#1f2937;

}

.video-header p{

    width:70%;

    line-height:2;

    color:#666;

}

.video-box{

    overflow:hidden;

    border-radius:24px;

    background:#fff;

    border:1px solid #e5e7eb;

    box-shadow:0 15px 40px rgba(0,0,0,.05);

}

.video-box{

    width:70%;

    margin:10px auto;

}

@media (max-width:1400px){

    .video-box{

        width:92%;

    }

}

@media (max-width:1150px){

    .video-box{

        width:96%;

    }

}

.video-box video{

    width:100%;

    display:block;

}

.video-content{

    margin-top:30px;

    padding:30px;

    border-radius:24px;

    background:#f8fafc;

    border:1px solid #e5e7eb;

}

.video-content h3{

    margin-bottom:15px;

    color:#111827;

    font-size:1.2rem;

}

.video-content p{

    line-height:2.2;

    color:#555;

}
@media(max-width:992px){

    .video-header p{

        width:100%;

    }

}

@media(max-width:768px){

    .video-header{

        text-align:center;

    }

    .video-subtitle{

        justify-content:center;

    }

    .video-subtitle::before{

        display:none;

    }

    .video-header h2{

        font-size:1.6rem;

    }

    .video-content{

        padding:20px;

    }

}
/*==================================
        Stone Specs
==================================*/

.stone-specs{

    margin:35px auto;

}

.specs-header{

    margin-bottom:35px;

}

.specs-subtitle{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:var(--blue);

    font-size:.95rem;

    font-weight:700;

}

.specs-subtitle::before{

    content:"";

    width:35px;

    height:2px;

    background:var(--blue);

}

.specs-header h2{

    margin:15px 0;

    font-size:2rem;

    color:#1f2937;

}

.specs-header p{

    width:70%;

    line-height:2;

    color:#666;

}

.specs-table{

    overflow:hidden;

    background:#fff;

    border-radius:22px;

    border:1px solid #edf1f7;

    box-shadow:0 12px 35px rgba(0,0,0,.05);

}

.specs-table table{

    width:100%;

    border-collapse:collapse;

}

.specs-table thead{

    background:var(--blue);

}

.specs-table th{

    color:#fff;

    padding:20px;

    text-align:right;

    font-size:1rem;

    font-weight:600;

}

.specs-table td{

    padding:18px 20px;

    border-bottom:1px solid #edf1f7;

    font-size:.95rem;

    transition:.25s;

}

.specs-table tbody tr:last-child td{

    border-bottom:none;

}

.specs-table tbody tr:nth-child(even){

    background:#fafcff;

}

.specs-table tbody tr:hover{

    background:#eef6ff;

}

.specs-table td:first-child{

    width:35%;

    color:#4b5563;

    font-weight:600;

}

.specs-table td:last-child{

    color:#111827;

}
@media(max-width:992px){

    .specs-header p{

        width:100%;

    }

}

@media(max-width:768px){

    .specs-header{

        text-align:center;

    }

    .specs-subtitle{

        justify-content:center;

    }

    .specs-subtitle::before{

        display:none;

    }

    .specs-header h2{

        font-size:1.6rem;

    }

    .specs-table th,

    .specs-table td{

        padding:15px;

        font-size:.9rem;

    }

}
.spec-title{

    display:flex;

    align-items:center;

    gap:12px;

    font-weight:600;

}

.spec-title .material-symbols-rounded{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:12px;

    background:#eef5ff;

    color:var(--blue);

    font-size:22px;

    flex-shrink:0;

    transition:.3s;

}

.specs-table tbody tr:hover .material-symbols-rounded{

    background:var(--blue);

    color:#fff;

    transform:rotate(-8deg) scale(1.08);

}

.specs-table tbody tr{

    transition:.3s;

}

.specs-table tbody tr:hover{

    transform:translateX(-4px);

}
@media(max-width:768px){

    .spec-title{

        gap:10px;

        font-size:.9rem;

    }

    .spec-title .material-symbols-rounded{

        width:36px;

        height:36px;

        font-size:20px;

        border-radius:10px;

    }

}
/*==================================
        Applications
==================================*/

.stone-applications{

    margin:35px auto;

}

.applications-header{

    margin-bottom:35px;

}

.applications-subtitle{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:var(--blue);

    font-weight:700;

}

.applications-subtitle::before{

    content:"";

    width:35px;

    height:2px;

    background:var(--blue);

}

.applications-header h2{

    margin:15px 0;

    font-size:2rem;

}

.applications-header p{

    width:70%;

    line-height:2;

    color:#666;

}

/*==========================*/

.applications-scroll{

    overflow-x:auto;

    padding-bottom:10px;

    scroll-behavior:smooth;

    scrollbar-width:thin;

}

.applications-list{

    display:flex;

    gap:22px;

    width:max-content;

}
.application-card{

    position:relative;

}
.application-card{

    width:320px;

    background:#fff;

    border-radius:22px;

    overflow:hidden;

    border:1px solid #edf1f7;

    text-decoration:none;

    transition:.35s;

    scroll-snap-align:start;

    flex-shrink:0;

}
.application-badge{

    position:absolute;

    top:16px;

    right:16px;

    display:flex;

    align-items:center;

    gap:8px;

    padding:10px 16px;

    border-radius:50px;

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(12px);

    color:#1f2937;

    font-size:.9rem;

    font-weight:600;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

}

.application-badge .material-symbols-rounded{

    font-size:20px;

    color:var(--blue);

}
.application-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.application-card img{

    width:100%;

    height:210px;

    object-fit:cover;

    display:block;

    transition:.4s;

}

.application-card:hover img{

    transform:scale(1.08);

}

.application-content{

    padding:22px;

}

.application-content h3{

    color:#111827;

    margin-bottom:12px;

    font-size:1.15rem;

}

.application-content p{

    color:#666;

    line-height:2;

    font-size:.95rem;

}


@media(max-width:992px){

    .applications-header p{

        width:100%;

    }

}

@media(max-width:768px){

    .applications-header{

        text-align:center;

    }

    .applications-subtitle{

        justify-content:center;

    }

    .applications-subtitle::before{

        display:none;

    }

    .application-card{

        width:280px;

    }

}
.read-more{

    margin-top:18px;

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:var(--blue);

    font-weight:600;

    transition:.3s;

}

.read-more .material-symbols-rounded{

    font-size:18px;

    transition:.3s;

}

.application-card:hover .read-more{

    gap:14px;

}
.application-card{

    overflow:hidden;

}

.application-card::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        to top,
        rgba(0,0,0,.25),
        transparent 45%
    );

    opacity:0;

    transition:.35s;

    pointer-events:none;

}

.application-card:hover::after{

    opacity:1;

}
/*==================================
        Stone Colors
==================================*/

.stone-colors{

    margin:30px auto;

}

.colors-header{

    margin-bottom:35px;

}

.colors-subtitle{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:var(--blue);

    font-weight:700;

}

.colors-subtitle::before{

    content:"";

    width:35px;

    height:2px;

    background:var(--blue);

}

.colors-header h2{

    margin:15px 0;

    font-size:2rem;

}

.colors-header p{

    width:70%;

    line-height:2;

    color:#666;

}

.colors-scroll{

    overflow-x:auto;

    padding-bottom:10px;

}

.colors-list{

    display:flex;

    gap:22px;

    width:max-content;

}

.color-card{

    width:250px;

    flex-shrink:0;

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    text-decoration:none;

    border:1px solid #edf1f7;

    transition:.35s;

}

.color-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 40px rgba(0,0,0,.08);

}

.color-card img{

    width:100%;

    aspect-ratio:1/1;

    object-fit:cover;

    display:block;

    transition:.4s;

}

.color-card:hover img{

    transform:scale(1.06);

}

.color-content{

    padding:18px;

}

.color-content h3{

    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:12px;

    color:#111827;

}

.color-dot{

    width:16px;

    height:16px;

    border-radius:50%;

    border:1px solid #dcdcdc;

    flex-shrink:0;

}

.white{

    background:#ffffff;

}

.cream{

    background:#efe3c4;

}

.chocolate{

    background:#6a4327;

}

.walnut{

    background:#866347;

}

.gold{

    background:#d8b352;

}

.color-link{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:var(--blue);

    font-weight:600;

}

.color-link .material-symbols-rounded{

    font-size:18px;

}
@media(max-width:992px){

    .colors-header p{

        width:100%;

    }

}

@media(max-width:768px){

    .colors-header{

        text-align:center;

    }

    .colors-subtitle{

        justify-content:center;

    }

    .colors-subtitle::before{

        display:none;

    }

    .color-card{

        width:220px;

    }

}
/*==================================
            Mines
==================================*/

.stone-mines{

    margin:30px auto;

}

.mines-header{

    margin-bottom:35px;

}

.mines-subtitle{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:var(--blue);

    font-weight:700;

}

.mines-subtitle::before{

    content:"";

    width:35px;

    height:2px;

    background:var(--blue);

}

.mines-header h2{

    margin:15px 0;

    font-size:2rem;

}

.mines-header p{

    width:70%;

    color:#666;

    line-height:2;

}

.mines-scroll{

    overflow-x:auto;

    padding-bottom:10px;

}

.mines-list{

    display:flex;

    gap:24px;

    width:max-content;

}

.mine-card{

    position:relative;

    width:340px;

    flex-shrink:0;

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    text-decoration:none;

    border:1px solid #edf1f7;

    transition:.35s;

}

.mine-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.mine-card img{

    width:100%;

    height:230px;

    object-fit:cover;

    display:block;

    transition:.4s;

}

.mine-card:hover img{

    transform:scale(1.08);

}

.mine-quality{

    position:absolute;

    top:18px;

    right:18px;

    display:flex;

    align-items:center;

    gap:8px;

    padding:10px 16px;

    border-radius:40px;

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(12px);

    font-size:.9rem;

    font-weight:600;

}

.mine-quality .material-symbols-rounded{

    color:#f5b301;

}

.mine-content{

    padding:22px;

}

.mine-content h3{

    margin-bottom:12px;

    color:#111827;

}

.mine-content p{

    display:flex;

    align-items:center;

    gap:8px;

    color:#666;

    margin-bottom:18px;

}

.mine-content p .material-symbols-rounded{

    font-size:20px;

    color:var(--blue);

}

.mine-link{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:var(--blue);

    font-weight:600;

}

.mine-card:hover .mine-link{

    gap:14px;

}
@media(max-width:992px){

    .mines-header p{

        width:100%;

    }

}

@media(max-width:768px){

    .mines-header{

        text-align:center;

    }

    .mines-subtitle{

        justify-content:center;

    }

    .mines-subtitle::before{

        display:none;

    }

    .mine-card{

        width:290px;

    }

}






