/*
  Theme Name: NUSPUN CHILD THEME
  Version: 1.0.0
  Template: Divi
  Author: Divi Pixel
  Author URI: https://www.divi-pixel.com
  Text Domain: nuspun-child-theme
  License: GNU General Public License v2 or later
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

a.glink img {
  display: none !important;
}

/* GPDR CSS */
.cky-btn-revisit-wrapper {
	background-color: #6d3eda !important;
}

.cky-title {
	color: #6d3eda !important;
}

.cky-btn-customize {
	color: #6d3eda !important;
    background-color: transparent;
    border-color: #6d3eda !important;
}

.cky-btn.cky-btn-reject {
	color: #6d3eda !important;
    background-color: transparent !important;
    border-color: #6d3eda !important;
}

.cky-btn.cky-btn-accept {
	color: #FFFFFF !important;
	background-color: #6d3eda !important;
	border-color: #6d3eda !important;
}

.cky-btn.cky-btn-preferences {
	color: #FFFFFF !important;
	background-color: #6d3eda !important;
	border-color: #6d3eda !important;
}

/* Swiper CSS */
/* =========================================
   Featured Slider
========================================= */

@media (max-width: 1920px) and (min-width: 1601) {
	.heroSwiper .swiper-slide {
		width: 70vw;
		min-width:1300px;
    	transition:all .4s ease;
	}
}

.featured-slider{
    width:100%;
    max-width:1600px;
    margin:0 auto;
    overflow:visible;
    padding:40px 0;
}

/* Swiper */

.heroSwiper {
    overflow:visible;
}

.heroSwiper .swiper-wrapper {
    align-items:center;
}

.heroSwiper .swiper-slide {
    width:78vw;
    min-width:1090px;
    transition:all .4s ease;
}

/* Active slide */

.heroSwiper .swiper-slide-active {
    transform:scale(1);
    opacity:1;
}

/* Next slide */

.heroSwiper .swiper-slide-next {
    opacity:1;
}

/* Previous slide */

.heroSwiper .swiper-slide-prev {
    opacity:.35;
}

/* Image */

.hero-slide {
    overflow:hidden;
	border-radius: 4px;
}

.hero-slide img {
    width:100%;
    height:650px;
    object-fit:cover;
    display:block;
    transition:transform .8s ease;
}

.swiper-slide-active img{
    transform:scale(1);
}

/* =====================
Navigation
===================== */

.hero-navigation {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:30px;
    margin-top:35px;
    flex-wrap:nowrap;
}

.hero-nav-button {
    border:none;
    background:none;
    cursor:pointer;
    padding:8px 14px;
    font-size:16px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#777;
    transition:.3s;
}

.hero-nav-button:hover {
    color:#000;
}

.hero-nav-button.active {
    color:#000;
    background:#f4f4f4;
    border-radius:4px;
}

/* ===========================
Tablet
=========================== */

@media (max-width: 1025px) {
	.hero-slide img {
		object-fit: contain;
	}
}

@media (max-width: 980px){

.heroSwiper {
    overflow:hidden;
}

.heroSwiper .swiper-slide {
    width:100% !important;
    min-width:100%;
    max-width:100%;
}

.hero-slide {
    border-radius:0px;
}

.hero-slide img {
    width:100%;
    height:520px;
    object-fit: contain;
}

.hero-navigation {
    margin-top:20px;
    gap:12px;
    justify-content:center;
}

.hero-nav-button {
    font-size:16px;
    letter-spacing:1px;
 }
}

/* ===========================
Mobile
=========================== */

@media (max-width:767px) {

	.hero-slide img{
		height:420px;
	}

	.hero-navigation{
		gap:6px;
		padding:0 10px;
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
    	scroll-behavior: smooth;
    	scrollbar-width: none;
	}
	
	/* Hide scrollbar on Chrome/Safari */
    .hero-navigation::-webkit-scrollbar {
        display: none;
    }

	.hero-nav-button {
    	font-size:16px;
    	padding:8px 10px;
    	letter-spacing:.5px;
		flex: 0 0 auto;
        white-space: nowrap;
		margin: 0 20px;
	}
}
/* End of Swiper CSS */

/* Products Page Tabs CSS */
/* ==========================================
   FABRIC LIBRARY
========================================== */

.fabric-library {
    width:100%;
    max-width:100%;
    margin:0 auto;
}

/* ==========================================
   FILTERS
========================================== */

.fabric-filters {
    display:flex;
    align-items:center;
    overflow-x:auto;
    gap:0;
    margin-bottom:80px;
    scrollbar-width:none;
}

.fabric-filters::-webkit-scrollbar {
    display:none;
}

.fabric-filters button{
    flex-shrink:0;
    border:none;
    background:transparent;
    padding:20px;
    font-size:16px;
    font-weight:400;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:#000;
    cursor:pointer;
    transition:.3s;
    position:relative;
	margin-right: 30px;
}

.fabric-filters button:hover {
    color:#111;
    background:#f6f6f6;
}

.fabric-filters button.active {
    background:#f2f2f2;
    color:#111;
	border-radius: 4px;
}

/* .fabric-filters button.active::before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:4px;
    height:100%;
    background:#009FE3;
} */

/* ==========================================
   GRID
========================================== */

.fabric-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:5px;

}

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

.fabric-card {
    position:relative;
    display:block;
    overflow:hidden;
    text-decoration:none;
    background:#ddd;
    color:#fff;
	border-radius: 4px;
}

/* ==========================================
   IMAGE
========================================== */

.fabric-card img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .7s ease;
    display:block;
}

.fabric-card:hover img {
    transform:scale(1.08);
}

/* ==========================================
   OVERLAY
========================================== */

.fabric-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.65),
        rgba(0,0,0,.10)
    );
    transition:.35s;
}

.fabric-card:hover .fabric-overlay {
    background:linear-gradient(
        to top,
        rgba(0,0,0,.78),
        rgba(0,0,0,.20)
    );
}

/* ==========================================
   TOP LABEL
========================================== */

.fabric-top-label {
    position:absolute;
    top:28px;
    left:28px;
    z-index:5;
    font-size:12px;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-weight:600;
}

/* ==========================================
   TITLE
========================================== */

.fabric-title {
	display: none;
    position:absolute;
    left:50%;
    top:50%;
    transform:
        translate(-50%,-50%)
        rotate(-28deg);
    width:120%;
    text-align:center;
    font-size:46px;
    line-height:1;
    text-transform:uppercase;
    font-weight:300;
    letter-spacing:.05em;
    color:#fff;
    z-index:5;
    transition:.35s;
}

.fabric-card:hover .fabric-title {
    transform:
        translate(-50%,-50%)
        rotate(-28deg)
        scale(1.06);
}

/* ==========================================
   BOTTOM TEXT
========================================== */

.fabric-bottom-text {
    position:absolute;
    left:28px;
    bottom:26px;
    z-index:5;
    font-size:15px;
    line-height:1.5;
    max-width:240px;
}

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

@media(max-width:980px) {

	.fabric-grid {
		grid-template-columns:repeat(1,1fr);
	}
	
	.fabric-card {
		height: 355px;
	}

	.fabric-title {
		font-size:34px;
	}
}

@media(max-width:767px) {

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

	.fabric-title {
		font-size:28px;
	}

	.fabric-top-label {
		left:20px;
		top:20px;
	}

	.fabric-bottom-text{
		left:20px;
		bottom:20px;
	}
}
/* End of Products Page Tabs CSS */

/* About Us Post Slider */
/* ======================================================
   FEATURED STORY
====================================================== */

.featured-story-section {
    max-width:100%;
}

/* ======================================================
   HEADER
====================================================== */

.story-header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:50px;
    padding-bottom:30px;
    border-top:1px solid #5E5E5E;
    padding-top:30px;
}

.story-label {
    font-size:18px;
    text-transform:uppercase;
    color:#000;
    font-weight:500;
}

/* ======================================================
   NAVIGATION
====================================================== */

.story-navigation {
    display:flex;
    align-items:center;
    gap:8px;
    color:#6F42FF;
}

.story-prev,
.story-next {
    cursor:pointer;
    font-size:18px;
    user-select:none;
    transition:.3s;
    color:#6F42FF;
}

.story-prev:hover,
.story-next:hover { 
    opacity:.5;
}

.story-pagination {
    width:auto;
    min-width:40px;
    text-align:center;
    font-size:17px;
    color:#6F42FF;
    font-weight:500;
}

/* ======================================================
   GRID
====================================================== */

.story-grid {
    display:grid;
    grid-template-columns:36% 64%;
    align-items:center;
	justify-items: flex-start;
}

/* ======================================================
   LEFT
====================================================== */

.story-content {
    padding-right:20px;
}

.story-title {
    font-size:62px;
    line-height:1.05;
    font-weight:400;
    color:#111;
    margin:0 0 35px;
}

.story-excerpt {
    font-size:18px;
    line-height:1.8;
    color:#444;
    max-width:420px;
}

/* ======================================================
   RIGHT
====================================================== */

.story-image-wrapper {
    position:relative;
}

.story-image-wrapper a {
    display:block;
    position:relative;
}

.story-image {
    width:885px;
	height: 505px;
    object-fit:cover;
    border-radius:4px;
    display:block;
}

/* ======================================================
   CAPTION
====================================================== */

.story-caption {
    position:absolute;
    left:22px;
    right:22px;
    bottom:22px;
    background:rgba(255,255,255,.75);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    padding:16px 22px;
    border-radius:6px;
    font-size:20px;
    line-height:1.4;
    color:#111;
}

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

@media (max-width: 1281px) and (min-width: 981px) {
	.story-grid {
		grid-template-columns: 40% 60%;
	}
}

@media(max-width:980px){

	.story-grid {
    	grid-template-columns:1fr;
    	gap:45px;
	}
	
	.story-content {
		width: 100%;
	}
	
	.story-header {
		margin-bottom:0px;
	}

	.story-title {
    	font-size:60px;
	}

	.story-image {
    	aspect-ratio:16/11;
	}
}

@media(max-width:768px) {

	.featured-story-section {
    	padding:50px 20px;
	}

	.story-header {
    	align-items:flex-start;
    	gap:20px;
		margin-bottom:0px;
	}
	
	.story-label {
		font-size: 16px;
	}

	.story-navigation {
    	align-self:flex-end;
	}

	.story-title {
    	font-size:40px;
		margin-bottom:20px;
	}

	.story-excerpt {
    	font-size:16px;
	}

	.story-caption {
    	left:15px;
    	right:15px;
    	bottom:15px;
    	font-size:17px;
    	padding:14px 18px;
	}
}
/* End About Us Post Slider */

/* Partner Products CSS */
/* ==========================================================
   PARTNER PRODUCT GRID
========================================================== */

#ppg-app {
    width:100%;
    max-width:1400px;
    margin:60px auto;
}

#ppg-loadmore:disabled {
    opacity:.6;
    cursor:not-allowed;
}

/* ==========================================================
   FILTER BAR
========================================================== */

.ppg-header {
    display:flex;
    justify-content:flex-end;
    margin-bottom:50px;
}

.ppg-filters {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.ppg-filter {
    appearance:none;
    border:none;
    background:transparent;
    padding:10px 18px;
    font-size:16px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1px;
    color:#666;
    cursor:pointer;
    transition:all .25s ease;
}

.ppg-filter:hover,
.ppg-filter.active {
    background:#f2f2f2;
    color:#111;
}

/* ==========================================================
   GRID
========================================================== */

#ppg-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:15px;
    align-items:start;
}

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

.ppg-card {
	padding: 20px;
    background:#F2F2F2;
    transition:all .35s ease;
    height:100%;
}

.ppg-card:hover {
    transform:translateY(-8px);
}

.ppg-card-link {
    display:flex;
    flex-direction:column;
    height:100%;
    color:inherit;
    text-decoration:none;
}

/* ==========================================================
   IMAGE
========================================================== */

.ppg-image-wrapper {
    background:#f5f5f5;
}

.ppg-image {
    aspect-ratio:1/1;
    overflow:hidden;
}

.ppg-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .4s ease;
}

.ppg-card:hover .ppg-image img {
    transform:scale(1.06);
}

/* ==========================================================
   CONTENT
========================================================== */

.ppg-body {
    display:flex;
    flex-direction:column;
    flex:1;
    padding:18px 0 0;
}

/* ==========================================================
   BRAND ROW
========================================================== */

.ppg-brand-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:16px;
}

.ppg-brand-name {
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:2px;
    font-weight:700;
    color:#777;
}

.ppg-brand-logo {
    flex-shrink:0;
}

.ppg-brand-logo img {
    display:block;
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
}

/* ==========================================================
   TITLE
========================================================== */

.ppg-title {
    margin:0;
    min-height:64px;
    font-size:20px;
    font-weight:400;
    line-height:1.45;
    color:#6d6d6d;
}

/* ==========================================================
   LOAD MORE
========================================================== */

.ppg-loadmore-wrap {
    margin-top:60px;
    text-align:right;
}

#ppg-loadmore {
    text-decoration: underline #6D3EDA 1px;
  	text-underline-offset: 10px;
	background-color: transparent;
	border: none;
	color: #6D3EDA;
	font-size: 20px;
	font-weight: 500;
}

#ppg-loadmore:hover {
	text-decoration: none;
}

#ppg-loadmore::after {
    content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0); 
	height: 1px;
	bottom: -6px; /* Space below text */
	left: 0;
	background-color: #6D3EDA;
	transform-origin: bottom left; /* Scale starts from the left */
	transition: transform 0.5s ease-out; /* Smooth animation */
	opacity: 0.5;
}

#ppg-loadmore::after:hover {
	transform: scaleX(1); /* Expand to full width */
  	height: 2px;
  	opacity: 1;
}

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

@media (max-width:980px){

    #ppg-grid {
        grid-template-columns:repeat(2,1fr);
        gap:30px;
    }
}

@media (max-width:767px){

    .ppg-header {
        justify-content:center;
    }
	
    .ppg-filters {
        display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		gap: 6px;
		width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		padding: 10px 0;
		-webkit-overflow-scrolling: touch;
		scroll-behavior: smooth;
		scrollbar-width: none;
    }
	
	.ppg-filters::-webkit-scrollbar {
        display: none;
    }
	
	.ppg-filters button {
		flex: 0 0 auto;
        white-space: nowrap;
		margin: 0 20px;
	}

    #ppg-grid {
        grid-template-columns:1fr;
        gap:30px;
    }
}
/* End of Partner Products CSS */

#et-main-area {
	margin-top: -117px;
	overflow: hidden !important
}

#dipi_popup-497 {
	height: auto !important;
}

.dipi-popup-container .dipi_popup-close {
	right: 40px !important;
    top: 20px !important;
}

@media (max-width: 1920px) and (min-width: 1681px) {
	#page-container {
		zoom: 120% !important;
	}
}

@media (max-width: 1680px) and (min-width: 981px) {
	#page-container {
		zoom: 100% !important;
	}
}

@media (max-width: 1440px) and (min-width: 981px) {
	#page-container {
		zoom: 90% !important;
	}
}

@media (max-width: 1025px) and (min-width: 981px) {
	#page-container {
		zoom: 80% !important;
	}
}