@font-face {
    font-family: iransans;

    font-weight: normal;
    src: url("../Fonts/fonts/iransans/eot/IRANSansWeb.eot"), url("../Fonts/fonts/iransans/ttf/IRANSansWeb.ttf"), url("../Fonts/fonts/iransans/woff/IRANSansWeb.woff"), url("../Fonts/fonts/iransans/woff2/IRANSansWeb.woff2");
}

@font-face {
    font-family: poppins;

    font-weight: normal;
    src: url("../Fonts/fonts/poppins/ttf/Poppins-Light.ttf"), url("../Fonts/fonts/poppins/ttf/Poppins-Medium.ttf"), url("../Fonts/fonts/poppins/ttf/Poppins-Regular.ttf"), url("../Fonts/fonts/poppins/ttf/Poppins-SemiBold.ttf"), url("../Fonts/fonts/poppins/ttf/Poppins-Bold.ttf");
}

:root {
    --black: #000000;
    --blue: #3B82B5;
    --orange: #EFA325;
    --yellow: #F8CE2D;
    --red: #EE3125;
    --very-dark-gray: #14181C;
    --dark-gray: #23272C;
    --gray: #3E3E3E;
    --md-gray: #7B7B7B;
    --green: #48A957;
    --light-gray: #D6D6D6;
    --very-light-gray: #FDFDFD;
    --main-text-color-white: #DEDEDE;
    --mat-black: #15181B;
}

html {
    overflow-x: hidden;
}

body {
    z-index: 1;
    background-color: var(--black);
    overflow-x: hidden;
}

body, * {
    font-family: poppins, serif;

}

body.dv-rtl, .dv-rtl * {
    font-family: iransans, Serif;
}

.dv-23px {
    width: 25px;
}

#dv-of-x {
    overflow-x: visible !important;
}

.content {
    display: flex;
    padding: 20px 0;
}

.main {
    flex: 1 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    margin-right: 10px;
    background: #ccc;
    background: linear-gradient(to bottom, #eeeeee 0%, #B7EAE0 100%);
}

.side {
    display: flex;
    align-items: center;
    justify-content: center;
    position: sticky;
    top: 10px;
    width: 140px;
    height: 140px;
    color: #fff;
    background: #30b298;
}

#footer ul {
    list-style-type: none !important;
}

a {
    text-decoration: none !important;
}

.dv-default-cursor {
    cursor: default;
}

#footer a:hover {
    color: var(--md-gray);
}

::-webkit-scrollbar {
    width: 8px;
}

.navbar-brand {
    margin-left: 12px;
}

/* Track */
::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 5px #000000;
    box-shadow: inset 0 0 5px #000000;
    border-radius: 20px;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: var(--orange);

    border-radius: 20px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: var(--orange);

}

.dv-footer-opacity-40 {
    opacity: 40%;
}

.dv-footer-active {
    opacity: 60%;
}

.dv-opacity-deactive {
    opacity: 40%;
}

.dv-fs-12 {
    font-size: 12px !important;
}

.dv-fs-14 {
    font-size: 14px !important;
}

.dv-fs-16 {
    font-size: 16px;
}

.dv-fs-18 {
    font-size: 18px !important;
}

.dv-fs-20 {
    font-size: 20px !important;
}

.dv-fs-22 {
    font-size: 22px !important;
}

.dv-fs-33 {
    font-size: 33px !important;
}

.dv-fs-44 {
    font-size: 44px !important;
}

.dv-fs-56 {
    font-size: 56px !important;
}

.dv-fw-700 {
    font-weight: 700;
}

.main-text-white {
    color: var(--main-text-color-white) !important;
}

.text-green {
    color: var(--green);
}

.text-md-gray {
    color: var(--md-gray);
}

.text-black-50 {
    color: var(--black) !important;
}

.text-light-gray-two {
    color: var(--light-gray) !important;
}

.dv-opacity-deactive-navbar {
    opacity: 60%;
}

#language:focus-visible {
    outline: -webkit-focus-ring-color auto 0px;
}

#header {
    z-index: 8;
}

.dv-index-header {
    margin-left: auto;
}

.tester {
    position: absolute;
    z-index: -10;
    width: 100%;
    height: 892px;
    background-image: url(../images/hero-bg-image.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top right;
}

#header select[name="language"] {
    background-color: transparent !important;
    color: white;
    border: none;
    width: 80px;
}

#header select[name="language"] option {
    background-color: black;
}

.dv-menu-dropdown {
    padding-left: 20px;
    border-left: 2px solid var(--md-gray);
}

.dv-button-model-one-style {
    color: var(--black);
    background-color: var(--orange);
    width: 166px;
    height: 54px;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s;
    text-decoration: none;
    border: 1px solid var(--orange);
}

.dv-button-model-one-style:hover {
    background-color: var(--yellow);
    color: var(--black);
}

.dv-button-model-two-style {
    color: var(--orange);
    background-color: transparent;
    border: 1px solid var(--orange);
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 166px;
    height: 54px;
    transition: 0.3s;
    text-decoration: none;
}

.dv-button-model-two-style:hover {
    background-color: var(--orange);
    color: var(--black);
}

.dv-button-model-three-style {
    transition: 1s;
    background-color: var(--black);
    color: white;
    border-radius: 4px;
    opacity: 0.85;
    height: 54px;
    border: none !important;
}

.dv-button-model-three-style:hover {
    opacity: 1;
}

#footer {
    background-image: url(../images/Footer-bg.png);
    background-size: cover;
}

.dv-circle {
    position: absolute;
    top: 363px;
    left: 51%;
}

.dv-circle:hover .dv-arrow {
    width: 300px;
}

.dv-arrow {
    position: absolute;
    top: 324px;
    left: 31%;
    transition: 2s cubic-bezier(0.38, 0.8, 1, 1);;
    width: 0;
}

.Margin {
    height: 160px;
}

.dv-pause-video-content {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.breadcrumb-z-index {
    z-index: 1;
}

/**************************************************************/
/* stars */
.Stars {
    --percent: calc(var(--rating) / 5 * 100%);
    display: inline-block;
    font-size: 15px;
    font-family: Times;
    line-height: 1;
}

.Stars::before {
    content: "★★★★★";
    letter-spacing: 0;
    background: linear-gradient(90deg, #fc0 var(--percent), #a29e9e var(--percent));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/****************************************************************/
.modal-backdrop {
    z-index: -3 !important;
}

.dv-bg-very-dark-gray {
    background-color: var(--very-dark-gray);
}

.dv-bg-light-black {
    background-color: #0B0E11;
}

.dv-index-modal-selector-black {
    background-color: #0B0E11;
    border: 1px solid #3E3E3E;
    border-radius: 4px;
    outline: none !important;
    box-shadow: none !important;
    color: var(--main-text-color-white);
}

.dv-index-modal-selector-black:active {
    border: 1px solid #EEA325 !important;
}

.dv-index-modal-option {
    color: var(--main-text-color-white);
}

.dv-index-modal-option:hover {
    background-color: red;
}

.dv-index-modal-selector-black::selection {
    border: 1px solid #EEA325 !important;
}

.dv-index-modal-title {
    color: var(--light-gray);
    font-size: 28px;
}

.dv-index-modal-btn-back {
    width: 175px;
    height: 50px;
    background-color: #23272C;
    color: #EEA325;
    font-size: 16px;
}

.dv-index-modal-btn-next {
    width: 175px;
    height: 50px;
    background-color: #EEA325;
    color: black;
    font-size: 16px;
}

.dv-index-modal-submit {
    width: 289px;
    height: 51px;
    background: #EEA325;
    border-radius: 4px;
}

.dv-index-modal-inputs {
    background-color: #0B0E11 !important;
}

.dv-index-modal .modal-dialog {
    border-radius: 12px;
}

.dv-index-modal-link {
    font-size: 16px;
    color: #EEA325 !important;
}

.modal-backdrop {
    z-index: -3 !important;
}

.dv-bg-very-dark-gray {
    background-color: var(--very-dark-gray) !important;
}

.dv-bg-light-black {
    background-color: #0B0E11;
}

.dv-index-modal-selector-black {
    background-color: #0B0E11;
    border: 1px solid #3E3E3E;
    border-radius: 4px;
    outline: none !important;
    box-shadow: none !important;
}

.dv-index-modal-selector-black:active {
    border: 1px solid #EEA325 !important;
}

.dv-index-modal-selector-black::selection {
    border: 1px solid #EEA325 !important;
}

.dv-index-modal-title {
    color: var(--light-gray);
    font-size: 28px;
}

.dv-index-modal-submit-title {
    color: var(--light-gray);
    font-size: 20px;
    width: 80%;
    margin: 0 auto;
}

.dv-index-modal-btn-back, .dv-index-modal-btn-next {
    width: 175px;
    height: 50px;
    font-size: 16px;
}

.dv-index-modal-btn-back {
    background-color: #23272C;
    color: #EEA325;
}

.dv-index-modal-btn-next {
    background-color: #EEA325;
    color: black;
}

.dv-index-modal-submit {
    width: 85%;
    height: 50px;
    background: #EEA325;
    border-radius: 4px;
    margin-top: 1.5rem;
}

.dv-index-modal-inputs {
    background-color: #0B0E11 !important;
    width: 85%;
}

.dv-index-modal .modal-dialog {
    border-radius: 12px;
}

.dv-index-modal-link {
    font-size: 16px;
    color: #EEA325 !important;
}

/***********************************         PRODUCTS         **************************************/
.dv-projects-slide {
    position: relative;

}

.swiper-pagination-bullet {
    width: 20px;
    height: 20px;
    text-align: center;
    line-height: 20px;
    font-size: 12px;
    color: #000;
    opacity: 1;
    background: rgba(0, 0, 0, 0.2);
}

.swiper-pagination-bullet-active {
    color: #fff;
    background: #007aff;
}

.dv-projects-slide .swiper-button-next, .dv-projects-slide .swiper-button-prev {
    color: white !important;
    background-color: black !important;
    padding: 3rem 2rem !important;
    opacity: 0.5 !important;
    height: 10% !important;
    top: 50% !important;
}

.dv-projects-slide .swiper-button-next {
    right: 0 !important;
    z-index: 5;
}

.dv-projects-slide .swiper-button-prev {
    left: 0 !important;
    z-index: 5;
}

.dv-product-info-modal-p-swiper-swiper-button-next {
    right: 15px;
}

.dv-product-info-modal-p-swiper-swiper-button-prev {
    left: 15px;
}

.dv-projects-banner-swiper img {
    width: 100%;
    height: 540px;
}

.dv-products-search {
    background-color: #14181C;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    height: 120px;
    /*max-width: 1250px;*/
    width: 100%;
    top: -40px;
    z-index: 2;

}

.dv-products-search-selector {
    max-width: 129px;
    width: 100%;
    height: 50px !important;
}

.dv-products-search-btn {
    margin-top: 2rem;
    font-size: 16px;
    max-width: 320px;
    width: 100%;
    height: 55px;
    background: #EEA325;
    border-radius: 4px;
}

/***********************************         PRODUCTS CARD         **************************************/
#dv-products-product-list {
    margin-top: 30px;
}

.dv-products-card-swiper-btn {
    color: black !important;
    background-color: white !important;
    display: none;
    height: 25px;
    width: 25px;
    padding-left: 8px;
    border-radius: 2px;
}

.dv-products-card-swiper-btn:after {
    font-size: 15px;
}

.dv-products-product-card-swiper:hover .dv-products-card-swiper-btn {
    display: block !important;
}

.dv-products-product-card-swiper .swiper {
    max-width: 20rem !important;
    width: 100%;
    border-radius: 4px;
}

.dv-products-card-swiper-btn-pag .swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
}

.dv-products-card-swiper-btn-pag {
    background: transparent !important;
}

.dv-products-product-card {
    background-color: #14181C;
    border-radius: 4px !important;
    transition: 0.4s linear;
}

.dv-products-product-card:hover {

}

.dv-products-card-title {
    font-size: 16px;
    color: white;
}

.dv-products-card-icon-and-text {
    color: rgba(255, 255, 255, 0.2) !important;
}

.dv-products-product-card-border {
    color: #999999;
}

.dv-products-card-link {
    color: white;
    transition: 0.4s linear;
}

.dv-products-product-card-body-all:hover .dv-products-card-link,
.dv-products-product-card-body-all:hover .icon-pointer-yellow:before {
    color: #EFA325 !important;
}

/***********************************         PRODUCT INFO         **************************************/
/*************         PRODUCT INFO BANNER        ******************/
.dv-product-info-banner-inside-links {
    top: 420px;
    position: relative;
}

.dv-product-info-banner {
    background-image: url(../../assets/images/image.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    min-height: 100%;
    position: relative !important;
    height: 480px;
    width: 100%;
    max-width: 100%;
}

.dv-products-info-banner-form-logo {
    width: 65px;
    height: 70px;
}

.dv-product-info-banner-inside-form-inside input {
    height: 50px !important;
}

.dv-product-info-banner-form {
    width: 360px;
    height: 460px;
    background-color: #14181C !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    /*margin: 7rem auto 0 auto;*/
}

.dv-products-info-modal-dialog-in {
    background-color: rgb(0, 0, 0, 0.5) !important;
    padding-top: 20vh !important;
}

.dv-products-info-modal-dialog-in-map {
    background-color: rgb(0, 0, 0, 0.5) !important;
    padding-top: 7vh !important;
}

.dv-products-info-modal-dialog {
    max-width: 100% !important;
}

/*************         PRODUCT INFO BANNER PHOTO MODAL       ******************/
/*!***********************       PRODUCT INFO MODAL PHOTO GALLEY START      ****************************/
/* ................................................ swiper gallery .......................................................... */
.swiper {
    width: 50vw;
    height: 100%;
    padding-bottom: 15px;
}

.swiper-slide-img {
    height: auto;
    width: 100%;
    min-height: 353px;
}

.swiper-slide-img:hover {
    cursor: pointer;
}

.gallery-thumbs .swiper-slide img:hover, .swiper-slide img:hover {
    cursor: pointer;
}



/*active pagination*/
.swiper-pagination .swiper-pagination-bullet-active {
    background-color: rgb(255, 255, 255);
}

/*other pagination*/
.swiper-pagination .swiper-pagination-bullet {
    height: 15px;
    width: 15px;
}

.swiper-pagination .swiper-pagination-bullet:hover {
    transform: scale(1.2);
    transition: all 0.5s;
}

.swiper-pagination .swiper-pagination-bullet:focus {
    outline: none;
    background-color: rgb(255, 255, 255);
    -webkit-tap-highlight-color: rgb(248, 248, 248);
}

.minimum-height {
    min-height: 257px;
}

/* ................................................ thumbs .......................................................... */
.gallery-thumbs {
    padding: 0;
    margin-top: 0;
    margin-bottom: 40px;
    position: absolute;
    top: 85%;
    left: 35%;
    width: 28.5vw;
}

.gallery-thumbs .swiper-slide {
    width: 85px !important;
    opacity: 0.5;
}

.gallery-thumbs .swiper-slide-thumb-active {
    opacity: 1;
}

.gallery-thumbs .swiper-slide img {
    width: 85px;
    height: 50px;
    min-height: 40px;
    object-fit: cover;
    border-radius: 10px;
}

/* ................................................ modal .......................................................... */
.modal {
    display: none;
    position: fixed;
    z-index: 10;
    left: 0;
    top: 0;
    height: 100vh;
    width: 100vw;
}

#site-banner .modal-header {
    padding: 2rem 2rem;
}

#site-banner .modal-body {
    padding: 2rem 2rem;
}

#site-banner .modal-footer {
    padding: 2rem 2rem;
}

.modal-content {
    background-color: rgb(0, 0, 0);
    padding: 0;
    border-radius: 12px;
    height: 100%;
    width: 100%;
    min-width: 300px;
    animation-name: modalOpen;
    animation-duration: 1s;
}

.closeBtn {
    position: absolute; /* removed from normal flow of doc, positioned relative to its nearest ancestor (modal content)*/
    z-index: 4;
    color: white;
    right: 5%;
    font-size: 100px;
    top: -2%;
}

.closeBtn:hover, .closeBtn:focus {
    color: rgb(114, 114, 114);
    text-decoration: none;
    cursor: pointer;
}

@keyframes modalOpen {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

/* ............................................. modal swiper gallery ....................................................... */
/* used ids higher specificity to override gallery styles */
#swiper-container-modal {
    z-index: 3;
    width: 100%;
    height: 100%;
    overflow: hidden;
    padding: 0;
    border: 0;
}

#swiper-pagination-modal {
    display: none; /* if pagination not included in modal... index.html pagination buttons dnt change (black for active slide)*/
}

#swiper-button-next-modal {
    transform: translateX(-40%);
    color: white;
}

#swiper-button-prev-modal {
    transform: translateX(40%);
    color: white;
}

.swiper-slide-modal {
    height: 100vh;
}

.swiper-lazy-modal {
    object-fit: contain;
    border: 0;
}

.dv-product-info-modal-p-btn {
    min-height: 40px !important;
}

/* ............................................. responsiveness ....................................................... */
/*!***********************       PRODUCT INFO MODAL PHOTO GALLEY END      ****************************/
/*************         PRODUCT INFO BANNER VIDEO MODAL       ******************/
#product-info-modal-video .swiper {
    width: 100%;
    height: 100%;
}

#product-info-modal-video .swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;

    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

#product-info-modal-video .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#product-info-modal-video .swiper {
    width: 100%;
    height: 300px;
    margin-left: auto;
    margin-right: auto;
}

#product-info-modal-video .swiper-slide {
    background-size: cover;
    background-position: center;
    border-radius: 10px;
}

#product-info-modal-video .mySwiper2 {
    height: 80%;
    width: 100%;
}

#product-info-modal-video .mySwiper {
    height: 20%;
    box-sizing: border-box;
    padding: 10px 0;
}

#product-info-modal-video .mySwiper .swiper-slide {
    width: 25%;
    height: 100%;
    opacity: 0.4;
}

#product-info-modal-video .mySwiper .swiper-slide-thumb-active {
    opacity: 1;
}

#product-info-modal-video .swiper-slide video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery {
    position: relative;
}

.gallery-thumbsV {
    position: absolute;
    padding: 0;
    margin-top: 0;
    margin-bottom: 40px;
    top: 75%;
    left: 35%;
    width: 28.5vw !important;
}

.gallery-thumbsV {
    width: 100%;
    padding: 0;
    overflow: hidden;
}

.gallery-thumbsV .swiper-slide {
    width: 100px;
    height: 100px;
    text-align: center;
    overflow: hidden;
    opacity: 0.1;
}

.gallery-thumbsV .swiper-slide-active {
    opacity: 1;
}

.gallery-thumbsV .swiper-slide img {
    width: auto;
    height: 100%;
}

.dv-product-info-modal-video-vid {
    max-height: 100vh;
    max-width: 100vw;
}

.dv-video-close-button {
    top: 2% !important;
    right: 5%;
    font-size: 7rem;
}

/*************         PRODUCT INFO BANNER MAP MODAL       ******************/
#map {
    height: 70vh;
    width: 70vw;
    border-radius: 20px;

}

#factory_location {
    width: 100%;
    height: 400px;
}

.dv-product-info-modal-map {
    /*margin-right: 55vw;*/
    border-radius: 20px;
    padding-top: 13vh !important;

    margin-right: 68vw;
    margin-left: 16vw;

}

.dv-product-info-modal-map-content {
    border-radius: 20px;
}

/************         PRODUCT INFO ALL MAIN TEST      ******************/
.dv-product-info-form-modal-btn {
    display: none;
    position: absolute;
    z-index: 2;
    background-color: #EEA325;
    border-radius: 12px 12px 0 0;
    border: none;
    width: 110px;
    height: 30px;
    rotate: 270deg;
    right: -4.9%;
    top: auto;
}

#product-info-text {
    margin-top: 4.5rem;
}

.dv-product-info-inside-all {
    margin-bottom: 10%;
}

.dv-product-info-breadcrumb a {
    color: rgba(214, 214, 214, 0.3) !important;
}

.dv-product-info-breadcrumb li, .dv-product-info-breadcrumb a:hover {
    color: #D6D6D6 !important;
}

.dv-product-info-title {
    font-size: 40px;
}

.dv-product-info-text {
    font-size: 20px;
    color: rgba(214, 214, 214, 1)
}

.dv-product-info-all-text {
    color: rgba(214, 214, 214, 0.6);
    transition: 0.4s linear;
}

.dv-product-info-all-text:hover {
    color: rgba(214, 214, 214, 1);
}

.dv-product-info-icons {
    font-size: 16px;
}

.dv-product-info-secend-title {
    font-size: 32px;
}

.dv-products-info-modal-dialog {
    max-width: 100vw !important;
    max-height: 100vh !important;
    margin-top: 0;
}

.dv-product-info-banner-inside-links .swiper-button-next, .dv-product-info-banner-inside-links .swiper-button-prev {
    color: white !important;
    font-weight: 900;
    top: 30% !important;
    height: 40%;
    /* background-color: black; */
    /* opacity: 0.3; */
    width: 25px;
}

.btn-d-none {
    display: none !important;
}

.slick-prev {
    left: 30px;
}

.slick-next {
    right: 30px;
}

.swiper-rtl .swiper-button-prev {
    right: 20px !important;
    left: auto;
}

.btn-check:focus + .btn, .btn:focus {
    box-shadow: none !important;
}

.btn-gray-hover:hover {
    color: var(--orange) !important;
}

/*********************** counter *****************************/
.counter {
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    margin: 1.5%;
    font-size: 50px;
    color: var(--main-text-color-white);
    vertical-align: middle;
}

/************************** input empty ******************************/
.dv-product-info-style {
    border: 1px solid #3E3E3E !important;
    color: var(--main-text-color-white) !important;
}

.dv-search-bar {
    margin-left: -1rem;
}

input[type=text], input[type=tel], input[type=email] {
    height: 44px;
    display: block;
    border: 2px solid var(--main-text-color-white);
    border-radius: 3px;
    padding: 10px;
    background-color: var(--main-text-color-white);
    -webkit-transition: border 0.30s ease-in-out;
    -moz-transition: border 0.30s ease-in-out;
    -ms-transition: border 0.30s ease-in-out;
    -o-transition: border 0.30s ease-in-out;
}

input::placeholder {
    color: #919191;
}

.dv-footer-button-height {
    height: 44px !important;
}

.dv-copy-right-footer {
    border-top: 1px solid rgba(11, 14, 17, 0.2)
}

input.form-control:focus {
    box-shadow: none !important;
    border: 2px solid var(--orange) !important
}

input:focus {
    border: 2px solid var(--orange) !important;
}

input:hover {
    border: 2px solid var(--orange);
}

.add-border-green {
    border: 2px solid var(--orange) !important;;
}

.add-border-red {
    border: 2px solid var(--red) !important;
}

.dv-counter-site-banner {
    min-width: 130px;
}

.dv-site-banner-lower-parent {
    /*margin-top: 280px;*/
}

.cut-text-mini-card {
    text-overflow: ellipsis;
    overflow: hidden;
    width: 141px;
    margin-bottom: 2px !important;
    white-space: nowrap;
}

.cut-text {
    text-overflow: ellipsis;
    overflow: hidden;
    width: 200px;
    margin-bottom: 2px !important;
    white-space: nowrap;
}

#header {
    position: absolute;
    width: 100%;
}

#header .dv-index-navbar-bg {
    background-color: transparent;
}

#header .dv-index-navbar-bg-product {
    background-color: var(--black);
}

.dv-margin-top-banner-product {
    margin-top: 50px;
}
.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover,
#header .active {
    color: var(--orange) !important;
}

#header .dropdown-menu[data-bs-popper] {
    right: 0 !important;
    left: unset !important;
}

.dv-index-header-navbar {
    margin: 0 11% 0 11%;
}

.dv-bg-blur {
    background-color: rgb(222 216 216 / 23%);
    color: white;
    font-weight: bold;
    /* opacity: 0.6; */
    position: absolute;
    top: 125px;
    left: 50%;
    height: 40px;
    transform: translate(-50%, -50%);
    z-index: 2;
    width: 100%;
    /* padding: 20px; */
    text-align: center;
}

.dv-bg-blur .swiper-slide {
    text-align: center;
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    position: relative;
    overflow: hidden;
    padding: 0 50px;
}

.dv-span-mini-nav {
    font-size: 1.5rem;
    padding-left: 30px;
}

.dv-image-language {
    width: 44px;
    height: 24px;
    border-left: 1px solid var(--light-gray);
    padding-left: 20px;
    padding-bottom: 0.5rem;
}

.dv-site-banner {
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 100%;
    z-index: 1;
    position: relative !important;
}

.dv-site-banner-position {
    position: absolute;
    top: 380px;
    left: 59%;
}

.dv-site-banner-position-two {
    position: absolute;
    top: 700px;
    left: 50%;
}

.dv-index-site-banner-image {
    width: 280px;
    position: absolute;
    top: 219px;
    left: 40%;
}

.dv-index-site-banner-image-two {
    width: 280px;
    position: absolute;
    top: 540px;
    left: 50%;
}

#site-banner .dv-index-site-banner-text {
    position: absolute;
    top: 41%;
    left: 35%;
    transition: 0.2s;
    opacity: 0;
}

#site-banner .icon-arrow-right-light:before {
    color: black;
    font-size: 0.85rem;
}

.dv-index-site-banner-image img {
    transition: 0.1ms linear;
    border-radius: 10px;
}

.dv-index-site-banner-image-two img {
    transition: 0.1ms linear;
    border-radius: 10px;
}

#site-banner .icon-loacation:before {
    font-size: 1.2rem;
}

#site-banner .dv-index-site-banner-parent-image {
    transition: 0.1s linear;
    background-color: rgba(239, 163, 37, 0);
    position: relative;
    border-radius: 10px;
}

#site-banner .dv-index-site-banner-parent-image:hover {
    background-color: rgba(239, 163, 37, 0.7);
}

#site-banner .dv-index-site-banner-parent-image:hover .dv-index-site-banner-text {
    opacity: 1;
}

#site-banner .dv-index-site-banner-parent-image:hover img {
    position: relative;
    z-index: -1;
}

/************************************* logo of company *********************************************/
.dv-logo-icon-font-size {
    font-size: 7.5rem;
}

.dv-logo-icon-font-size-logo1 {
    font-size: 3.5rem;
    margin-top: 38px;
}

.dv-why-piramit-card-image {
    max-height: 100px;
    max-width: 100px;
}

.dv-hover-logo img {
    opacity: 0.5;
    max-width: 120px;
    max-height: 100px;
    transition: 0.2s linear;
}

.dv-logo-image-company:hover img {
    opacity: 1;
}

/********************************** show more projects  ********************************/
.icon-Vector-Stroke:before {
    font-size: 1.8rem;
}

.dv-index-comment {
    transition: 0.3s ease-out;
    border: 1px solid var(--mat-black);
}

.dv-index-comment:hover {
    border: 1px solid rgba(255, 230, 0, 1);
}

.icon-Vector-Stroke {
    padding-top: 10px;
    padding-right: 8px;
}

.icon-pointer-yellow:before {
    color: white;
}

.icon-pointer-yellow {
    padding-left: 10px;
}

.dv-card-body-index {
    background: rgba(0, 0, 0, .5);
    bottom: 0;
    padding: 20px;
    padding-top: 3px;
    padding-bottom: 8px;
    width: 100%;
    float: left;
}

.dv-show-more:hover, .dv-show-more:hover span:before {
    color: var(--orange) !important;
}

#logo-company .dv-hover-logo {
    margin-top: 222px;
}

#projects-details .card {
    padding: 0 !important;
    border: 0 !important;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.dv-card-body-index {
    position: absolute;
}

.icon-arrow-right-bold:before {
    display: none;
    transition: 1s linear;
}

.dv-card-image-index {
    padding: 0 !important;
}

#projects-details .card img {
    transition: 0.3s ease-out;
}

#projects-details .card:hover .icon-arrow-right-bold:before {
    display: block;
}

#projects-details .card:hover img {

    -webkit-transform: scale3d(1, 1.2, 1);
    transform: scale3d(1.1, 1.1, 1);
}

#projects-details .container {
    background-image: url("../images/bg-img.png");
    background-repeat: no-repeat;
    background-size: cover;
}

/**************************************** what is piramit ****************************************/
.dv-projects-details {
    max-width: 281px;
    width: 100%;
    height: 100%;
    max-height: 357px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 8px;
    background-color: var(--mat-black);
    transition: 0.3s ease-in;
}

.dv-projects-details:hover {
    border: 1px solid rgba(251, 250, 250, 1);
}

.dv-card-text-projects-two {
    width: 180px;
    height: 50px;
    text-align: center;
    font-size: 16px !important;
    font-weight: 300 !important;
}

.icon-home:before {
    font-size: 4.5rem;
}

/********************************** resume ***********************************************/
.dv-resume {
    background-image: url("../images/background.png");
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

#about-us ul {
    color: white;
    list-style-type: unset !important;
}

#about-us .card {
    width: 175px;
    height: 240px;
    background-color: var(--mat-black);
    overflow: hidden;
    border-radius: 4px;
}

.dv-cover-resume {
    width: 153px;
    height: 0;
    background-color: var(--black);
    z-index: 2;
    overflow: hidden;
    transition: 0.5s ease-in-out;
    opacity: 0;
    position: absolute;
    top: 10px;
    left: 10px;
}

#about-us .card a {
    bottom: 20px;
    transition: 0.5s linear;
    opacity: 0;
    position: absolute;
}

#about-us .card:hover a {
    opacity: 1;
}

#about-us .card .dv-name-card {
    transition: 0.2s linear;
    opacity: 1;
}

#about-us .card:hover .dv-name-card {
    opacity: 0;
}

#about-us .card:hover .dv-cover-resume {
    opacity: 1;

    height: 163px;
}

.dv-card-position-1 {
    position: absolute;
    left: 3%;
    top: 74px;
}

.dv-card-position-2 {
    position: absolute;
    left: 35%;
    top: 25px;
}

.dv-card-position-3 {
    position: absolute;
    left: 68%;
    top: 72px;
}

.dv-resume-image {
    position: absolute;
    width: 109px;
    height: 53px;
    display: flex;
    left: -5%;
    top: 43px;
    justify-content: center;
    align-items: center;
}

/**************************************** videos ********************************************/
#videos .icon-fi-rr-triangle:before {
    font-size: 1rem;
    cursor: pointer !important;
    z-index: 4;

}

.swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}

#videos .icon-fi-rr-triangle {
    cursor: pointer !important;
    z-index: 4;
    padding-left: 3px;
}

.dv-index-video-swiper {
    border: none;
    position: absolute;
    background: rgba(0, 0, 0, .5);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    z-index: 5;
    border-radius: 50%;
    top: 30%;
    left: 42%;
}

.dv-index-video-swiper:hover {
    box-shadow: 1px 1px 15px rgb(47, 39, 39);
}

#videos .swiper-slide-active {
    transform: translate3d(0px, 0px, -26.1167px) rotateX(0deg) rotateY(0deg) scale(2) !important;
    /*max-width:350px!important;*/
    /*width: 100% !important;*/
}

.dv-index-parent-of-video {
    height: fit-content;
    max-width: 350px;
    width: fit-content;
    position: relative
}

.dv-index-videos {
    border-radius: 12px;
    position: relative;
    z-index: 1;
}

.dv-index-video-text {
    background: #ffc10736;
    backdrop-filter: blur(4px);
    bottom: 8px;
    position: absolute;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    padding-top: 3px;
    width: 100%;
    float: left;
}

#videos .swiper-button-prev, #videos .swiper-rtl .swiper-button-next:after {
    padding: 45px;
    background-color: white;
    font-weight: bold;
    scale: 0.5;
    top: 45px;
    left: 30vw;
    color: var(--black);
}

#video video[poster] {
    border-radius: 30px;
}

#videos .swiper-button-next, #videos .swiper-rtl .swiper-button-prev:after {
    padding: 45px;
    background-color: white;
    font-weight: bold;
    scale: 0.5;
    top: 45px;
    right: 30vw;
    color: var(--black);
}

.dv-index-videos-styles {
    margin-top: 150px;
    margin-bottom: 150px;
}

/************************************ footer ***************************************/
#footer .icon-Twitter:before {
    color: var(--black);
    font-size: 1.9rem;
}

#footer .icon-Facebook:before {
    color: var(--black);
    font-size: 1.5rem;
}

#footer .icon-insta:before {
    color: var(--black);
    font-size: 1.5rem;
}

.dv-footer-border-one {
    border-left: 1px solid black;

}

.dv-footer-border-two {
    border-left: 1px solid black;
    border-right: 1px solid black;
}

.dv-color-1 {
    background-color: white;
}

.dv-color-2 {
    background-color: var(--green);
}

.dv-color-3 {
    background-color: var(--blue);
}

#about-us .icon-fi-rr-phone-call1:before {
    color: black;
    font-size: 1.5rem;
}

#about-us .icon-fi-rr-phone-call1 {
    position: absolute;
    left: -50px;
    width: 59px;
    height: 53px;
    background-color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
}

#about-us .icon-Frame-21:before {
    font-size: 1.5rem;
}

#about-us .icon-Frame-21 {
    position: absolute;
    left: -50px;
    width: 59px;
    height: 53px;
    background-color: var(--green);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
}

#about-us .icon-telegram:before {
    font-size: 1.5rem;
}

#about-us .icon-telegram {
    position: absolute;
    left: -50px;
    width: 59px;
    height: 53px;
    background-color: var(--blue);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
}

.dv-span-social-icon {
    overflow: hidden;
    width: 58px;
    height: 53px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    -webkit-transition: width 2s; /* For Safari 3.1 to 6.0 */
    transition: width 0.3s;
}

.dv-span-social-icon p {
    position: absolute;
    right: 19px;
    margin-bottom: 0 !important;
    opacity: 0;
    transition: 0.3s ease-out;
}

.dv-span-social-icon:hover p {
    transition: 0.3s ease-out;
    opacity: 1;
}

.dv-span-social-icon:hover {
    width: 163px;
}

.dv-span-social-icon-two {
    overflow: hidden;
    width: 58px;
    height: 53px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    -webkit-transition: width 2s; /* For Safari 3.1 to 6.0 */
    transition: width 0.3s;
}

.dv-span-social-icon-two p {
    position: absolute;
    right: 21px;
    margin-bottom: 0 !important;
    opacity: 0;
    transition: 0.3s ease-out;
}

.dv-span-social-icon-two:hover {
    width: 176px;
}

.dv-span-social-icon-two:hover p {
    transition: 0.3s ease-out;
    opacity: 1;
}

/****************************** coments ***********************************/
.three-dot-with-line {
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
}

#comments .icon-logo1:before {
    font-size: 3rem;
}

#comments .icon-logo1 {
    margin-top: 15px;
    padding: 0 15px 0 15px;
}

.dv-index-comment {
    border-radius: 8px;
    overflow: hidden;
    max-width: 270px;
    width: 100%;
    height: 220px;
    background-color: var(--mat-black);
}

.dv-index-comment-main-logo {
    height: 500px;
    width: 500px;
    position: relative;
    margin: 180px 0 130px 0;
}

.dv-comment-transition {
    transition: 0.8s ease-out;
}

.path-active {
    fill: #F0A424;
}

.dv-index-comment-arrow-one {
    top: 13%;
    width: 100%;
    opacity: 0;
}

#comments #comment-1 {
    top: 413px;
    left: -55%;
    opacity: 1;
}

.dv-index-comment-arrow-two {
    top: 317px;
    left: -20%;
    opacity: 1;
}

#comments #comment-2 {
    top: -168px;
    left: -34%;
    opacity: 0;
}

.dv-index-comment-arrow-three {
    transform: scale(-1);
    right: 14%;
    top: 350px;
    opacity: 0;
}

#comments #comment-3 {
    right: -20%;
    top: 442px;
    opacity: 0;
}

.dv-index-comment-arrow-four {
    transform: scale(-1);
    top: 196px;
    right: -5%;
    opacity: 1;
}

#comments #comment-4 {
    top: -38px;
    right: -39%;
    opacity: 1;
}

.path-mouse-over-style {
    fill: #F0A424 !important;
    filter: drop-shadow(10px 10px 20px rgb(240 164 36 / 50%));
}

.dv-footer-margin {
    margin-top: 60px;
}

.dv-resume-margin {
    margin-top: 20px;
}

.dv-resume-social {
    align-items: baseline;
}

.dv-product-info-banner-inside-form {
    position: sticky;
    top: 30px;
}

.dv-margin-sticky {
    margin-top: -450px;
}

#dv-products-product-list .swiper-button-prev:after {
    font-size: 12px !important;
    transform: translateX(-60%);
}

#dv-products-product-list .swiper-button-next:after {
    font-size: 12px !important;
    transform: translateX(-60%);
}

.dv-resume-new-parent-image {
    width: 250px;
    height: 250px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 30%);
    display: flex;
    justify-content: center;
    align-items: center;
}

.dv-resume-new-parent-image img {
    padding: 0;
    border-radius: 50%;
    width: 215px;
    height: 215px;
}

.dv-resume-width-parent {
    width: 317px;
    z-index: 2;
}

.dv-resume-width-parent p {
    color: #fff;
}

.dv-fs-32 {
    font-size: 32px;
}

.dv-fw-400 {
    font-weight: 400;
}

#about-us .icon-TELG:before {
    font-size: 3rem;
    transition: 0.3s ease-in;
}

#about-us .icon-App:before {
    font-size: 3rem;
    transition: 0.3s ease-in;
}

#about-us .icon-phone-3:before {
    font-size: 3rem;
    transition: 0.3s ease-in;
}

.dv-resume-span-parent {
    width: 235px;
}

.icon-TELG:hover:before {
    color: var(--orange);
}

.icon-App:hover:before {
    color: var(--orange);
}

.icon-phone-3:hover:before {
    color: var(--orange);
}

.cut-text-resume {
    text-overflow: ellipsis;
    overflow: hidden;
    width: 200px;
    margin-bottom: 2px !important;
    white-space: nowrap;
}

.dv-h3-resume {
    width: 300px;
}

/*/////////////////////////////////////////////////*/
.pagination {
    display: inline-block;
}

.dv-product-margin {
    margin-top: 100px;
}

.pagination a {
    color: var(--light-gray);
    float: left;
    padding: 8px 16px;
    text-decoration: none;
}

.pagination a.active-pagination {
    background-color: var(--orange);
    color: white;
    border-radius: 5px;
}

#dv-products-product-list {
    margin-bottom: 96px !important;
}

/*.pagination a:hover:not(.active) {*/
/*    background-color: #ddd;*/
/*    border-radius: 5px;*/
/*}*/
/*////////////////////////////////////////////////////////////////////////////*/
.dv-resume-download-btn {
    background-color: transparent;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 60%);;
    width: 200px;
    height: 45px;
}

#about-us .modal {
    padding: 0;
}

#about-us .modal-dialog {
    margin-top: 15rem;
}

#about-us .modal-header {
    border: 0;
}

#about-us .modal-footer {
    border: 0;
}

#about-us .modal .btn {
    background-color: var(--orange);
}

.dv-resume-download-btn:focus-visible {
    border: 1px solid var(--orange);
}

.dv-resume-download-btn:hover {
    border: 1px solid var(--orange);
    color: var(--orange) !important;
}

.dv-icon-resume-parent-1 {
    position: absolute;
    left: 8%;
    top: 10%;
}

.dv-icon-resume-parent-2 {
    position: absolute;
    right: 8%;
    bottom: 5%;
}

.dv-404-btn:hover {
    color: var(--orange);
    background-color: var(--black);
    border-radius: 4px;
    border: 1px solid var(--orange);
}

.dv-404-btn {
    transition: 0.3s ease-out;
    height: 50px;
    max-width: 280px;
    width: 100%;
    background-color: var(--orange);
    color: var(--black);
    border-radius: 4px;
    border: 1px solid var(--orange);
}

.dv-404-parent-btn {
    margin-top: 5%;
}

.lang-fa .pes-margin-right-footer-span {
    margin-left: unset !important;
    margin-right: 3rem;
}

/***************************** *********************************/
@media (max-width: 1350px) {
    #logo-company .dv-hover-logo {
        margin-top: 150px;
    }
}

@media (max-width: 1200px) {
    .dv-resume-margin {
        margin-top: 40px;
    }

    .dv-products-search-btn {
        margin-right: 10px;
    }

    .lang-fa .persia-search-btn {
        margin-right: 0 !important;
        margin-left: 10px;
    }

    .dv-index-comment-arrow-two {
        top: 317px;
        left: -17%;
    }

    #comments #comment-1 {
        left: -45% !important;
    }

    .dv-site-banner {
        display: none;
    }
}

@media (max-width: 993px) {
    .dv-product-info-banner-inside-form {
        display: none;
    }

    .dv-products-info-modal-dialog {
        margin-top: 10vh !important;
    }
}

@media (max-width: 992px) {
    .dv-width-footer {
        width: 100% !important;
    }

    .gallery-thumbsV {
        display: none;
    }

    .closeBtn {
        right: 10%;
    }

    .dv-video-close-button {
        top: -15% !important;
        right: 0 !important;
        font-size: 70px;
    }

    .dv-product-info-modal-p-swiper-swiper-button-next {
    }

    .dv-product-info-modal-p-swiper-swiper-button-prev {

    }

    .dv-products-search {
        height: 218px;
    }

    .dv-product-info-modal-map {
        /*margin-right: 33vw;*/
        /*max-width: 70%!important;*/
    }
}

@media (max-width: 991.9px) {
    .dv-product-info-form-modal-btn {
        display: block;
    }

    .dv-resume-margin {
        margin-top: 90px;
    }

    .dv-product-parent {
        width: 98%;
    }

    .lang-fa .pes-index-ul-li {
        border-right: 0 !important;
    }

    .dv-index-header {
        height: 100vh;
    }

    #videos .swiper-button-prev, .swiper-rtl .swiper-button-next:after {
        left: 15vw;
    }

    #videos .swiper-button-next, .swiper-rtl .swiper-button-next:after {
        right: 15vw;
    }

    #navbarSupportedContent {
        z-index: 8;

        justify-content: center;
        background-color: var(--black);
    }

    #navbarSupportedContent ul {
        margin-left: 0 !important;
        align-items: center;
    }

    .dv-image-language {
        border-left: 0;
        margin: 10px 0 10px 0;
        padding: 0 10px 0 10px;
    }

    .dv-menu-dropdown {
        border-top: 1px solid var(--md-gray);
        border-left: none;
        margin-top: 20px;
    }

    .navbar-nav .dropdown-menu {
        position: absolute !important;
    }

    .dv-footer-tag-p-text {
        width: 83% !important;
    }

    .dv-absolute-position {
        height: 306px;
        margin-top: 30px;
    }
}

@media all and (max-width: 991px) {
    .gallery-thumbsV {
        display: none;
    }

    .dv-resume {
        background-image: none;
    }
}

@media (max-width: 991px) {
    .dv-textalign {
        text-align: center
    }

    .dv-index-header-navbar {
        margin: 0;
        padding: 0;
    }

    .dv-product-info-banner-inside-form {
        display: none;
    }
}

@media (max-width: 768px) and (min-width: 578px) {
    .cut-text {
        width: 150px;
    }

    .dv-card-body-index {
        padding: 5px;
    }

    .dv-card-position-1 {
        left: -3%;
    }

    .dv-card-position-2 {
        left: 33%;
    }
}

@media (max-width: 768px) {
    #dv-products-product-list .swiper-button-prev:after {
        font-size: 10px !important;
        transform: translateX(-60%);
    }

    #dv-products-product-list .swiper-button-next:after {
        font-size: 10px !important;
        transform: translateX(-60%);
    }

    #logo-company .dv-hover-logo {
        margin-top: 60px;
    }

    .dv-video-close-button {
        top: 0 !important;
    }

    .dv-product-info-banner-inside-links {
        top: 420px;
    }

    .dv-products-info-modal-dialog {
        margin-top: 17vh !important;
    }

    .dv-product-info-modal-map {
        /*margin-right: 18vw !important*/
    }

    .lang-fa .pes-products-input {
        padding-right: 5px;
    }

    .lang-fa .pes-index-footer-one {
        border-right: none !important;
    }

    .dv-footer-tag-p-text {
        width: 100% !important;
    }

    .dv-footer-border-one {
        border: none;
    }

    .dv-footer-border-two {
        border: none;
    }

    .dv-footer-one {
        width: 200px;
    }

    .dv-footer-two {
        width: 200px;
    }

    .dv-footer-border-three {
        width: 200px;
    }

    .dv-footer-border-four {
        width: 200px;
    }
}

@media (max-width: 710px) and (min-width: 512px) {
    .dv-product-info-form-modal-btn {
        right: -7% !important;
    }

    .lang-fa .pes-products-info-btn {
        top: auto;
        left: -7% !important;
        border-radius: 12px 12px 0 0 !important;
        rotate: 90deg !important;
    }
}

@media (max-width: 578px) {

    .lang-fa .pes-margin-right-footer-span {
        margin-left: unset !important;
        margin-right: 1rem;
    }

    .dv-projects-banner-swiper img {
        height: 305px;
    }

    .Margin {
        height: 80px;
    }

    .dv-span-mini-nav {
        padding-left: 18px;
    }

    .dv-index-video-swiper {
        top: 40%;
    }

    .dv-index-videos {
        width: 100% !important;
    }

    .dv-icon-resume-parent-2 {
        bottom: 1%;
    }

    .dv-product-info-form-modal-btn {
        right: -7%;
    }

    .lang-fa .pes-products-info-btn {
        top: auto;
        left: -9% !important;
        border-radius: 12px 12px 0 0 !important;
        rotate: 90deg !important;
    }

    .dv-products-search {
        height: 325px;
    }

    .dv-product-info-modal-map {
        /*margin-right: 9vw !important;*/
        padding-top: 8vh !important;
    }

    .dv-product-info-modal-map-content {
        width: 70% !important;
    }

    .dv-index-modal-btn-back, .dv-index-modal-btn-next {
        width: 115px;
    }

    .tester {
        background-image: none !important;
    }

    .lang-fa .pes-index-tester {
        background-image: none !important;
    }

    .lang-fa .persia-search-btn {
        margin-left: 0;
    }

    .dv-counter-site-banner {
        min-width: 90px;
    }

    .dv-resume-social {
        align-items: center;
    }

    .lang-fa .pes-resume-social {
        align-items: center !important;
    }

    .icon-Vector-Stroke {
        padding-top: 0;
    }

    .icon-Vector-Stroke:before {
        font-size: 1.2rem;
    }

    .dv-fs-20 {
        font-size: 16px !important;
    }

    .dv-index-header-navbar {
        margin: 0 0 0 0;
    }

    .dv-products-search-btn {
        margin-right: 0;
    }

    .dv-product-info-modal-btn-inside-text {
        display: none;
    }

    .lang-en .pes-products-input {
        padding-right: 11px;
    }

    .dv-products-search-selector {
        max-width: 250px;
    }

    .dv-site-banner-lower-parent {
        /*margin-top: 200px;*/
    }

    #logo-company .dv-hover-logo {
        margin-top: 60px;
    }

    .dv-button-model-one-style {
        max-width: 125px;
        width: 100%;
    }

    .dv-button-model-two-style {
        max-width: 125px;
        width: 100%;
    }

    .dv-fs-56 {
        font-size: 32px !important;
    }

    .dv-fs-22 {
        font-size: 16px !important;
    }

    .dv-fs-44 {
        font-size: 18px !important;
    }

    .dv-index-video-swiper {
        width: 28px;
        height: 28px;
    }

    .dv-video-text-responsive {
        font-size: 9px !important;
    }

    .dv-video-text-responsive-one {
        font-size: 7px !important;
    }

    .dv-footer-tag-p-text {
        width: 100% !important;
    }

    .dv-footer-one {
        width: 100%;
        margin-top: 20px;
    }

    .dv-footer-two {
        width: 100%;
        margin-top: 20px;
    }

    .dv-footer-border-three {
        width: 100%;
        margin-top: 20px;
    }

    .dv-footer-border-four {
        width: 100%;
        margin-top: 20px;
    }

    .dv-resume-image {
        left: 37%;
    }

    .dv-absolute-position {
        height: 500px;
        margin-top: 30px;
    }

    .dv-card-position-1 {
        top: 280px;
        left: 0;
    }

    .dv-card-position-2 {
        left: 0;
    }

    .dv-card-position-3 {
        top: 154px;
        left: 50%;
    }

    #about-us .dv-fs-16 {
        font-size: 14px;
    }
}

@media (max-width: 520px) {
    .dv-product-info-modal-p-btn {
        width: auto !important;
        border: none !important;
        min-height: 35px !important;
    }

    .swiper {
        width: calc(100vw - 20px);
    }

    .swiper-button-next:after {
        font-size: 20px !important;
        transform: translateX(60%);
    }

    .swiper-button-prev:after {
        font-size: 20px !important;
        transform: translateX(-60%);
    }

    #dv-products-product-list .swiper-button-prev:after {
        font-size: 10px !important;
        transform: translateX(-60%);
    }

    #dv-products-product-list .swiper-button-next:after {
        font-size: 10px !important;
        transform: translateX(-60%);
    }

    #swiper-button-next-modal {
        font-size: 20px !important;
        transform: translateX(20%);
    }

    #swiper-button-prev-modal {
        font-size: 20px !important;
        transform: translateX(-20%);
    }

    .swiper-pagination {
        padding: 4px;
    }

    .swiper-slide-img {
        width: calc(100vw - 32px);
        height: auto;
        border: 16px solid #d8d8d8; /* move next and prev buttons off img */
        min-height: calc((0.5338 * 100vw) + 48px);
    }

    .swiper-pagination .swiper-pagination-bullet {
        height: 12px;
        width: 12px;
    }

    .gallery-thumbs .swiper-slide img {
        height: 14vw;
    }
}

@media (max-width: 512px) and (min-width: 400px) {
    .dv-product-info-form-modal-btn {
        right: -10% !important;
    }

    .lang-fa .pes-products-info-btn {
        top: auto;
        left: -10% !important;
        border-radius: 12px 12px 0 0 !important;
        rotate: 90deg !important;
    }
}

@media (max-width: 430px) {
    #map {
        height: 50vh;
        width: 80vw;
    }

    .dv-product-info-modal-map {
        margin-left: 10vw;
    }

    .lang-fa .pes-product-map-margin {
        margin-right: 10vw !important;
    }
}

@media (max-width: 400px) {
    #product-info-modal-video .swiper-slide {
        border-radius: 0;
    }

    .dv-video-close-button {
        top: -3% !important;
        right: 1% !important;
        font-size: 50px !important;
    }

    .dv-product-info-banner-inside-links {
        top: 420px;
    }

    .dv-product-info-modal-video-vid {
        max-height: 100vh;
        max-width: 100vw;
    }

    .dv-video-close-button {
        top: 2% !important;
        right: 5%;
        font-size: 7rem;
    }

    .dv-product-info-video-modal .swiper-button-next, .dv-product-info-video-modal .swiper-button-prev {
        top: 30% !important;
        height: 40% !important;
        width: 25px;
    }

    .dv-product-info-form-modal-btn {
        right: -10%;
        top: auto;
    }

    .lang-fa .pes-products-info-btn {
        top: auto;
        left: -10% !important;
        border-radius: 12px 12px 0 0 !important;
        rotate: 90deg !important;
    }

    .dv-product-info-modal-map {
        /*margin-right: 9vw !important;*/
        padding-top: 8vh !important;
    }

    .dv-product-info-modal-video-slide {
        background-color: #000 !important;
        padding: 1rem 0 !important;
    }

    .dv-product-info-modal-map-content {
        width: 60% !important;
    }

    .dv-product-info-modal-p-swiper-swiper-button-next {;
    }

    .dv-product-info-modal-p-swiper-swiper-button-prev {

    }

    .dv-btn-modal-product {
        margin: 0 0.4rem 0 0.4rem !important;
    }

    .dv-product-info-banner-inside-links .swiper-button-next, .dv-product-info-banner-inside-links .swiper-button-prev {
        top: 35% !important;
    }

    .dv-product-info-banner-inside-links {
        top: 420px;
    }

    .dv-product-info-modal-btn {
        width: 70px;
        height: 70px !important;
        min-height: 70px !important;
    }
}

@media (max-width: 372px) {
    .dv-absolute-position {
        height: 800px;
        margin-top: 30px;
    }

    .dv-card-position-1 {
        top: 280px;
        left: 12%;
    }

    .dv-card-position-2 {
        left: 22%;
    }

    .dv-card-position-3 {
        top: 530px;
        left: 22%;
    }
}

@media all and (max-width: 360px) {
    .swiper-slide-img {
        border: 1px solid #d8d8d8;
    }
}

@media (max-width: 365px) {
    #map {
        width: 85vw;
    }

    .dv-product-info-modal-map {
        margin-left: 8vw !important;
    }

    .lang-fa .pes-product-map-margin {
        margin-right: 5vw !important;
    }
}

@media (max-width: 340px) {
    #map {
        width: 90vw;
    }

    .dv-product-info-modal-map {
        margin-left: 5vw !important;
    }

    .lang-fa .pes-product-map-margin {
        margin-right: 5vw !important;
    }
}

@media (max-width: 330px) {
    .dv-product-info-form-modal-btn {
        right: -13%;
        top: auto;
    }

    .lang-fa .pes-products-info-btn {
        top: auto;
        left: -14% !important;
        border-radius: 12px 12px 0 0 !important;
        rotate: 90deg !important;
    }
}

/*************************************/
/******************************************/
/***************************************************/
/****************************************************************/
/***********************************************************************************/
.lang-fa .pes-tags-direction {
    direction: rtl;
}

.lang-fa .pes-resume-social {
    align-items: flex-start;
}

.lang-fa .pes-span-rotate {
    transform: scaleX(-1);
}

.lang-fa .pes-index-navbar-direction {
    direction: rtl;
}

.lang-fa .pes-index-navbar-ul {
    margin-right: auto;
    margin-left: unset;
}

.lang-fa .pes-index-ul-li {
    padding-right: 20px;
    border-left: 0;
    border-right: 2px solid var(--md-gray);
}

.lang-fa .pes-index-tester {
    position: absolute;
    z-index: -10;
    width: 100%;
    height: 892px;
    background-image: url(../images/hero-bg-image-reverse.webp);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top left;
}

.lang-fa .pes-index-image-site-banner-one {
    width: 280px;
    position: absolute;
    top: 540px;
    left: 3%;
}

.lang-fa .pes-index-image-site-banner-one span {
    padding-left: 10px;
}

.lang-fa .pes-index-image-site-banner-two {
    width: 280px;
    position: absolute;
    top: 220px;
    left: 15%;
}

.lang-fa .pes-index-image-site-banner-two span {
    padding-left: 10px;
}

.lang-fa .pes-index-image-site-svg-one {
    position: absolute;
    top: 700px;
    left: 20%;
}

.lang-fa .pes-padding-right {
    padding-right: 0 !important;
    margin-right: -9px;
}

.lang-fa .pes-index-image-site-svg-two {
    position: absolute;
    top: 379px;
    left: 15%;
}

.lang-fa .pes-index-span-parent {
    left: 26% !important;
}

.lang-fa .pes-index-span-rotate {
    transform: scaleX(1) !important;
}

.lang-fa .pes-index-stars {
    transform: scaleX(-1) !important;
}

.lang-fa .pes-index-footer-one {
    border-right: 1px solid black;
    border-left: none;
}

.lang-fa .pes-products-card-span {
    margin-left: 0.5rem;
    margin-right: 0;
}

.lang-fa .pes-products-card-p {
    display: flex;
}

.lang-fa .pes-products-input {
    /*padding-right: 21px!important;*/
}

.lang-fa .pes-products-info-btn {
    left: -5%;
    border-radius: 12px 12px 0 0 !important;
    rotate: 90deg !important;
}

.lang-fa .pes-products-bread:before {
    float: right !important;
    padding-left: 0.5rem !important;
}

.lang-fa .pes-div-margin {
    margin-right: -1rem;
}

.lang-fa .navbar-toggler:focus span:before {
    transform: scaleX(-1);
}

.lang-fa .pes-product-map-margin {
    margin-left: 68vw;
    margin-right: 16vw;
}

.lang-fa .pes.swiper-gallery-next {
    right: auto !important;
    left: 30px !important;
}

.lang-fa .pes-swiper-gallery-prev {
    right: 30px !important;
    left: auto !important;
}

.lang-fa .pes-social-hover {

}

.lang-fa .pes-margin-left-site-banner {
    margin-right: 0 !important;
}

.lang-fa .pes-index-navbar-ul {
    margin-right: unset;
    margin-left: unset;
}

/* =========================================
   Modern Card & Layout Improvements
   ========================================= */

/* Container for cards */
.dv-resume .row {
    gap: 2rem;
    padding: 1.5rem 0;
}

/* Card */
.dv-resume-width-parent {
    width: clamp(290px, 40vw, 370px);
    max-width: 100%;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    padding: 2rem 1.5rem;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
    transition: all 0.35s ease;
    position: relative;
    overflow: hidden;
    z-index: 2;
}

.dv-resume-width-parent:hover {
    transform: translateY(-8px);
    border-color: rgba(247, 148, 29, 0.4);
    box-shadow: 0 20px 50px rgba(247, 148, 29, 0.15);
    background: rgba(255, 255, 255, 0.06);
}

/* Subtle top glow on hover */
.dv-resume-width-parent::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    width: 60%;
    height: 2px;
    background: var(--orange);
    border-radius: 0 0 2px 2px;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.dv-resume-width-parent:hover::after {
    transform: translateX(-50%) scaleX(1);
}

/* Avatar circle */
.dv-resume-new-parent-image {
    width: clamp(150px, 20vw, 220px);
    height: clamp(150px, 20vw, 220px);
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.2);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.35s ease;
    position: relative;
}

.dv-resume-width-parent:hover .dv-resume-new-parent-image {
    border-color: var(--orange);
    box-shadow: 0 0 35px rgba(247, 148, 29, 0.25);
}

.dv-resume-new-parent-image img {
    border-radius: 50%;
    width: calc(100% - 14px);
    height: calc(100% - 14px);
    object-fit: cover;
    transition: 0.35s ease;
}

.dv-resume-width-parent:hover .dv-resume-new-parent-image img {
    transform: scale(1.03);
}

/* Name & title */
.dv-h3-resume {
    font-size: clamp(1.25rem, 2.2vw, 1.7rem);
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
    max-width: 100%;
    transition: color 0.3s;
}

.dv-resume-width-parent p {
    color: #b0b0b0;
    font-size: clamp(0.85rem, 1.1vw, 0.95rem);
    transition: color 0.3s;
    text-align: center;
}

.dv-resume-width-parent:hover p {
    color: var(--orange);
}

/* Social icons */
.dv-resume-span-parent {
    gap: 0.5rem;
}

.dv-resume-span-parent a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: 0.3s ease;
}

.dv-resume-span-parent a:hover {
    background: var(--orange);
    border-color: var(--orange);
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(247, 148, 29, 0.35);
}

/* Make icon fonts larger and smooth */
#about-us .icon-TELG:before,
#about-us .icon-App:before,
#about-us .icon-phone-3:before {
    font-size: 1.8rem;
    color: #ccc;
    transition: color 0.25s;
}

.dv-resume-span-parent a:hover .icon-TELG:before,
.dv-resume-span-parent a:hover .icon-App:before,
.dv-resume-span-parent a:hover .icon-phone-3:before {
    color: #fff;
}

/* Resume button */
.dv-resume-download-btn {
    background: transparent;
    border: 1.5px solid rgba(255, 255, 255, 0.35);
    color: #d5d5d5;
    padding: 0.65rem 2rem;
    border-radius: 50px;
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
    transition: 0.35s ease;
    position: relative;
    overflow: hidden;
}

.dv-resume-download-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--orange);
    border-radius: 50px;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.4s ease;
    z-index: -1;
}

.dv-resume-download-btn:hover {
    border-color: var(--orange);
    color: #fff !important;
}

.dv-resume-download-btn:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

.dv-resume-download-btn > * {
    position: relative;
    z-index: 1;
}

/* ============== Responsive fine-tuning ============== */
@media (max-width: 768px) {
    .dv-resume-width-parent {
        width: min(330px, 90vw);
        padding: 1.5rem 1rem;
        border-radius: 20px;
    }

    .dv-resume-new-parent-image {
        width: 130px;
        height: 130px;
    }

    .dv-resume-new-parent-image img {
        width: calc(100% - 10px);
        height: calc(100% - 10px);
    }

    .dv-resume-span-parent a {
        width: 38px;
        height: 38px;
    }

    #about-us .icon-TELG:before,
    #about-us .icon-App:before,
    #about-us .icon-phone-3:before {
        font-size: 1.5rem;
    }
}

@media (max-width: 480px) {
    .dv-resume-width-parent {
        width: 92vw;
        padding: 1.25rem 0.75rem;
    }

    .dv-resume-download-btn {
        width: 80%;
        justify-content: center;
    }
}

/* ============================================
   FOOTER – Full Override, Matching Resume Style
   ============================================ */

/* Force background and remove yellow image */
#footer {
    background-color: #0a0a0a !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    color: #ccc !important;
    position: relative;
    overflow: hidden;
    background-blend-mode: overlay;
}

/* Subtle glow circles (same as resume) */
#footer::before,
#footer::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, rgb(247 148 29 / 32%) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

#footer::before {
    width: 400px;
    height: 400px;
    top: -80px;
    left: -60px;
}

#footer::after {
    width: 350px;
    height: 350px;
    bottom: -70px;
    right: -50px;
}

#footer .container {
    position: relative;
    z-index: 2;
}

/* ---------- Kill all black text ---------- */
#footer *:not(button):not(input):not(textarea) {
    color: #d5d5d5 !important;
    -webkit-text-fill-color: #d5d5d5 !important;
}

/* Reset the forced .text-black-50 and .text-black */
#footer .text-black-50,
#footer .text-black,
#footer [class*="text-black"] {
    color: #d5d5d5 !important;
    -webkit-text-fill-color: #d5d5d5 !important;
}

/* ---------- Kill huge font sizes ---------- */
#footer h2,
#footer .dv-fs-44,
#footer [class*="dv-fs-4"],
#footer .dv-fs-44,
#footer .pes-tags-direction.dv-fs-44 {
    font-size: clamp(0.75rem, 2vw, 1rem) !important;
    font-weight: 700 !important;
}

/* General text reset */
#footer p,
#footer a,
#footer li,
#footer span,
#footer .dv-fs-18,
#footer [class*="dv-fs-"] {
    font-size: clamp(0.85rem, 1.2vw, 1rem) !important;
    line-height: 1.7;
}

/* ---------- Logo ---------- */
#footer img[alt="piramit"] {
    filter: brightness(0.9);
    transition: 0.3s;
}

#footer img[alt="piramit"]:hover {
    filter: brightness(1.2);
}

/* ---------- Description paragraph ---------- */
.dv-footer-tag-p-text {
    max-width: 90%;
}

/* Phone icon & text */
#footer .d-flex img[alt="call"] {
    width: 20px;
    height: 20px;
    opacity: 0.7;
    margin-right: 8px;
}

/* ---------- Quick Access Menu ---------- */
#footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#footer ul li {
    margin-bottom: 0.3rem;
}

#footer ul li a {
    display: inline-block;
    padding: 0.2rem 0;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.55) !important;
    font-size: 0.95rem !important;
    border-bottom: 1px solid transparent;
    transition: 0.3s;
}

#footer ul li a:hover,
#footer ul li.dv-footer-active a {
    color: #fff !important;
    border-bottom-color: var(--orange);
}

/* ---------- Form ---------- */
#footer h2 {
    color: #fff !important;
    margin-bottom: 0.5rem;
    letter-spacing: -0.02em;
}

#footer .projectSingleForm input {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #ddd;
    padding: 0.65rem 1rem;
    border-radius: 10px;
    font-size: 0.9rem;
    transition: 0.3s;
}

#footer .projectSingleForm input:focus {
    outline: none;
    border-color: var(--orange);
    box-shadow: 0 0 0 3px rgba(247, 148, 29, 0.15);
    background: rgba(255, 255, 255, 0.06);
}

#footer .projectSingleForm input::placeholder {
    color: rgba(255, 255, 255, 0.35);
}

/* Submit button */
.dv-button-model-three-style {
    background: var(--orange) !important;
    border: none !important;
    color: #fff !important;
    font-weight: 600;
    padding: 0.65rem 1rem;
    border-radius: 10px;
    font-size: 0.9rem !important;
    cursor: pointer;
    transition: 0.3s;
    box-shadow: 0 4px 15px rgba(247, 148, 29, 0.3);
}

.dv-button-model-three-style:hover {
    background: #e58510 !important;
    box-shadow: 0 8px 25px rgba(247, 148, 29, 0.45);
    transform: translateY(-2px);
}

/* Override inline width for email + button row on small screens */
@media (max-width: 768px) {
    .dv-width-footer {
        width: 100% !important;
    }
}

/* ---------- Bottom Copyright Bar ---------- */
.dv-copy-right-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.dv-copy-right-footer p,
.dv-copy-right-footer a {
    font-size: 0.85rem !important;
    color: rgba(255, 255, 255, 0.45) !important;
    text-decoration: none;
    transition: 0.3s;
}

.dv-copy-right-footer a:hover {
    color: var(--orange) !important;
}

/* Barcode image */
.dv-copy-right-footer img {
    max-height: 45px;
    filter: brightness(1.2) opacity(0.8);
    transition: 0.3s;
}

.dv-copy-right-footer img:hover {
    filter: brightness(1.5) opacity(1);
}

/* Social icons */
.dv-copy-right-footer .SPAN-ROT {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 1.1rem !important;
    color: rgba(255, 255, 255, 0.5) !important;
    margin-left: 1rem;
    transition: 0.3s;
}

.dv-copy-right-footer .SPAN-ROT:hover {
    background: var(--orange);
    border-color: var(--orange);
    color: #fff !important;
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(247, 148, 29, 0.35);
}

/* ---------- Mobile Adjustments ---------- */
@media (max-width: 768px) {
    #footer h2 {
        font-size: 1.4rem !important;
    }

    .dv-copy-right-footer .SPAN-ROT {
        width: 34px;
        height: 34px;
        font-size: 1rem !important;
    }
}

/* Swiper arrows */
#videos .swiper-button-prev,
#videos .swiper-button-next {
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    color: #fff;
    transition: 0.3s;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
}

#videos .swiper-button-prev:after,
#videos .swiper-button-next:after {
    font-size: 1.2rem;
    font-weight: bold;
}

#videos .swiper-button-prev:hover,
#videos .swiper-button-next:hover {
    background: var(--orange);
    border-color: var(--orange);
    box-shadow: 0 8px 20px rgba(247, 148, 29, 0.4);
}

.video-js {
    width: 300px;
    height: 170px;
}

@media (max-width: 768px) {
    .dv-index-video-swiper {
        width: 50px;
        height: 50px;
    }

    .dv-index-video-swiper .icon-fi-rr-triangle {
        font-size: 1.4rem;
    }
}

@media (max-width: 480px) {
    .dv-index-parent-of-video {
        border-radius: 12px;
    }

    .dv-index-videos {
        border-radius: 12px 12px 0 0;
    }
}

/* ============================================
   Comments Section – Glassmorphism Cards
   ============================================ */

/* Section background & spacing */
#comments {
    background: transparent;
    position: relative;
    overflow: hidden;
}

/* Optional ambient light */
#comments::before {
    content: '';
    position: absolute;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(247, 148, 29, 0.04) 0%, transparent 70%);
    top: -200px;
    right: -200px;
    z-index: 0;
    pointer-events: none;
}

/* Glass card */
.glass-comment-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    padding: 2rem 1.75rem;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);
    transition: all 0.35s ease;
    display: flex;
    flex-direction: column;
    color: #f0f0f0;
    height: 100%;
}

.glass-comment-card:hover {
    transform: translateY(-8px);
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(247, 148, 29, 0.3);
    box-shadow: 0 20px 50px rgba(247, 148, 29, 0.15);
}

/* Icon */
.comment-icon {
    font-size: 2.2rem;
    color: var(--orange);
    opacity: 0.9;
    transition: transform 0.3s;
    flex-shrink: 0;
}

.glass-comment-card:hover .comment-icon {
    transform: scale(1.1);
}

/* Typography */
.comment-title {
    font-size: clamp(1rem, 1.3vw, 1.2rem);
    font-weight: 600;
    color: #fff;
    line-height: 1.3;
}

.comment-subtitle {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.65);
    margin-top: 0.2rem;
}

.comment-desc {
    font-size: 0.95rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.8);
    margin: 1rem 0;
    flex-grow: 1;
}

/* Stars */
.stars-wrapper {
    margin-top: auto;
    padding-top: 0.5rem;
}

/* Keep your existing star rating logic, just ensure it works inside */
.Stars {
    --star-color: var(--orange);
    display: inline-block;
}

/* Responsive */
@media (max-width: 768px) {
    .glass-comment-card {
        padding: 1.5rem 1.25rem;
        border-radius: 20px;
    }

    .comment-desc {
        font-size: 0.9rem;
    }
}

.sw_comments-pagination {
    position: static;
    background: unset
}

.sw_comments-pagination .swiper-pagination-bullet {
    height: 10px;
    width: 10px;
}

.sw_comments-pagination .swiper-pagination-bullet-active {
    background-color: #eea325;
}

.sw_comments-pagination .swiper-pagination-bullet {
    background: rgb(255 255 255 / 39%);
}


/* ============================================
   Why Us Section – Glassmorphism Cards
   ============================================ */

/* Glass card */
.glass-why-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    padding: 2rem 1.5rem;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    transition: all 0.35s ease;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}

.glass-why-card:hover {
    transform: translateY(-8px);
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(247, 148, 29, 0.35);
    box-shadow: 0 20px 45px rgba(247, 148, 29, 0.15);
}

/* Icon wrapper */
.card-icon-wrapper {
    width: 80px;
    height: 80px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    transition: all 0.3s ease;
}

.glass-why-card:hover .card-icon-wrapper {
    background: rgba(247, 148, 29, 0.15);
    border-color: var(--orange);
    box-shadow: 0 0 20px rgba(247, 148, 29, 0.3);
}

.card-icon {
    width: 50px;
    height: 50px;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.glass-why-card:hover .card-icon {
    transform: scale(1.1);
}

/* Typography */
.card-title {
    font-size: clamp(1rem, 1.2vw, 1.15rem);
    font-weight: 600;
    color: #fff;
    margin-bottom: 0.75rem;
    direction: rtl;
}

.card-desc {
    font-size: 0.9rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
    direction: rtl;
}

/* Responsive */
@media (max-width: 768px) {
    .glass-why-card {
        padding: 1.75rem 1.25rem;
        border-radius: 20px;
    }

    .card-icon-wrapper {
        width: 70px;
        height: 70px;
        border-radius: 16px;
    }

    .card-icon {
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 480px) {
    .glass-why-card {
        padding: 1.5rem 1rem;
    }
}

/* ---- Animation Classes ---- */

/* Initial hidden state – cards start invisible and slightly down */
.animate-card {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

/* Visible state – triggered by JS */
.animate-card.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Respect user preference for reduced motion */
@media (prefers-reduced-motion: reduce) {
    .animate-card {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ---- Card Animation (pure CSS, staggered) ---- */
.animate-card {
    opacity: 0;
    transform: translateY(30px);
    animation: cardFadeIn 0.7s ease forwards;
    animation-play-state: paused; /* wait for any pre‑trigger? actually runs on load */
}

/* Trigger the animation automatically when the element is in the DOM */
.animate-card {
    animation-play-state: running;
}

@keyframes cardFadeIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .animate-card {
        animation: none;
        opacity: 1;
        transform: none;
    }
}

/* Initial hidden state – invisible & slightly down */
.animate-card {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

/* Visible state – triggered by JS */
.animate-card.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Hover – lift up (completely separate from initial animation) */
.glass-why-card:hover {
    transform: translateY(-8px) !important; /* use !important to override any inline transform if needed */
    /* … rest of hover styles … */
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .animate-card {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ----- Card Animation (paused until triggered) ----- */
.animate-card {
    opacity: 0;
    animation: cardFadeUp 0.6s ease forwards;
    animation-play-state: paused;
}

/* Triggered by JS */
.animate-card.animated {
    animation-play-state: running;
}

@keyframes cardFadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Hover lift – override any leftover transform */
.glass-why-card:hover {
    transform: translateY(-8px) !important;
    /* your other hover styles here */
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .animate-card {
        animation: none;
        opacity: 1;
        transform: none;
    }
}

/* =========================================================
   PREMIUM PROJECTS SECTION — DARK + YELLOW + GLASSMORPHISM
   ========================================================= */

#projects-details {
    position: relative;
    padding: 120px 0;
    overflow: hidden;
    background: radial-gradient(circle at 10% 10%, rgba(255, 208, 0, .12), transparent 35%),
    radial-gradient(circle at 90% 90%, rgba(255, 208, 0, .08), transparent 40%),
    linear-gradient(180deg, #050505 0%, #0b0b0b 50%, #050505 100%);
}

/* Floating background glow */
#projects-details::before,
#projects-details::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(140px);
    opacity: .08;
    z-index: 0;
}

#projects-details::before {
    width: 700px;
    height: 700px;
    background: #ffd000;
    top: -250px;
    left: -180px;
    animation: floatGlow 12s ease-in-out infinite alternate;
}

#projects-details::after {
    width: 500px;
    height: 500px;
    background: #ffea00;
    bottom: -180px;
    right: -120px;
    animation: floatGlow2 10s ease-in-out infinite alternate;
}

@keyframes floatGlow {
    from {
        transform: translate(0, 0);
    }
    to {
        transform: translate(80px, 60px);
    }
}

@keyframes floatGlow2 {
    from {
        transform: translate(0, 0);
    }
    to {
        transform: translate(-60px, -80px);
    }
}

/* Keep content above glow */
#projects-details .container {
    position: relative;
    z-index: 2;
}

/* Section title */
#projects-details h2 {
    color: #fff;
    font-weight: 800;
    letter-spacing: .5px;
    text-shadow: 0 0 20px rgba(255, 208, 0, .25);
}

#projects-details .icon-Vector-Stroke {
    color: #ffd000;
    text-shadow: 0 0 12px #ffd000,
    0 0 30px rgba(255, 208, 0, .45);
}

/* See more button */
.dv-show-more {
    position: relative;
    overflow: hidden;
    padding: 14px 28px;
    border-radius: 50px;
    color: #fff;
    text-decoration: none;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .08);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transition: .45s ease;
}

.dv-show-more::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent, rgba(255, 208, 0, .25), transparent);
    transform: translateX(-100%);
    transition: .8s ease;
}

.dv-show-more:hover::before {
    transform: translateX(100%);
}

.dv-show-more:hover {
    background: #ffd000;
    color: #111;
    border-color: #ffd000;
    box-shadow: 0 0 25px rgba(255, 208, 0, .45),
    0 0 50px rgba(255, 208, 0, .25);
}

/* =========================================================
   PROJECT CARD
   ========================================================= */

.project-card {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 32px;
    text-decoration: none;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .08);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    box-shadow: 0 30px 60px rgba(0, 0, 0, .45),
    inset 0 1px rgba(255, 255, 255, .08);
    transition: transform .45s ease,
    box-shadow .45s ease,
    border-color .45s ease;
    transform-style: preserve-3d;
    perspective: 1000px;
}

/* Animated border */
.project-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(
            140deg,
            rgba(255, 255, 255, .25),
            rgba(255, 208, 0, .8),
            rgba(255, 255, 255, .08)
    );
    -webkit-mask: linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

.project-card:hover {
    border-color: rgba(255, 208, 0, .55);
    box-shadow: 0 0 0 1px rgba(255, 208, 0, .35),
    0 25px 55px rgba(255, 208, 0, .18),
    0 45px 90px rgba(0, 0, 0, .6);
}

/* Image */
.project-image {
    position: relative;
    overflow: hidden;
}

.project-image img {
    width: 100%;
    display: block;
    object-fit: cover;
    min-height: 285px;
   height: 285px;
    transition: transform 1s ease;
}

.project-card:hover .project-image img {
    transform: scale(1.1);
}

/* Dark overlay */
.project-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
            transparent 20%,
            rgba(0, 0, 0, .18),
            rgba(0, 0, 0, .82)
    );
}

/* Shine sweep */
.project-shine {
    position: absolute;
    top: -150%;
    left: -40%;
    width: 45%;
    height: 350%;
    background: linear-gradient(
            transparent,
            rgba(255, 255, 255, .45),
            transparent
    );
    transform: rotate(25deg);
    opacity: 0;
}

.project-card:hover .project-shine {
    animation: shine 1s ease forwards;
}

@keyframes shine {
    from {
        left: -40%;
        opacity: 0;
    }
    20% {
        opacity: 1;
    }
    to {
        left: 150%;
        opacity: 0;
    }
}

/* Mouse spotlight */
.project-spotlight {
    position: absolute;
    inset: 0;
    background: radial-gradient(
            circle at var(--x, 50%) var(--y, 50%),
            rgba(255, 208, 0, .22),
            transparent 45%
    );
    opacity: 0;
    transition: opacity .25s ease;
    pointer-events: none;
}

.project-card:hover .project-spotlight {
    opacity: 1;
}

/* Content */
.project-content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 5;
    transform: translateZ(30px);
}

.project-info h3 {
    color: #fff;
    font-size: 24px;
    font-weight: 800;
    margin: 0 0 8px;
    line-height: 1.2;
    transition: color .35s ease;
}

.project-card:hover .project-info h3 {
    color: #ffd000;
}

.project-country {
    display: inline-block;
    color: #ffd000;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    opacity: .95;
}

/* Arrow button */
.project-arrow {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    color: #ffd000;
    font-size: 26px;
    transition: transform .45s ease,
    background .45s ease,
    color .45s ease,
    box-shadow .45s ease;
}

.project-card:hover .project-arrow {
    background: #ffd000;
    color: #111;
    transform: rotate(-45deg) scale(1.08);
    box-shadow: 0 0 25px rgba(255, 208, 0, .45),
    0 0 45px rgba(255, 208, 0, .25);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 768px) {
    #projects-details {
        padding: 80px 0;
    }

    .project-content {
        padding: 22px;
    }

    .project-info h3 {
        font-size: 20px;
    }

    .project-arrow {
        width: 58px;
        height: 58px;
        font-size: 22px;
    }
}

.carousel_ {
    position: relative;
    z-index: 1;
    height: 100vh;
    overflow: hidden;
    pointer-events: none;
}

.carousel-item_ {
    --items: 10;
    --width: clamp(150px, 30vw, 300px);
    --height: clamp(200px, 40vw, 400px);
    --x: calc(var(--active) * 800%);
    --y: calc(var(--active) * 200%);
    --rot: calc(var(--active) * 120deg);
    --opacity: calc(var(--zIndex) / var(--items) * 3 - 2);
    overflow: hidden;
    position: absolute;
    z-index: var(--zIndex);
    width: var(--width);
    height: var(--height);
    margin: calc(var(--height) * -0.5) 0 0 calc(var(--width) * -0.5);
    border-radius: 10px;
    top: 50%;
    left: 50%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transform-origin: 0% 100%;
    box-shadow: 0 10px 50px 10px rgba(0, 0, 0, 0.5);
    background: black;
    pointer-events: all;
    transform: translate(var(--x), var(--y)) rotate(var(--rot));
    transition: transform 0.8s cubic-bezier(0, 0.02, 0, 1);
}
.carousel-item_ .carousel-box_ {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: opacity 0.8s cubic-bezier(0, 0.02, 0, 1);
    opacity: var(--opacity);
    font-family: "Orelo-sw-db", serif;
}
.carousel-item_ .carousel-box_:before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5));
}
.carousel-item_ .title_ {
    position: absolute;
    z-index: 1;
    color: #ffffff96;
    bottom: 20px;
    left: 20px;
    transition: opacity 0.8s cubic-bezier(0, 0.02, 0, 1);
    font-size: clamp(20px, 3vw, 30px);
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
    font-family: serif;
    text-transform: capitalize;
}
.carousel-item_ .num_ {
    position: absolute;
    z-index: 1;
    color: #f8ce2d;    text-shadow: 0px 0px 30px #f8ce2d;
    top: 10px;
    left: 20px;
    transition: opacity 0.8s cubic-bezier(0, 0.02, 0, 1);
    font-size: clamp(20px, 10vw, 80px);
    font-family: fantasy;
    font-weight: 200;
}
.carousel-item_ img_ {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    pointer-events: none;
}

.carousel-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 1rem;
}
.dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1px solid #f8ce2f;
    background: transparent;
    cursor: pointer;
}
.dot.active {
    background: #f8ce2f;
}

/* Add perspective to the parent container so 3D effects work */
.dv-site-banner {
    perspective: 1500px;
}

/* Animation when the carousel item is clicked */
.carousel-item_.flip-out {
    animation: flipOutY 0.5s forwards;
    transform-origin: center center;
}

@keyframes flipOutY {
    0% { transform: rotateX(0deg) scale(1); opacity: 1; }
    100% { transform: rotateX(90deg) scale(0.8); opacity: 0; }
}

/* Modal Overlay */
.project-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(5px);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    perspective: 1500px; /* Needed for modal 3D rotation */
}

.project-modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Modal Content Box */
.project-modal-content {
    background: #fff;
    width: 85%;
    max-width: 900px;
    height: 70vh;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);

    /* 3D Transform initial state (vertical/edge-on) */
    transform: rotateX(90deg) scale(0.5);
    transform-origin: center center;
    transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Bouncy effect */
}

.project-modal-overlay.active .project-modal-content {
    /* Final state (flat and expanded) */
    transform: rotateX(0deg) scale(1);
}

/* Close Button */
.project-modal-close {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(255,255,255,0.8);
    border: none;
    font-size: 28px;
    line-height: 1;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    z-index: 10;
    cursor: pointer;
    transition: background 0.3s;
}
.project-modal-close:hover {
    background: #fff;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .project-modal-content {
        width: 95%;
        height: 85vh;
        overflow-y: auto;
    }
    .modal-img-wrap {
        height: 250px;
    }
}


header{
    position: fixed !important;
    top: 0;
    right: 0;
    left: 0;
    backdrop-filter: blur(15px);
    background: #18181852;
}
.navbar-light .navbar-nav .nav-link {
    color: rgb(173 173 173);
}
/* =============================================
   Dark Glossy Glassmorphism + Deep Yellow Accents
   For your existing .dv-products-product-card structure
   ============================================= */

/* ---- Core Variables (adjust these to match your theme) ---- */
:root {
    --yellow-deep: #C89400;
    --yellow-deep-hover: #e0a800;
    --yellow-glow: rgba(200, 148, 0, 0.45);
    --yellow-soft: rgba(200, 148, 0, 0.15);
    --dark-bg: #0d0d12;
    --glass-bg: rgba(22, 22, 32, 0.7);
    --glass-bg-hover: rgba(28, 28, 42, 0.8);
    --glass-border: rgba(255, 255, 255, 0.08);
    --glass-border-hover: rgba(200, 148, 0, 0.5);
    --text-primary: #e8e6e0;
    --text-secondary: #b0ada5;
    --radius-card: 18px;
    --transition-smooth: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ---- Main Card Container (your .dv-products-cards flex wrapper) ---- */
.dv-products-cards {
    background: transparent; /* ensure no background interference */
}

/* ---- Card – Dark Glass + Glossy ---- */
.card.dv-products-product-card {
    background: var(--glass-bg);
    backdrop-filter: blur(24px) saturate(140%);
    -webkit-backdrop-filter: blur(24px) saturate(140%);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-card);
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    overflow: hidden;
    transition: transform var(--transition-smooth), box-shadow var(--transition-smooth), border-color var(--transition-smooth);
    position: relative;
/* Glossy top light streak */
&::before {
     content: '';
     position: absolute;
     top: 0;
     left: 15%;
     right: 15%;
     height: 1px;
     background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3) 20%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0.3) 80%, transparent);
     z-index: 3;
     pointer-events: none;
     opacity: 0.6;
     transition: opacity 0.3s;
 }
/* Yellow ambient glow on hover */
&::after {
     content: '';
     position: absolute;
     top: -30px;
     right: -30px;
     width: 100px;
     height: 100px;
     background: radial-gradient(circle, rgba(200,148,0,0.12) 0%, transparent 70%);
     z-index: 2;
     pointer-events: none;
     transition: all 0.4s ease;
 }
}

.card.dv-products-product-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 56px rgba(0,0,0,0.65), 0 0 20px var(--yellow-glow);
    border-color: var(--glass-border-hover);
    background: var(--glass-bg-hover);
}
.card.dv-products-product-card:hover::before {
    opacity: 1;
}
.card.dv-products-product-card:hover::after {
    top: -20px;
    right: -20px;
    width: 130px;
    height: 130px;
    background: radial-gradient(circle, rgba(200,148,0,0.2) 0%, transparent 70%);
}

/* ---- Swiper / Image Area ---- */
.dv-products-product-card-swiper {
    border-radius: var(--radius-card) var(--radius-card) 0 0;
    overflow: hidden;
    background: #0a0a10;
}
.dv-products-product-card-swiper .swiper.swiperCard {
    border-radius: inherit;
}
.dv-products-product-card-swiper .swiper-slide img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    filter: brightness(0.88) contrast(1.05);
    transition: filter 0.3s, transform 0.35s;
}
.card.dv-products-product-card:hover .swiper-slide img {
    filter: brightness(1) contrast(1.1);
    transform: scale(1.03);
}

/* ---- Swiper Navigation Arrows – Deep Yellow ---- */
.dv-products-card-swiper-btn.swiper-button-next,
.dv-products-card-swiper-btn.swiper-button-prev {
    width: 36px;
    height: 36px;
    background: rgba(22,22,32,0.8);
    backdrop-filter: blur(14px);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 50%;
    color: var(--yellow-deep) !important;
    transition: all 0.25s ease;
    box-shadow: 0 4px 16px rgba(0,0,0,0.5);
    top: 50%;
    transform: translateY(-50%);
}
.dv-products-card-swiper-btn.swiper-button-next::after,
.dv-products-card-swiper-btn.swiper-button-prev::after {
    font-size: 14px;
    font-weight: 700;
    text-shadow: 0 0 8px var(--yellow-glow);
}
.dv-products-card-swiper-btn.swiper-button-next:hover,
.dv-products-card-swiper-btn.swiper-button-prev:hover {
    background: rgba(200,148,0,0.25);
    border-color: var(--yellow-deep);
    color: var(--yellow-deep-hover) !important;
    box-shadow: 0 0 20px var(--yellow-glow);
    transform: translateY(-50%) scale(1.08);
}

/* ---- Swiper Pagination Bullets – Deep Yellow ---- */
.dv-products-card-swiper-btn-pag.swiper-pagination {
    bottom: 12px !important;
}
.dv-products-card-swiper-btn-pag .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: rgba(255,255,255,0.4);
    opacity: 0.7;
    transition: all 0.3s ease;
    border-radius: 40px;
}
.dv-products-card-swiper-btn-pag .swiper-pagination-bullet-active {
    width: 26px;
    background: var(--yellow-deep);
    opacity: 1;
    box-shadow: 0 0 10px var(--yellow-glow), 0 0 24px rgba(200,148,0,0.35);
}

/* ---- Card Body Link (remove default underline) ---- */
a.dv-products-product-card-body-all {
    text-decoration: none !important;
    color: inherit;
    display: block;
}

/* ---- Inner Card Body ---- */
.dv-products-product-card-body {
    padding: 16px 18px 12px;
}

/* Title */
.dv-products-card-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    transition: color 0.2s;
}
.card.dv-products-product-card:hover .dv-products-card-title {
    color: #ffffff;
}

/* Company tag (top right) */
.dv-products-card-icon-and-text.pes-tags-direction {
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--yellow-deep);
    background: var(--yellow-soft);
    padding: 3px 12px;
    border-radius: 40px;
    border: 1px solid rgba(200,148,0,0.2);
    white-space: nowrap;
    transition: all 0.2s;
}
.card.dv-products-product-card:hover .dv-products-card-icon-and-text.pes-tags-direction {
    background: rgba(200,148,0,0.25);
    border-color: rgba(200,148,0,0.5);
    box-shadow: 0 0 14px var(--yellow-glow);
}

/* Property rows (type, rooms, country) */
p.pes-products-card-p.dv-products-card-icon-and-text {
    font-size: 0.82rem;
    color: var(--text-secondary);
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    line-height: 1.5;
}

/* Icon spans (shape, door, marker) */
.pes-span-rotate.pes-products-card-span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    font-size: 0.8rem;
    color: var(--yellow-deep);
    background: var(--yellow-soft);
    border-radius: 50%;
    flex-shrink: 0;
    transition: all 0.2s;
}
.card.dv-products-product-card:hover .pes-span-rotate.pes-products-card-span {
    color: var(--yellow-deep-hover);
    background: rgba(200,148,0,0.25);
    box-shadow: 0 0 10px var(--yellow-glow);
}

/* Divider line */
hr.dv-products-product-card-border {
    margin: 6px 18px;
    border: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15) 20%, rgba(200,148,0,0.45) 50%, rgba(255,255,255,0.15) 80%, transparent);
    opacity: 0.7;
    transition: opacity 0.3s;
}
.card.dv-products-product-card:hover hr.dv-products-product-card-border {
    opacity: 1;
}

/* Footer */
.dv-products-product-card-footer {
    padding: 10px 18px 16px;
    align-items: center;
}
.dv-products-product-card-footer img {
    opacity: 0.8;
    transition: opacity 0.3s;
    filter: brightness(0.9);
}
.card.dv-products-product-card:hover .dv-products-product-card-footer img {
    opacity: 1;
    filter: brightness(1.05);
}

/* "More" button */
.dv-products-card-link {
    gap: 6px;
    cursor: pointer;
    padding: 6px 16px;
    border-radius: 40px;
    background: var(--yellow-soft);
    border: 1px solid rgba(200,148,0,0.25);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}
.dv-products-card-link::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.07) 40%, rgba(255,255,255,0.12) 50%, rgba(255,255,255,0.07) 60%, transparent);
    transition: left 0.5s;
    z-index: 0;
}
.dv-products-card-link:hover::before {
    left: 100%;
}
.dv-products-card-link-text {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--yellow-deep);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    position: relative;
    z-index: 1;
}
.dv-products-card-link .icon-pointer-yellow {
    font-size: 0.9rem;
    color: var(--yellow-deep);
    transition: transform 0.25s ease;
    position: relative;
    z-index: 1;
}
.dv-products-card-link:hover {
    background: rgba(200,148,0,0.25);
    border-color: var(--yellow-deep);
    box-shadow: 0 0 18px var(--yellow-glow);
    transform: translateY(-1px);
}
.dv-products-card-link:hover .icon-pointer-yellow {
    transform: translateX(3px);
}

/* Adjustments for smaller screens if needed */
@media (max-width: 767.98px) {
    .dv-products-product-card-body {
        padding: 12px 14px 8px;
    }
    .dv-products-product-card-footer {
        padding: 8px 14px 14px;
    }
    hr.dv-products-product-card-border {
        margin: 4px 14px;
    }
}
/* =============================================
   Gallery Modal - Dark Glossy Glassmorphism
   + Deep Yellow Accents
   ============================================= */
:root {
    --yellow-deep: #C89400;
    --yellow-hover: #e0a800;
    --yellow-glow: rgba(200, 148, 0, 0.5);
    --dark-glass: rgba(18, 18, 28, 0.85);
    --dark-glass-border: rgba(255, 255, 255, 0.1);
}

/* Modal backdrop */
.modal-backdrop {
    background-color: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(4px);
}

/* Modal dialog - max width control */
.dv-gallery-modal-dialog {
    max-width: 90vw;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .dv-gallery-modal-dialog {
        max-width: 85vw;
    }
}

@media (min-width: 1200px) {
    .dv-gallery-modal-dialog {
        max-width: 75vw;
    }
}

/* Modal content – glass effect */
.dv-gallery-modal-content {
    background: var(--dark-glass);
    backdrop-filter: blur(32px) saturate(150%);
    -webkit-backdrop-filter: blur(32px) saturate(150%);
    border: 1px solid var(--dark-glass-border);
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    overflow: hidden;
    position: relative;
    padding: 0;
}

/* Glossy top streak */
.dv-gallery-modal-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 10%;
    right: 10%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.35) 20%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0.35) 80%, transparent);
    z-index: 5;
    pointer-events: none;
    opacity: 0.7;
}

/* Yellow corner glow */
.dv-gallery-modal-content::after {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(200,148,0,0.12) 0%, transparent 70%);
    z-index: 1;
    pointer-events: none;
}

/* Close button – deep yellow, glass */
.dv-modal-close-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 50%;
    background: rgba(22,22,32,0.7);
    backdrop-filter: blur(12px);
    color: var(--yellow-deep);
    font-size: 26px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.dv-modal-close-btn:hover {
    background: rgba(200,148,0,0.25);
    border-color: var(--yellow-deep);
    color: var(--yellow-hover);
    box-shadow: 0 0 18px var(--yellow-glow);
    transform: scale(1.05);
}

/* Main Swiper area */
.gallery-main-swiper {
    width: 100%;
    height: 65vh;
    max-height: 600px;
    background: #0a0a10;
    border-radius: 0 0 0 0;
    overflow: hidden;
    position: relative;
}

.gallery-slide-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    filter: brightness(0.92) contrast(1.03);
}

/* Swiper navigation arrows – deep yellow */
.dv-gallery-swiper-btn.swiper-button-next,
.dv-gallery-swiper-btn.swiper-button-prev {
    color: var(--yellow-deep) !important;
    width: 42px;
    height: 42px;
    background: rgba(22,22,32,0.7);
    backdrop-filter: blur(12px);
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.12);
    transition: all 0.3s ease;
}
.dv-gallery-swiper-btn.swiper-button-next::after,
.dv-gallery-swiper-btn.swiper-button-prev::after {
    font-size: 16px;
    font-weight: 700;
    text-shadow: 0 0 8px var(--yellow-glow);
}
.dv-gallery-swiper-btn.swiper-button-next:hover,
.dv-gallery-swiper-btn.swiper-button-prev:hover {
    background: rgba(200,148,0,0.25);
    border-color: var(--yellow-deep);
    color: var(--yellow-hover) !important;
    box-shadow: 0 0 20px var(--yellow-glow);
    transform: scale(1.08);
}

/* Swiper pagination bullets */
.dv-gallery-swiper-pagination.swiper-pagination {
    bottom: 12px !important;
}
.dv-gallery-swiper-pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: rgba(255,255,255,0.4);
    opacity: 0.8;
    transition: all 0.3s;
    border-radius: 20px;
}
.dv-gallery-swiper-pagination .swiper-pagination-bullet-active {
    width: 28px;
    background: var(--yellow-deep);
    opacity: 1;
    box-shadow: 0 0 12px var(--yellow-glow), 0 0 24px rgba(200,148,0,0.4);
}

/* Thumbnail Swiper */
.gallery-thumbs-swiper {
    width: 100%;
    padding: 12px 8px;
    background: rgba(10,10,16,0.6);
    backdrop-filter: blur(16px);
    border-top: 1px solid rgba(255,255,255,0.08);
    box-sizing: border-box;
}

.gallery-thumbs-swiper .swiper-slide {
    width: 80px;
    height: 60px;
    opacity: 0.5;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid transparent;
    transition: all 0.3s;
    cursor: pointer;
}

.gallery-thumbs-swiper .swiper-slide-thumb-active {
    opacity: 1;
    border-color: var(--yellow-deep);
    box-shadow: 0 0 12px var(--yellow-glow);
}

.gallery-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Mobile adjustments */
@media (max-width: 767.98px) {
    .gallery-main-swiper {
        height: 50vh;
        max-height: 400px;
    }
    .dv-modal-close-btn {
        top: 10px;
        right: 10px;
        width: 36px;
        height: 36px;
        font-size: 22px;
    }
    .gallery-thumbs-swiper .swiper-slide {
        width: 60px;
        height: 45px;
    }
}