/*==================================================
    GONDO EXPORT THEME
    Company : Distributor Gondo
    Version : 1.0.0
    Author  : Gondo Team
==================================================*/


/*==================================================
01. IMPORT FONT
==================================================*/

/*@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');*/


/*==================================================
02. ROOT VARIABLES
==================================================*/

:root{

    /* Brand Color */
    --primary:#0F4C81;
    --primary-dark:#09355A;
    --primary-light:#2B6EA5;

    /* Accent */
    --secondary:#16A34A;
    --warning:#F59E0B;
    --danger:#DC2626;

    /* Neutral */
    --white:#FFFFFF;
    --light:#F8FAFC;
    --gray-100:#F1F5F9;
    --gray-200:#E2E8F0;
    --gray-300:#CBD5E1;
    --gray-500:#64748B;
    --gray-700:#334155;
    --gray-900:#0F172A;

    /* Text */
    --text-color:var(--gray-700);
    --heading-color:var(--gray-900);

    /* Border */
    --border-color:#E5E7EB;

    /* Radius */
    --radius-sm:6px;
    --radius-md:12px;
    --radius-lg:18px;
    --radius-xl:24px;

    /* Shadow */
    --shadow-sm:0 2px 8px rgba(0,0,0,.05);
    --shadow-md:0 10px 30px rgba(0,0,0,.08);
    --shadow-lg:0 20px 50px rgba(0,0,0,.12);

    /* Transition */
    --transition:.3s ease;

    /* Container */
    --container:1320px;

    /* Navbar */
    --navbar-height:80px;

    /* Section */
    --section-padding:100px;

}


/*==================================================
03. RESET
==================================================*/

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Inter',sans-serif;
    font-size:16px;
    line-height:1.7;
    color:var(--text-color);
    background:var(--light);
    overflow-x:hidden;
}

img{
    display:block;
    max-width:100%;
    height:auto;
}

a{
    color:inherit;
    text-decoration:none;
    transition:var(--transition);
}

ul,
ol{
    list-style:none;
}

button,
input,
textarea,
select{
    font:inherit;
    outline:none;
}

button{
    border:none;
    background:none;
    cursor:pointer;
}

table{
    width:100%;
    border-collapse:collapse;
}


/*==================================================
 HERO
==================================================*/

.g-hero{
    position: relative;
}

.g-hero-main{

    position: relative;

    padding: 120px 0;

    background-image:
        linear-gradient(
            rgba(15,76,129,.60),
            rgba(15,76,129,.60)
        ),
        url("../img/hero/hero-bg.jpg");

    background-size: cover;

    background-position: center;

    background-repeat: no-repeat;

}

.g-hero-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.15);

}

.g-hero-main .container{

    position:relative;

    z-index:2;

}

.g-counter{

    margin-top:80px;

    padding:35px 25px;

    background:rgba(255,255,255,.95);

    border-radius:20px;

    box-shadow:var(--shadow-md);

}

.g-counter h3{

    color:var(--primary);

    font-size:2.3rem;

    margin-bottom:10px;

}

.g-counter p{

    margin:0;

    color:var(--gray-500);

    font-weight:500;

}

.g-hero-badge
{

    color:#fff;

    text-shadow:0 2px 10px rgba(0,0,0,.35);

}
.g-hero-title,
.g-hero-subtitle,
.g-hero-description{

    color:#fff;

    text-shadow:0 2px 10px rgba(0,0,0,.35);

}

/*==================================================
04. TYPOGRAPHY
==================================================*/

h1,h2,h3,h4,h5,h6{
    color:var(--heading-color);
    font-weight:700;
    line-height:1.2;
    margin-bottom:20px;
}

h1{
    font-size:3.5rem;
}

h2{
    font-size:2.5rem;
}

h3{
    font-size:2rem;
}

h4{
    font-size:1.5rem;
}

h5{
    font-size:1.25rem;
}

h6{
    font-size:1rem;
}

p{
    margin-bottom:1rem;
}


/*==================================================
05. LAYOUT
==================================================*/

.g-container-fluid{
    width:100%;
    padding-inline:20px;
}

.g-container-custom{
    width:100%;
    max-width:var(--container);
    margin:auto;
    padding-inline:15px;
}

.g-section{
    padding:var(--section-padding) 0;
}


/*==================================================
06. UTILITIES
==================================================*/

.g-text-primary{
    color:var(--primary)!important;
}

.g-text-center{
    text-align:center;
}

.g-bg-white{
    background:var(--white);
}

.g-bg-light{
    background:var(--light);
}

.g-shadow{
    box-shadow:var(--shadow-md);
}

.g-rounded{
    border-radius:var(--radius-md);
}

.g-radius{

    border-radius:18px;

}

.g-shadow{

    box-shadow:var(--shadow-md);

}


/*==================================================
07. BUTTON
==================================================*/

.g-btn-gondo{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    min-width:180px;
    height:52px;

    padding:0 28px;

    border-radius:var(--radius-md);

    background:var(--primary);
    color:var(--white);

    font-weight:600;

    transition:var(--transition);
}

.g-btn-gondo:hover{
    background:var(--primary-dark);
    color:var(--white);
}

.g-btn-outline-gondo{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:180px;
    height:52px;

    border:2px solid var(--primary);

    border-radius:var(--radius-md);

    color:var(--primary);

    font-weight:600;

    transition:var(--transition);
}

.g-btn-outline-gondo:hover{

    background:var(--primary);

    color:var(--white);

}


/*==================================================
08. IMAGE
==================================================*/

.g-img-cover{
    width:100%;
    height:100%;
    object-fit:cover;
}

.g-card-image{

    width:100%;

    height:260px;

    object-fit:cover;

    transition:.35s;

}

.g-card:hover .g-card-image{

    transform:scale(1.05);

}

.g-certification-image{
    width:100%;
    height:260px;
    object-fit:contain;
    background:#fff;
    padding:15px;
    transition:.35s;
}

.g-card:hover .g-certification-image{
    transform:scale(1.03);
}

/*==================================================
09. ABOUT
==================================================*/

.g-about-image{
    height:100%;
    overflow:hidden;
    border-radius:20px;
}

.g-about-image img{
    transition:.4s ease;
}

.g-about-image:hover img{
    transform:scale(1.05);
}

/* Tablet */
@media (min-width:768px){

    .g-about-image{
        height:450px;
    }

}

/* Desktop */
@media (min-width:992px){

    .g-about-image{
        height:620px;
    }

}


/*==================================================
09. FORM
==================================================*/

.g-form-control-gondo{

    width:100%;

    height:52px;

    padding:0 18px;

    border:1px solid var(--border-color);

    border-radius:var(--radius-md);

    transition:var(--transition);

}

.g-form-control-gondo:focus{

    border-color:var(--primary);

}

textarea.form-control-gondo{

    height:180px;

    padding:18px;

    resize:none;

}


/*==================================================
10. SECTION HEADER
==================================================*/

.g-section-header{
    text-align:center;
    max-width:760px;
    margin:0 auto 70px;
}

.g-section-subtitle{
    display:inline-block;
    font-size:18px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--primary);
    margin-bottom:12px;
}

.g-section-title{
    font-size:2.5rem;
    font-weight:700;
    color:var(--heading-color);
    margin-bottom:20px;
}

.g-section-description{
    color:var(--gray-500);
    font-size:1.05rem;
    line-height:1.8;
}

/*==================================================
11. CARD
==================================================*/

.g-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 8px 24px rgba(0,0,0,.08);

    transition:.35s ease;

    height:100%;

}

.g-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 40px rgba(0,0,0,.12);

}

.g-card-body{

    padding:25px;

}

.g-card-title{

    font-size:1.4rem;

    margin-bottom:15px;

}

.g-card-text{

    color:var(--gray-500);

    line-height:1.8;

}

/*==================================================
12. IMAGE LOGO DI MENU ATAS
==================================================*/
.g-navbar-brand {
    display: flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
}

.g-navbar-brand img {
    height: 72px;
    width: auto;
    object-fit: contain;
}

.g-navbar-brand {
    display: flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
}


/* =====================================
 13.  NAVBAR
===================================== */

.g-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
}

.g-header.scrolled{

    box-shadow:
    0 5px 20px rgba(0,0,0,.08);

}

.g-site-header{
    width:100%;
    background:#fff;
    border-bottom:1px solid #eee;
}

.g-navbar-custom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:80px;
}

.g-navbar-brand img{
    height:42px;
    width:auto;
}

.g-navbar-menu{
    display:flex;
    list-style:none;
    gap:30px;

    margin:0;
    padding:0;
}

.g-navbar-menu li{
    margin:0;
}

.g-navbar-menu a{
    text-decoration:none;
    color:#333;
    font-weight:500;
}

.g-navbar-right{
    display:flex;
    align-items:center;
    gap:20px;
}

.g-language-switcher{
    display:flex;
    gap:8px;
}

.g-mobile-toggle{
    display:none;
}


/*==================================================
15. FOOTER
==================================================*/

.g-footer {
    background: #1f2937;
    color: #ffffff;
    padding: 60px 0 30px;
}

.g-footer-logo img {
    height: 80px;
    width: auto;
    object-fit: contain;
}

.g-footer-description {
    margin-top: 20px;
    color: #cbd5e1;
    line-height: 1.8;
}

.g-footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.g-footer-menu li {
    margin-bottom: 12px;
}

.g-footer-menu a {
    color: #cbd5e1;
    text-decoration: none;
}

.g-footer-contact {
    list-style: none;
    margin: 0;
    padding: 0;
}

.g-footer-contact li {
    margin-bottom: 15px;
}

.g-footer-bottom {
    text-align: center;
    margin-top: 30px;
}

.g-footer h5{
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
}

/* ==========================================
   Partners
========================================== */

.g-partners-slider{

    overflow:hidden;
    position:relative;
    width:100%;

}

.g-partners-track{

    display:flex;
    align-items:center;
    width:max-content;
    animation:partnerMarquee 25s linear infinite;

}

.g-partner-item{

    flex:0 0 auto;
    padding:0 40px;

}

.g-partner-logo{

    height:120px;
    width:auto;
    transition:.35s ease;

}

.g-partner-logo:hover{

    transform:scale(1.08);

}

@keyframes partnerMarquee{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(-50%);

    }

}

.g-partners-track:hover{

    animation-play-state:paused;

}

.g-partner-item:hover .g-partner-logo{

    transform:scale(1.08);

}

/* ==========================================
   GALLERY
========================================== */

.g-gallery-link{

    font-weight:600;
    color:var(--g-primary);

    text-decoration:none;

    transition:.3s;

}

.g-gallery-link:hover{

    letter-spacing:.5px;

}

/* ==========================================
   Contacts
========================================== */

.g-contact-item{
    margin-bottom:30px;
}

.g-contact-header{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:8px;
}

.g-contact-header i{
    font-size:20px;
    color:var(--g-primary);
}

.g-contact-header h6{
    margin:0;
    font-weight:600;
}

.g-contact-item p{
    margin:0;
    padding-left:30px; /* sejajar dengan awal teks Address */
    line-height:1.7;
}

/* ==========================================
   Contact Map
========================================== */

#g-map{
    width: 100%;
    height: 520px;
    border-radius: 20px;
    overflow: hidden;
}

/* ==========================================
   Google Maps Button
========================================== */

.g-btn-map{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    width: 100%;

    padding: 10px 16px;

    background: var(--g-primary);
    color: #fff;

    border-radius: 10px;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;

    transition: all .3s ease;
}

.g-btn-map:hover{
    background: var(--g-secondary);
    color: #fff;
    transform: translateY(-2px);
}

.g-location-badge{
    display:inline-block;

    padding:4px 12px;

    border-radius:20px;

    background:rgba(46,125,50,.10);

    color:var(--g-primary);

    font-size:12px;

    font-weight:600;
}

/* ==========================================
   Gallery Archive
========================================== */

.g-gallery-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s;
    height:100%;
    overflow:hidden;
}

.g-gallery-card a{
    position: relative;
    display: block;
    overflow: hidden;
}

.g-gallery-card:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 40px rgba(0,0,0,.12);
}

.g-gallery-image{
    width:100%;
    height:260px;
    object-fit:cover;
    transition:transform .4s ease;
    display:block;
}

.g-gallery-content{
    padding:25px;
}

.g-gallery-category{

    display:inline-block;

    background:#f5f5f5;

    color:var(--g-primary);

    padding:6px 14px;

    border-radius:30px;

    font-size:13px;

    margin-bottom:15px;

    font-weight:600;

}

.g-gallery-content h5{

    font-weight:700;

    margin-bottom:12px;

}

.g-gallery-content p{

    color:#666;

    margin-bottom:0;

}

.g-gallery-card:hover .g-gallery-image{

    transform:scale(1.08);

}


/* Zoom */
.g-gallery-card:hover .g-gallery-image{
    transform:scale(1.08);
}

/* Overlay */
.g-gallery-overlay{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.35);

    display:flex;
    justify-content:center;
    align-items:center;

    opacity:0;
    transition:opacity .3s ease;
}

/* Icon */
.g-gallery-overlay i{
    color:#fff;
    font-size:40px;
}

/* Hover */
.g-gallery-card:hover .g-gallery-overlay{
    opacity:1;
}

/* ==========================================
   PRODUCT DETAIL
========================================== */

.g-product-detail{
    padding:80px 0 100px;
}


/* ==========================================
   Product Hero
========================================== */

.g-product-hero{
    padding-bottom:70px;
}

.g-product-image-card{
    background:var(--white);
    border-radius:var(--radius-lg);
    padding:25px;
    box-shadow:var(--shadow-md);
    overflow:hidden;
}

.g-product-detail-image{
    width:100%;
    height:420px;
    object-fit:contain;
    display:block;
}

.g-product-info{
    padding-left:20px;
}

.g-product-label{
    display:inline-block;

    margin-bottom:12px;

    color:var(--primary);

    font-size:13px;
    font-weight:700;

    letter-spacing:2px;
    text-transform:uppercase;
}

.g-product-title{
    margin-bottom:20px;

    color:var(--heading-color);

    font-size:clamp(36px,5vw,56px);
    font-weight:700;

    line-height:1.05;
}

.g-product-excerpt{
    max-width:520px;

    margin:0;

    color:var(--gray-500);

    font-size:16px;
    line-height:1.8;
}


/* ==========================================
   Product Section
========================================== */

.g-product-section{
    padding:60px 0;

    border-top:1px solid var(--border-color);
}

.g-product-section-heading{
    display:flex;
    align-items:center;

    gap:15px;

    margin-bottom:25px;
}

.g-product-section-number{
    color:var(--primary);

    font-size:12px;
    font-weight:700;

    letter-spacing:2px;
}

.g-product-section-heading h2{
    margin:0;

    color:var(--heading-color);

    font-size:28px;
    font-weight:700;
}

.g-product-description{
    max-width:950px;

    color:var(--gray-500);

    font-size:16px;
    line-height:1.9;
}


/* ==========================================
   Characteristics & Application
========================================== */

.g-product-feature{
    height:100%;

    padding:30px;

    background:var(--white);

    border-radius:var(--radius-lg);

    box-shadow:var(--shadow-sm);
}

.g-product-feature-content{
    padding-left:27px;

    color:var(--gray-500);

    font-size:15px;
    line-height:2;
}


/* ==========================================
   Product Specifications
========================================== */

.g-product-spec-wrapper{
    background:var(--white);

    border:1px solid var(--border-color);

    border-radius:var(--radius-md);

    overflow:hidden;

    box-shadow:var(--shadow-sm);
}

.g-product-spec-table{
    width:100%;
    margin:0;

    border-collapse:collapse;
}

.g-product-spec-table thead{
    background:var(--gray-100);
}

.g-product-spec-table th{
    padding:17px 20px;

    color:var(--heading-color);

    font-size:13px;
    font-weight:700;

    text-align:left;

    border-bottom:1px solid var(--gray-200);
}

.g-product-spec-table td{
    padding:16px 20px;

    color:var(--gray-500);

    font-size:14px;

    border-bottom:1px solid var(--gray-200);
}

.g-product-spec-table tbody tr:last-child td{
    border-bottom:none;
}

.g-product-spec-table tbody tr:hover{
    background:var(--gray-100);
}


/* ==========================================
   Back To Products
========================================== */

.g-product-back{
    padding-top:20px;
}

.g-product-back-link{
    display:inline-flex;
    align-items:center;

    gap:10px;

    color:var(--primary);

    font-size:14px;
    font-weight:600;
}

.g-product-back-link:hover{
    color:var(--primary-dark);
}


/* ==========================================
   Product Detail Responsive
========================================== */

@media (max-width:991px){

    .g-product-detail{
        padding:60px 0 80px;
    }

    .g-product-info{
        padding-left:0;
    }

    .g-product-detail-image{
        height:350px;
    }

    .g-product-title{
        font-size:42px;
    }

}


@media (max-width:767px){

    .g-product-detail{
        padding:45px 0 60px;
    }

    .g-product-hero{
        padding-bottom:40px;
    }

    .g-product-detail-image{
        height:280px;
    }

    .g-product-title{
        font-size:34px;
    }

    .g-product-section{
        padding:40px 0;
    }

    .g-product-section-heading h2{
        font-size:23px;
    }

    .g-product-feature{
        padding:25px;
    }

    .g-product-feature-content{
        padding-left:0;
    }

    .g-product-spec-table th,
    .g-product-spec-table td{
        padding:13px 14px;

        white-space:nowrap;
    }

}

/* ==========================================
   Product Hero Accent
========================================== */

.g-product-title-line{
    width:60px;
    height:4px;

    margin-bottom:22px;

    background:var(--primary);

    border-radius:10px;
}

/* ==========================================
   Product CTA
========================================== */

.g-product-cta{
    margin-top:20px;

    padding:45px 50px;

    background:var(--primary);

    border-radius:var(--radius-lg);

    box-shadow:var(--shadow-md);
}

.g-product-cta-label{
    display:inline-block;

    margin-bottom:10px;

    color:rgba(255,255,255,.75);

    font-size:12px;
    font-weight:700;

    letter-spacing:2px;
}

.g-product-cta-title{
    margin-bottom:12px;

    color:var(--white);

    font-size:28px;
    font-weight:700;
}

.g-product-cta-text{
    max-width:700px;

    margin:0;

    color:rgba(255,255,255,.82);

    line-height:1.8;
}

.g-product-cta .g-btn-gondo{
    background:var(--white);
    color:var(--primary);
}

.g-product-cta .g-btn-gondo:hover{
    background:var(--gray-100);
    color:var(--primary-dark);
}


/* ==========================================
   Product List
========================================== */

.g-product-list{
    margin:0;
    padding:0;

    list-style:none;
}

.g-product-list li{
    display:flex;
    align-items:flex-start;

    gap:12px;

    margin-bottom:14px;

    color:var(--gray-500);

    line-height:1.7;
}

.g-product-list li:last-child{
    margin-bottom:0;
}

.g-product-list li i{
    flex:0 0 auto;

    margin-top:4px;

    color:var(--secondary);

    font-size:17px;
    font-weight:700;
}

.g-product-list li span{
    display:block;
}

/* ==========================================
   Product Specifications
========================================== */

.g-product-spec-wrapper{
    margin-top:30px;

    background:var(--white);

    border:1px solid var(--border-color);

    border-radius:var(--radius-lg);

    overflow:hidden;

    box-shadow:var(--shadow-sm);
}

.g-product-spec-table{
    width:100%;

    margin:0;

    border-collapse:collapse;
}

.g-product-spec-table thead th{
    padding:18px 22px;

    background:var(--gray-100);

    color:var(--heading-color);

    font-size:14px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.5px;

    border-bottom:1px solid var(--border-color);

    white-space:nowrap;
}

.g-product-spec-table tbody td{
    padding:18px 22px;

    border-bottom:1px solid var(--border-color);

    vertical-align:middle;

    font-size:15px;
}

.g-product-spec-table tbody tr:last-child td{
    border-bottom:none;
}

.g-product-spec-table tbody tr{
    transition:var(--transition);
}

.g-product-spec-table tbody tr:hover{
    background:var(--gray-100);
}


/* Parameter */

.g-spec-parameter{
    width:40%;

    color:var(--heading-color);

    font-weight:600;
}


/* Value */

.g-spec-value{
    width:40%;

    color:var(--text-color);
}


/* Unit */

.g-spec-unit{
    width:20%;

    color:var(--gray-500);

    font-weight:500;
}


/* Empty */

.g-product-spec-empty{
    margin-top:30px;

    padding:30px;

    background:var(--gray-100);

    border-radius:var(--radius-md);

    color:var(--gray-500);

    text-align:center;
}

.g-product-back{
    display:inline-flex;
    align-items:center;
    gap:8px;

    margin-top:35px;

    color:var(--primary);

    font-weight:600;

    transition:var(--transition);
}

.g-product-back:hover{
    color:var(--primary-dark);
    transform:translateX(-4px);
}