@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
:root{
    --color-blue: #131a2b;
    --color-bg: #0f1729;
    --background: 222 47% 11%;
    --foreground: 210 40% 98%;
    --font-sans: 'Inter', sans-serif;
    --font-display: "Montserrat", sans-serif;
    --spacing: 0.25rem;
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --leading-tight: 1.25;
    --background: 222 47% 11%;
    --foreground: 210 40% 98%;
    --primary: 346 87% 43%;
    --primary-hex: #d9164f;
    --secondary: 45 93% 47%;
    --color-gray-300: #d1d5db;
    --color-gray-400: #9ca3af;
    --color-gray-500: #6b7280;
    --color-gray-600: #4b5563;
    --color-green: #dca809;
    --color-contrast: #161f31;    
}
.text-gradient {
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    background-image: linear-gradient(to right, hsl(var(--primary)), hsl(var(--secondary)));
}
body, html{
    font-weight: 400;
    font-family: var(--font-sans) !important;
    background: var(--color-bg) !important;
}
h1, h2, h3, h4, h5, h6{
    font-family: var(--font-display) !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em;
}
p{
    color: var(--color-gray-400) !important;
}
h2{
    font-size: var(--text-7xl) !important;
    line-height: var(--text-7xl--line-height) !important;
}
/*header*/
#masthead{
    background: var(--color-blue) !important;
}
.hero{
    position: relative !important;
    overflow: hidden !important;
}
.hero .bg.section-bg.fill.bg-fill.bg-loaded::before{
    content: "";
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background:
        linear-gradient(180deg,
            rgba(2, 6, 23, 0.85) 0%,
            rgba(2, 6, 23, 0.75) 35%,
            rgba(2, 6, 23, 0.55) 60%,
            rgba(89, 28, 135, 0.13) 85%,
            rgba(89, 28, 135, 0.24) 100%),
        linear-gradient(180deg,
            rgba(2, 6, 23, 0.85) 0%,
            rgba(2, 6, 23, 0.65) 45%,
            rgba(2, 6, 23, 0.9) 100%);
}

/*buttons*/
.button{
    padding: 0.5em 2em !important;
    font-family: var(--font-sans) !important;
}
.button.primary{
    background: color-mix(in oklab, hsl(var(--primary)) 90%, transparent) !important;
    border-color: #fff !important;
}
.bg-init{
    background: var(--color-bg) !important;
}
.bg-primary1{
    background: color-mix(in oklab, hsl(var(--primary)) 90%, transparent) !important;
}
.bg-blue{
    background: var(--color-blue) !important;
}
.bg-contrast{
    background: var(--color-contrast) !important;
}
.title-1{
    color: var(--color-gray-300) !important;
    padding-bottom: 0.5em !important;
    padding-top: 0.5em !important;
    font-size: 20px !important;
    margin-bottom: 0.5em !important;
}
.woocommerce .add-request-quote-button.button {
    background-color: color-mix(in oklab, hsl(var(--primary)) 90%, transparent) !important;
    border-radius: 15px !important;
    -webkit-border-radius: 15px !important;
    -moz-border-radius: 15px !important;
    -ms-border-radius: 15px !important;
    -o-border-radius: 15px !important;
    font-size: 1em !important;
    border: 1px solid #fff !important;
    margin-bottom: 15px !important;
    text-transform: capitalize !important;
}
.woocommerce .add-request-quote-button.button:hover {
    background-color: hsl(var(--primary)) !important;
}
.button.primary span{    
    color: #fff !important;
}
.button.white.is-outline{
    border-color: hsl(var(--primary)) !important;
}
.button.white.is-outline:hover {
    /* primary al 80% */
    background: color-mix(in oklab, hsl(var(--primary)) 50%, transparent) !important;
}
.button.white.is-outline span{
    color: #fff !important;    
}

/*text colors*/
.text-white{
    color: #fff !important;
}
.text-blue{
    color: var(--color-blue) !important;
}
.text-primary{
    color: hsl(var(--primary)) !important;
}
.text-gray-300{
    color: var(--color-gray-300) !important;
}
.text-gray-400{
    color: var(--color-gray-400) !important;
}
/* size classes */
.text-5xl{
    font-size: var(--text-5xl) !important;
    line-height: var(--text-5xl--line-height) !important;
}
.bg-contrast{
    background: var(--color-contrast) !important;
}
.border-radius-sm {
    border-radius: 10px !important;
    -webkit-border-radius: 10px !important;
    -moz-border-radius: 10px !important;
    -ms-border-radius: 10px !important;
    -o-border-radius: 10px !important;
}
.border-radius-md{
    border-radius: 15px !important;
    -webkit-border-radius: 15px !important;
    -moz-border-radius: 15px !important;
    -ms-border-radius: 15px !important;
    -o-border-radius: 15px !important;
}
.text-12px{
    font-size: 12px !important;
}
.text-14px{
    font-size: 14px !important;
}
.text-16px{
    font-size: 16px !important;
}
.text-18px{
    font-size: 18px !important;
}
.text-20px{
    font-size: 20px !important;
}
.text-24px{
    font-size: 24px !important;
}
.text-30px{
    font-size: 30px !important;
}
.text-34px {
    font-size: 34px !important;
}
.text-36px{
    font-size: 36px !important;
}
.text-38px{
    font-size: 38px !important;
}
.text-40px{
    font-size: 40px !important;
}
.text-42px{
    font-size: 42px !important;
}
.text-45px {
    font-size: 45px !important;
}
.text-48px {
    font-size: 48px !important;
}

/*services*/
.box.has-hover.card-service.box-text-bottom,
.box.has-hover.card-service.box-text-bottom .box-image,
.box.has-hover.card-service.box-text-bottom .service-icon,
.box.has-hover.card-service.box-text-bottom .service-icon svg,
.box.has-hover.card-service.box-text-bottom .box-image img{
    transition: transform 0.35s ease;
    -webkit-transition: transform 0.35s ease;
    -moz-transition: transform 0.35s ease;
    -ms-transition: transform 0.35s ease;
    -o-transition: transform 0.35s ease;
}
.box.has-hover.card-service.box-text-bottom {
    border-radius: 15px;
    background: #161f31;
    overflow: hidden;
    color: var(--color-gray-400);
}
.box.has-hover.card-service.box-text-bottom .service-icon{
    width: 50px;
    height: 50px;
    background: transparent !important;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 1em;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}
.box.has-hover.card-service.box-text-bottom .service-icon svg{
    stroke: var(--primary-hex) !important;    
}
.box.has-hover.card-service.box-text-bottom:hover .service-icon{
    background: hsl(var(--primary)) !important;
}
.box.has-hover.card-service.box-text-bottom:hover .service-icon svg {
    stroke: #fff !important;    
}
.box.has-hover.card-service.box-text-bottom .box-image:hover img{
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);    
}
.list-services{
    list-style: none;
    padding-left: 0 !important;
}
.list-services li{    
    margin-left: 0 !important;
    margin-bottom: 1em;
    color: #fff;
}
.list-services li svg{
    padding-left: 0 !important;
    stroke: var(--color-green) !important;
    transform: translateY(5px);
    -webkit-transform: translateY(5px);
    -moz-transform: translateY(5px);
    -ms-transform: translateY(5px);
    -o-transform: translateY(5px);
    margin-right: 1em;
}
/*Forms style*/
div.wpforms-container-full .wpforms-confirmation-container-full,
div[submit-success]>.wpforms-confirmation-container-full:not(.wpforms-redirection-message){
    background: var(--color-contrast) !important;
    border-color: var(--color-gray-500) !important;
}
input, textarea, select, .wpforms-form input{
    background: transparent !important;
    border: 1px solid var(--color-gray-500) !important;
    border-radius: 5px !important;
    -webkit-border-radius: 5px !important;
    -moz-border-radius: 5px !important;
    -ms-border-radius: 5px !important;
    -o-border-radius: 5px !important;
    color: var(--color-gray-300) !important;
}
/*placeholder*/
input::placeholder, textarea::placeholder, select::placeholder, .wpforms-form input::placeholder{
    color: var(--color-gray-600) !important;
}
/*background select*/
select{
    background-color: var(--color-contrast) !important;
}
.wpforms-field-label{
    font-family: var(--font-sans) !important;
    color: var(--color-gray-400) !important;
}
.border{
    border-width: 1px !important;
    border-color: var(--color-gray-500) !important;
}
.btn-block{
    width: 100% !important;
    padding: 0.7em 1em 1em 1em !important;
}
#footer, footer{
    background: var(--color-bg) !important;
}

/*menu*/
.header-nav.header-nav-main.nav.nav-left.nav-uppercase > li > a.nav-top-link{
    color: #fff !important;
    text-transform: capitalize !important;
    font-size: 1em !important;
}
.header-nav.header-nav-main.nav.nav-left.nav-uppercase>li{
    margin-left: 2em !important;    
}
.header-nav.header-nav-main.nav.nav-left.nav-uppercase {
    justify-content: end;
}
.flex-col.hide-for-medium.flex-right>ul>li {
    display: flex;
    justify-content: end;
}
/*hero blocks*/
.block-2{
    border-bottom: 4px solid color-mix(in oklab, hsl(var(--primary)) 90%, transparent) !important;
}

/*woocommerce pages*/
.product-container{
    background: var(--color-bg) !important;
    color: var(--color-gray-400) !important;
}
.product-container p,
.product-container a{
    color: var(--color-gray-400) !important;
}
.product-container h1{
    color: #fff !important;
    font-size: clamp(20px, 3vw, 30px) !important;
}
.product-container .product-section-title.container-width.product-section-title-related.pt-half.pb-half.uppercase{
    color: var(--color-gray-300) !important;
}
/*product detail - image*/
.product-small.box .box-image,
.woocommerce-product-gallery__image.slide.first.is-selected {
    background: #fff !important;
    opacity: 0.75 !important;
    /* mix-blend-mode: exclusion !important; */    
}
/*product shop page*/
body:has(.shop-page-title.category-page-title.page-title) #main,
.shop-page-title.category-page-title.page-title{
    background: var(--color-bg) !important;
    color: var(--color-gray-300) !important;
}
.product-small.box{
    background: var(--color-contrast) !important;
    border-radius: 15px !important;
    -webkit-border-radius: 15px !important;
    -moz-border-radius: 15px !important;
    -ms-border-radius: 15px !important;
    -o-border-radius: 15px !important;
    overflow: hidden !important;
}
.woocommerce-LoopProduct-link.woocommerce-loop-product__link{
    color: var(--color-gray-400) !important;
}
.box-text.box-text-products{
    padding-left: 15px !important;
    padding-right: 15px !important;
}
.quick-view.quick-view-added{
    background: var(--color-bg) !important;
    color: var(--color-gray-300) !important;
}
/*filters - search field*/
input.search-field.mb-0[type="search"] {
    color: #000 !important;
}
.ux-search-submit.submit-button.secondary.button.icon.mb-0 {
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0 10px 10px 0;
    background: var(--color-bg);
}
/*lightbox - finder*/
.mfp-wrap.mfp-auto-cursor.off-canvas.off-canvas-undefined.mfp-ready {
    background: rgba(0, 0, 0, 0.9) !important;
    color: var(--color-gray-300) !important;
}
.mfp-wrap.mfp-auto-cursor.off-canvas.off-canvas-undefined.mfp-ready input.search-field.mb-0[type="search"] {
    color: var(--color-gray-300) !important;
}
/*Menu - search icon*/
.icon.button.circle.is-outline.is-small {
    margin-left: 15px;
}
/*Quote Page*/
.yith-ywraq-mail-form-wrapper h3, #yith-ywrq-table-list {
    color: #fff !important;
}
#yith-ywrq-table-list .product-name a, #yith-ywraq-mail-form label{
    color: var(--color-gray-300) !important;
}
#yith-ywrq-table-list .product-thumbnail img{
    background: #fff !important;
    opacity: 0.75 !important;
}
.ux-search-submit.submit-button.secondary.button.icon.mb-0:hover,
.header-button a:hover{
    background: hsl(var(--primary)) !important;
    border-color: #fff !important;
}