/* ==========================================================================
   HIPMI Design System — CSS Custom Properties
   ========================================================================== */
:root {
    /* Brand Colors */
    --hipmi-primary:    #09533D;   /* hijau tua HIPMI */
    --hipmi-green:      #00AF50;   /* hijau aksen */
    --hipmi-dark-green: #047857;   /* hijau gelap */
    --hipmi-black:      #000000;
    --hipmi-white:      #FFFFFF;

    /* Surfaces */
    --hipmi-soft:       #ECFDF5;
    --hipmi-bg-gray:    #F3F4F6;
    --hipmi-bg-dark:    #003518;

    /* Text */
    --hipmi-text-dark:  #111827;
    --hipmi-text-gray:  #6B7280;

    /* Layout */
    --hipmi-border:     #D1D5DB;
    --hipmi-radius:     0.75rem;

    /* Legacy aliases (for gradual migration) */
    --primary-color:    var(--hipmi-primary);
    --secondary-color:  var(--hipmi-white);
    --text-dark:        var(--hipmi-text-dark);
    --text-light:       var(--hipmi-white);
    --bg-soft:          var(--hipmi-bg-gray);

    /* Layout: unified container (≈ max-w-8xl) */
    --hipmi-container-max: 1536px;
    --hipmi-container-gutter: clamp(1rem, 4vw, 3rem);

    /* Type scale (Tailwind-aligned, no arbitrary sizes) */
    --hipmi-text-xs:    12px;
    --hipmi-text-sm:    14px;
    --hipmi-text-base:  16px;
    --hipmi-text-lg:    18px;
    --hipmi-text-xl:    20px;
    --hipmi-text-2xl:   24px;
    --hipmi-text-3xl:   30px;
    --hipmi-text-4xl:   36px;
    --hipmi-text-5xl:   48px;
    --hipmi-text-6xl:   60px;
}

/* ==========================================================================
   Design System: Unified Container
   ========================================================================== */
.hipmi-container {
    width: 100%;
    max-width: var(--hipmi-container-max);
    margin-inline: auto;
    padding-inline: var(--hipmi-container-gutter);
}

/* ==========================================================================
   Design System: Heading
   Main section headings use 'monument' (reference: "Sejak MUSCAB X").
   Use --sans modifier to fall back to the sans family (sora).
   ========================================================================== */
.hipmi-heading {
    font-family: 'monument';
    font-style: normal;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--hipmi-text-dark);
}

.hipmi-heading--sans {
    font-family: 'sora';
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.02em;
    text-transform: none;
}

.hipmi-heading--xs   { font-size: var(--hipmi-text-xs); }
.hipmi-heading--sm   { font-size: var(--hipmi-text-sm); }
.hipmi-heading--base { font-size: var(--hipmi-text-base); }
.hipmi-heading--lg   { font-size: var(--hipmi-text-lg); }
.hipmi-heading--xl   { font-size: var(--hipmi-text-xl); }
.hipmi-heading--2xl  { font-size: var(--hipmi-text-2xl); }
.hipmi-heading--3xl  { font-size: var(--hipmi-text-3xl); }
.hipmi-heading--4xl  { font-size: var(--hipmi-text-4xl); }
.hipmi-heading--5xl  { font-size: var(--hipmi-text-5xl); }
.hipmi-heading--6xl  { font-size: var(--hipmi-text-6xl); }

.hipmi-heading--center {
    text-align: center;
}

.hipmi-heading--light {
    color: var(--hipmi-white);
}

.hipmi-heading--primary {
    color: var(--hipmi-primary);
}

/* ==========================================================================
   Component: Section
   ========================================================================== */
.sejak-background{

    /* gray/100 */
    background-color: #F3F4F6;
    border-radius: 24px;
    min-height: 300px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 10px 10px;
    overflow: hidden;
}

.sejak-style{
    font-family: 'monument';
    font-style: normal;
    font-weight: 800;
    font-size: 24px;
    line-height: 29px;
    /* identical to box height */

    letter-spacing: 0.05em;
    text-transform: uppercase;

    /* black */

    color: var(--hipmi-black);

}

.subtitle-custom{
    font-family: 'sora';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 22px;
    /* or 138% */


    /* black */

    color: var(--hipmi-black);
}

.sejak-position{
    align-self: stretch;
    flex-grow: 0;
    padding: 36px;
    margin-top: 10px;
}

.banner-hipmi{
    background-size:     cover;                      /* <------ */
    background-repeat:   no-repeat;
    background-position: center center;

}

.container-banner{
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: center;
    padding: 20px;
    gap: 10px;
    width: 100%;
    height: 800px;
    left: 199px;
    top: 500px;
}

//deive HD Resolution
@media screen and (min-width: 1400px) {
    .sub-caption-utama{
        font-size: 20px;  
    }
}

.caption-utama-highlight {
    font-family: 'monument';
    font-style: normal;
    font-weight: 800;
    /* identical to box height, or 125% */

    text-align: center;
    letter-spacing: 0.05em;
    text-transform: uppercase;

    /* white */

    color: var(--hipmi-white);
}


.caption-hipmi {
    font-family: 'public';
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 24px;
    /* identical to box height, or 133% */

    text-align: center;
    letter-spacing: 0.045em;

    /* Secondary */

    color: #EFE806;
}

.sub-caption-utama {
    font-family: 'public';
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 28px;
    /* or 156% */

    text-align: center;

    /* gray/200 */

    color: #E5E7EB;
}

.sub-caption-utama-dark {
    font-family: 'public';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 22px;
    /* identical to box height, or 138% */

    text-align: center;

    /* gray/800 */

    color: #1F2937;
}

@media screen and (max-width:991px) and (min-width : 450px) {
    .htr{
        width: 60%;
    }

    .mbl-pd-set{
        padding: 0px !important;
    }
    .box-searching {
        width: auto!important;
        height: auto!important;
    }

}



/*untuk layar device berukuran kecil*/
@media screen and (max-width: 450px) {
    * {
        /* background-color: red!important; */
        /* margin-top: 100px; */
    }
    .container-banner .hipmi-heading {
        font-size: 22px;
        line-height: 25px;
    }
    .caption-utama-highlight {

        font-size: 22px;
        line-height:25px;
    }
    .sub-caption-utama {
        font-size:12px;
        padding-left: 20px;
        padding-right: 20px;
        line-height:20px;
    }
    .htr{
        margin-top: 37%;
        border-top-right-radius: 0px!important;
        border-bottom-right-radius: 75px!important;
    }
    .set-bg{
        margin-top: 20%;
        background-size: contain!important;
        background-position: top!important;
        
    }
    .mbl-pd-set{
        padding: 25px 28px 45px!important;
    }
    .box-searching {
        width: auto!important;
        height: auto!important;
        background: var(--hipmi-white) !important;
        box-shadow: 0px 4px 8px rgb(0 0 0 / 8%);
        border-radius: 16px;
        /* align-items: center;s */
        padding: 10px;
        /* gap: 10px; */
    }
    .jenis-perusahaan {
        /* green/50 */
        background: var(--hipmi-soft);
        border-radius: 18px!important;
        /* Inter/Text-xs/Semi Bold */
        font-family: 'sora';
        font-style: normal;
        font-weight: 400;
        font-size: 10px;
        line-height: 16px;
        /* or 133% */
        /* Primary */
        color: var(--hipmi-dark-green);
    }
    .box-katalog-page {
        cursor: pointer!important;
        margin: 6px!important;
        flex-direction: column!important;
        align-items: flex-start!important;
        padding-bottom: 30px !important;
        padding-top: 20px!important;
        padding-right: 20px!important;
        padding-left: 20px!important;
        gap: 24px!important;
        width: 70%!important;
        min-height: 200px!important;
        background: var(--hipmi-white)!important;
        box-shadow: 0px 1px 3px rgb(0 0 0 / 10%), 0px 1px 2px rgb(0 0 0 / 6%)!important;
        border-radius: 8px!important;
    }

    .menu-submenu{
        padding: 15px 0px 15px 0px!important;
        border-radius: 60px!important;
    }
    .border-right-tent{
        border: none!important;
    }
    .mt-14 {
        margin-top: 2.5rem !important;
    }
    .navbar-expand-lg .navbar-brand{
        padding-top: 10px!important;
        padding-bottom: 10px!important;
    }
    .section-mobile{
        margin-top: 20px!important;
        margin-bottom: 20px!important;
    }
    .mb-10{
        margin-bottom: 0.9rem !important;
    }
    .mt-15{
        margin-top: 3rem !important;
    }
    .line-after-div {
        padding-top: 10px;
        border-bottom: 1px solid #D1D5DB !important;
        border-right: 0px!important;
    }
    .line-after-div2 {
        padding-top: 10px;
        /* border-bottom: 1px solid #D1D5DB !important; */
        border-right: 0px!important;
    }

    .mobile-margin{
        /* margin-top: 135px; */
        margin-top: 18%;
    }
    justify-content-center {
        justify-content: left !important;
    }
    .box-katalog{
        height:auto!important;
        width:auto!important;
    }
    .img-katalog{
        width: 165px;
        height: 165px;
        object-fit: contain;
        object-position: center;
    }
    .px-12 {
        padding-left: 2rem !important;
    }
    .px-12{

    }
    .bottom-margin{
        margin-bottom: 22px;
    }
    .caption-utama {
        font-family: 'Inter';
        font-style: 'normal';
        font-weight: 700;
        font-size: 36px!important;
        line-height: 64px;
        color: var(--hipmi-text-dark);
    }



    .btn-yellow {
        margin-top: 0px!Important;}
    .swiper-slide{
        height:100%!important;
    }
}


.text-banom {
    /* Inter/Text-base/Regular */

    font-family: 'sora';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    /* or 175% */


    /* gray/600 */

    color: #4B5563 !important;
}

.img-katalog-detail {
    padding: 4px;
    gap: 4px;
    /* width: 241px; */
    /* height: 241px; */
    background: var(--hipmi-white);
    /* shadow/shadow-lg */
    box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.1), 0px 4px 6px -2px rgba(0, 0, 0, 0.05);
    border-radius: 30px;
}

.aktif {
    /* Inter/Text-base/Bold */
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    /* line-height: 21px; */
    color: var(--hipmi-green) !important;
}

.img-katalog {
    padding: 4px;
    gap: 4px;

    width: 210px;
    height: 210px;
    object-fit: contain;
    object-position: center;

    background: var(--hipmi-white);
    /* shadow/shadow-lg */

    box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.1), 0px 4px 6px -2px rgba(0, 0, 0, 0.05);
    border-radius: 30px;

}

.jenis-perusahaan {
    /* green/50 */
    background: var(--hipmi-soft);
    border-radius: 100px;
    /* Inter/Text-xs/Semi Bold */
    font-family: 'sora';
    font-style: normal;
    font-weight: 600;
    font-size: 11px;
    line-height: 16px;
    /* or 133% */
    /* Primary */
    color: var(--hipmi-dark-green);
}

#pills-tab {
    border-top: 2px solid #E5E7EB;
    border-bottom: 2px solid #E5E7EB;
}

.box-ig {
    cursor: pointer;
}

.htr {
    background: var(--hipmi-green);
    border-top-right-radius: 144px;
    border-bottom-right-radius: 144px;
}

.htr-full {
    background: var(--hipmi-green);
}

.text-black {
    color: var(--hipmi-black);
}

.section-title-2 {
    /* Inter/Text-base/Regular */

    font-family: 'sora';
    font-style: normal;
    font-weight: 300;
    font-size: 16px;
    line-height: 24px;
    /* or 175% */


    /* black */

    color: var(--hipmi-black);
}

.section-title-5 {
    /* Inter/Text-base/Regular */

    font-family: 'sora';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    /* or 150% */


    /* gray/600 */

    color: #4B5563;

}

.section-title-8{
    font-family: 'sora';
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    /* identical to box height, or 138% */


    /* gray/600 */

    color: #4B5563;
}

.box-banom {

    background: var(--hipmi-white);
    /* shadow/shadow-base */

    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1), 0px 1px 2px rgba(0, 0, 0, 0.06);
    border-radius: 8px;
    height: 450px;
}

.vm {
    /* gray/50 */

    background: #F9FAFB;
}

.motobg {

    background-repeat: no-repeat;
    background-position: right bottom;
    /*Positioning*/
    background-size: auto;
}

.isi {

    font-family: 'sora';
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 44px;
    /* or 242% */


    /* Primary */

    color: var(--hipmi-green);

}

.menu-submenu {
    text-align: center;
    padding: 24px 15px 24px 10px;
    background: var(--hipmi-white);
    border-radius: 10000px;
    /* text-align: center; */
    align-items: center;
}

.sub-menu {
    /* Inter/Text-lg/Semi Bold */

    font-family: 'sora';
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    /* identical to box height, or 156% */


    /* black */

    color: var(--hipmi-black);

    /* border: 1px solid ; */
}

.border-right-tent {
    border-right: 1px solid var(--hipmi-black);
}

.box-katalog-page {
    cursor: pointer;
    /* margin: 6px;
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 30px !important;
    padding-top: 20px;
    padding-right: 20px;
    padding-left: 20px;
    gap: 24px;
    width: 19%; */
    /* margin: 6px; */
    padding: 20px;
    gap: 24px;
    min-height: 200px;
    background: var(--hipmi-white);
    box-shadow: 0px 1px 3px rgb(0 0 0 / 10%), 0px 1px 2px rgb(0 0 0 / 6%);
    border-radius: 8px;
}

.box-caption{
    min-height: 73px;
}
.box-desc{
    min-height: 60px;
}

/* efek hover */
.box-katalog-page {
    position: relative;
    top: 0;
    transition: top ease 0.3s;
}

.box-katalog-page:hover {
    top: -10px;
}

.bg-green {
    align-items: center;
    /* padding: 32px 84px!important; */
    background-color: #00AF50 !important;
    background-image: linear-gradient(270.16deg, var(--hipmi-green) -18.24%, #008C40 142%) !important;
    /* shadow/shadow-base */
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1), 0px 1px 2px rgba(0, 0, 0, 0.06);
    border-radius: 16px;
    color: #fff !important;
}

.box-katalog {
    cursor: pointer;
    margin: 10px;
    /* Auto layout */
    /* display: flex; */
    flex-direction: column;
    align-items: flex-start;
    padding: 10px;
    gap: 24px;

    min-height: 212px;

    background: var(--hipmi-white);
    /* shadow/shadow-base */

    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1), 0px 1px 2px rgba(0, 0, 0, 0.06);
    border-radius: 8px;
}
.faq-b{
    font-family: 'public';
    border-bottom: 1px solid #D1D5DB!important;
    border-radius: 0!important;
    margin-bottom: 20px!important;
}
.caption-katalog {
    /* CV. Anugerah Alam */
    /* width: 253px; */
    /* height: 28px; */

    /* Inter/Text-lg/Bold */

    font-family: 'sora';
    font-style: normal;
    font-weight: 800;
    font-size: 18px;
    /* text-align: center; */
    /* line-height: 28px; */
    /* identical to box height, or 156% */


    /* black */

    color: var(--hipmi-black);
}

/* efek hover */
.box-katalog {
    position: relative;
    top: 0;
    transition: top ease 0.3s;
}

.box-katalog:hover {
    top: -10px;
}

.section-join {
    /* Secondary */

    background: #EFE806;
    background-image: url("../../assets/img/section-join.png");
}

.btn-join {
    border-radius: 16px;
    width: 227px;
    height: 52px;
}

.btn-navbar {

    width: 142px !important;
    height: 52px !important;


    /* Primary */

    border: 2px solid var(--hipmi-green);
    border-radius: 16px;
    /* Inter/Text-base/Medium */

    font-family: 'sora';
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    /* identical to box height, or 150% */


    /* Primary */

    /* color: var(--hipmi-green); */
}


.caption-utama {
    /* width: 600px; */
    /* height: 128px; */
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-size: 48px;
    line-height: 64px;
    /* or 133% */
    /* gray/900 */
    color: var(--hipmi-text-dark);
}

.masuk {
    /* Inter/Text-2xl/Bold */

    font-family: 'sora';
    font-style: normal;
    font-weight: 700;
    font-size: 24px;
    line-height: 32px;
    /* identical to box height, or 133% */


    /* black */

    color: var(--hipmi-black);

}

.form-border {
    /* white */

    background: var(--hipmi-white);
    /* gray/200 */

    border: 1px solid #E5E7EB;
    border-radius: 16px;

}

green {
    color: var(--hipmi-green) !important;
}

.btn-green{
    width: 190px;
    height: 52px;

    background: var(--hipmi-green);
    border-radius: 16px;
}

.btn-green:hover {
    border: #cec805;
}

.btn-yellow {
    color: #4B5563 !important;
}
.slidetentang{
    height: auto!important;
    border-bottom-left-radius: 0px!important;
}
.swiper-slide {
    /* width: 675px!important; */
    margin-right: 30px;
    height: 604px;
    border-bottom-left-radius: 138px !important;
    overflow: hidden !important;
}

.text-paragraph {
    /* Inter/Text-base/Regular */

    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    /* or 175% */


    /* black */

    color: var(--hipmi-black);

}

.btn-banom{
    /* Inter/Text-sm/Semi Bold */

font-family: 'sora'!important;
font-style: normal!important;
font-weight: 600!important;
font-size: 14px!important;
line-height: 20px!important;
color: var(--hipmi-white)!important;
    /* Secondary */
    border: var(--hipmi-green)!important;
background: var(--hipmi-green)!important;
border-radius: 12px!important;

}
.btn-green {
    width: 191px;
    height: 52px;

    background: var(--hipmi-green);
    border-radius: 16px;

}

.social a {
    font-family: 'sora' !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 28px !important;
    color: #F3F4F6 !important;
}

.otonom-title{
    font-family: 'sora';
font-style: normal;
font-weight: 700;
font-size: 24px;
line-height: 32px;
/* identical to box height, or 133% */


/* black */

color: var(--hipmi-black);
}

.otonom-desc{
    font-family: 'sora';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: var(--hipmi-black);
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    overflow: hidden;
}



.title-input{
    font-family: 'public';
font-style: normal;
font-weight: 400;
font-size: 16px;
line-height: 22px;
/* identical to box height, or 138% */


/* gray/700 */

color: #374151;
}

.text-footer-alamat {
    /* Inter/Text-base/Regular */

    font-family: 'Inter' !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 28px !important;
    /* or 175% */


    /* gray/100 */

    color: #F3F4F6 !important;

}

.footer-title{
    font-family: 'monument';
    font-style: normal;
    font-weight: 800;
    font-size: 18px;
    line-height: 28px;
    /* identical to box height, or 156% */

    letter-spacing: 0.05em;
    text-transform: uppercase;

    /* white */

    color: var(--hipmi-white);
}

.footer-subtitle{

    font-family: 'sora';
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    /* or 129% */


    /* gray/100 */

    color: #F3F4F6;
}

.active {
    color: var(--hipmi-green) !important;
}

.swiper-pagination {
    text-align: center !important;
}

/* Laravel Pagination Styles */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    font-family: 'sora';
    font-weight: 600;
    font-size: 14px;
    color: var(--hipmi-green);
    background-color: var(--hipmi-white);
    border: 1px solid var(--hipmi-green);
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.page-link:hover {
    color: var(--hipmi-white);
    background-color: var(--hipmi-green);
    border-color: var(--hipmi-green);
    text-decoration: none;
}

.page-item.active .page-link {
    color: var(--hipmi-white);
    background-color: var(--hipmi-green);
    border-color: var(--hipmi-green);
}

.page-item.disabled .page-link {
    color: var(--hipmi-text-gray);
    background-color: var(--hipmi-bg-gray);
    border-color: var(--hipmi-border);
    cursor: not-allowed;
}

.page-item.disabled .page-link:hover {
    color: var(--hipmi-text-gray);
    background-color: var(--hipmi-bg-gray);
    border-color: var(--hipmi-border);
}

.dsc-keanggotaan {
    font-family: 'public';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 42px;
    /* or 259% */
    /* black */
    color: var(--hipmi-black);
}

.hr-keanggotaan {
    height: 3px;
    left: 112px;
    top: 424px;

    /* gray/600 */

    background: var(--hipmi-text-gray);
}

.swiper-pagination-bullet-active {
    background: var(--hipmi-text-gray) !important;
    border-color: var(--hipmi-text-gray) !important;
}

@media screen and (min-width: 992px) {

    .line-after-div {
        border-right: 1px solid #D1D5DB;

    }
}


.box-img {
    height: 170px !important;
    position: relative;
    background-repeat: no-repeat;
    background-position: center;
}

.box-img2 {
    height: 210px;
    position: relative;
    overflow: hidden;
    border-radius: 8px 8px 0 0;
    background-color: var(--hipmi-white);
}

.box-img2 img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.box-searching {
    width: 100%;
    max-width: 693px;
    height: 58px;
    background: var(--hipmi-white) !important;
    box-shadow: 0px 4px 8px rgb(0 0 0 / 8%);
    border-radius: 16px;
    /* align-items: center;s */
    padding: 10px;
    /* gap: 10px; */
}

.icon-seach-green {
    justify-content: center;
    align-items: center;
    padding: 0px;
    /* gap: 36.5px; */

    width: 36.5px;
    height: 36.5px;

    /* Primary */

    background: var(--hipmi-green);
    /* shadow/shadow-base */

    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1), 0px 1px 2px rgba(0, 0, 0, 0.06);
    border-radius: 1520.83px;
}

.btn-cari {
    padding: 0px 12px !important;
    border-radius: 0px;
    border-left: 1px solid #D1D5DB !important;
    border: none;
    background: transparent;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    /* line-height: 28px; */
    /* align-items: center; */
    color: var(--hipmi-black);
}

.select-cari {
    padding: 5px 12px !important;
    border-radius: 0px;
    border-right: 1px solid #D1D5DB !important;
    border: none;
    background: transparent;
    color: var(--hipmi-black);
}

.input-search {
    border-radius: 0px;
    box-shadow: none !important;
    border: none;
    background: var(--hipmi-white);
}

option {
    /* Inter/Text-base/Regular */

    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    color: var(--hipmi-text-dark);
}

/* select  */
#tampil {
    /* Inter/Text-sm/Regular */

    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    /* identical to box height, or 143% */

    text-align: center;

    /* gray/600 */

    color: #4B5563;
}

.desc-text {
    /* Inter/Text-sm/Regular */

    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    /* or 143% */


    /* black */

    color: var(--hipmi-black);
}

.caption-small {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
    line-height: 28px;
    /* identical to box height, or 140% */


    /* black */

    color: var(--hipmi-black);
}

.sub-caption {
    /* Inter/Text-sm/Bold */

    font-family: 'sora';
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    /* identical to box height, or 143% */


    /* black */

    color: var(--hipmi-black);

}

.notif-box {
    /* green/50 */

    background: var(--hipmi-soft);
    /* green/500 */

    border: 1px solid #10B981;
    border-radius: 12px;
    font-family: 'sora';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    /* identical to box height, or 175% */


    /* green/900 */

    color: #064E3B;

}

.border-radius-lg {
    border-radius: 16px !important;
}

.isi-text {
    /* Inter/Text-base/Regular */

    font-family: 'sora';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    /* identical to box height, or 175% */


    /* black */

    color: var(--hipmi-black);
}

.text-grey {
    color: #374151 !important;
    font-size: 22px;
}

.brand {
    background: var(--hipmi-white) !important;
    box-shadow: 0px 0.992443px 2.97733px rgba(0, 0, 0, 0.1), 0px 0.992443px 1.98489px rgba(0, 0, 0, 0.06) !important;
    border-radius: 15.8791px !important;
}

.img-brand {

    height: 125px !important;
    position: relative;
    background-repeat: no-repeat !important;
    background-position: center;
    background: var(--hipmi-white);
    box-shadow: 0px 0.815221px 2.44566px rgba(0, 0, 0, 0.1), 0px 0.815221px 1.63044px rgba(0, 0, 0, 0.06);
    border-radius: 11.4131px;

}

.caption-brand {

    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    font-size: 15.8791px;
    line-height: 21px;
    /* identical to box height, or 133% */


    /* black */

    color: var(--hipmi-black);

}

.desc-brand {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300;
    font-size: 13.8942px;
    line-height: 20px;
    /* or 143% */


    /* black */

    color: var(--hipmi-black);
}
.hide-box{
    border: none;
    background: transparent;
    box-shadow: none;
}

/* 
.float{
	position:fixed;
	width:60px;
	height:60px;
	bottom:40px;
	right:100px;
	background-color:#25d366;
	color:#FFF;
	border-radius:50px;
	text-align:center;
  font-size:30px;
	box-shadow: 2px 2px 3px #999;
  z-index:100;
}

.my-float{
	margin-top:16px;
} */

.hipmi-button {
    border-radius: var(--hipmi-radius);
    font-weight: 700;
}

.hipmi-button--primary {
    background-color: var(--hipmi-green);
    border-color: var(--hipmi-green);
    color: var(--hipmi-white);
}

.hipmi-card {
    border: 1px solid var(--hipmi-border);
    border-radius: var(--hipmi-radius);
    background: var(--hipmi-white);
}

.hipmi-section-header {
    color: var(--hipmi-text-dark);
    font-family: 'sora';
    font-weight: 600;
}

.hipmi-form-input {
    border-color: var(--hipmi-border);
}

.hipmi-faq-question {
    line-height: 32px;
    font-weight: 600;
}

/* ==========================================================================
   Utility Classes — index.blade.php inline style cleanup
   ========================================================================== */
.overflow-hidden-x {
    overflow-x: hidden;
}

.text-white-bold {
    color: var(--hipmi-white);
    margin-top: 20px;
    font-weight: bold;
}

.text-white-inline {
    color: var(--hipmi-white);
}

.w-auto {
    width: auto !important;
}

.star-icon {
    color: var(--hipmi-dark-green);
}

.set-bg-no-gutter {
    --bs-gutter-x: 0;
}

/* Cek Muscab Section */
.cek-muscab-inner {
    padding: 3rem 4rem;
}

@media screen and (max-width: 767px) {
    .cek-muscab-inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 2rem 1.5rem;
    }
}

.map-embed {
    border-radius: 30px;
}

.map-container {
    border: 0;
    margin: 0px 24px;
}

/* ==========================================================================
   Modal Kepesertaan Styles
   ========================================================================== */
.modal-kepesertaan-content {
    border-radius: 16px;
    overflow: hidden;
}

.modal-kepesertaan-header {
    padding: 16px 24px;
    background: linear-gradient(135deg, var(--hipmi-green), var(--hipmi-dark-green));
}

.modal-kepesertaan-title {
    font-family: 'monument', sans-serif;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 14px;
}

.modal-text-gray {
    font-family: 'sora', sans-serif;
    color: var(--hipmi-text-gray);
}

.modal-label {
    font-family: 'sora', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--hipmi-text-gray);
}

.modal-value {
    font-family: 'sora', sans-serif;
    font-size: 15px;
    color: var(--hipmi-text-dark);
}

.modal-found-left {
    background: linear-gradient(180deg, var(--hipmi-soft) 0%, #F9FAFB 100%);
    padding: 40px 24px;
}

.modal-photo-wrapper {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    overflow: hidden;
    border: 4px solid var(--hipmi-green);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    animation: fadeInUp 0.5s ease 0.3s both;
}

.modal-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.modal-found-title {
    font-family: 'monument', sans-serif;
    color: var(--hipmi-green);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    animation: fadeInUp 0.5s ease 0.3s both;
}

.modal-found-right {
    padding: 28px 32px;
}

.modal-notfound-title {
    font-family: 'monument', sans-serif;
    color: #DC2626;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.modal-error-icon-wrapper {
    width: 70px;
    height: 70px;
    background: #FEF3C7;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.modal-error-icon {
    font-size: 36px;
    color: #D97706;
}

.modal-error-title {
    font-family: 'monument', sans-serif;
    color: #D97706;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.modal-kepesertaan-footer {
    padding: 12px 24px 20px;
}

.modal-btn-tutup {
    border-radius: 12px;
    font-family: 'sora', sans-serif;
    font-weight: 600;
    background: linear-gradient(135deg, var(--hipmi-green), var(--hipmi-dark-green));
}

/* Responsive modal */
@media screen and (max-width: 767px) {
    .modal-kepesertaan-content .row.g-0 {
        flex-direction: column;
    }
    .modal-found-left {
        padding: 30px 24px 20px;
    }
    .modal-found-right {
        padding: 0 24px 24px;
    }
    .modal-photo-wrapper {
        width: 110px;
        height: 110px;
    }
}

/* ==========================================================================
   SVG Animation: Checkmark & Not Found
   ========================================================================== */
.checkmark-circle {
    width: 70px;
    height: 70px;
    margin: 0 auto;
    position: relative;
}

.checkmark {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    display: block;
    stroke-width: 2;
    stroke: var(--hipmi-green);
    stroke-miterlimit: 10;
}

.checkmark-circle-bg {
    stroke: var(--hipmi-green);
    stroke-dasharray: 166;
    stroke-dashoffset: 166;
    animation: svgStroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.checkmark-check {
    transform-origin: 50% 50%;
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
    animation: svgStroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.4s forwards;
}

.notfound-circle {
    width: 70px;
    height: 70px;
    margin: 0 auto;
    position: relative;
}

.notfound-icon {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    display: block;
    stroke-width: 2;
    stroke: #DC2626;
    stroke-miterlimit: 10;
}

.notfound-circle-bg {
    stroke: #DC2626;
    stroke-dasharray: 166;
    stroke-dashoffset: 166;
    animation: svgStroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.notfound-x {
    stroke: #DC2626;
    stroke-width: 3;
    stroke-dasharray: 60;
    stroke-dashoffset: 60;
    animation: svgStroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.4s forwards;
}

@keyframes svgStroke {
    100% { stroke-dashoffset: 0; }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Spinner Loading */
.spinner-loading {
    width: 3rem;
    height: 3rem;
    color: var(--hipmi-green);
}

/* ==========================================================================
   Shared Component: Set Background (hero banner section)
   ========================================================================== */
.set-bg {
    background-repeat: no-repeat;
    min-height: 300px;
    background-size: cover;
    background-position: center;
    margin-bottom: 200px;
    object-fit: cover;
    object-position: center;
}

/* ==========================================================================
   Shared Component: Background Keanggotaan
   ========================================================================== */
.bg-keanggotaan {
    min-height: 350px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
}

/* ==========================================================================
   Shared Component: Background Garis (vertical divider)
   ========================================================================== */
.bggaris {
    border-left: 2px solid var(--hipmi-green);
    height: 615px;
    width: 1px;
}

@media (max-width: 1023px) {
    .bggaris {
        display: none;
    }
}

/* ==========================================================================
   Shared Component: Hero Gradient Overlay
   ========================================================================== */
.herobg {
    background: linear-gradient(180deg, rgba(0, 53, 24, 0.1) 0%, rgba(0, 53, 24, 0) 83.94%);
}

/* ==========================================================================
   Shared Component: Responsive Card Grid
   ========================================================================== */
@media (max-width: 576px) {
    .responsive-custom {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

/* ==========================================================================
   Shared Component: Swiper Image Cover
   ========================================================================== */
.swiper-container .swiper img {
    width: 100%;
    height: 100%;
}

/* ==========================================================================
   Shared Component: BANOM Image
   ========================================================================== */
.img-banom {
    width: 100%;
    height: 150px;
    object-fit: contain;
    object-position: center;
}

/* ==========================================================================
   Shared Component: Favorite Icon Badge
   ========================================================================== */
.fav-icon {
    position: absolute;
    background-color: var(--hipmi-soft);
    box-shadow: 11px 12px 32px -16px rgba(0, 0, 0, 0.48);
}

/* ==========================================================================
   Shared Component: Badge Light Variants (forms)
   ========================================================================== */
.badge-light-success {
    background-color: #e7f5f0;
    color: #0f6e56;
}

.badge-light-primary {
    background-color: #eeedfe;
    color: #3c3489;
}

.badge-light-warning {
    background-color: #faeeda;
    color: #633806;
}

.badge-light-danger {
    background-color: #faece7;
    color: #712b13;
}

/* ==========================================================================
   Shared Component: Preview Field (form read-only display)
   ========================================================================== */
.preview-field {
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 0.375rem;
    padding: 10px 14px;
    min-height: 48px;
}

/* ==========================================================================
   Shared Component: Tom-Select Dropdown Overrides
   ========================================================================== */
.ts-wrapper .ts-dropdown {
    max-height: 300px;
    overflow-y: auto;
}

.ts-wrapper .option {
    padding: 8px 12px;
}

.ts-wrapper .option .name {
    font-weight: 600;
}

.ts-wrapper .option .detail {
    font-size: 0.85em;
    color: #6c757d;
}

/* ==========================================================================
   Shared Component: Select2 Overrides
   ========================================================================== */
.select2-selection__rendered {
    line-height: 31px !important;
}

.select2-container .select2-selection--single {
    height: 35px !important;
    border: none;
}

.select2-selection__arrow {
    height: 34px !important;
}

/* ==========================================================================
   Shared Component: Client Paginator
   ========================================================================== */
#client-paginator {
    overflow: visible;
    width: 100%;
    max-width: 100%;
}

@media screen and (max-width: 450px) {
    #client-paginator {
        overflow: visible;
        justify-content: center;
        width: 100%;
        max-width: 100%;
    }
}

/* ==========================================================================
   Utility: Table Layout
   ========================================================================== */
.table-full-width {
    width: 100%;
}

.col-w-1 { width: 1%; }
.col-w-3 { width: 3%; }
.col-w-10 { width: 10%; }
.col-w-20 { width: 20%; }
.col-w-38 { width: 38%; }
.col-w-50 { width: 50%; }

/* ==========================================================================
   Utility: Image Sizing
   ========================================================================== */
.img-portrait {
    max-width: 300px;
    height: 300px;
    object-fit: cover;
    object-position: top;
}

.img-portrait-max {
    max-width: 300px;
    max-height: 300px;
    object-fit: cover;
    object-position: top;
}

.img-thumb-sm {
    width: 50px;
}

.img-thumb-md {
    width: 100px;
}

/* ==========================================================================
   Utility: MUSCAB Section Text (index.blade.php)
   ========================================================================== */
.muscab-heading {
    font-size: 2rem;
    color: #fff;
    line-height: 1.3;
}

.muscab-text {
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1rem;
}

.muscab-text-muted {
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.85);
}

.muscab-subheading {
    font-size: 1.35rem;
    color: #fff;
    letter-spacing: 0.5px;
}

/* ==========================================================================
   Utility: CTA Button (white variant on green bg)
   ========================================================================== */
.btn-white-green {
    background-color: #fff;
    color: #197929;
    border: none;
}

.btn-white-green:hover {
    background-color: #fff;
    color: #197929;
}

.icon-green {
    color: #197929;
}

/* ==========================================================================
   Utility: SVG Icon Alignment
   ========================================================================== */
.svg-align {
    vertical-align: middle;
    margin-top: -2px;
}

.svg-align-mr-4 {
    vertical-align: middle;
    margin-right: 4px;
    margin-top: -2px;
}

.svg-align-mr-6 {
    vertical-align: middle;
    margin-right: 6px;
    margin-top: -2px;
}

/* ==========================================================================
   Utility: Detail Katalog Tabs
   ========================================================================== */
.tab-desc {
    line-height: 28px;
    font-weight: 600;
}

.tab-desc-muted {
    line-height: 28px;
    font-weight: 600;
    color: #6B7280;
}

/* ==========================================================================
   Utility: Brand Image Container
   ========================================================================== */
.brand-image-bg {
    background-position: center;
    background-size: contain;
}

/* ==========================================================================
   Utility: Related Katalog Card
   ========================================================================== */
.katalog-related {
    width: 32%;
}

/* ==========================================================================
   Utility: Logo Sizing
   ========================================================================== */
.logo-nav {
    max-width: 160px;
}

.logo-mobile {
    max-height: 36px;
}

/* ==========================================================================
   Utility: Navbar Container
   ========================================================================== */
.navbar-container {
    margin: 0px 50px;
}

/* ==========================================================================
   Utility: Avatar Placeholder (image input)
   ========================================================================== */
.avatar-placeholder {
    background-image: url(/assets/media/svg/avatars/blank.svg);
}

/* ==========================================================================
   Utility: Nav Link Dark (non-homepage navbar)
   ========================================================================== */
.nav-link-dark {
    color: #111827 !important;
}

/* ==========================================================================
   Utility: MUSCAB List (index.blade.php)
   ========================================================================== */
.muscab-list {
    line-height: 2.2;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1rem;
}

/* ==========================================================================
   Utility: Image Preview (form upload)
   ========================================================================== */
.img-preview {
    max-height: 300px;
}

/* ==========================================================================
   Utility: Avatar Thumbnail (admin tables)
   ========================================================================== */
.img-thumb-xs {
    max-width: 50px;
}

/* ==========================================================================
   MOBILE RESPONSIVE PASS
   Overrides for < 768px (mobile) and < 992px (tablet).
   Desktop styles above are intentionally left untouched.
   ========================================================================== */

/* ---------- A. Tokens & dasar ---------- */
@media screen and (max-width: 768px) {
    :root {
        --hipmi-container-gutter: clamp(1rem, 5vw, 2rem);
    }

    .hipmi-container {
        padding-inline: 1rem;
    }

    /* Skala heading mengecil tanpa merusak class desktop */
    .hipmi-heading--3xl { font-size: 24px; }
    .hipmi-heading--4xl { font-size: 28px; }
    .hipmi-heading--5xl { font-size: 32px; }
    .hipmi-heading--6xl { font-size: 36px; }
}

/* ---------- B. Navbar & offcanvas (template-guest) ---------- */
@media screen and (max-width: 768px) {
    .navbar-container {
        margin: 0 16px !important;
    }

    .logo-nav {
        max-width: 110px;
    }

    .offcanvas-nav-btn img {
        max-width: 28px;
    }

    /* Tombol di offcanvas mobile: full-width + rapi */
    .offcanvas-body .btn-navbar {
        width: 100%;
        margin: 6px 0;
    }
}

/* ---------- C. Hero banner & section ---------- */
@media screen and (max-width: 768px) {
    .container-banner {
        height: auto;
        min-height: 440px;
        padding: 16px;
    }

    .set-bg {
        min-height: 260px;
        margin-bottom: 120px;
    }

    .htr,
    .htr-full {
        border-radius: 24px;
    }

    .mobile-margin {
        margin-top: 18%;
    }
}

/* ---------- D. Cards & grid ---------- */
@media screen and (max-width: 768px) {
    .box-katalog-page {
        width: 100% !important;
        min-height: auto;
    }

    .katalog-related {
        width: 100% !important;
    }

    .box-katalog {
        margin: 6px;
    }

    .box-banom {
        height: auto;
        min-height: 320px;
    }

    #client-paginator {
        gap: 4px;
        flex-wrap: wrap;
    }

    .swiper-slide {
        height: auto;
        min-height: 420px;
    }

    /* Map iframe: hindari overflow horizontal */
    iframe.map-embed,
    iframe.map-container {
        width: 100% !important;
        max-width: 100%;
    }

    /* CTA & tombol detail: full-width agar mudah diketuk */
    .section-join .btn-green,
    .btn-banom {
        width: 100% !important;
    }

    /* Halaman detail katalog: tombol aksi penuh di mobile */
    .tab-content .btn-success {
        width: 100% !important;
    }

    .section-join .row {
        gap: 1rem;
    }
}

/* ---------- E. Footer (template-guest) ---------- */
@media screen and (max-width: 768px) {
    .footer .container-fluid {
        padding: 3rem 1.25rem !important;
    }

    .footer .col-md-3 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* ---------- F. Form (login + registrasi + password) ---------- */
@media screen and (max-width: 768px) {
    .form-border {
        padding: 1.25rem !important;
    }

    /* Tombol submit utama form (bukan tombol aksi di dalam input-group) */
    form > .btn[type="submit"],
    .form-border .btn[type="submit"] {
        width: 100%;
    }

    .hipmi-container.mt-20 {
        margin-top: 6rem;
    }
}

/* ---------- G. Modal kepesertaan (index) ---------- */
@media screen and (max-width: 768px) {
    .modal-dialog {
        max-height: 90vh;
        overflow-y: auto;
        margin: 0.5rem auto;
    }

    /* Modal panduan (modal-xl): gambar jangan melebihi area scroll */
    .modal-dialog .modal-content {
        max-height: 88vh;
        display: flex;
        flex-direction: column;
    }

    .modal-dialog .modal-body {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    #modalTutorial .modal-body img {
        max-height: 60vh;
    }

    /* Modal kepesertaan: data 2-kolom jadi 1 kolom agar terbaca */
    #modalKepesertaan .modal-found-right .col-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    #modalKepesertaan .modal-footer .btn {
        width: 100%;
    }

    #modalKepesertaan .modal-kepesertaan-header {
        padding: 14px 16px;
    }

    #modalKepesertaan .modal-kepesertaan-title {
        font-size: 13px;
    }
}

/* ---------- Tabel card-style (admin & anggota, GL.2) ---------- */
@media screen and (max-width: 767.98px) {
    .table-cards thead {
        display: none;
    }

    .table-cards,
    .table-cards tbody,
    .table-cards tr,
    .table-cards td {
        display: block;
        width: 100%;
    }

    .table-cards tr {
        margin-bottom: 12px;
        border: 1px solid var(--hipmi-border);
        border-radius: 12px;
        padding: 8px;
    }

    .table-cards td {
        padding: 6px 10px;
        border: none;
        text-align: right;
    }

    .table-cards td::before {
        content: attr(data-label);
        float: left;
        font-weight: 600;
        color: var(--hipmi-text-gray);
        margin-right: 8px;
    }
}
