/*
 Theme Name:   Purity 6 Custom
 Theme URI:    https://generatepress.com
 Description:  GeneratePress Child Theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      5.1.0
*/

/* ==========================================================================
   EC CUSTOM HEADER STYLING
   ========================================================================== */

/* Layout Dasar */
.ec-header-master-wrap {
    position: relative;
    width: 100%;
    background-color: #ffffff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    z-index: 9999;
}

.ec-header-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 12px 20px;
}

.ec-header-grid {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Logo */
.ec-logo-area {
    flex: 0 0 auto;
}

.ec-site-logo-link img {
    max-height: 48px;
    width: auto;
    height: auto;
    display: block;
}

/* Desktop Menu */
.ec-menu-area {
    flex: 1;
    display: flex;
    justify-content: center;
}

.ec-main-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 28px;
    align-items: center;
}

.ec-main-menu a {
    text-decoration: none;
    color: #1a1a1a;
    font-weight: 600;
    font-size: 15px;
    transition: color 0.2s ease;
}

.ec-main-menu a:hover,
.ec-main-menu .current-menu-item a {
    color: #0d8253;
}

/* CTA Button */
.ec-cta-area {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
}

.ec-cta-button {
    display: inline-block;
    padding: 10px 22px;
    background-color: #0d8253;
    color: #ffffff !important;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    border-radius: 6px;
    transition: background-color 0.2s ease;
}

.ec-cta-button:hover {
    background-color: #09613e;
}

/* Tombol Burger & Dropdown Default (Disembunyikan di Desktop) */
.ec-burger-trigger {
    display: none;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 8px;
    flex-direction: column;
    justify-content: space-around;
    width: 40px;
    height: 40px;
}

.ec-burger-trigger .ec-bar {
    width: 24px;
    height: 2px;
    background-color: #1a1a1a;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.ec-mobile-dropdown {
    display: none;
}

/* ==========================================================================
   RESPONSIVE BREAKPOINT (Mobile & Tablet)
   ========================================================================== */
@media (max-width: 991px) {
    /* Sembunyikan elemen desktop */
    .ec-menu-area,
    .ec-desktop-btn {
        display: none !important;
    }

    /* Munculkan tombol burger */
    .ec-burger-trigger {
        display: flex;
    }

    /* Animasi silang (X) tombol burger saat aktif */
    .ec-burger-trigger.is-active .ec-bar:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }
    .ec-burger-trigger.is-active .ec-bar:nth-child(2) {
        opacity: 0;
    }
    .ec-burger-trigger.is-active .ec-bar:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }

    /* Mobile Dropdown Menu */
    .ec-mobile-dropdown {
        display: block;
        max-height: 0;
        overflow: hidden;
        background-color: #ffffff;
        border-top: 1px solid #f0f0f0;
        transition: max-height 0.35s ease-in-out;
    }

    .ec-mobile-dropdown.is-open {
        max-height: 450px;
    }

    .ec-mobile-list {
        list-style: none;
        margin: 0;
        padding: 16px 20px;
    }

    .ec-mobile-list li {
        margin: 0;
        border-bottom: 1px solid #f7f7f7;
    }

    .ec-mobile-list li:last-child {
        border-bottom: none;
    }

    .ec-mobile-list a {
        display: block;
        padding: 12px 0;
        text-decoration: none;
        color: #1a1a1a;
        font-weight: 500;
        font-size: 16px;
    }

    .ec-mobile-list .ec-mobile-cta-row {
        padding-top: 14px;
    }

    .ec-btn-block {
        display: block;
        text-align: center;
        width: 100%;
        box-sizing: border-box;
    }
}

/* ==========================================================================
   >>> [BAGIAN 2] CSS BAWAAN TEMA PURITY 6 / GENERATEPRESS - START
   ========================================================================== */

/* Header & Navigasi Bawaan GP */
.site-header { 
	border-bottom: 1px solid #f1f1f1;
}
.header-wrap .site-header { 
	border-bottom: none;
}
.header-wrap {
	padding-top: 10px;
}
.main-navigation.sticky-navigation-transition .navigation-branding img {
    height: auto;
	width: 190px;
}

.inside-header { position: relative; flex-direction: row !important; }
.top_nav { position: absolute; right: 0; }
.inside-navigation.grid-container { justify-content: center; }
.toggle_button,
.search_button {
    position: absolute;
}
.top_toggle { margin-top: 6px; position: absolute; right: 0; z-index: 991; }
.toggle_button { left: 0; }
.search_button { right: 0; }
a.search-icon { color: var(--tax-color); }

.main-navigation .menu-toggle {
    padding-right: 0;
    padding-left: 0;
    font-size: 23px;
}
.main-navigation .main-nav ul li.cta {
	margin-left: 20px;
}
.main-navigation .main-nav ul li.cta a {
	border-radius: 50px;
	border: 1px solid var(--accent);
	padding-left: 25px;
	font-weight: bold;
	color: var(--accent);
	line-height: 40px !important;
	padding-right: 25px;
}
.dropdown-menu-toggle .gp-icon {
	display: unset;
}

.header-wrap .main-nav ul li.cta a {
	border: 1px solid #fff;
}
.header-wrap .is_stuck .main-nav ul li.cta a {
	border: 1px solid var(--accent);
}

/* Trans Menu Active & Sticky */
.header-wrap #site-navigation:not(.toggled) .main-nav > ul > li[class*="current-menu-"] > a {
	font-weight: bold;
	opacity: 0.55;
}
.sticky-enabled .main-navigation.is_stuck {
	box-shadow: 0px 10px 15px 5px rgba(97,97,97,0.07);
	padding: 5px 0;
}

/* Social Link */
.wp-block-social-links { margin: 0 !important; }

/* Breadcrumb */
.rank-math-breadcrumb p { margin-bottom: 0; }
.breadcrumb { 
	line-height: 18px; 
	margin-bottom: 15px; 
	padding: 0 !important;
	display: -webkit-box !important;
	overflow: hidden;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
}

/* Main Nav Sub */
.main-navigation ul.sub-menu {
    background: #fff;
    border-radius: 8px;
    padding: 8px 5px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.08);
    border-bottom: 6px solid var(--accent);
}
.sub-menu.toggled-on {
    box-shadow: none !important;
    border: 0px solid #f1f1f1 !important;
    border-radius: 0;
    margin-left: 30px;
    width: 100% !important;
    padding: 0 !important;
}
.sub-menu.toggled-on li a {
    position: relative;
    padding-left: 25px !important;
}
.sub-menu.toggled-on li a::before {
    width: 5px;
    height: 5px;
    content: " ";
    position: absolute;
    left: 12px;
    background: var(--accent);
    border-radius: 50px;
    top: 16px;
}
#generate-slideout-menu.main-navigation .main-nav ul ul {
	margin: 0;
	padding: 7px !important;
}
#generate-slideout-menu.main-navigation .main-nav ul ul li a {
	border: none !important;
}
	
/* Content Area */
.site-content { padding: 0; }
body.page .site-content {
    padding: 0;
}
body.blog .site-content,
body.archive .site-content {
	padding: 0 0 45px;
}
   
/* Splide Slider Style */
.splide__list {
	display: flex !important;
	column-gap: 0 !important;
	row-gap: 0 !important;
}
.splide__pagination { 
	bottom: 25px;
	position: static;
	display: flex;
	gap: 6px;
	margin-top: 15px;
	justify-content: center;
	padding-right: 0;
	padding-left: 0;
}

.splide__pagination li {
	justify-content: center;
	align-items: center;
	display: flex;
	opacity: 1;
	background: none;
	border-radius: 50px;
}
.splide__pagination button { 
	margin: 0;
	width: 8px;
	background: #ccc !important;
	height: 8px;
}
.abs .splide__pagination button { 
	background: #fff !important;
}
.splide__pagination__page.is-active {
	width: 18px;
	margin: 0 3px;
	height: 6px;
	border-radius: 10px;
}
.testimonial .splide__pagination {
	margin-top: 40px !important;
}
.hero_slide .splide__pagination {
	position: absolute;
}
.postslide .splide__track {
	overflow: visible;
}

/* Archive */
.site-main > * { margin-bottom: 25px; }
.post-categories {
    display: flex;
    gap: 5px;
    padding: 0;
    margin-left: 0;
    flex-wrap: wrap;
    margin-bottom: 5px;
}
.post-categories span,
.post-categories span a {
    padding: 0 5px;
    font-size: 12px;
    line-height: 20px;
    border-radius: 50px;
    background: var(--tax-bg);
    color: var(--tax-color);
    display: inline-block;
    transition: all .3s ease-in-out;
}
.term_list {
    display: flex;
    gap: 8px;
}
.term_list a {
    padding-bottom: 3px;
    border-bottom: 1.5px solid var(--contrast-2);
}
.rounded img {
	border-radius: 5px;
}

/* Query Loop & Masonry */
.gb-loop-item.generate-columns {
	padding: 0 !important;
	margin: 0 !important;
}
.masonry-load-more {
	display: flex;
	justify-content: center;
	margin: 10px 0 65px;
}
.masonry-load-more a {
	border-radius: 5px;
	background: var(--accent) !important;
	color: #fff !important;
	font-weight: bold !important;
}

/* WooCommerce Pagination */
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li {
	border: none !important;
}
.woocommerce nav.woocommerce-pagination ul li {
	overflow: visible !important;
	margin: 0 3px !important;
}
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li a {
	width: 36px !important;
	height: 36px;
	border-radius: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: none !important;
	color: #000 !important;
	font-weight: bold;
	border: 1px solid #ccc;
	box-shadow: 0px 0px 0 7px #f1f1f1;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: none !important;
}

/* Limit Title */
.limit {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}
.limit_three {
    -webkit-line-clamp: 3;
}
.limit_two {
    -webkit-line-clamp: 2;
}
.limit-title {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* Stories Slider */
.stories_slider .owl-stage-outer {
    overflow: visible;
}
img.slide {
    width: inherit !important;
}
.stories_slider .owl-dots { margin-top: 0; }

/* Archive Page Pagination */
.paging-navigation {
    margin: 0;
    background: none !important;
    text-align: center;
    font-size: 14px;
    padding: 25px 0 !important;
}
.nav-links {
	display: flex;
	gap: 10px;
	justify-content: center;
}
.paging-navigation span, 
.paging-navigation a {
	padding: 5px 10px !important;
	color: var(--contrast) !important;
	width: 35px;
	height: 35px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50px;
}
.paging-navigation span.current {
    border: 1px solid #cccc;
	box-shadow: 0px 0px 0 7px #f1f1f1;
}
a.prev,
a.next,
a.prev span,
a.next span {
    display: none;
}

/* Easy Table of Contents (EZ TOC) */
#ez-toc-container {
	margin-bottom: 35px !important;
	background: #f9f9f9 !important;
	border: 1px solid var(--accent) !important;
	border-radius: 5px !important;
	box-shadow: none !important;
	padding: 25px !important;
	width: 100% !important;
}
p.ez-toc-title,
div#ez-toc-container p.ez-toc-title {
	font-weight: bold !important;
	border-bottom: 1px solid #f1f1f1 !important;
	padding-bottom: 15px !important;
	margin-bottom: 20px !important;
	display: block !important;
}
.ez-toc-title-toggle,
.ez-toc-cssicon-toggle-label,
#ez-toc-container label.cssicon {
	display: none !important;
}
#ez-toc-container a {
	padding: 12px 0 12px 20px !important;
	font-size: 16px !important;
	display: block !important;
	position: relative !important;
	color: var(--accent) !important;
	border-bottom: 1px solid #f1f1f1 !important;
	font-weight: bold !important;
}
#ez-toc-container li:last-child a {
	border-bottom: 0px solid #f1f1f1 !important;
} 
#ez-toc-container a:before {
	border-style: solid;
	border-width: 1px 1px 0 0;
	content: '';
	display: inline-block;
	height: 8px;
	width: 8px;
	left: 0;
	position: absolute;
	top: 20px;
	transform: rotate(45deg);
	vertical-align: top;
}
#ez-toc-container ul {
    margin-top: 10px;
    padding-left: 18px;
}
div#ez-toc-container ul li {
    font-size: 100%;
    list-style: circle;
    overflow: visible;
    padding: 2px 0;
}
#ez-toc-container ul.ez-toc-list-level-3 {
    margin-top: 5px;
    margin-left: 0;
}
#ez-toc-container ul.ez-toc-list-level-3 li a {
    font-weight: normal !important;
}

/* Post Comments */
h2.wp-block-comments-title {
	font-size: 22px;
	border-top: 1px solid #f1f1f1;
	padding-top: 20px;
}
.wp-block-comments ol { margin-left: 0; }
.wp-block-comment-author-name,
.wp-block-comment-template li .wp-block-columns .wp-block-comment-author-name {
	font-size: 14px !important;
	font-weight: bold;
}
.wp-block-comment-date {
	line-height: 1.4em;
}
.wp-block-comment-content,
.wp-block-comment-template li .wp-block-columns .wp-block-comment-content {
	font-size: 13px !important;
	margin-top: 10px;
}
.wp-block-comment-reply-link a {
	border: 1px solid #ccc;
	padding: 3px 10px;
	border-radius: 5px;
}
.wp-block-post-comments-form h3 {
	font-size: 18px;
	margin-bottom: 15px !important;
}
.wp-block-post-comments-form input,
.wp-block-post-comments-form textarea {
	border: 1px solid #ccc !important;
	border-radius: 5px !important;
}
.wp-block-post-comments-form .form-submit input[type="submit"],
.form-submit input.submit {
	border: none !important;
	font-weight: bold;
	background: var(--accent);
}
.wp-block-comment-template li .wp-block-columns {
	gap: 18px;
}

/* Footer Area */
.site-footer ul.wp-block-navigation__container {
    margin: 0;
    column-gap: 15px;
    row-gap: 0px;
}
.site-footer ul.wp-block-navigation__container li a {
    color: #000 !important;
	line-height: 2em;
}
.site-footer ul.wp-block-navigation__container li:hover a {
    opacity: 0.5;
}
.floating_wa .wp-block-social-link a {
	font-size: 32px;
}
.floating_wa .whatsapp-online-status {
	text-indent: -90000px;
	width: 20px;
	height: 20px;
	position: absolute;
	bottom: 0;
	left: -3px;
	z-index: 99;
}
.floating_wa .whatsapp-online-status::before {
	border: 2px solid #fff;
	width: 14px;
	height: 14px;
}

/* Search Modal */
.search-modal-form {
    background: transparent !important;
}
.gp-modal__container input.search-field {
    margin: 0 !important;
    border: none !important;
}
.search-modal-fields {
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

/* Sidebar */
.inside-right-sidebar {
    position: sticky;
    top: 20px;
}

/* List Custom Loop Counter */
.list_custom {
    list-style: none;
    counter-reset: my-awesome-counter;
}
.list_custom .gb-query-loop-item,
.list_custom .gb-loop-item {
    counter-increment: my-awesome-counter;
    position: relative;
}
.list_custom .gb-query-loop-item::before,
.list_custom .gb-loop-item:before {
    content: "#" counter(my-awesome-counter) "";
    position: absolute;
    top: 4px;
    left: 0;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    width: 40px;
    height: 40px;
    background: var(--accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 0px 0 7px #f1f1f1;
    border: 1px solid #cccc;
    flex-basis: 40px;
    flex-shrink: 0;
}
.list_custom .generate-columns.grid-50 {
    width: 100% !important;
    margin: 0;
}
.list_custom p.gb-headline-text {
    min-height: 50px;
}

/* Title Header & Widgets */
.page-header {
    margin-bottom: 30px;
}
.widget-title,
.page-header h1.page-title { 
	position: relative;
	padding-bottom: 10px;
	border-bottom: 1px solid #f1f1f1;
}
.page-header h1.page-title:after,
.widget-title:after {
	content: " ";
	height: 1px;
	width: 120px;
	background: var(--accent);
	position: absolute;
	bottom: -1px;
	left: 0;
}
.page-header h1.page-title {
	padding-bottom: 15px;
	border-bottom: 1px solid #f1f1f1;
}
.search h1.page-title {
    border-bottom: 1px solid #f1f1f1;
    display: flex;
	font-weight: normal;
    padding-bottom: 15px;
}
.search h1.page-title span {
    font-weight: bold;
}
.search h1.page-title:after {
    display: none;
}

/* Author Box */
.author .page-header {
    padding: 20px;
    font-size: 15px;
    line-height: 22px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.08);
}
.author .page-header .page-title:after {
    display: none;
}
.author .page-header .avatar {
    margin-right: 20px;
    border-radius: 50px;
}
body.author h1.page-title {
    margin-bottom: 10px;
}

/* Box Shadow */
.shadow {
	box-shadow: 0 .275rem .75rem -0.0625rem rgba(11,15,25,.06), 0 .125rem .4rem -0.0625rem rgba(11,15,25,.03) !important;
}

/* Popular Posts */
.nq_number { display: none; }
.popular_item a {
    color: var(--contrast);
    font-weight: 500;
    padding-bottom: 12px !important;
    margin-bottom: 12px !important;
    display: block;
    border-bottom: 1px solid var(--tax-bg);
}
.popular_item a:hover {
    color: var(--contrast-2);
}
.popular_item:last-child a {
    border-bottom: none;
}

/* Single Post Content Styling */
.dynamic-entry-content ul,
.dynamic-entry-content ol {
    margin: 0 0 1.5em 1.3em;
}
.also-read {
    background: #f1f1f1;
    padding: 15px;
    border-left: 5px solid var(--accent);
    padding-left: 20px;
    margin: 20px 0;
}
.also-read h2 { margin-bottom: 8px; }
.also-read p { margin: 0 0 10px; font-size: 14px; line-height: 18px; }

/* Blockquote */
.wp-block-pullquote {
    padding: 0;
}
blockquote {
    border-left: 5px solid var(--accent);
    padding: 20px;
    font-size: 18px;
    font-style: italic;
    margin: 0 0 1.5em;
    position: relative;
    text-align: left;
    line-height: 24px;
}
blockquote p {
    margin-bottom: 5px;
}
.wp-block-pullquote cite {
    font-size: 14px;
    font-weight: bold;
}

/* Preformatted Code Snippet */
pre {
    background: #eee;
    font-family: "Courier 10 Pitch", Courier, monospace;
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.6;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em;
}

/* Table */
.wp-block-table { margin-bottom: 25px; }
.wp-block-table table { margin-bottom: 0; }
.wp-block-table .wp-element-caption {
    font-size: 13px;
    margin-top: 5px;
}

/* Images & Captions */
.gb-block-image figcaption,
.wp-block-image figcaption {
    font-size: 13px;
    text-align: center;
    margin: 10px 0 0;
    line-height: 19px;
}
.wp-block-image {
    margin-bottom: 25px;
}
.wp-block-image img {
    border-radius: 5px;
}

/* Tag List */
.taxonomy-post_tag {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.taxonomy-post_tag a {
    position: relative;
    font-size: 12px;
	text-transform: uppercase;
	color: #000;
	border-bottom: 1px solid var(--accent);
    line-height: 20px;
    display: inline-block;
}
.wp-block-post-terms__separator {
    display: none;
}
.taglist {
	display: flex;
	gap: 5px;
}
.taglist span a {
	border-bottom: 1px solid var(--accent);
	padding-bottom: 2px;
}

/* Search Form Submit */
.search-form .search-submit { display: none; }

/* 404 Error Page */
body.error404 .inside-article {
    margin: 40px auto;
    text-align: center;
}

/* Neon Page Break Pagination */
.neon-auto-page-break-pagination {
    font-size: 14px;
}
.neon-auto-page-break-pagination .pagination {
    display: flex;
    gap: 5px;
}
.neon-auto-page-break-pagination span.post-page-numbers.current,
.neon-auto-page-break-pagination a.post-page-numbers {
    background: var(--accent);
    width: 23px;
    height: 23px;
    display: flex;
    color: #fff;
    border: 1px solid var(--accent);
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    font-size: 13px;
}
.neon-auto-page-break-pagination span.post-page-numbers.current {
    background: none;
    color: var(--accent);
}
.neon-show-all-page-content a {
    text-decoration: underline !important;
}

/* Mailchimp Form Fields */
.mc4wp-form-fields {
	position: relative;
}
.mc4wp-form-fields input[type="email"] {
	width: 100%;
	max-width: 100%;
	height: 55px;
	border-radius: 5px;
	padding: 15px 20px;
}
.mc4wp-form-fields input[type="submit"] {
	height: 45px !important;
	padding: 2px 20px !important;
	position: absolute;
	right: 5px;
	color: #fff;
	background: var(--accent);
	font-weight: 700;
	border-radius: 5px;
	font-size: 16px;
	top: 4px;
}

.gb-button .gb-icon svg {
	height: auto !important;
}
#generate-slideout-menu .inside-navigation {
	padding: 20px 0;
}

/* WooCommerce Components */
.wc-block-product-categories {
	margin-bottom: 0 !important;
}
.wc-block-product-categories-list {
	display: flex;
	margin: 0;
	justify-content: center;
	gap: 8px;
}
.wc-block-product-categories-list li {
	list-style: none;
}
.wc-block-product-categories-list li a span {
	font-size: 13px;
	font-weight: bold;
	display: inline-block;
	padding: 5px 15px;
	border-radius: 50px;
	border: 1px solid var(--accent);
}
.whatsapp-online-status {
	display: flex;
	align-items: center;
	gap: 5px;
}
.whatsapp-online-status:before {
	width: 11px;
	height: 11px;
	border-radius: 50px;
	background: #ccc;
	content: " ";
	display: inline-block;
}
.whatsapp-online-status[data-online="yes"]:before {
	background: #0DC167;
}
.abs_chat {
	position: relative;
}
.abs_chat .whatsapp-online-status:before {
	position: absolute;
	left: -21px;
	border: 2px solid #fff;
	width: 14px;
	height: 14px;
}
.hero_chat {
	position: absolute;
	right: -170px;
	z-index: 9;
	bottom: -40px;
}
a.link_abs {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	text-indent: -9000px;
	opacity: 0;
}
.woocommerce ul.products li.product {
	border: 1px solid #e5e7eb;
	border-radius: 5px;
	overflow: hidden;
	box-shadow: 0px 10px 15px 5px rgba(97,97,97,0.07);
}
a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
	color: var(--contrast) !important;
}
h2.woocommerce-loop-product__title {
	font-size: 18px !important;
	padding: 0 20px !important;
	text-align: left;
}
.intro_desc ul,
.woocommerce-product-details__short-description ul {
	margin: 20px 0 !important;
	text-align: left;
	padding: 0 !important;
}
.woocommerce-product-details__short-description ul li,
.intro_desc ul li {
	border: none !important;
	list-style: none;
	font-size: 13px !important;
	padding: 2px 0 2px 22px !important;
	background-image: url(img/check-icon.svg) !important;
	background-position: left 5px !important;
	background-size: 18px auto !important;
	background-repeat: no-repeat !important;
}
.intro_desc h3 {
	margin-bottom: 5px !important;
	padding: 0 !important;
	font-weight: normal;
}
.intro_desc h3 em {
	font-style: normal;
}
.intro_desc h3 strong {
	font-size: 16px;
}
.wc-product-image {
	margin-bottom: 12px !important;
}
.inside-wc-product-image {
	overflow: hidden;
	border-bottom: 1px solid #f1f1f1;
}
.intro_desc ul li strong {
	display: inline-block !important;
}
.woocommerce ul.products li.product .ctb a.woocommerce-loop-product__link {
	display: none !important;
}

.whatsapp-button {
	background: #075E54;
	font-weight: bold;
	color: #fff !important;
	font-size: 16px;
	padding: 12px 10px;
	border-radius: 5px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 5px;
}
.whatsapp-button:hover {
	background: var(--contrast);
}
.ctb .whatsapp-button {
	font-size: 14px;
	border-radius: 50px;
	padding: 8px 20px;
}
.crt .whatsapp-button {
	font-size: 15px;
	width: 100%;
}

/* WooCommerce Single Product */
.product .summary p.price { display: none; }
.product .summary h1.product_title.entry-title {
	font-size: 28px;
	margin-bottom: 25px;
}
.woocommerce div.product div.summary {
	margin-bottom: 0px !important;
}
.related.products {
	margin-bottom: 60px;
}
.woocommerce div.product div.images {
	margin-bottom: 30px !important;
}
.woocommerce-product-gallery {
	margin-right: 0 !important;
}
.addtoany_list,
.addtoany_list a {
	display: flex !important;
}
.flex-control-nav {
	width: 100%;
	padding: 0;
	z-index: 9;
	margin: 20px 0 0;
	display: flex;
	justify-content: center;
	bottom: 10px;
	left: 0;
}
.flex-control-nav li {
	margin: 0 !important;
	position: relative;
	float: none !important;
	width: 8px !important;
	margin: 0 3px !important;
	display: inline-table !important;
}
.flex-control-nav li a {
	width: 8px;
	display: block;
	text-indent: -9000px;
	height: 8px;
	opacity: 0.1;
	background: #000;
	border-radius: 50px;
}
.flex-control-nav li a.flex-active {
	opacity: 0.25;
	width: 25px;
}
.single-product .product {
	width: 768px;
	margin: -240px auto 55px;
}
.woocommerce #content div.product div.images, 
.woocommerce div.product div.images, 
.woocommerce-page #content div.product div.images, 
.woocommerce-page div.product div.images {
	width: 100% !important;
	float: none !important;
}
.woocommerce_tabs_content {
	font-size: 15px;
	margin: 25px 0;
}
.woocommerce_tabs_content p {
	margin-bottom: 1em !important;
}
.woocommerce_tabs_content h2 {
	font-size: 24px;
}
.woocommerce_tabs_content ul {
	margin-left: 1em;
}

ul.incl,
ul.excl {
	margin: 0 0 35px !important;
}
ul.incl li,
ul.excl li {
	position: relative;
    background-repeat: no-repeat;
	background-size: 16px auto;
    background-position: left center;
	list-style: none;
	margin-bottom: 8px;
	padding-left: 25px;
	line-height: 18px;
}
ul.incl li { background-image: url(img/check-icon.svg); }
ul.excl li { background-image: url(img/close.svg); background-size: 13px auto; }

/* Steps */
ul.steps {
	margin: 0 0 0 -10px;
	counter-reset: li;
}
ul.steps > li {
	position: relative;
	display: block;
	list-style: none;
	border-left: 1px dashed var(--accent);
	margin-left: 31px;
	font-size: 16px;
	color: #4A4A4A;
	padding-left: 39px;
	padding-bottom: 26px;
}
ul.steps > li::before {
	content: counter(li);
	counter-increment: li;
	position: absolute;
	top: -7px;
	left: -31px;
	box-sizing: border-box;
	margin-right: 8px;
	font-size: 18px;
	font-weight: 700;
	padding: 7px;
	width: 60px;
	border: 10px solid #fff;
	height: 60px;
	text-align: center;
	background: var(--accent);
	color: #fff;
	border-radius: 999em;
	display: flex;
	align-items: center;
	justify-content: center;
}
ul.steps > li:last-child {
	border-left: 0;
}
ul.steps > li strong {
	font-size: 18px;
}

/* Media Queries Bawaan Tema */
@media only screen and (max-width: 1200px) {
	.gb_wrapper,
	.inside-header,
	.site-content {
		padding-left: 70px !important;
		padding-right: 70px !important;
	}

	.full-width-content .site-content {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	.main-navigation.sticky-navigation-transition .navigation-branding img {
		height: auto;
		width: 170px;
	}
	.main-navigation .menu-toggle {
		display: flex;
	}

	body.page .site-main { 
		padding-top: 30px;
		padding-bottom: 50px;
	}
	body.full-width-content .site-main { padding: 0; }
    .gb-button.slideout-toggle span.gb-button-text { display: none; }
    .toggle_button, .search_button { top: 33px; }
    .toggle_button { left: 20px; }
    .search_button { right: 20px; }

    .top_toggle { right: 20px; }

    .inside-right-sidebar { position: static; padding: 0; border: none; }

    .featured-column { margin-bottom: 25px; }
	
	.separate-containers .site-main { margin-top: 0; }
    .site-content { padding: 20px; }
    .site-content .content-area { padding-right: 0; }

    .is-right-sidebar { margin-top: 40px; }

    .grid {
        grid-template-columns: 100px 1fr;
        grid-gap: 20px;
    }
    .featured-column .grid { margin-bottom: 0; }

    .comments-area {
        border: none;
        padding: 20px 0 !important;
    }

    .gp-search-modal .gp-modal__overlay {
        padding-left: 30px !important;
        padding-right: 30px !important;
        background: rgba(0, 0, 0, 0.65) !important;
    }

    .post-abs,
    .post-abs-r {
        position: absolute;
        top: 20px;
        left: 20px;
    }
    .post-abs-r {
        right: 20px;
        left: auto;
    }
	
	.col-reverse {
		flex-direction: column-reverse;
	}

	.stc_desc {
		width: 100%;
		margin: 0;
		position: absolute;
		bottom: 0;
		border-radius: 0;
		min-height: 0;
		z-index: 99;
		background: linear-gradient(358.75deg, rgba(0,0,0,.85) 26.7%, rgba(0,0,0,0) 99.62%) !important;
	}

	.hero_chat {
		position: static;
	}
	.has-inline-mobile-toggle #site-navigation.toggled {
		background: transparent;
		padding: 0;
		border-top: 0px solid #f1f1f1;
		margin-top: 0px;
	}
	.main-navigation .main-nav ul li a {
		border-bottom: 1px solid #f1f1f1;
	}
	.main-navigation .main-nav ul li.cta {
		margin-left: 0;
		margin-top: 15px;
		padding-left: 15px;
		padding-right: 15px;
	}
	.main-navigation .main-nav ul li.cta a {
		width: 100%;
		line-height: 2.8em !important;
		text-align: center;
	}
	.menu-toggle {
		width: 48px;
		height: 48px;
		background: none !important;
	}
	.woocommerce #wc-column-container.wc-mobile-columns-1 .products {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	.separate-containers .woocommerce-archive-wrapper .inside-article {
		padding: 0;
	}
	.woocommerce div.product div.images { margin-bottom: 0; }
	.woocommerce-product-gallery__wrapper { height: auto; }
	.related.products { margin-top: 45px; }
	
	body.blog .site-content,
	body.archive .site-content {
		padding: 20px 20px 45px;
	}
	.single-product .product {
		width: 100%;
	}
}

@media only screen and (max-width: 767px) {
	.gb_wrapper,
	.inside-header,
	.site-content {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	.site-main > * { margin-bottom: 25px; }
	.site-content { padding: 20px 20px 45px; }
	.featured-column .acr_img { height: 200px; }
	.grid-small { grid-template-columns: 80px 1fr; }
	.small-grid {
		grid-template-columns: 1fr;
		grid-gap: 10px;
	}
	.cat_grid_desc { position: relative; }
	.cat_grid_desc:before {
		content: " ";
		position: absolute;
		top: -10px;
		left: 30px;
		border-left: solid 10px transparent;
		border-right: solid 10px transparent;
		border-bottom: solid 10px #f1f1f1;
		height: 0;
		width: 0;
	}
	h1.widget-title:after,
	h1.page-title:after,
	h2.widget-title:after {
		width: 60px;
	}
	.separate-containers .site-main {
		margin-top: 0;
	}
	.separate-containers .inside-right-sidebar {
		margin-top: 0;
		margin-bottom: 0;
	}
	.woocommerce #wc-column-container.wc-mobile-columns-1 .products {
		grid-template-columns: repeat(1, 1fr) !important;
	}
	.post-type-archive-product .inside-article {
		padding: 0;
	}
	.woocommerce ul.products li.product a img,
	.inside-wc-product-image { width: 100% !important; }
	.intro_desc ul li {
		font-size: 14px !important;
		padding: 2px 0 2px 25px !important;
		background-size: 17px auto !important;
	}
	.wc-block-product-categories-list li a span {
		font-size: 12px;
		padding: 3px 12px;
	}
	.single-product .product {
		margin: -120px auto 55px;
	}
}
/* ==========================================================================
   <<< [BAGIAN 2] CSS BAWAAN TEMA PURITY 6 / GENERATEPRESS - END
   ========================================================================== */

/* ==========================================================================
   >>> [BAGIAN 3] ULTRA-PREMIUM FRONT PAGE (BOOTSTRAP 5 / REACT UI INSPIRED)
   ========================================================================== */

/* 1. Canvas & Typography Reset */
body.home .site-content,
body.page-template-home-page .site-content,
body.home .site.grid-container,
body.page-template-home-page .site.grid-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.home .inside-article,
body.page-template-home-page .inside-article,
body.home .entry-content,
body.page-template-home-page .entry-content {
    padding: 0 !important;
    margin: 0 !important;
}

.ec-app-wrapper {
    width: 100%;
    overflow-x: hidden;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #1e293b;
    background-color: #ffffff;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

.ec-container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 24px;
    width: 100%;
}

.ec-section {
    padding: 90px 0;
}

.ec-bg-white { background-color: #ffffff; }
.ec-bg-light { background-color: #f8fafc; }

/* 2. SMOOTH HARDWARE-ACCELERATED ANIMATION (TANPA LAG / MACET) */
.ec-fade-left,
.ec-fade-right {
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
    backface-visibility: hidden;
}

.ec-fade-left {
    transform: translate3d(-35px, 0, 0);
}

.ec-fade-right {
    transform: translate3d(35px, 0, 0);
}

.ec-fade-left.ec-in-view,
.ec-fade-right.ec-in-view {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* 3. HEADINGS & PROPORTIONAL HUMAN FONTS */
.ec-pill-badge {
    display: inline-block;
    background: rgba(29, 161, 165, 0.18);
    color: #22b2b8;
    border: 1px solid rgba(29, 161, 165, 0.35);
    font-size: 12px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 999px;
    letter-spacing: 0.08em;
    margin-bottom: 16px;
}

.ec-kicker {
    display: inline-block;
    color: #1ba2a7;
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

/* Ukuran Judul Manusiawi yang Elegan & Pas */
.ec-headline {
    font-size: 32px;
    font-weight: 800;
    color: #10393b;
    line-height: 1.25;
    margin-bottom: 14px;
    letter-spacing: -0.015em;
}

.ec-headline-light {
    font-size: 32px;
    font-weight: 800;
    color: #ffffff;
    line-height: 1.25;
    margin-bottom: 14px;
}

.ec-section-intro {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 50px auto;
}

.ec-subhead {
    font-size: 15.5px;
    color: #64748b;
    margin: 0;
    line-height: 1.6;
}

/* 4. HERO SECTION */
.ec-hero-wrapper {
    background-color: #10393b;
    padding: 65px 0 95px 0;
    color: #ffffff;
}

.ec-hero-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 50px;
    align-items: center;
}

.ec-hero-title {
    font-size: 44px;
    font-weight: 800;
    color: #ffffff !important;
    line-height: 1.18;
    letter-spacing: -0.02em;
    margin-bottom: 18px;
}

.ec-hero-desc {
    font-size: 16.5px;
    color: #cbd5e1;
    margin-bottom: 30px;
    font-weight: 500;
}

.ec-inquiry-box {
    display: flex;
    max-width: 460px;
    background: #ffffff;
    border-radius: 12px;
    padding: 5px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25);
    margin-bottom: 18px;
}

.ec-inquiry-box input {
    flex: 1;
    border: none !important;
    background: transparent !important;
    padding: 10px 16px !important;
    font-size: 14.5px;
    color: #0f172a;
    outline: none !important;
}

.ec-btn-cyan {
    background: #1ba2a7;
    color: #ffffff !important;
    border: none;
    padding: 11px 24px;
    border-radius: 9px;
    font-weight: 700;
    font-size: 14.5px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.ec-btn-cyan:hover { background: #158f94; }

.ec-hero-subnav {
    font-size: 13.5px;
    color: #94a3b8;
}

.ec-link-cyan {
    color: #22b2b8;
    text-decoration: none;
    font-weight: 700;
    margin-left: 5px;
}

.ec-hero-img-card {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 45px -10px rgba(0, 0, 0, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.ec-img-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 5. ABOUT US (KOLASE PRESISI TINGGI) */
.ec-about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.ec-collage-wrapper {
    position: relative;
    width: 100%;
    height: 440px; /* Dikunci tinggi pastinya agar proporsional */
}

.ec-collage-main {
    position: absolute;
    top: 0;
    left: 0;
    width: 78%;
    height: 330px;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.ec-collage-sub {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 58%;
    height: 240px;
    border-radius: 18px;
    overflow: hidden;
    border: 5px solid #f8fafc;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.12);
    z-index: 2;
}

.ec-experience-badge {
    position: absolute;
    left: 15px;
    bottom: 25px;
    background: #10393b;
    color: #ffffff;
    padding: 14px 20px;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(16, 57, 59, 0.3);
    z-index: 3;
}

.ec-exp-num {
    display: block;
    font-size: 24px;
    font-weight: 800;
    color: #22b2b8;
    line-height: 1;
}

.ec-exp-lbl {
    font-size: 11px;
    font-weight: 700;
    color: #cbd5e1;
    text-transform: uppercase;
}

.ec-lead-copy {
    font-size: 15px;
    color: #475569;
    line-height: 1.75;
}

.ec-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #1ba2a7;
    color: #ffffff !important;
    text-decoration: none;
    font-size: 14.5px;
    font-weight: 700;
    padding: 12px 28px;
    border-radius: 9px;
    box-shadow: 0 6px 16px rgba(27, 162, 167, 0.25);
    transition: all 0.25s ease;
    margin-top: 20px;
}

.ec-btn-primary:hover {
    background: #158f94;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(27, 162, 167, 0.35);
}

/* 6. SMOOTH ACCORDION (VISION & PARTNERSHIP & FAQ) */
.ec-vision-grid,
.ec-faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 55px;
    align-items: center;
}

.ec-vision-img-box {
    height: 400px;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.ec-smooth-accordion {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ec-acc-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ec-acc-card.active {
    background: #ffffff;
    border-color: #1ba2a7;
    box-shadow: 0 8px 20px rgba(27, 162, 167, 0.06);
}

.ec-acc-header {
    padding: 16px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Font Accordion Manusiawi (15px - 16px) */
.ec-acc-header h3 {
    font-size: 15px;
    font-weight: 700;
    color: #10393b;
    margin: 0;
}

.ec-acc-icon {
    width: 18px;
    height: 18px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ec-acc-icon::before,
.ec-acc-icon::after {
    content: '';
    position: absolute;
    background-color: #1ba2a7;
    transition: transform 0.2s ease;
}

.ec-acc-icon::before { width: 12px; height: 2px; }
.ec-acc-icon::after { width: 2px; height: 12px; }

.ec-acc-card.active .ec-acc-icon::after {
    transform: rotate(90deg);
    opacity: 0;
}

.ec-acc-content {
    max-height: 0;
    overflow: hidden;
    padding: 0 20px;
    color: #475569;
    font-size: 14.5px;
    line-height: 1.65;
    transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1), padding 0.25s ease;
}

.ec-acc-card.active .ec-acc-content {
    max-height: 480px;
    padding: 0 20px 18px 20px;
}

.ec-bullet-list {
    margin: 0;
    padding-left: 18px;
}

.ec-bullet-list li { margin-bottom: 6px; }

.ec-highlight-box {
    background: #f0fdfa;
    border-left: 3px solid #1ba2a7;
    padding: 10px 14px;
    margin: 10px 0;
    color: #10393b;
    font-size: 14px;
}

/* 7. WHY PARTNER CARDS */
.ec-features-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.ec-feature-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 28px 20px;
    text-align: left;
    transition: all 0.25s ease;
}

.ec-feature-card:hover {
    transform: translateY(-5px);
    border-color: #1ba2a7;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.05);
}

.ec-card-icon-wrap {
    width: 60px;
    height: 60px;
    background: #f0fdfa;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}

.ec-feature-card h4 {
    font-size: 16.5px;
    font-weight: 700;
    color: #10393b;
    margin-bottom: 10px;
}

.ec-feature-card p {
    font-size: 13.5px;
    color: #64748b;
    line-height: 1.6;
    margin: 0;
}

/* 8. PRODUCT SHOWCASE GRID & CARDS */
.ec-products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
}

.ec-prod-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.25s ease;
}

.ec-prod-card:hover {
    transform: translateY(-4px);
    border-color: #1ba2a7;
    box-shadow: 0 16px 32px rgba(27, 162, 167, 0.1);
}

.ec-prod-media {
    position: relative;
    height: 200px;
}

.ec-badge-tag {
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(16, 57, 59, 0.85);
    backdrop-filter: blur(6px);
    color: #ffffff;
    font-size: 11.5px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 50px;
}

.ec-prod-content {
    padding: 20px;
}

.ec-prod-content h3 {
    font-size: 17px;
    font-weight: 800;
    color: #10393b;
    margin: 0 0 3px 0;
}

.ec-latin-name {
    display: block;
    font-size: 12.5px;
    color: #1ba2a7;
    font-style: italic;
    margin-bottom: 10px;
}

.ec-prod-content p {
    font-size: 13.5px;
    color: #64748b;
    margin-bottom: 16px;
    line-height: 1.55;
}

.ec-view-btn {
    background: transparent;
    border: none;
    color: #1ba2a7;
    font-weight: 700;
    font-size: 13.5px;
    padding: 0;
    cursor: pointer;
    transition: color 0.2s;
}

.ec-view-btn:hover { color: #158f94; text-decoration: underline; }

/* 9. MODAL POPUP PRODUK LENGKAP */
.ec-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(16, 57, 59, 0.7);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.ec-modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.ec-modal-container {
    background: #ffffff;
    border-radius: 18px;
    max-width: 960px;
    width: 100%;
    max-height: 88vh;
    overflow: hidden;
    position: relative;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35);
    display: flex;
    flex-direction: column;
}

.ec-modal-close {
    position: absolute;
    top: 14px;
    right: 18px;
    background: #f1f5f9;
    border: none;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    font-size: 22px;
    cursor: pointer;
    color: #475569;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: all 0.2s;
}

.ec-modal-close:hover { background: #e2e8f0; color: #000; }

.ec-modal-body {
    padding: 30px;
    overflow-y: auto;
}

.ec-modal-header {
    margin-bottom: 20px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 15px;
}

.ec-modal-latin {
    font-size: 13px;
    color: #1ba2a7;
    font-style: italic;
    font-weight: 600;
}

.ec-modal-title {
    font-size: 26px;
    font-weight: 800;
    color: #10393b;
    margin: 4px 0;
}

.ec-modal-subtitle {
    font-size: 14.5px;
    color: #64748b;
    margin: 0;
}

.ec-modal-grid {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 30px;
}

.ec-modal-main-img {
    height: 250px;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 12px;
}

.ec-modal-thumbs {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.ec-thumb {
    width: 70px;
    height: 50px;
    object-fit: cover;
    border-radius: 6px;
    cursor: pointer;
    border: 2px solid transparent;
    opacity: 0.6;
    transition: all 0.2s;
}

.ec-thumb.active {
    opacity: 1;
    border-color: #1ba2a7;
}

.ec-btn-modal-wa {
    width: 100%;
    background: #25d366;
    color: #ffffff;
    border: none;
    padding: 13px 18px;
    font-weight: 700;
    font-size: 14px;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.2s;
}

.ec-btn-modal-wa:hover { background: #1ebd5a; }

.ec-modal-details-scroll {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ec-modal-sec h4 {
    font-size: 15.5px;
    font-weight: 700;
    color: #10393b;
    border-bottom: 2px solid #f0fdfa;
    padding-bottom: 6px;
    margin-bottom: 10px;
}

.ec-modal-sec p {
    font-size: 14px;
    color: #475569;
    line-height: 1.65;
    margin: 0;
}

.ec-modal-list {
    margin: 0;
    padding-left: 18px;
    font-size: 14px;
    color: #475569;
}

.ec-modal-list li { margin-bottom: 6px; }

.ec-spec-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;
}

.ec-spec-table th,
.ec-spec-table td {
    padding: 8px 12px;
    border-bottom: 1px solid #f1f5f9;
    text-align: left;
}

.ec-spec-table th {
    color: #10393b;
    font-weight: 700;
    width: 38%;
    background: #f8fafc;
}

.ec-market-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ec-market-pill {
    background: #f0fdfa;
    color: #10393b;
    border: 1px solid #ccfbf1;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 50px;
}

/* 10. EXECUTIVE TEAM */
.ec-team-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    max-width: 760px;
    margin: 0 auto;
}

.ec-exec-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 30px 24px;
    text-align: center;
    transition: transform 0.25s ease;
}

.ec-exec-card:hover {
    transform: translateY(-4px);
    border-color: #1ba2a7;
}

.ec-exec-avatar-box {
    width: 105px;
    height: 105px;
    border-radius: 50%;
    margin: 0 auto 16px auto;
    overflow: hidden;
    border: 3px solid #f0fdfa;
}

.ec-exec-body h4 {
    font-size: 19px;
    font-weight: 800;
    color: #10393b;
    margin: 0 0 3px 0;
}

.ec-exec-title {
    font-size: 13px;
    font-weight: 700;
    color: #1ba2a7;
}

.ec-exec-line {
    width: 36px;
    height: 2px;
    background: #e2e8f0;
    margin: 14px auto;
}

.ec-exec-body p {
    font-size: 13.5px;
    color: #64748b;
    margin-bottom: 18px;
}

.ec-exec-social {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.ec-exec-social a {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #10393b;
    text-decoration: none;
    font-weight: bold;
    font-size: 13px;
    transition: all 0.2s ease;
}

.ec-exec-social a:hover {
    background: #1ba2a7;
    color: #ffffff;
}

/* 11. TESTIMONIAL */
.ec-testimonial-center {
    max-width: 680px;
    margin: 0 auto;
    text-align: center;
}

.ec-quote-pill {
    width: 48px;
    height: 48px;
    background: #f0fdfa;
    color: #1ba2a7;
    font-size: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px auto;
}

.ec-testi-text {
    font-size: 19px;
    font-style: italic;
    color: #1e293b;
    margin-bottom: 18px;
    line-height: 1.55;
}

.ec-testi-client strong {
    display: block;
    font-size: 15.5px;
    color: #10393b;
}

.ec-testi-client span {
    font-size: 12.5px;
    color: #94a3b8;
}

/* 12. WHATSAPP DIRECT ORDER FORM SECTION */
.ec-order-section {
    background: #10393b;
    color: #ffffff;
}

.ec-order-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 50px;
    align-items: center;
}

.ec-order-subtext {
    color: #cbd5e1;
    font-size: 15px;
    margin-bottom: 26px;
}

.ec-contact-quick-points {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ec-qp-item strong {
    display: block;
    color: #22b2b8;
    font-size: 13.5px;
}

.ec-qp-item span {
    color: #ffffff;
    font-size: 14.5px;
}

.ec-order-card {
    background: #ffffff;
    border-radius: 18px;
    padding: 34px;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3);
    color: #1e293b;
}

.ec-form-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.ec-input-box {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 16px;
}

.ec-input-box label {
    font-size: 12.5px;
    font-weight: 700;
    color: #475569;
}

.ec-input-box input,
.ec-input-box select,
.ec-input-box textarea {
    width: 100%;
    padding: 11px 14px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    font-size: 13.5px;
    color: #0f172a;
    outline: none !important;
    transition: all 0.2s ease;
}

.ec-input-box input:focus,
.ec-input-box select:focus,
.ec-input-box textarea:focus {
    border-color: #1ba2a7 !important;
    background: #ffffff !important;
}

.ec-btn-submit-wa {
    width: 100%;
    background: #25d366;
    color: #ffffff;
    border: none;
    padding: 14px 20px;
    font-size: 15px;
    font-weight: 800;
    border-radius: 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.3);
    transition: all 0.25s ease;
}

.ec-btn-submit-wa:hover {
    background: #20ba5a;
    transform: translateY(-2px);
}

/* ==========================================================================
   RESPONSIVE LAYOUT
   ========================================================================== */
@media (max-width: 1024px) {
    .ec-hero-grid,
    .ec-about-grid,
    .ec-vision-grid,
    .ec-faq-grid,
    .ec-order-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .ec-features-grid { grid-template-columns: repeat(2, 1fr); }
    .ec-products-grid { grid-template-columns: repeat(2, 1fr); }

    .ec-hero-title { font-size: 36px; }
    .ec-headline { font-size: 28px; }

    .ec-collage-wrapper { height: 320px; }
    .ec-collage-main { width: 100%; height: 260px; }
    .ec-collage-sub, .ec-experience-badge { display: none; }

    .ec-modal-grid { grid-template-columns: 1fr; }
    .ec-modal-main-img { height: 200px; }
}

@media (max-width: 640px) {
    .ec-features-grid,
    .ec-products-grid,
    .ec-team-row,
    .ec-form-2col {
        grid-template-columns: 1fr;
    }

    .ec-hero-title { font-size: 28px; }
    .ec-order-card { padding: 20px 16px; }
    .ec-btn-submit-wa { font-size: 13.5px; }
}
/* ==========================================================================
   <<< [BAGIAN 3] ULTRA-PREMIUM FRONT PAGE - END
   ========================================================================== */