:root{
    --primary:#ffb400;
    --dark:#0f172a;
	  --sae-blue:#123D8D;
    --sae-orange:#F47C20;
    --sae-orange-dark:#dd6912;
    --sae-gray:#6c757d;
    --sae-light:#f8f9fa;
}

body{
    font-family: 'Segoe UI', sans-serif;
}

.navbar {
    background-color: #082043;
    padding: 15px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 2px 10px rgba(0,0,0,.2);
}

.navbar .nav-link {
    color: #ffffff;
    font-weight: 500;
}

.navbar .nav-link:hover {
    color: #ff8c00;
}

.logo img {
	height: 70px;
	width: auto;
}

.hero{
    min-height:100vh;
    background:
        linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.65)),
        url('img/bg-pasir.png');
    background-size:cover;
    background-position:center;
    color:#fff;
}

.section-title{
    position:relative;
    margin-bottom:40px;
}

.section-title::after{
    content:'';
    width:70px;
    height:4px;
    background:var(--primary);
    position:absolute;
    left:0;
    bottom:-12px;
}

.service-card{
    transition:.3s;
    border:none;
}

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

.icon-box{
    width:70px;
    height:70px;
    background:rgba(255,180,0,.15);
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:15px;
    font-size:30px;
    color:var(--primary);
}

.counter-section{
    position: relative;
    background: var(--dark);
    color: white;
    overflow: hidden;
    z-index: 1;
	min-height:600px;
}

.counter-section::before{
    content:'';
    position:absolute;
    left:50%;
    bottom:0;
    transform:translateX(-50%);
    width:100%;
    height:80%;
    background:url('../../img/sae-visual.png') center bottom no-repeat;
    opacity:0.7;
    pointer-events:none;
    z-index:1;
}
.counter-section .container{
    position: relative;
    z-index: 2;
}

.project-card img{
    height:250px;
    object-fit:cover;
}

.cta{
    background:linear-gradient(135deg,#ffb400,#ff8f00);
}
	
.hero-worker{
    max-height:420px;
    width:auto;
    animation: floatWorker 4s ease-in-out infinite;
    filter: drop-shadow(0 20px 40px rgba(0,0,0,.5));
}

@keyframes floatWorker{
    0%,100%{
        transform: translateY(0);
    }
    50%{
        transform: translateY(-10px);
    }
}
	
.navbar {
    background: #082043;
}

.navbar .nav-link {
    color: #fff !important;
    font-weight: 500;
    padding: 12px 8px;
    letter-spacing: .5px;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus {
    color: #ff7a00 !important;
}

.dropdown-menu {
    background: #123975;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 10px;
    overflow: hidden;
}

.dropdown-item {
    color: #fff;
    padding: 10px 20px;
}

.dropdown-item:hover {
    background: #ff7a00;
    color: #fff;
}

.dropdown-toggle::after {
    margin-left: 8px;
}

footer{
    background:#0b1120;
}
	
	
.section-divider-sand{
    position: relative;
    height: 0;
    z-index: 20;
}

.floating-sand{
    position: absolute;
    left: 10%;
    transform: translateX(-50%);
    top: -220px;
    width: 500px;
    max-width: 90%;
    pointer-events: none;
}

@keyframes sandFloat{
    0%,100%{
        transform: translateX(-50%) translateY(0);
    }
    50%{
        transform: translateX(-50%) translateY(-15px);
    }
}
	
.hero-slide{
    min-height:100vh;
    background-size:cover;
    background-position:center;
    position:relative;
}

.hero-slide::before{
    content:'';
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.55);
}

.hero-slide .container{
    position:relative;
    z-index:2;
}

.carousel-item{
    transition:1s ease-in-out;
}

.carousel-control-prev,
.carousel-control-next{
    width:80px;
}

.carousel-indicators button{
    width:12px;
    height:12px;
    border-radius:50%;
}
	.about-section{
    position: relative;
    background: url('img/bg-lime.jpg') center center/cover no-repeat;
    overflow: hidden;
}

.about-section::before{
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.7); /* opacity 50% */
    z-index: 1;
}

.about-section .container{
    position: relative;
    z-index: 2;
}
	
.counter-icon{
    font-size: 48px;
    color: #ffb400;
    margin-bottom: 15px;
    display: block;
}

.counter-item{
    transition: .3s;
}

.counter-item:hover{
    transform: translateY(-5px);
}
	
.testimonial-card{
    background:#fff;
    padding:30px;
    border-radius:20px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    height:100%;
    transition:.3s;
}

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

.testimonial-card p{
    color:#666;
    min-height:90px;
}

@media (max-width:768px){

    #testimonialCarousel .carousel-item .row{
        display:block;
    }

    #testimonialCarousel .col-md-4{
        margin-bottom:20px;
    }

}
#testimonialCarousel .carousel-inner{
    overflow: visible;
}

#testimonialCarousel .carousel-item{
    overflow: visible;
}
	
	
/* CLIENT LOGO */
.logo-slider{
    overflow:hidden;
    position:relative;
    width:100%;
}

.logo-track{
    display:flex;
    align-items:center;
    gap:70px;

    width:max-content;

    animation: scrollLogo 25s linear infinite;
}

.logo-track img{
    height:80px;
    width:auto;

    object-fit:contain;

    filter: grayscale(100%);
    opacity:.7;

    transition:.3s;
}

.logo-track img:hover{
    filter:none;
    opacity:1;
    transform:scale(1.08);
}

@keyframes scrollLogo{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-50%);
    }
}
	
.client-section{
    background: linear-gradient(135deg,#ffb400,#ff8f00);
    overflow:hidden;
}

.client-section h2{
    color:#082043;
}

.client-section p{
    color:rgba(8,32,67,.8);
}
	
/* CONTACT SECTION */
.contact-section{
    position: relative;
    background: #082043;
    color: #fff;
    overflow: hidden;
    z-index: 1;
}

.contact-section::before{
    content:'';
    position:absolute;
    inset:0;

    background:
        url('../../img/peta-indonesia-project.png')
        center center
        no-repeat;

    opacity:0.1; /* transparan */
    z-index:1;
    pointer-events:none;
}

.contact-section .container{
    position:relative;
    z-index:2;
}

.contact-section .section-title{
    color:#fff;
}

.contact-section p{
    color:rgba(255,255,255,.85);
}

.contact-section .form-control{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.15);
    color:#fff;
    padding:12px 15px;
}

.contact-section .form-control:focus{
    background:rgba(255,255,255,.12);
    border-color:#ffb400;
    color:#fff;
    box-shadow:none;
}

.contact-section .form-control::placeholder{
    color:rgba(255,255,255,.6);
}

.contact-info{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    padding:30px;
    border-radius:20px;
    backdrop-filter:blur(8px);
}

.contact-info i{
    color:#ffb400;
    font-size:22px;
    margin-right:10px;
}
	
.section-divider-limestone{
    position: relative;
    height: 0;
    z-index: 20;
}

.floating-limestone{
    position: absolute;

    right: -26%;
    bottom: -100px;

    transform: translateX(-50%);

    width: 100%;
    max-width: 1400px;
    height: auto;

    pointer-events: none;
    opacity: .95;
}
	
.section-divider-material{
    position: relative;
    height: 0;
    z-index: 20;
}

.floating-material{
    position: absolute;

    left: 20%;
    bottom: -90px;

    transform: translateX(-50%);

    width: 100%;
    max-width: 1400px;
    height: auto;

    pointer-events: none;

    opacity: .95;
}
	
/* Floating WhatsApp */
.whatsapp-float{
    position:fixed;
    right:25px;
    bottom:25px;

    width:65px;
    height:65px;

    background:#25D366;
    color:#fff;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:34px;

    text-decoration:none;

    box-shadow:0 10px 25px rgba(0,0,0,.25);

    z-index:9999;

    transition:.3s;
}

.whatsapp-float:hover{
    transform:scale(1.1);
    color:#fff;

    box-shadow:0 15px 35px rgba(37,211,102,.5);
}

/* Animasi denyut */
.whatsapp-float::before{
    content:'';
    position:absolute;

    width:100%;
    height:100%;

    border-radius:50%;
    background:#25D366;

    z-index:-1;

    animation:waPulse 2s infinite;
}

@keyframes waPulse{
    0%{
        transform:scale(1);
        opacity:.7;
    }
    70%{
        transform:scale(1.5);
        opacity:0;
    }
    100%{
        opacity:0;
    }
}

@media(max-width:768px){
    .whatsapp-float{
        width:58px;
        height:58px;
        font-size:30px;
        right:15px;
        bottom:15px;
    }
}

/* ===========================
   NAVBAR
=========================== */

/* =======================
   NAVBAR
======================= */

.navbar{

    background:rgba(8,32,67,.90);   /* #082043 */

    backdrop-filter:blur(16px);

    -webkit-backdrop-filter:blur(16px);

    transition:.35s;

    padding:16px 0;

    box-shadow:0 8px 25px rgba(0,0,0,.15);

}

.navbar.scrolled{

    background:rgba(8,32,67,.97);

    padding:10px 0;

    box-shadow:0 15px 35px rgba(0,0,0,.25);

}

.dropdown-toggle::after{
    display:none !important;
}

.dropdown-toggle{
    display:flex;
    align-items:center;
    gap:8px;
}

.dropdown-toggle::before{
    content:"\F282";
    font-family:"bootstrap-icons";
    font-size:12px;
    order:2;
    transition:.3s;
    color:#fff;
}

.dropdown-toggle.show::before{
    transform:rotate(180deg);
}

.dropdown-toggle:hover::before{
    color:#ffb400;
}

.navbar-brand img{
    transition:.3s;
}

.navbar-nav{
    gap:10px;
}

.navbar-nav .nav-link{

    color:#fff !important;

    font-size:15px;

    font-weight:600;

    letter-spacing:.4px;

    padding:12px 18px !important;

    border-radius:12px;

    transition:.25s;

    position:relative;

}

.navbar-nav .nav-link:hover{

    color:#FFC107 !important;

    background:rgba(255,255,255,.08);

}

.navbar-nav .nav-link.active{

    color:#FFC107 !important;

}

.navbar-nav .nav-link::after{

    content:"";

    position:absolute;

    left:18px;

    bottom:8px;

    width:0;

    height:2px;

    background:#FFC107;

    transition:.3s;

}

.navbar-nav .nav-link:hover::after{

    width:calc(100% - 36px);

}

.dropdown-menu{

    background:#fff;

    border:none;

    border-radius:16px;

    box-shadow:0 15px 35px rgba(0,0,0,.15);

    padding:10px;

}

.dropdown-item{

    color:#212529 !important;

    font-weight:500;

    padding:10px 18px;

    border-radius:10px;

    transition:.25s;

}

.dropdown-item:hover{

    background:#ffb400;

    color:#082043 !important;

}

.dropdown-item:active{

    background:#ffb400;

    color:#082043 !important;

}

@media(max-width:991px){

    .navbar-collapse{

        background:#111;

        margin-top:15px;

        border-radius:18px;

        padding:20px;

    }

    .navbar-nav{

        gap:6px;

    }

    .navbar-nav .nav-link{

        padding:14px !important;

    }

}


.reveal,
.reveal-left,
.reveal-right,
.reveal-scale{
    opacity:0;
    transition:.8s ease;
}

.reveal{
    transform:translateY(60px);
}

.reveal-left{
    transform:translateX(-60px);
}

.reveal-right{
    transform:translateX(60px);
}

.reveal-scale{
    transform:scale(.9);
}

.show{
    opacity:1 !important;
    transform:none !important;
}



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

.page-header{

    min-height:550px;
    background-size:cover;
    background-position:center;
    position:relative;
    display:flex;
    align-items:center;

}

.page-header .overlay{

    position:absolute;
    inset:0;

    background:rgba(0,0,0,.55);

}

.page-header .container{

    position:relative;
    z-index:2;

}




.page-header-2{
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 0;
	 padding: 140px 0 70px;
}

.page-header-2 .overlay{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.45);
}

.page-header-2 .container{
    position: relative;
    z-index: 2;
}

.page-header-2 h1{
    margin-bottom: 12px;
}

.page-header-2 p{
    max-width: 700px;
    margin: 0 auto;
}

.header-category{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:20px;

    border-radius:15px;

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(8px);

    color:#fff;

    text-decoration:none;

    transition:.35s;

    border:1px solid rgba(255,255,255,.2);

}

.header-category:hover{

    background:#ffc107;

    color:#222;

    transform:translateY(-6px);

}

.header-category i{

    font-size:38px;

}

.header-category span{

    font-weight:600;

}

/*==========================
CATEGORY
===========================*/

.product-category{

    background:#fff;
    border-radius:15px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);

    padding:25px;
    margin-bottom:30px;
}

.product-category h4{

    font-weight:700;
    margin-bottom:20px;
    padding-bottom:15px;

    border-bottom:1px solid #eee;
}

.product-category .form-check{

    padding:12px 15px 12px 42px;
    margin-bottom:12px;

    border:1px solid #eee;
    border-radius:10px;

    transition:.3s;
    cursor:pointer;
}

.product-category .form-check:last-child{

    margin-bottom:0;

}

.product-category .form-check:hover{

    background:#fff8e1;
    border-color:#ffc107;

}

.product-category .form-check-input{

    margin-left:-22px;
    margin-top:4px;

}

.product-category .form-check-label{

    cursor:pointer;
    width:100%;
    font-weight:500;

}

.product-category .form-check:has(.form-check-input:checked){

    background:#ffc107;
    border-color:#ffc107;

}

.product-category .form-check-input:checked{

    background-color:#212529;
    border-color:#212529;

}

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

.product-card{
    display:block;
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    text-decoration:none;
    color:#222;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
    transition:.3s;
}

.product-card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,.15);
}

.product-card img{
    width:100%;
    height:220px;
    object-fit:cover;
}

.product-card h5{
    margin:0;
    font-weight:700;
    text-align:center;
}
.client-card{
    background:#fff;
    border-radius:16px;
    padding:24px;
    text-align:center;
    height:100%;
    border:1px solid #eee;
    transition:.3s;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.client-card:hover{
    transform:translateY(-6px);
    box-shadow:0 12px 30px rgba(0,0,0,.12);
}

.client-logo{
    height:140px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:15px;
    background:#fff;
    border-radius:12px;
}

.client-logo img{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
    transition:.3s;
}

.client-card:hover .client-logo img{
    transform:scale(1.05);
}

.client-card h6{
    margin-top:20px;
    font-size:15px;
    font-weight:600;
    line-height:1.4;
    color:#333;
    min-height:42px;
}

.cta-client{
    width:100%;
    background:linear-gradient(135deg,#f7b500,#e09b00);
    padding:80px 0;
}

.cta-client h2{
    color:#fff;
}

.cta-client p{
    max-width:700px;
    margin:0 auto 30px;
    color:rgba(255,255,255,.9);
}

.cta-client .btn{
    border-radius:50px;
    font-weight:600;
    padding:12px 36px;
}



.product-main-image{

    border-radius:15px;
    overflow:hidden;

    background:#f7f7f7;

}

.product-main-image img{

    width:100%;
    display:block;

}

.product-gallery{

    display:flex;
    gap:12px;
    flex-wrap:wrap;

}

.product-gallery .thumb{

    width:90px;
    height:90px;

    object-fit:cover;

    border-radius:10px;

    cursor:pointer;

    border:2px solid transparent;

    transition:.3s;

}

.product-gallery .thumb:hover{

    transform:translateY(-4px);

    border-color:#0d6efd;

}

.product-gallery .thumb.active{

    border-color:#0d6efd;

}

.product-tabs .nav-tabs{

    border:none;
    gap:10px;

}

.product-tabs .nav-link{

    border:none;
    color:#555;

    font-weight:600;

    border-radius:8px;

    padding:12px 25px;

}

.product-tabs .nav-link.active{

    background:#0d6efd;
    color:#fff;

}

.product-tabs .tab-content{

    background:#fff;

    border-radius:0 0 15px 15px;

}

.product-detail{

    padding:80px 0;
    background:#fff;

}

.product-main-image{

    background:#fff;
    border-radius:18px;
    overflow:hidden;

    border:1px solid #eee;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

}

.product-main-image img{

    width:100%;
    transition:.4s;

}

.product-main-image:hover img{

    transform:scale(1.04);

}

.product-gallery{

    display:flex;
    gap:12px;
    margin-top:20px;

}

.product-gallery .thumb{

    width:90px;
    height:90px;

    object-fit:cover;

    border-radius:12px;

    cursor:pointer;

    border:2px solid transparent;

    transition:.3s;

    box-shadow:0 5px 15px rgba(0,0,0,.08);

}

.product-gallery .thumb:hover{

    border-color:var(--sae-orange);
    transform:translateY(-3px);

}

.product-gallery .thumb.active{

    border-color:var(--sae-orange);

}

.product-info{

    background:#fff;

    border-radius:18px;

    padding:35px;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

}

.product-info h2{

    color:var(--sae-blue);
    font-weight:700;

}

.product-info .lead{

    color:#666;

}

.feature-list{

    list-style:none;

    padding:0;

    margin:25px 0;

}

.feature-list li{

    padding:10px 0;

    border-bottom:1px dashed #ddd;

}

.feature-list li::before{

    content:"✔";

    color:var(--sae-orange);

    font-weight:bold;

    margin-right:10px;

}

.btn-sae{

    background:var(--sae-orange);

    color:#fff;

    border:none;

    padding:12px 28px;

    border-radius:8px;

    font-weight:600;

    transition:.3s;

    box-shadow:0 10px 25px rgba(244,124,32,.25);

}

.btn-sae:hover{

    background:var(--sae-orange-dark);

    color:#fff;

    transform:translateY(-3px);

    box-shadow:0 15px 30px rgba(244,124,32,.35);

}

.product-tabs{

    padding:70px 0;

    background:#f8f9fb;

}

.product-tabs .nav{

    gap:12px;

    border:none;

}

.product-tabs .nav-link{

    border:none;

    border-radius:10px;

    padding:14px 28px;

    color:#555;

    background:#fff;

    font-weight:600;

    transition:.3s;

    box-shadow:0 5px 18px rgba(0,0,0,.05);

}

.product-tabs .nav-link:hover{

    color:var(--sae-orange);

    transform:translateY(-2px);

}

.product-tabs .nav-link.active{

    background:var(--sae-orange);

    color:#fff;

    box-shadow:0 10px 25px rgba(244,124,32,.30);

}

.product-tabs .tab-content{

    margin-top:25px;

    background:#fff;

    border:none;

    border-radius:18px;

    padding:35px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.product-tabs table{

    margin:0;

}

.product-tabs table th{

    width:220px;

    color:var(--sae-blue);

    background:#f8f9fa;

    font-weight:600;

}

.product-tabs table td{

    color:#666;

}

.review-item{

    padding:25px;

    border:1px solid #eee;

    border-radius:15px;

    margin-bottom:20px;

    transition:.3s;

}

.review-item:hover{

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.review-name{

    color:var(--sae-blue);

    font-weight:700;

}

.review-date{

    font-size:.9rem;

    color:#999;

}

.review-card{
    border: none;
    border-radius: 16px;
    transition: .3s;
    box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

.review-card:hover{
    transform: translateY(-6px);
}

.review-avatar{
    width:60px;
    height:60px;
    border-radius:50%;
    background:#f58220;
    color:#fff;
    font-weight:bold;
    font-size:22px;
    display:flex;
    justify-content:center;
    align-items:center;
}

.review-text{
    color:#666;
    line-height:1.8;
}

.review-name{
    font-weight:700;
    margin-bottom:2px;
}

.review-title{
    color:#999;
    font-size:.9rem;
}


/*==============================
    OUR PRODUCT SHORTCUT
===============================*/

.product-shortcut{
    margin-top: -60px;
    position: relative;
    z-index: 20;
    padding-bottom: 40px;
}

.shortcut-wrapper{
    background: #fff;
    border-radius: 22px;
    padding: 35px 30px;
    box-shadow: 0 12px 35px rgba(0,0,0,.08);
}

.section-subtitle{

    display:inline-block;

    color:#f58220;

    font-weight:700;

    letter-spacing:3px;

    font-size:14px;

    margin-bottom:10px;

}

.shortcut-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;

    background:linear-gradient(135deg,#ff8c00,#ff6b00);
    color:#fff;

    border-radius:18px;
    padding:24px 18px;
    text-decoration:none;

    min-height:180px;
    transition:.35s;
    position:relative;
    overflow:hidden;

    box-shadow:0 12px 30px rgba(255,120,0,.30);
}

.shortcut-card::before{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    background:rgba(255,255,255,.12);
    border-radius:50%;
    top:-80px;
    right:-70px;
}

.shortcut-card::after{
    content:"";
    position:absolute;
    width:100px;
    height:100px;
    background:rgba(255,255,255,.08);
    border-radius:50%;
    bottom:-40px;
    left:-30px;
}

.shortcut-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(255,120,0,.45);
    color:#fff;
}

.shortcut-card:hover .shortcut-icon{
    transform:rotate(-8deg) scale(1.1);
    background:#fff;
    color:#ff7a00;
}

.shortcut-icon{
    width:70px;
    height:70px;
    border-radius:50%;
    background:rgba(255,255,255,.18);
    backdrop-filter:blur(10px);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:18px;
    font-size:32px;
    color:#fff;
    transition:.35s;
}

.shortcut-icon i{
    font-size:42px;
    color:#1d4d8f;
    transition:.35s;
}

.shortcut-card:hover .shortcut-icon{
    background:#fff;
    transform:scale(1.1);
}

.shortcut-title{
    color:#fff;
    font-weight:700;
    font-size:18px;
    margin-bottom:10px;
}

.shortcut-arrow{
    display:block;
    margin-top:12px;
    opacity:0;
    transition:.35s;
	color:rgba(255,255,255,.9);
    font-size:14px;
}

.shortcut-card:hover .shortcut-arrow{
    opacity:1;
}

.shortcut-card::before{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    background:rgba(255,255,255,.08);
    border-radius:50%;
    top:-90px;
    right:-90px;
    transform:scale(0);
    transition:.5s;
}

.shortcut-card:hover::before{
    transform:scale(1);
}

/* RELATED PRODUCTS */

.related-products{
    background:#f8f9fa;
}


.related-product-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    border:1px solid #eee;
    transition:all .3s ease;
    box-shadow:0 8px 25px rgba(0,0,0,.05);
}


.related-product-card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,.12);
}


.related-product-image{
    height:220px;
    overflow:hidden;
    background:#f1f1f1;
}


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


.related-product-card:hover
.related-product-image img{
    transform:scale(1.08);
}


.related-product-body{
    padding:22px;
}


.related-product-body h5{
    font-size:18px;
    margin-bottom:10px;
}


.related-product-body p{
    color:#777;
    font-size:14px;
    line-height:1.6;
    min-height:68px;
}


.related-product-body .btn{
    border-radius:8px;
    font-size:14px;
    padding:9px 16px;
}

/* =========================
   WHATSAPP FLOAT
========================= */

.whatsapp-float{
    position:fixed;
    right:25px;
    bottom:25px;
    width:60px;
    height:60px;
    border-radius:50%;
    border:none;
    background:#25D366;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    cursor:pointer;
    z-index:9999;
    box-shadow:0 8px 25px rgba(0,0,0,.25);
    transition:all .3s ease;
}


.whatsapp-float:hover{
    transform:scale(1.1);
    background:#20bd5a;
}


/* =========================
   SALES MODAL
========================= */

.sales-modal{
    border:none;
    border-radius:20px;
    overflow:hidden;
}


.sales-modal .modal-header{
    padding:20px 25px;
}


.sales-modal .modal-body{
    padding:25px;
}


/* SALES OPTION */

.sales-option{
    display:flex;
    align-items:center;
    gap:15px;
    padding:16px;
    margin-bottom:12px;
    border:1px solid #e9ecef;
    border-radius:14px;
    text-decoration:none;
    color:#212529;
    transition:all .3s ease;
}


.sales-option:hover{
    border-color:#25D366;
    background:#f2fff7;
    transform:translateX(5px);
}


.sales-icon{
    width:45px;
    height:45px;
    border-radius:50%;
    background:#25D366;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:21px;
}


.sales-info h6{
    font-size:16px;
}


.sales-info small{
    color:#777;
}

/* ================================
   HERO PRODUCT SHORTCUT
================================ */

#heroSlider {
    position: relative;
}


.hero-product-shortcut {

    position: absolute;

    bottom: 25px;

    left: 50%;

    transform: translateX(-50%);

    width: 100%;

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 35px;

    z-index: 10;

}


/* ITEM */

.hero-product-item {
    text-decoration: none;
    color: #fff;
    text-align: center;
    min-width: 100px;
    transition: all .3s ease;
}


/* IMAGE / ICON */

.hero-product-image {
    width: 72px;
    height: 72px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,.15);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.35);
    box-shadow: 0 8px 20px rgba(0,0,0,.25);
    transition: all .3s ease;
}


.hero-product-image i {
    font-size: 28px;
    color: #fff;
}


/* PRODUCT NAME */

.hero-product-item span {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    text-shadow: 0 2px 5px rgba(0,0,0,.7);
}


/* HOVER */

.hero-product-item:hover {
    transform: translateY(-8px);
    color: #ffc107;
}


.hero-product-item:hover .hero-product-image {
    background: #f6a800;
    transform: scale(1.08);
    box-shadow: 0 10px 25px rgba(0,0,0,.4);
}


/* HERO CONTENT */

.hero-content {
    min-height: calc(100vh - 150px);
}


/* HERO SLIDE */

.hero-slide {
    min-height: 100vh;
    background-size: cover;
    background-position: center;
    position: relative;
}


/* OVERLAY */

.hero-slide::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,.15),
        rgba(0,0,0,.45)
    );
}


.hero-slide > .container {
    position: relative;
    z-index: 2;
}

/* =================================
   FEATURED PRODUCT SECTION
================================= */

.featured-product-section {
    padding: 70px 0;
    background: #f1f2f4;
}


.section-subtitle {

    display: inline-block;

    margin-bottom: 8px;

    color: #f5a800;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 2px;

}


.featured-product-section h2 {

    color: #102d54;

}


/* CARD */

.featured-product-card {

    display: block;

    height: 100%;

    text-decoration: none;

    color: inherit;

    background: #fff;

    border-radius: 16px;

    overflow: hidden;

    border: 1px solid #eee;

    box-shadow: 0 8px 25px rgba(0,0,0,.07);

    transition: all .35s ease;

}


.featured-product-card:hover {

    transform: translateY(-8px);

    box-shadow: 0 15px 35px rgba(0,0,0,.15);

}


/* IMAGE */

.featured-product-image {

    height: 220px;

    overflow: hidden;

    background: #f5f5f5;

}


.featured-product-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform .5s ease;

}


.featured-product-card:hover
.featured-product-image img {

    transform: scale(1.08);

}


/* BODY */

.featured-product-body {

    padding: 20px;

}


.featured-product-body h5 {

    margin-bottom: 8px;

    font-size: 18px;

    font-weight: 700;

    color: #102d54;

}


.featured-product-body p {

    min-height: 42px;

    margin-bottom: 15px;

    color: #777;

    font-size: 13px;

}


.product-detail-link {

    color: #f5a800;

    font-size: 14px;

    font-weight: 600;

}


.product-detail-link i {

    margin-left: 5px;

    transition: margin-left .3s ease;

}


.featured-product-card:hover
.product-detail-link i {

    margin-left: 10px;

}


/* EMPTY IMAGE */

.no-product-image {

    width: 100%;

    height: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #aaa;

}


.no-product-image i {

    font-size: 50px;

}


/* CAROUSEL CONTROL */

.product-slider-control {

    width: 45px;

    height: 45px;

    top: 50%;

    transform: translateY(-50%);

    border-radius: 50%;

    background: #102d54;

    opacity: 1;

}


.product-slider-control.carousel-control-prev {

    left: -55px;

}


.product-slider-control.carousel-control-next {

    right: -55px;

}


.product-slider-control:hover {

    background: #f5a800;

}