/*!
Theme Name: griha design
Theme URI: http://underscores.me/
Author: Ranjit Shrestha
Author URI: https://shrestharanjit.com.np/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: griha-design
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

griha design is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

/* gallery  */
.full-image>figure>img{
    height: 100% !important;
    width: 100% !important;
    object-fit: contain !important;
}

/* Orange dot cursor */
.custom-cursor-dot {
    position: fixed;
    top: 0;
    left: 0;
    width: 9px;
    height: 9px;
    background: #EB5E28;
    border-radius: 50%;
    pointer-events: none;
    z-index: 9999;
    transform: translate(-50%, -50%);
    transition: background 0.2s, box-shadow 0.2s;
    will-change: transform;
}

.custom-cursor-dot.hide {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s;
}

/* header {
    background-color: transparent;
    transition: all 0.5s ease-in-out;
}

.header-scrolled {
    background-color: #06060D;
    box-shadow: 0 2px 8px rgba(255, 255, 255, 0.02);
} */

.blog-container {
    width: 100%;
    overflow: hidden;
}

.blog-grid {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}

.blog-card-wrapper {
    width: calc(25% - 1.5rem);
    transition: width 0.5s ease;
}

.blog-card {
    width: 100%;
    height: 100%;
}

.blog-title {
    width: 100%;
    transition: width 0.5s ease;
}

.featured-blog {
    width: calc(50% - 1.5rem);
}

/* .featured-blog .blog-title {
    width: 60%;
} */

/* 
.blog-card-wrapper:hover {
    width: calc(50% - 1.5rem);
}

.blog-card-wrapper:hover .blog-title {
    width: 60%;
}

.blog-grid:hover .featured-blog:not(:hover) {
    width: calc(25% - 1.5rem);
}

.blog-grid:hover .featured-blog:not(:hover) .blog-title {
    width: 100%;
} */

@media (min-width: 1025px) {
    .blog-card-wrapper:hover {
        width: calc(50% - 1.5rem);
    }

    /* .blog-card-wrapper:hover .blog-title {
        width: 60%;
    } */

    .blog-grid:hover .featured-blog:not(:hover) {
        width: calc(25% - 1.5rem);
    }

    .blog-grid:hover .featured-blog:not(:hover) .blog-title {
        width: 100%;
    }
}

@media (max-width: 1024px) {
    .blog-grid {
        flex-wrap: nowrap;
    }

    .blog-card-wrapper,
    .featured-blog {
        width: 50%;
    }

    .featured-blog .blog-title,
    .blog-card-wrapper .blog-title {
        width: 100%;
    }

    .blog-grid {
        gap: 2rem;
    }
}

@media (max-width: 767px) {

    .featured-blog {
        width: 100%;
    }

    .featured-blog .blog-title {
        width: 100%;
    }

    .blog-card-wrapper,
    .featured-blog {
        width: 100%;
    }

    .blog-grid {
        gap: 1rem;
    }
}


.timer-bar .progress {
    transition: width 300ms linear, background-color 300ms ease;
}

/* Ensure consistent container sizing */
/* .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
} */

/* Make sure timer bars are evenly distributed */
.timer-container {
    display: flex;
    gap: 4px;
}

.timer-bar {
    flex: 1;
    height: 2px;
    border-radius: 2px;
    overflow: hidden;
    position: relative;
}


.fade-bg {
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
}

.swiper-slide-active .fade-bg {
    opacity: 1;
}

.swiper-slide-prev .fade-bg,
.swiper-slide-next .fade-bg {
    opacity: 0;
}


/*  */
.custom-cursor {
    position: fixed;
    width: 100px;
    height: 100px;
    background: rgba(0, 0, 0, 0.8);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    text-align: center;
    pointer-events: none;
    z-index: 9999;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: opacity 0.3s ease, transform 0.1s ease;
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.2);
}

.custom-cursor.active {
    opacity: 0.8;
    transform: translate(-50%, -50%) scale(1);
}

.custom-cursor.hover {
    transform: translate(-50%, -50%) scale(1.1);
}

/* option select */
select option {
    background-color: #13131B !important;
    color: #fff !important;
}

/* workflow image */
.workflow-image {
    transition: opacity 0.3s ease;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.workflow-image.active {
    opacity: 1;
    pointer-events: auto;
}

.service-slider-vertical {
    height: 100px !important;

    @media (max-width: 1024px) {
        height: 54px !important;
    }

    @media (max-width: 767px) {
        height: 36px !important;
    }
}

.swiper-pagination-fraction {
    color: #F0F2F0 !important;
}

/* 3d */
.model-container {
    cursor: pointer;
    transition: all 0.3s ease;
}

.model-container:hover {
    opacity: 0.95;
}

/* project list animation start */
/* [x-cloak] {
    display: none !important;
}

.fade-enter-active {
    animation: fade-in 0.3s ease-out;
}

@keyframes fade-in {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
} */
/* project list animation end */

.mobile__site-nav {
    opacity: 0;
    pointer-events: none;
    transform: translateY(30px);
    transition: none;
    /* GSAP handles transitions */
}



/* swiper */
.swiper-pagination {
    text-align: left !important;
}

.swiper-progress-bar {
    position: relative;
    width: 100%;
    display: block;
    z-index: 1;
    height: 3px;

    .slide_progress-bar {
        position: absolute;
        height: 3px;
        background: #7a7a7a;
        width: auto;
        clear: both;
        opacity: 0;
        bottom: 45px;
        left: 0;
        right: 0;

        &:after {
            position: absolute;
            top: 0;
            left: 0;
            background: #F0F2F0;
            height: 100%;
            width: 0;
            content: "";
            transition: 0.1s width linear;
        }
    }

    &.active {
        .slide_progress-bar {
            opacity: 1;
        }
    }

    &.animate {
        .slide_progress-bar {
            &:after {
                transition: width linear;
                transition-delay: unset;
                width: 100%;
                transition-duration: 5s;
            }
        }
    }
}

/* comparision-slider */
.fw-img-slider-container {
    position: relative;
}

.fw-after,
.fw-before {
    pointer-events: none;
}

.scroller {
    width: 50px;
    height: 100%;
    background: transparent;
    cursor: ew-resize;
}

.scroller__thumb {
    pointer-events: none;
}

img {
    -webkit-user-drag: none;
}

/* Prevent selection globally while dragging */
body.noselect,
body.noselect * {
    user-select: none !important;
}



/* slider pagination animation */
.slider-anim-circle {
    stroke-dasharray: 131.946;
    /* 2 * PI * r (r=21) */
    stroke-dashoffset: 131.946;
    transition: stroke-dashoffset 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.slider-button:hover .slider-anim-circle,
.slider-button:focus .slider-anim-circle,
.slider-button.group:hover .slider-anim-circle {
    stroke-dashoffset: 0;
}


/* image comparision */
.compare {
    position: relative;
    width: 60%;
    max-width: 100%;
    aspect-ratio: 1.4;
    margin: 0rem auto;
    border-radius: 12px;
    overflow: hidden;
}

.compare .comparison-label {
    position: absolute;
    top: 50%;
    z-index: 40;
    padding: 0.35rem 0.75rem;
    border-radius: 2px;
    background: rgba(17, 24, 39, 0.65);
    color: #fff;
    /* font-weight: 600; */
    font-size: 0.8125rem;
    line-height: 1;
    letter-spacing: 0.06em;
    pointer-events: none;
    /* text-transform: uppercase; */
    white-space: nowrap;
    min-width: max-content;
    transform: translateY(-50%);
}

.compare .comparison-label--left {
    left: 1rem;
}

.compare .comparison-label--right {
    right: 1rem;
    text-align: right;
}

@media (max-width: 1023px) {
    .compare {
        width: 100%;
    }
}

.comparision-layer {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.comparision-layer--left {
    left: 0;
    right: auto;
    width: 50%;
}

.comparision-layer--right {
    right: 0;
    left: auto;
    width: 50%;
    border-left: 1px solid #ced4da;
    transition: border 250ms ease-in-out;
}

.comparision-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 10;
}

.comparision-image-1 {
    object-position: left;
}

.comparision-image-2 {
    object-position: right;
}

.comparision-slider {
    position: absolute;
    z-index: 20;
    inset: 0 -10px;
    appearance: none;
    background: transparent;
    cursor: pointer;
}

.comparision-slider::-webkit-slider-thumb,
.comparision-slider::-moz-range-thumb {
    appearance: none;
    background: transparent;
    border: none;
}

.compare:has(.comparision-slider:active) .comparision-layer--right {
    border-left: 1px solid #fff;
}

.compare:has(.comparision-slider:active) .thumb {
    background: #fff;
}

.thumb {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 30;
    background: #ced4da;
    border-radius: 0.5rem;
    font-size: 2rem;
    width: 2rem;
    transform: translate(-50%, -50%);
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    transition: background 250ms ease-in-out;
}

.thumb svg {
    width: 1.2rem;
    height: 1.2rem;
}

.box-shadow {
    --opacity: 0.07;
    box-shadow: 0 1px 1px rgba(0, 0, 0, var(--opacity)),
        0 2px 2px rgba(0, 0, 0, var(--opacity)),
        0 4px 4px rgba(0, 0, 0, var(--opacity)),
        0 8px 8px rgba(0, 0, 0, var(--opacity)),
        0 16px 16px rgba(0, 0, 0, var(--opacity));
}

.mySwiperServices .swiper-slide-active p{
    color: #EB5E28 !important;
    transition: color 0.3s ease-in-out;
}