/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.3
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Montserrat+Alternates:wght@400;500;600;700&display=swap');

.entry-content {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
}

.absolute-footer {
    display: none;
}

.products .box-excerpt,
.products .box-text-products > .box-excerpt ~ p {
    display: none !important;
}

/* --- Footer Flatsome to Match Kadence --- */

/* Footer Section Background */
.section.xc-footer {
    background: linear-gradient(135deg, rgb(25,17,33) 6%, #1c1025 93%);
    color: #fff;
}
.section.xc-footer p,
.section.xc-footer li,
.section.xc-footer .icon-box-text,
.section.xc-footer .text {
    font-size: 15px;
    line-height: 1.9;
    color: #fff;
}

.section.xc-footer a {
    color: #fff;
}
.section.xc-footer a:hover {
    color: #6d2777;
}

/* 1. Row Info (Top Footer) */
.xc-footer .row-info {
    padding-top: 60px;
    padding-bottom: 30px;
}
@media (min-width: 850px) {
    .xc-footer .row-info {
        padding-top: 90px;
        padding-bottom: 60px;
    }
}
/* Logo */
.xc-footer .footer-logo {
    margin-bottom: 15px;
    max-width: 250px;
}

/* Flag Icon Box */
.xc-footer .icon-box.flag {
    align-items: center;
    margin-bottom: 30px;
    margin-top: 20px;
}
.xc-footer .icon-box.flag .icon-box-img {
    margin-right: 15px;
    margin-bottom: 0;
}
.xc-footer .icon-box.flag .icon-box-text p {
    margin-bottom: 0;
    font-weight: 500;
}

/* Widget Title */
.xc-footer .widget-title, .xc-footer .ux-menu-title, .xc-footer .xc-widget-title {
    font-size: 15px;
    font-weight: normal;
    text-transform: uppercase;
    margin-bottom: 20px;
    color: #fff;
    border: none !important;
}

/* Email text */
.xc-footer .text.email,
.xc-footer .text.email *,
.xc-footer .text.email p,
.xc-footer .text.email a {
    border: none !important;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
    border-width: 0 !important;
    border-style: none !important;
}
.xc-footer .text.email p {
    display: inline-flex;
    align-items: center;
    padding: 5px 15px 5px 24px;
    position: relative;
}
.xc-footer .text.email p::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg fill='%23ffffff' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 2h-14c-0.55 0-1 0.45-1 1v10c0 0.55 0.45 1 1 1h14c0.55 0 1-0.45 1-1v-10c0-0.55-0.45-1-1-1zM5.831 9.773l-3 2.182c-0.1 0.073-0.216 0.108-0.33 0.108-0.174 0-0.345-0.080-0.455-0.232-0.183-0.251-0.127-0.603 0.124-0.786l3-2.182c0.251-0.183 0.603-0.127 0.786 0.124s0.127 0.603-0.124 0.786zM13.955 11.831c-0.11 0.151-0.282 0.232-0.455 0.232-0.115 0-0.23-0.035-0.33-0.108l-3-2.182c-0.251-0.183-0.307-0.534-0.124-0.786s0.535-0.307 0.786-0.124l3 2.182c0.251 0.183 0.307 0.535 0.124 0.786zM13.831 4.955l-5.5 4c-0.099 0.072-0.215 0.108-0.331 0.108s-0.232-0.036-0.331-0.108l-5.5-4c-0.251-0.183-0.307-0.534-0.124-0.786s0.535-0.307 0.786-0.124l5.169 3.759 5.169-3.759c0.251-0.183 0.603-0.127 0.786 0.124s0.127 0.603-0.124 0.786z'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

/* Footer Menus */
.xc-footer .footer-menu .ux-menu-link {
    padding: 0;
    margin-bottom: 10px;
}
.xc-footer .footer-menu .ux-menu-link__link {
    padding: 0;
    text-transform: none;
    font-weight: normal;
    border: none;
}
.xc-footer .footer-menu .ux-menu-link__text {
    font-size: 15px;
    color: #fff;
}
.xc-footer .footer-menu .ux-menu-link:hover .ux-menu-link__text {
    color: #6d2777;
}

/* Shipping Details / Delivery / Time Icon Boxes */
.xc-footer .icon-box.delivery,
.xc-footer .icon-box.time {
    margin-bottom: 20px;
}
.xc-footer .icon-box.delivery h3,
.xc-footer .icon-box.time h3 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
    color: #fff;
}
.xc-footer .icon-box.delivery p,
.xc-footer .icon-box.time p {
    font-size: 14px;
    opacity: 0.85;
    line-height: 1.4;
    margin-bottom: 0;
}
.xc-footer .icon-box.delivery .icon-box-text,
.xc-footer .icon-box.time .icon-box-text {
    padding-left: 32px;
    position: relative;
}
.xc-footer .icon-box.delivery .icon-box-text::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'%3E%3C/path%3E%3Cpolyline points='3.27 6.96 12 12.01 20.73 6.96'%3E%3C/polyline%3E%3Cline x1='12' y1='22.08' x2='12' y2='12'%3E%3C/line%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}
.xc-footer .icon-box.time .icon-box-text::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

/* 2. Row Join (Middle Footer - Newsletter) */
.xc-footer .row-join {
    padding-top: 30px;
    padding-bottom: 30px;
    align-items: center;
}
.xc-footer .row-join .sub-title {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7) !important;
    margin-bottom: 1.5rem;
}
.xc-footer .row-join .sub-title::before {
    content: "";
    display: inline-block;
    width: 0.45rem;
    height: 0.45rem;
    background: #b97cc4;
    transform: rotate(45deg);
}
.xc-footer .row-join h3 {
    font-size: clamp(2.25rem, 5vw, 3.75rem);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0 0 1rem 0;
    color: #ffffff !important;
}
.xc-footer .row-join p {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.7) !important;
    line-height: 1.55;
    margin: 0;
    max-width: 30rem;
}

/* Form Subscribe within row-join */
.xc-footer .row-join .wpcf7 {
    display: flex;
    flex-direction: column;
}
.xc-footer .row-join .xc-form-subscribe {
    display: flex;
    align-items: stretch;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    overflow: hidden;
    padding: 0.4rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    margin-bottom: 15px;
}
.xc-footer .row-join .xc-form-subscribe:focus-within {
    border-color: rgba(185, 124, 196, 0.6);
    box-shadow: 0 0 0 3px rgba(111, 50, 124, 0.2);
}

/* CF7 Form fixes */
.xc-footer .row-join .xc-form-subscribe .wpcf7-form-control-wrap {
    flex-grow: 1;
    display: flex;
}
.xc-footer .row-join .xc-form-subscribe input[type="email"] {
    width: 100%;
    border: none !important;
    padding: 0.85rem 1.25rem;
    font-size: 0.95rem;
    color: #ffffff !important;
    outline: none;
    background: transparent !important;
    margin: 0;
    box-shadow: none !important;
}
.xc-footer .row-join .xc-form-subscribe input[type="submit"] {
    background-color: #6f327c !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0 1.5rem;
    font-size: 0.9rem;
    font-weight: 400;
    cursor: pointer;
    transition: background-color 0.2s ease;
    margin: 0 !important;
    border-radius: 999px !important;
    text-transform: none;
    white-space: nowrap;
    min-height: 2.75rem;
}
.xc-footer .row-join .xc-form-subscribe input[type="submit"]:hover {
    background-color: #552460 !important;
}
/* hide the CF7 spinner or make it inline without breaking layout */
.xc-footer .row-join .xc-form-subscribe .wpcf7-spinner {
    position: absolute;
    right: 15px;
    margin: 0;
}

.xc-footer .row-join .col:last-child p:last-child {
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.55) !important;
    line-height: 1.4;
    max-width: 100%;
}

/* 3. Row Copyright (Bottom Footer) */
.xc-footer .row-copyright {
    padding-top: 30px;
    padding-bottom: 30px;
    border-top: 1px solid rgba(237, 242, 247, 0.15);
}
.xc-footer .row-copyright p {
    font-size: 12px;
    color: #bdbdbd !important;
    line-height: 1.6;
}
.xc-footer .row-copyright a {
    color: #301639;
    text-decoration: underline;
}
.xc-footer .row-copyright a:hover {
    color: #1c1025;
}
.xc-footer .dmca {
    margin-top: 15px;
}
.xc-footer .dmca img {
    max-width: 135px;
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/
    .xc-footer .row-join .xc-form-subscribe {
        flex-direction: column;
        border-radius: 12px;
        padding: 0.5rem;
        gap: 0.5rem;
        border: none;
        background: transparent;
    }
    .xc-footer .row-join .xc-form-subscribe input[type="email"] {
        padding: 0.85rem 1rem;
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.04) !important;
    }
    .xc-footer .row-join .xc-form-subscribe input[type="submit"] {
        width: 100%;
        padding: 0.85rem 1rem;
        border-radius: 8px !important;
    }
}

/* --- Header Flatsome to Match Kadence --- */

/* 1. Top Bar */
#top-bar {
    background-color: rgb(25, 17, 33) !important;
}
#top-bar .html_topbar_left, 
#top-bar .html_topbar_right {
    color: #ffffff;
    font-size: 11px;
    font-weight: 500;
    line-height: 2.73;
    letter-spacing: -0.018em;
}
@media (max-width: 767px) {
    #top-bar {
        background-color: rgb(0, 0, 0) !important;
    }
    #top-bar .html_topbar_left, 
    #top-bar .html_topbar_right {
        font-size: 10px;
        line-height: 1.2;
    }
}

/* 2. Main Header */
.header-main {
    background-color: #ffffff !important;
}

@media (min-width: 768px) {
    #logo img { max-width: 180px; }
}
@media (max-width: 767px) {
    #logo img { max-width: 114px; }
}

/* Search Form (Pill shape, FiboSearch style) */
.header-search-form form.searchform {
    background-color: #eeeeee;
    border-radius: 30px;
}
.header-search-form form.searchform .flex-row {
    flex-direction: row-reverse;
}
.header-search-form input.search-field {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #111;
    padding: 13px 24px 13px 15px;
    font-size: 15px;
}
.header-search-form input.search-field:focus {
    box-shadow: none !important;
    background: transparent !important;
}
.header-search-form button.submit-button {
    background: transparent !important;
    color: #111 !important;
    border: none !important;
    box-shadow: none !important;
}
.header-search-form button.submit-button:hover {
    background: #e4e4e4 !important;
    border-radius: 50%;
}

/* Account & Cart Icons */
.header-main .nav-top-link {
    color: #1c1025 !important;
}
.header-main .nav-top-link:hover {
    color: #6d2777 !important;
}
.header-account-title {
    font-size: 16px;
    font-weight: 400;
    text-transform: capitalize;
    margin-left: 5px;
}

/* Cart Badge */
.header-cart-title {
    display: none !important;
}
.cart-icon strong {
    background-color: #6d2777 !important;
    color: #ffffff !important;
    border: 2px solid #6d2777 !important;
    border-radius: 50% !important;
}
.cart-icon:hover strong {
    background-color: #ffffff !important;
    color: #6d2777 !important;
}
.cart-icon strong::after {
    display: none !important; 
}

/* 3. Bottom Header (Wide Nav) */
.header-bottom {
    background-color: #ffffff !important;
    border-bottom: 1.5px solid rgb(226, 226, 226) !important;
}
.header-bottom-nav > li > a {
    color: rgb(45, 55, 72) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    text-transform: none !important;
}
.header-bottom-nav > li > a:hover {
    color: #6d2777 !important;
}

/* Mobile specific menu icon */
.mobile-nav.nav > li > a {
    color: #2d3748 !important;
}
.mobile-nav.nav > li > a:hover {
    color: #6d2777 !important;
}

/* ==========================================================================
   CONTACT PAGE STYLES (MATCH ORIGINAL KADENCE DESIGN)
   ========================================================================== */

/* --- 1. Section Hero & Support Info (.xc-contact-hero) --- */
.xc-contact-hero h2 {
    font-size: clamp(2rem, 3.5vw, 3rem);
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    color: #1c1025;
    margin-bottom: 1.5rem;
}

.xc-contact-hero .row:nth-child(2) .col:first-child .col-inner {
    padding: 40px;
    background-color: #F7FAFC;
    border-radius: 4px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.xc-contact-hero .row:nth-child(2) .col:first-child h3 {
    font-size: 24px;
    font-weight: 500;
    text-align: center;
    color: #1c1025;
    margin-bottom: 15px;
}

.xc-contact-hero .row:nth-child(2) .col:first-child p {
    font-size: 18px;
    line-height: 1.8;
    text-align: center;
    color: #1c1025;
    margin-bottom: 0;
}

.xc-contact-hero .row:nth-child(2) .col:last-child .col-inner {
    padding: 40px;
    border: 0.5px solid #718096;
    box-shadow: rgba(0, 0, 0, 0.12) 0px 4px 14px 0px;
    border-radius: 4px;
    background-color: #ffffff;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.xc-contact-hero .contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.xc-contact-hero .contact-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: #4A5568;
}

.xc-contact-hero .contact-list li a {
    color: #4A5568;
    text-decoration: none;
}

.xc-contact-hero .contact-list li a:hover {
    color: #6d2777;
}

.xc-contact-hero .contact-list li::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    min-width: 22px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-top: 2px;
}

/* Icons for contact list */
.xc-contact-hero .contact-list li:nth-child(1)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236d2777' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'%3E%3C/path%3E%3Cpolyline points='22,6 12,13 2,6'%3E%3C/polyline%3E%3C/svg%3E");
}

.xc-contact-hero .contact-list li:nth-child(2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236d2777' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E");
}

.xc-contact-hero .contact-list li:nth-child(3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236d2777' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'%3E%3C/path%3E%3C/svg%3E");
}

.xc-contact-hero .contact-list li:nth-child(4)::before,
.xc-contact-hero .contact-list li:nth-child(5)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236d2777' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
}

/* --- 2. Section Procurement Tabs (.xc-contact-infomation) --- */
.xc-contact-infomation h2 {
    font-size: 2rem;
    font-weight: 500;
    color: #1c1025;
    margin-bottom: 2.5rem;
    text-align: left;
}

.xc-contact-infomation .tabbed-content .nav {
    border-bottom: 1px solid #1A202C;
    gap: 3rem;
}

.xc-contact-infomation .tabbed-content .nav > li {
    margin: 0;
}

.xc-contact-infomation .tabbed-content .nav > li > a {
    font-size: 18px;
    font-weight: 500;
    color: #1A202C;
    text-transform: none !important;
    padding: 1.2rem 0;
    border-bottom: 4px solid transparent;
    margin-bottom: -1px;
    background: transparent !important;
}

.xc-contact-infomation .tabbed-content .nav-line > li > a::before {
    display: none !important;
}

.xc-contact-infomation .tabbed-content .nav > li.active > a,
.xc-contact-infomation .tabbed-content .nav > li > a:hover {
    border-bottom-color: #1A202C;
    color: #1A202C;
}

.xc-contact-infomation .tab-panels {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
}

.xc-contact-infomation .tab-panels .panel h3 {
    font-size: clamp(2rem, 3.5vw, 2.75rem);
    font-weight: 500;
    line-height: 1.2;
    color: #1c1025;
    margin-bottom: 1.5rem;
}

.xc-contact-infomation .tab-panels .panel p {
    font-size: 16px;
    line-height: 1.9;
    color: #1c1025;
    margin-bottom: 1.5rem;
}

.xc-contact-infomation .tab-panels .panel p a {
    color: #6d2777;
    text-decoration: underline;
}

.xc-contact-infomation .ul-icon {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.xc-contact-infomation .ul-icon li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 0;
    font-size: 16px;
    line-height: 1.8;
    color: #1c1025;
}

.xc-contact-infomation .ul-icon li a {
    color: #6d2777;
    text-decoration: underline;
}

.xc-contact-infomation .ul-icon li::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    min-width: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%231c1025' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-top: 4px;
}

/* --- 3. Section Contact Form (.xc-contact-form) --- */
.xc-contact-form .row {
    max-width: 700px;
}

.xc-contact-form .text h3 {
    font-size: 28px;
    font-weight: 500;
    line-height: 1.3;
    color: #1c1025;
    margin-bottom: 12px;
    text-align: center;
}

.xc-contact-form .text p {
    font-size: 16px;
    line-height: 1.8;
    color: #1c1025;
    margin-bottom: 35px;
    text-align: center;
}

.xc-contact-form .wpcf7 form {
    max-width: 700px;
    margin: 0 auto;
}

.xc-contact-page-contact {
    display: flex;
    flex-direction: column;
}

.xc-contact-page-contact .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

.xc-contact-page-contact p {
    margin-bottom: 0;
}

.xc-contact-form .wpcf7 input[type="text"],
.xc-contact-form .wpcf7 input[type="email"],
.xc-contact-form .wpcf7 textarea {
    width: 100%;
    border: 1px solid #818a91 !important;
    background-color: #ffffff !important;
    color: #373a3c !important;
    padding: 10px 14px !important;
    border-radius: 3px !important;
    font-size: 16px !important;
    margin-bottom: 16px !important;
    box-shadow: none !important;
    min-height: 44px;
}

.xc-contact-form .wpcf7 textarea {
    min-height: 120px;
}

.xc-contact-form .wpcf7 input:focus,
.xc-contact-form .wpcf7 textarea:focus {
    border-color: #6d2777 !important;
    box-shadow: 0 0 0 1px #6d2777 !important;
}

.xc-contact-form .wpcf7 input[type="submit"],
.xc-contact-form .wpcf7 button[type="submit"],
.xc-contact-form .wpcf7 .button {
    width: 100%;
    background-color: #6d2777 !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.8 !important;
    padding: 8px 16px !important;
    border-radius: 3px !important;
    border: none !important;
    cursor: pointer;
    text-transform: none !important;
    transition: background-color 0.3s ease;
    margin-top: 5px;
}

.xc-contact-form .wpcf7 input[type="submit"]:hover,
.xc-contact-form .wpcf7 button[type="submit"]:hover,
.xc-contact-form .wpcf7 .button:hover {
    background-color: #301639 !important;
}

/* --- 4. Section FAQs (.xc-contact-faqs) --- */
.xc-contact-faqs h2 {
    font-size: 30px;
    font-weight: 500;
    color: #1c1025;
    text-align: center;
    margin-bottom: 30px;
}

.xc-contact-faqs .accordion {
    border-bottom: 1px solid #718096;
}

.xc-contact-faqs .accordion-item {
    margin-bottom: 0;
}

.xc-contact-faqs .accordion-title {
    border-top: 1px solid #718096;
    border-bottom: none;
    background: #ffffff;
    padding: 20px 16px;
    font-size: 16px;
    font-weight: 500;
    color: #1A202C;
    text-transform: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
    transition: color 0.2s ease, border-color 0.2s ease;
}

.xc-contact-faqs .accordion-title:hover {
    color: #2D3748;
}

.xc-contact-faqs .accordion-title .toggle {
    position: static;
    margin: 0;
    width: 24px;
    height: 24px;
    min-width: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    border: none;
    background: transparent;
    color: #1A202C;
}

.xc-contact-faqs .accordion-title .toggle i {
    font-size: 16px;
    transition: transform 0.25s ease;
}

.xc-contact-faqs .accordion-title.active .toggle i {
    transform: rotate(180deg);
}

.xc-contact-faqs .accordion-inner {
    padding: 10px 16px 25px;
    font-size: 16px;
    line-height: 1.85;
    color: #1c1025;
    background: #ffffff;
}

.xc-contact-faqs .accordion-inner p {
    margin-bottom: 15px;
    font-size: 16px;
    line-height: 1.85;
}

.xc-contact-faqs .accordion-inner p:last-child {
    margin-bottom: 0;
}

.xc-contact-faqs .accordion-inner a {
    color: #6d2777;
    text-decoration: underline;
}

.xc-contact-faqs .row:last-child {
    margin-top: 35px;
}

.xc-contact-faqs .row:last-child .col-inner {
    text-align: center;
}

.xc-contact-faqs a.button {
    background-color: #6d2777 !important;
    color: #ffffff !important;
    border-radius: 30px !important;
    padding: 10px 32px !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    border: none !important;
    display: inline-block;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.xc-contact-faqs a.button:hover {
    background-color: #301639 !important;
    transform: translateY(-2px);
}

/* --- 5. Section Third-Party Banner (.xc-contact-third-party) --- */
.xc-contact-third-party .col-inner {
    border-radius: 30px;
    background-image: linear-gradient(135deg, rgb(250, 250, 250) 0%, rgb(250, 250, 250) 60%, rgba(218, 218, 218, 0.5) 99%);
    border: 1px solid rgba(0, 0, 0, 0.05);
    padding: 40px 60px;
    text-align: center;
}

.xc-contact-third-party h3 {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 600;
    line-height: 1.2;
    color: #1c1025;
    margin-bottom: 16px;
    text-align: center;
}

.xc-contact-third-party p {
    font-size: 16px;
    line-height: 1.8;
    color: #1c1025;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

/* --- Responsive Adjustments --- */
@media (max-width: 767px) {
    .xc-contact-hero .row:nth-child(2) .col:first-child .col-inner,
    .xc-contact-hero .row:nth-child(2) .col:last-child .col-inner {
        padding: 24px 16px;
    }
    .xc-contact-infomation .tabbed-content .nav {
        gap: 1.2rem;
    }
    .xc-contact-infomation .tabbed-content .nav > li > a {
        font-size: 16px;
        padding: 0.8rem 0;
    }
    .xc-contact-infomation .tab-panels {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
    .xc-contact-third-party .col-inner {
        padding: 24px 20px;
        border-radius: 20px;
    }
}




/* Fix Search Form Width and Icon */
.header-main .flex-col.flex-left.flex-grow > .nav-left {
    width: 100%;
}
.header-search-form.search-form {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}
.header-search-form-wrapper {
    width: 100%;
}
.header-search-form button.submit-button {
    padding-left: 20px !important;
    padding-right: 10px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.header-search-form button.submit-button i {
    font-size: 18px !important;
    color: #111;
}

/* Fix Cart Icon SVG — hide original Flatsome <i>, use Kadence SVG via ::before */
.header-cart-link {
    display: inline-flex !important;
    align-items: center;
}
.header-cart-link > i.icon-shopping-basket {
    display: none !important;
}
.header-cart-link::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 5px;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 21c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM22 21c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM7.221 7h14.57l-1.371 7.191c-0.046 0.228-0.166 0.425-0.332 0.568-0.18 0.156-0.413 0.246-0.688 0.241h-9.734c-0.232 0.003-0.451-0.071-0.626-0.203-0.19-0.143-0.329-0.351-0.379-0.603zM1 2h3.18l0.848 4.239c0.108 0.437 0.502 0.761 0.972 0.761h1.221l-0.4-2h-0.821c-0.552 0-1 0.448-1 1 0 0.053 0.004 0.105 0.012 0.155 0.004 0.028 0.010 0.057 0.017 0.084l1.671 8.347c0.149 0.751 0.57 1.383 1.14 1.811 0.521 0.392 1.17 0.613 1.854 0.603h9.706c0.748 0.015 1.455-0.261 1.995-0.727 0.494-0.426 0.848-1.013 0.985-1.683l1.602-8.402c0.103-0.543-0.252-1.066-0.795-1.17-0.065-0.013-0.13-0.019-0.187-0.018h-16.18l-0.84-4.196c-0.094-0.462-0.497-0.804-0.98-0.804h-4c-0.552 0-1 0.448-1 1s0.448 1 1 1z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 21c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM22 21c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM7.221 7h14.57l-1.371 7.191c-0.046 0.228-0.166 0.425-0.332 0.568-0.18 0.156-0.413 0.246-0.688 0.241h-9.734c-0.232 0.003-0.451-0.071-0.626-0.203-0.19-0.143-0.329-0.351-0.379-0.603zM1 2h3.18l0.848 4.239c0.108 0.437 0.502 0.761 0.972 0.761h1.221l-0.4-2h-0.821c-0.552 0-1 0.448-1 1 0 0.053 0.004 0.105 0.012 0.155 0.004 0.028 0.010 0.057 0.017 0.084l1.671 8.347c0.149 0.751 0.57 1.383 1.14 1.811 0.521 0.392 1.17 0.613 1.854 0.603h9.706c0.748 0.015 1.455-0.261 1.995-0.727 0.494-0.426 0.848-1.013 0.985-1.683l1.602-8.402c0.103-0.543-0.252-1.066-0.795-1.17-0.065-0.013-0.13-0.019-0.187-0.018h-16.18l-0.84-4.196c-0.094-0.462-0.497-0.804-0.98-0.804h-4c-0.552 0-1 0.448-1 1s0.448 1 1 1z'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
}
.cart-item .cart-icon {
    display: inline-flex;
    align-items: center;
}
.cart-icon strong {
    width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    font-size: 11px !important;
    border: none !important;
}

/* Fix Account Icon SVG */
.account-link {
    display: inline-flex !important;
    align-items: center;
}
.account-link::before {
    content: "";
    display: inline-block;
    width: 28px;
    height: 28px;
    margin-right: 5px;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M23.797 20.922c-0.406-2.922-1.594-5.516-4.25-5.875-1.375 1.5-3.359 2.453-5.547 2.453s-4.172-0.953-5.547-2.453c-2.656 0.359-3.844 2.953-4.25 5.875 2.172 3.063 5.75 5.078 9.797 5.078s7.625-2.016 9.797-5.078zM20 10c0-3.313-2.688-6-6-6s-6 2.688-6 6 2.688 6 6 6 6-2.688 6-6zM28 14c0 7.703-6.25 14-14 14-7.734 0-14-6.281-14-14 0-7.734 6.266-14 14-14s14 6.266 14 14z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M23.797 20.922c-0.406-2.922-1.594-5.516-4.25-5.875-1.375 1.5-3.359 2.453-5.547 2.453s-4.172-0.953-5.547-2.453c-2.656 0.359-3.844 2.953-4.25 5.875 2.172 3.063 5.75 5.078 9.797 5.078s7.625-2.016 9.797-5.078zM20 10c0-3.313-2.688-6-6-6s-6 2.688-6 6 2.688 6 6 6 6-2.688 6-6zM28 14c0 7.703-6.25 14-14 14-7.734 0-14-6.281-14-14 0-7.734 6.266-14 14-14s14 6.266 14 14z'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
}
.account-link.has-icon i {
    display: none !important;
}

/* --- Section Highlights / Feature Boxes (xc-home-strong) --- */
.xc-home-strong .col-inner {
    height: 100%;
}

.xc-home-strong .icon-box {
    padding: 16px 12px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: transparent;
    border: none;
    box-shadow: none;
}

.xc-home-strong .icon-box::before {
    content: "";
    display: block;
    width: 50px;
    height: 50px;
    margin: 0 auto 16px;
    background-color: #1c1025;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.xc-home-strong .icon-box:hover::before {
    background-color: #6d2777;
    transform: translateY(-2px);
}

/* Icon 1: Truck (Free Shipping) */
.xc-home-strong .box-1::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='3' width='15' height='13'/%3E%3Cpolygon points='16 8 20 8 23 11 23 16 16 16 8'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='3' width='15' height='13'/%3E%3Cpolygon points='16 8 20 8 23 11 23 16 16 16 8'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E");
}

/* Icon 2: Check Square (Ships from USA) */
.xc-home-strong .box-2::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 11 12 14 22 4'/%3E%3Cpath d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 11 12 14 22 4'/%3E%3Cpath d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3C/svg%3E");
}

/* Icon 3: Book Open (HPLC-Verified Purity) */
.xc-home-strong .box-3::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E");
}

/* Icon 4: Shield (Secure Checkout) */
.xc-home-strong .box-4::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
}

.xc-home-strong .icon-box-text {
    width: 100%;
}

.xc-home-strong .icon-box h3 {
    font-size: clamp(1.15rem, 1.05rem + 0.35vw, 1.45rem);
    font-weight: 500;
    line-height: 1.35;
    color: #1c1025;
    margin-top: 0;
    margin-bottom: 8px;
    letter-spacing: normal;
    text-transform: none;
}

.xc-home-strong .icon-box p {
    font-size: 15px;
    line-height: 1.6;
    color: #1c1025;
    opacity: 0.8;
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .xc-home-strong .icon-box {
        padding: 12px 10px;
        margin-bottom: 16px;
    }
    .xc-home-strong .icon-box::before {
        width: 44px;
        height: 44px;
        margin-bottom: 12px;
    }
}

/* --- Section Research-Use-Only Notice (xc-home-notice) --- */
.section.xc-home-notice {
    background-color: #fafafa;
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}

.xc-home-notice .row {
    max-width: 800px;
}

.xc-home-notice .col-inner {
    text-align: center;
}

.xc-home-notice h2 {
    font-size: clamp(2rem, 1.7rem + 1.5vw, 3rem);
    font-weight: 500;
    line-height: 1.2;
    color: #1c1025;
    margin-top: 0;
    margin-bottom: 16px;
    letter-spacing: normal;
    text-transform: none;
}

.xc-home-notice p {
    font-size: 16px;
    line-height: 2;
    color: #1c1025;
    margin-bottom: 0;
}

.xc-home-notice a {
    color: #6d2777;
    text-decoration: underline;
    text-underline-offset: 0.15em;
    transition: color 0.15s ease;
}

.xc-home-notice a:hover {
    color: #301639;
}

@media (max-width: 767px) {
    .section.xc-home-notice {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
    .xc-home-notice h2 {
        font-size: 24px;
        line-height: 1.3;
        margin-bottom: 12px;
    }
    .xc-home-notice p {
        font-size: 15px;
        line-height: 1.6;
    }
}

/* --- Section Trusted USA Research Peptide Supplier (.xc-home-trusted) --- */
.section.xc-home-trusted {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
    background-color: #fefefe;
}

.xc-home-trusted > .section-content > .row {
    align-items: center;
}

/* Image Column */
.xc-home-trusted .img {
    text-align: center;
}

.xc-home-trusted .img img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* Featured Boxes (Cards) */
.xc-home-trusted .icon-box.featured-box {
    background-image: linear-gradient(135deg, rgb(250, 250, 250) 0%, rgb(250, 250, 250) 60%, rgba(218, 218, 218, 0.5) 99%);
    border-radius: 30px;
    padding: 36px 32px;
    border: 1px solid rgba(0, 0, 0, 0.04);
    margin-bottom: 24px;
    box-shadow: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.xc-home-trusted .icon-box.featured-box:last-child {
    margin-bottom: 0;
}

.xc-home-trusted .icon-box-text {
    width: 100%;
}

/* Box 1 Title */
.xc-home-trusted .icon-box:first-of-type h3 {
    font-size: clamp(1.65rem, 1.35rem + 1.2vw, 2.35rem);
    font-weight: 500;
    line-height: 1.15;
    color: #1c1025;
    margin-top: 0;
    margin-bottom: 16px;
    letter-spacing: normal;
    text-transform: none;
}

/* Box 2 Title */
.xc-home-trusted .icon-box:last-of-type h3 {
    font-size: clamp(1.35rem, 1.15rem + 0.6vw, 1.75rem);
    font-weight: 500;
    line-height: 1.2;
    color: #1c1025;
    margin-top: 0;
    margin-bottom: 14px;
    letter-spacing: normal;
    text-transform: none;
}

/* Paragraphs */
.xc-home-trusted .icon-box p {
    font-size: 16px;
    line-height: 1.85;
    color: #1c1025;
    margin-bottom: 24px;
    opacity: 0.9;
}

.xc-home-trusted .icon-box p em,
.xc-home-trusted .icon-box p i {
    font-style: italic;
}

/* Buttons Styling */
.xc-home-trusted a.button {
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    padding: 10px 24px !important;
    border-radius: 9999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-transform: capitalize !important;
    transition: all 0.25s ease !important;
    box-shadow: none !important;
}

/* Black Button */
.xc-home-trusted a.button.btn-black {
    background-color: #1c1025 !important;
    color: #ffffff !important;
    border: 1px solid #1c1025 !important;
}

.xc-home-trusted a.button.btn-black:hover {
    background-color: #6d2777 !important;
    border-color: #6d2777 !important;
    color: #ffffff !important;
    box-shadow: 0 10px 20px -5px rgba(109, 39, 119, 0.25) !important;
}

/* Gray / Secondary Button */
.xc-home-trusted a.button.btn-gray {
    background-color: #ffffff !important;
    color: #1c1025 !important;
    border: 1px solid rgba(28, 16, 37, 0.12) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.xc-home-trusted a.button.btn-gray:hover {
    background-color: #e2e2e2 !important;
    color: #1c1025 !important;
    border-color: rgba(28, 16, 37, 0.2) !important;
}

/* Row Buttons in Box 2 */
.xc-home-trusted .row-btn {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin: 0;
}

.xc-home-trusted .row-btn > .col {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
}

/* Order: View COA Library first, View Test Results second */
.xc-home-trusted .row-btn > .col:last-child {
    order: 1;
}

.xc-home-trusted .row-btn > .col:first-child {
    order: 2;
}

/* Responsive */
@media (max-width: 767px) {
    .section.xc-home-trusted {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    .xc-home-trusted #col-393418964 {
        margin-bottom: 24px;
    }

    .xc-home-trusted .icon-box.featured-box {
        padding: 24px 20px;
        border-radius: 20px;
    }

    .xc-home-trusted .icon-box:first-of-type h3 {
        font-size: 24px;
        line-height: 1.25;
        margin-bottom: 12px;
    }

    .xc-home-trusted .icon-box:last-of-type h3 {
        font-size: 20px;
        line-height: 1.25;
        margin-bottom: 10px;
    }

    .xc-home-trusted .icon-box p {
        font-size: 15px;
        line-height: 1.6;
        margin-bottom: 20px;
    }

    .xc-home-trusted .row-btn {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    .xc-home-trusted .row-btn > .col {
        width: 100% !important;
    }

    .xc-home-trusted a.button {
        width: 100% !important;
    }
}

/* --- Section Research Updates / Newsletter (.xc-home-update) --- */
.section.xc-home-update {
    background: linear-gradient(135deg, rgba(48, 22, 57, 0.3) 0%, rgba(109, 39, 119, 0.3) 58%), #1c1025;
    color: #ffffff;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

@media (min-width: 850px) {
    .section.xc-home-update {
        padding-top: 100px !important;
        padding-bottom: 100px !important;
    }
}

.xc-home-update > .section-content > .row {
    align-items: center;
}

/* Eyebrow / Sub-title with purple diamond */
.xc-home-update .sub-title {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7) !important;
    margin-bottom: 1.5rem;
}

.xc-home-update .sub-title::before {
    content: "";
    display: inline-block;
    width: 0.45rem;
    height: 0.45rem;
    background: #b97cc4;
    transform: rotate(45deg);
    flex-shrink: 0;
}

/* Heading */
.xc-home-update h2 {
    font-size: clamp(2.25rem, 5vw, 3.75rem);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0 0 1rem 0;
    color: #ffffff !important;
}

/* Sub-text */
.xc-home-update .col:first-child p:not(.sub-title) {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.7) !important;
    line-height: 1.55;
    margin: 0;
    max-width: 30rem;
}

/* Form Container */
.xc-home-update .wpcf7 {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
}

.xc-home-update form.wpcf7-form {
    margin-bottom: 0;
}

/* Pill Form Group */
.xc-home-update .xc-form-subscribe {
    display: flex;
    align-items: stretch;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    overflow: hidden;
    padding: 0.4rem;
    position: relative;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    margin-bottom: 0;
}

.xc-home-update .xc-form-subscribe:focus-within {
    border-color: rgba(185, 124, 196, 0.6);
    box-shadow: 0 0 0 3px rgba(111, 50, 124, 0.2);
}

/* CF7 Form Wrap */
.xc-home-update .xc-form-subscribe .wpcf7-form-control-wrap {
    flex-grow: 1;
    display: flex;
}

/* Input */
.xc-home-update .xc-form-subscribe input[type="email"] {
    width: 100%;
    flex-grow: 1;
    border: none !important;
    padding: 0.85rem 1.25rem;
    font-size: 0.95rem;
    color: #ffffff !important;
    outline: none;
    background: transparent !important;
    margin: 0;
    box-shadow: none !important;
    height: auto;
}

.xc-home-update .xc-form-subscribe input[type="email"]::placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
}

.xc-home-update .xc-form-subscribe input[type="email"]::-webkit-input-placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
}

.xc-home-update .xc-form-subscribe input[type="email"]::-moz-placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
}

.xc-home-update .xc-form-subscribe input[type="email"]:-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
}

/* Kill autofill background */
.xc-home-update .xc-form-subscribe input[type="email"]:-webkit-autofill,
.xc-home-update .xc-form-subscribe input[type="email"]:-webkit-autofill:hover,
.xc-home-update .xc-form-subscribe input[type="email"]:-webkit-autofill:focus,
.xc-home-update .xc-form-subscribe input[type="email"]:-webkit-autofill:active {
    -webkit-text-fill-color: #ffffff !important;
    -webkit-box-shadow: 0 0 0 1000px rgba(255, 255, 255, 0.04) inset !important;
    box-shadow: 0 0 0 1000px rgba(255, 255, 255, 0.04) inset !important;
    caret-color: #ffffff !important;
    transition: background-color 5000s ease-in-out 0s;
    border-radius: 0 !important;
}

/* Submit Button */
.xc-home-update .xc-form-subscribe input[type="submit"] {
    background-color: #6f327c !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0 1.5rem !important;
    font-size: 0.9rem !important;
    font-weight: 400 !important;
    cursor: pointer;
    transition: background-color 0.2s ease;
    margin: 0 !important;
    border-radius: 999px !important;
    text-transform: none !important;
    white-space: nowrap;
    min-height: 2.75rem;
    height: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.xc-home-update .xc-form-subscribe input[type="submit"]:hover {
    background-color: #552460 !important;
}

/* CF7 Spinner */
.xc-home-update .xc-form-subscribe .wpcf7-spinner {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    visibility: hidden;
}

.xc-home-update .xc-form-subscribe .wpcf7-spinner.is-active {
    visibility: visible;
}

/* Compliance Text */
.xc-home-update .col:last-child .col-inner > p:last-child {
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.55) !important;
    margin-top: 0.85rem;
    margin-bottom: 0;
    line-height: 1.4;
    max-width: 100%;
}

.xc-home-update .col:last-child .col-inner > p:last-child a {
    color: inherit;
    text-decoration: underline;
    opacity: 0.85;
    transition: opacity 0.2s ease;
}

.xc-home-update .col:last-child .col-inner > p:last-child a:hover {
    opacity: 1;
}

/* Response Message */
.xc-home-update .wpcf7-response-output {
    font-size: 0.85rem;
    margin: 10px 0 0 0 !important;
    padding: 8px 14px !important;
    border-radius: 8px;
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

/* Responsive */
@media (max-width: 849px) {
    .xc-home-update .col:first-child {
        margin-bottom: 24px;
    }
}

@media (max-width: 480px) {
    .xc-home-update .xc-form-subscribe {
        flex-direction: column;
        border-radius: 12px;
        padding: 0.5rem;
        gap: 0.5rem;
    }

    .xc-home-update .xc-form-subscribe input[type="email"] {
        padding: 0.85rem 1rem;
        background: rgba(255, 255, 255, 0.04) !important;
        border-radius: 8px;
    }

    .xc-home-update .xc-form-subscribe input[type="submit"] {
        width: 100%;
        padding: 0.85rem 1rem !important;
        border-radius: 8px !important;
    }
}

/* ==========================================================================
   Section: Tested & Verified (.xc-home-tested)
   Match Kadence original design
   ========================================================================== */

/* Section Padding & Vertical Alignment */
.section.xc-home-tested {
    padding-top: 50px;
    padding-bottom: 50px;
}

.xc-home-tested > .section-content > .row {
    align-items: center;
}

/* Left Box: Featured Card */
.xc-home-tested .box-tested {
    background-color: #301639;
    border-radius: 24px;
    padding: 36px 28px;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.xc-home-tested .box-tested .icon-box-text {
    padding: 0;
}

.xc-home-tested .box-tested .icon-box-text p {
    color: #fefefe;
    font-family: Montserrat, sans-serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.25;
    margin: 0;
}

/* Right Column: Feature Checklist */
.xc-home-tested ul {
    list-style: none;
    padding-left: 0;
    margin-left: 0;
    margin-bottom: 0;
}

.xc-home-tested ul li {
    display: flex;
    align-items: flex-start;
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.45;
    color: #1c1025;
    margin-bottom: 26px;
}

.xc-home-tested ul li:last-child {
    margin-bottom: 0;
}

/* Checkmark Icon (Feather Check SVG - matches Kadence original) */
.xc-home-tested ul li::before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin-right: 14px;
    margin-top: 2px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1025' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Desktop Styles */
@media (min-width: 850px) {
    .section.xc-home-tested {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .xc-home-tested .box-tested {
        padding: 48px 40px;
        min-height: 280px;
    }

    .xc-home-tested .box-tested .icon-box-text p {
        font-size: 34px;
        line-height: 1.25;
    }

    .xc-home-tested ul li {
        font-size: 18px;
        margin-bottom: 30px;
    }

    .xc-home-tested ul li::before {
        width: 22px;
        height: 22px;
        margin-right: 16px;
        margin-top: 2px;
    }
}

/* Tablet & Mobile Adjustments */
@media (max-width: 849px) {
    .xc-home-tested .box-tested {
        margin-bottom: 35px;
    }
}

@media (max-width: 549px) {
    .xc-home-tested .col-inner > .row > .col:first-child {
        margin-bottom: 26px;
    }
}

/* ==========================================================================
   Global WooCommerce Product Cards & Slider Navigation (Kadence Match)
   ========================================================================== */

/* 1. Fix Alignment / "Lá»‡ch trÃ¡i" on Product Rows & Sliders */
.row-product,
.xc-home-product .row-product {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.row-product .row-slider,
.row-product .slider,
.xc-home-product .row-slider {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 25px !important;
}

.row-product .flickity-viewport {
    width: 100% !important;
}

/* 2. Global Product Card Base */
.product-small.box,
.product-small .col-inner {
    background-color: #ffffff;
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* 3. CÃ¡c áº£nh pháº£i báº±ng nhau: Khung vuÃ´ng 1:1, ná»n xÃ¡m nháº¡t #f6f6f6 */
.product-small .box-image {
    background-color: #f6f6f6 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px !important;
}

.product-small .box-image .image-none,
.product-small .box-image a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    background-color: transparent !important;
}

.product-small .box-image img {
    max-height: 85% !important;
    max-width: 85% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin: auto !important;
    transition: transform 0.3s ease;
}

.product-small:hover .box-image img,
.product-small .box-image:hover img,
.product-small:hover img {
    transform: none !important;
}

/* Táº¯t má»i hiá»‡u á»©ng hover giáº­t láº¯c cá»§a product card */
.product-small:hover,
.product-small:hover .col-inner,
.product-small:hover .box {
    transform: none !important;
    box-shadow: none !important;
}

/* áº¨n cÃ¡c nÃºt cÃ´ng cá»¥ popup hover cá»§a Flatsome */
.product-small .image-tools,
.product-small .show-on-hover {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* 4. Product Details (box-text): Flex Column with Price on Top */
.product-small .box-text.box-text-products,
.product-small .box-text {
    display: flex !important;
    flex-direction: column !important;
    text-align: left !important;
    padding: 14px 4px 6px 4px !important;
    flex-grow: 1;
    height: auto !important;
}

/* Price on TOP: Montserrat Alternates 500, 14px, 28px line-height, rgb(1,1,1) */
.product-small .box-text .price-wrapper {
    order: 1 !important;
    margin-bottom: 4px !important;
    min-height: 28px !important;
    height: auto !important;
    text-align: left !important;
}

.product-small .price,
.product-small .price *,
.product-small .price .amount,
.product-small .price bdi,
.product-small .price ins,
.product-small .price ins * {
    font-family: "Montserrat Alternates", Montserrat, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 28px !important;
    color: rgb(1, 1, 1) !important;
    text-decoration: none !important;
}

.product-small .price del,
.product-small .price del *,
.product-small .price del .amount,
.product-small .price del bdi {
    font-family: "Montserrat Alternates", Montserrat, sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #888888 !important;
    text-decoration: line-through !important;
    margin-right: 6px !important;
}

/* Title in the MIDDLE: Always 2 lines (42px), Montserrat 500, 15px, 21px line-height, rgb(76,76,76) */
.product-small .box-text .title-wrapper {
    order: 2 !important;
    margin-bottom: 14px !important;
    text-align: left !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    overflow: hidden !important;
}

.product-small .title-wrapper,
.product-small .product-title,
.product-small .woocommerce-loop-product__title,
.product-small .box-text .name,
.product-small .box-text h2,
.product-small .box-text h3,
.product-small .box-text p {
    font-family: Montserrat, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 21px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    margin: 0 !important;
    text-align: left !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    color: rgb(76, 76, 76) !important;
}

.product-small .product-title a,
.product-small .woocommerce-loop-product__title a,
.product-small .box-text .name a,
.product-small .title-wrapper a,
.product-small .box-text a {
    font-family: Montserrat, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 21px !important;
    color: rgb(76, 76, 76) !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.product-small:hover .product-title a,
.product-small:hover .woocommerce-loop-product__title a,
.product-small:hover .box-text .name a {
    color: #6d2777 !important;
}

/* 5. Button at the BOTTOM: CÄƒn giá»¯a, khÃ´ng full width, Montserrat 500, 16px, 26px line-height, hover background tÃ­m */
.product-small .box-text .add-to-cart-button {
    order: 3 !important;
    margin-top: auto !important;
    width: 100% !important;
    height: auto !important;
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.product-small .add-to-cart-button a.button,
.product-small .box-text a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 140px !important;
    max-width: 90% !important;
    min-height: 38px !important;
    padding: 6px 24px !important;
    margin: 0 auto !important;
    background: #ffffff !important;
    color: #2c2533 !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 9999px !important;
    font-family: Montserrat, sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 26px !important;
    text-transform: capitalize !important;
    letter-spacing: normal !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
    transition: all 0.25s ease !important;
}

/* Add to cart hover: Background tÃ­m */
.product-small .add-to-cart-button a.button:hover,
.product-small .box-text a.button:hover {
    background: #6d2777 !important;
    border-color: #6d2777 !important;
    color: #ffffff !important;
}

/* 6. Carousel Next / Previous Navigation Buttons: 32x48px, chuáº©n báº£n gá»‘c, ná»n xÃ¡m Ä‘en #313131, icon chevron tráº¯ng */
/* KhÃ³a cá»©ng vá»‹ trÃ­ khÃ´ng nháº£y khi hover slider hay product */
.slider .flickity-prev-next-button,
.slider:hover .flickity-prev-next-button,
.slider .flickity-prev-next-button:hover,
.row-slider .flickity-prev-next-button,
.row-slider:hover .flickity-prev-next-button,
.row-slider .flickity-prev-next-button:hover,
.slider-nav-push .flickity-prev-next-button,
.slider-nav-push:hover .flickity-prev-next-button,
.slider-show-nav .flickity-prev-next-button {
    position: absolute !important;
    width: 32px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    background-color: #313131 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    bottom: auto !important;
    top: var(--slider-btn-top, 32%) !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color 0.2s ease !important;
}

.slider .flickity-prev-next-button:hover,
.row-slider .flickity-prev-next-button:hover,
.slider-nav-push .flickity-prev-next-button:hover {
    background-color: #1c1025 !important;
    opacity: 1 !important;
    transform: translateY(-50%) !important;
}

/* Vá»‹ trÃ­ Inside chuáº©n theo báº£n gá»‘c */
.slider .flickity-prev-next-button.previous,
.slider:hover .flickity-prev-next-button.previous,
.row-slider .flickity-prev-next-button.previous,
.row-slider:hover .flickity-prev-next-button.previous {
    left: 10px !important;
    right: auto !important;
    transform: translateY(-50%) !important;
}

.slider .flickity-prev-next-button.next,
.slider:hover .flickity-prev-next-button.next,
.row-slider .flickity-prev-next-button.next,
.row-slider:hover .flickity-prev-next-button.next {
    right: 10px !important;
    left: auto !important;
    transform: translateY(-50%) !important;
}

/* áº¨n SVG máº·c Ä‘á»‹nh mÅ©i tÃªn tam giÃ¡c cá»§a Flatsome */
.slider .flickity-prev-next-button svg,
.row-slider .flickity-prev-next-button svg {
    display: none !important;
}

/* Icon chevron thanh máº£nh chuáº©n báº£n gá»‘c */
.slider .flickity-prev-next-button::before,
.row-slider .flickity-prev-next-button::before {
    content: "" !important;
    display: block !important;
    width: 10px !important;
    height: 16px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}

.slider .flickity-prev-next-button.previous::before,
.row-slider .flickity-prev-next-button.previous::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 19 8 12 15 5'%3E%3C/polyline%3E%3C/svg%3E") !important;
}

.slider .flickity-prev-next-button.next::before,
.row-slider .flickity-prev-next-button.next::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 19 16 12 9 5'%3E%3C/polyline%3E%3C/svg%3E") !important;
}

/* 7. Carousel Pagination Dots (CÄƒn giá»¯a chuáº©n báº£n gá»‘c, cÃ¡ch mÃ©p dÆ°á»›i 30px) */
.row-slider .flickity-page-dots,
.slider .flickity-page-dots {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 32px !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.row-slider .flickity-page-dots .dot,
.slider .flickity-page-dots .dot {
    width: 8px !important;
    height: 8px !important;
    margin: 0 4px !important;
    background-color: #888888 !important;
    opacity: 0.4 !important;
    border: none !important;
    border-radius: 50% !important;
    display: inline-block !important;
    transition: all 0.2s ease !important;
}

.row-slider .flickity-page-dots .dot.is-selected,
.slider .flickity-page-dots .dot.is-selected {
    background-color: #313131 !important;
    opacity: 1 !important;
    transform: scale(1.15) !important;
}

/* ==========================================================================
   Section: Home Product Value Cards (.xc-home-product .row-strong)
   Match Kadence original design (Floating cards with negative margin)
   ========================================================================== */

/* Allow cards to float smoothly over the boundary between sections */
.section.xc-home-product {
    overflow: visible;
}

/* Row Positioning with Negative Margin into Section Above */
.xc-home-product .row-strong {
    position: relative;
    z-index: 10;
    margin-top: -80px;
    margin-bottom: 45px;
    max-width: 1240px;
}

/* Equal Height Column Layout */
.xc-home-product .row-strong .col {
    display: flex;
    flex-direction: column;
}

.xc-home-product .row-strong .col-inner {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Feature Card Box (Kadence: #fafafa, border-radius 28px, subtle shadow) */
.xc-home-product .row-strong .icon-box.featured-box {
    background-color: #fafafa;
    border-radius: 28px;
    padding: 30px 24px;
    height: 100%;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    border: none;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* Text Wrapper (Override default Flatsome left alignment) */
.xc-home-product .row-strong .icon-box-text {
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
    width: 100%;
}

/* Card Heading (Kadence: Montserrat 500, 18px, #1c1025, margin-bottom 12px) */
.xc-home-product .row-strong .icon-box-text h3 {
    font-family: Montserrat, sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: #1c1025 !important;
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    text-align: center !important;
    letter-spacing: -0.01em;
}

/* Card Paragraph (Kadence: Montserrat 400, 14px, line-height 1.55, #1c1025) */
.xc-home-product .row-strong .icon-box-text p {
    font-family: Montserrat, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    color: #1c1025 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    text-align: center !important;
}

/* Responsive: Tablet & Mobile */
@media (max-width: 1024px) {
    .xc-home-product .row-strong {
        margin-top: -70px;
        margin-bottom: 35px;
    }

    .xc-home-product .row-strong .icon-box.featured-box {
        padding: 26px 18px;
        border-radius: 24px;
    }

    .xc-home-product .row-strong .icon-box-text h3 {
        font-size: 16.5px !important;
    }

    .xc-home-product .row-strong .icon-box-text p {
        font-size: 13.5px !important;
    }
}

@media (max-width: 549px) {
    .xc-home-product .row-strong {
        margin-top: -45px;
        margin-bottom: 25px;
    }

    .xc-home-product .row-strong .col:not(:last-child) {
        margin-bottom: 16px;
    }

    .xc-home-product .row-strong .icon-box.featured-box {
        padding: 22px 16px;
        border-radius: 20px;
    }

    .xc-home-product .row-strong .icon-box-text h3 {
        font-size: 16px !important;
        margin-bottom: 8px !important;
    }

    .xc-home-product .row-strong .icon-box-text p {
        font-size: 13.5px !important;
        line-height: 1.5 !important;
    }
}

/* ==========================================================================
   PROTIDE ABOUT US PAGE STYLING
   ========================================================================== */
.about-hero {
    background-color: #191121 !important;
    color: #ffffff;
}
.about-hero .about-hero-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(2rem, 3.8vw, 3rem) !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    color: #ffffff !important;
    margin-bottom: 20px !important;
}
.about-hero .about-hero-lead {
    font-size: 17px !important;
    line-height: 1.7 !important;
    color: rgba(255, 255, 255, 0.75) !important;
    max-width: 860px !important;
    margin-bottom: 0 !important;
}

.about-eyebrow {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #6d2777;
    margin-bottom: 12px;
}

.about-section-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(1.8rem, 3vw, 2.4rem) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #1c1025 !important;
    margin-bottom: 20px !important;
}

.about-body-text {
    font-size: 16px !important;
    line-height: 1.85 !important;
    color: #333333 !important;
    margin-bottom: 18px !important;
}

.about-bar-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(1.6rem, 2.5vw, 2rem) !important;
    font-weight: 600 !important;
    color: #1c1025 !important;
    margin-bottom: 12px !important;
}
.about-bar-desc {
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: #4b5563 !important;
    max-width: 780px !important;
    margin: 0 auto !important;
}

.about-col-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #1c1025 !important;
    margin-bottom: 24px !important;
}

.about-checklist {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.about-checklist li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    font-size: 15px;
    line-height: 1.7;
    color: #333333;
}
.about-checklist li::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    min-width: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236d2777' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-top: 3px;
}

.about-banner {
    background: linear-gradient(135deg, #301639 0%, #6d2777 100%) !important;
    color: #ffffff !important;
}
.about-banner-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(1.8rem, 3vw, 2.5rem) !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    margin-bottom: 18px !important;
}
.about-banner-desc {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    max-width: 860px !important;
    margin: 0 auto !important;
}

.about-pillar-card .col-inner {
    background: #ffffff;
    border-radius: 8px;
    padding: 30px 24px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.05);
    height: 100%;
}
.about-pillar-card .icon-box-title {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #1c1025 !important;
    margin-bottom: 12px !important;
}
.about-pillar-card .icon-box-title-small {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #6d2777 !important;
    letter-spacing: 0.1em;
}
.about-pillar-card p {
    font-size: 14.5px !important;
    line-height: 1.65 !important;
    color: #555555 !important;
    margin-bottom: 0 !important;
}

.about-sub-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #1c1025 !important;
    margin-bottom: 10px !important;
}

.about-ruo-notice {
    background-color: #f8f9fa !important;
    border-top: 1px solid #e9ecef;
}
.about-ruo-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #1c1025 !important;
    margin-bottom: 12px !important;
}
.about-ruo-text {
    font-size: 14px !important;
    line-height: 1.75 !important;
    color: #6c757d !important;
    margin-bottom: 0 !important;
}
.about-ruo-text a {
    color: #6d2777;
    text-decoration: underline;
}
/* ==========================================================================
   HOME PAGE: BUY RESEARCH PEPTIDES (.xc-home-buy-research)
   ========================================================================== */
.section.xc-home-buy-research {
    background: linear-gradient(135deg, #301639 0%, #6d2777 58%) !important;
    padding-top: 120px !important;
    padding-bottom: 120px !important;
}

.xc-home-buy-research .row {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.xc-home-buy-research .col-inner {
    text-align: center;
}

.xc-home-buy-research h3 {
    font-size: clamp(2.25rem, 1.728rem + 1.63vw, 3rem);
    font-weight: 600;
    line-height: 1.2;
    color: #ffffff;
    margin-bottom: 0;
}

.xc-home-buy-research h3:last-of-type {
    margin-bottom: 1.5rem;
}

.xc-home-buy-research h3 br,
.xc-home-buy-research h3 p {
    display: none;
}

.xc-home-buy-research .col-inner > p {
    font-size: 16px;
    line-height: 1.8;
    color: #ffffff;
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .section.xc-home-buy-research {
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }
}

/* ==========================================================================
   HOW IT WORKS SECTION (MATCH ORIGINAL KADENCE DESIGN)
   ========================================================================== */
.xc-home-how h2 {
    text-align: center;
    font-size: clamp(2.25rem, 1.728rem + 1.63vw, 3rem);
    color: #1c1025;
    font-weight: 500;
    margin-bottom: 1.5rem;
}

.xc-home-how #row-1579011498 {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.xc-home-how #row-1579011498 > .col > .col-inner {
    height: 100%;
}

.xc-home-how .box-how {
    background-color: #fafafa;
    border-radius: 30px;
    padding: 2rem;
    text-align: center !important;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 0;
}

.xc-home-how .box-how .icon-box-text {
    padding: 0;
}

.xc-home-how .box-how h3 {
    color: #1c1025;
    font-size: clamp(1.75rem, 1.576rem + 0.543vw, 2rem);
    font-weight: 500;
    line-height: 1.1;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.xc-home-how .box-how p {
    color: #1c1025;
    margin-bottom: 0;
    font-size: clamp(1.1rem, 0.995rem + 0.326vw, 1.25rem);
    line-height: 1.6;
}











/* ========================================== */
/* Verified Section (Custom CSS from Kadence) */
/* ========================================== */

/* Make sure all rows stretch columns so heights match */
.xc-home-verified .row-verified,
.xc-home-verified .row-tested {
    display: flex !important;
    align-items: stretch !important;
}
.xc-home-verified .col {
    display: flex !important;
    flex-direction: column !important;
}
.xc-home-verified .col-inner {
    flex: 1 1 auto !important; /* Stretch to fill column */
}

/* Top Row, Left Column Box */
.xc-home-verified .row-verified > .col:first-child > .col-inner,
.xc-home-verified .row-verified > .col:first-child .box {
    background-color: #1c1025 !important;
    border-radius: 20px !important;
    padding: 1.5rem !important;
    height: 100%;
}
.xc-home-verified .row-verified > .col:first-child > .col-inner {
    padding: 0 !important;
}

/* Base text styling */
.xc-home-verified .row-verified > .col:first-child .box-text {
    text-align: left;
    padding-right: 1rem;
    position: relative;
    z-index: 3;
}
.xc-home-verified .row-verified > .col:first-child .box-text .sub-title {
    color: #e2e8f0 !important;
    margin-bottom: 1rem;
    font-size: 0.8rem;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.xc-home-verified .row-verified > .col:first-child .box-text h3 {
    color: #ffffff !important;
    font-size: clamp(1.8rem, 2.5vw + 1rem, 3.2rem) !important;
    line-height: 1.1 !important;
    margin-top: 0 !important;
    margin-bottom: 2.5rem !important;
    font-weight: 500 !important;
}
.xc-home-verified .row-verified > .col:first-child .btn-buy {
    background-color: #ffffff !important;
    color: #1c1025 !important;
    border-radius: 9999px !important;
    text-transform: none !important;
    font-weight: 500 !important;
    display: inline-block !important;
    min-width: 250px;
    text-align: center !important;
    padding: 0.9rem 1.5rem !important;
    transition: all 0.3s ease !important;
    font-size: 1.1rem;
}
.xc-home-verified .row-verified > .col:first-child .btn-buy:hover {
    background-color: #6d2777 !important;
    color: #ffffff !important;
    transform: translateY(-2px);
}

/* Desktop absolute positioning for image */
@media (min-width: 850px) {
    .xc-home-verified .row-verified > .col:first-child .box {
        padding: 4rem 3rem !important;
        position: relative !important;
    }
    .xc-home-verified .row-verified > .col:first-child .box-img-right {
        display: block !important;
    }
    .xc-home-verified .row-verified > .col:first-child .box-text {
        width: 60% !important;
        max-width: 60% !important;
    }
    .xc-home-verified .row-verified > .col:first-child .box-image {
        position: absolute !important;
        right: 0 !important; 
        top: 0 !important;
        bottom: 0 !important;
        width: 50% !important; /* Dùng 50% không gian phải */
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important; /* Ép sát phải */
        padding-right: 2rem !important; /* Cách lề phải 2rem */
        z-index: 2 !important;
    }
    .xc-home-verified .row-verified > .col:first-child .box-image > div {
        display: flex !important;
        justify-content: flex-end !important;
        width: auto !important;
    }
    .xc-home-verified .row-verified > .col:first-child .box-image img {
        height: clamp(300px, 30vw, 420px) !important;
        width: auto !important;
        max-width: none !important;
        object-fit: contain !important;
        margin: 0 0 0 auto !important; /* Tự động đẩy hết về bên phải */
    }
}

/* Mobile responsive */
@media (max-width: 849px) {
    .xc-home-verified .row-verified > .col:first-child .box-img-right {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .xc-home-verified .row-verified > .col:first-child .box-text {
        text-align: center;
        padding-right: 0;
        margin-top: 2rem;
        order: 1; 
    }
    .xc-home-verified .row-verified > .col:first-child .box-image {
        order: 0;
        width: 100% !important;
        margin: 0 auto;
        display: flex;
        justify-content: center;
    }
    .xc-home-verified .row-verified > .col:first-child .box-image img {
        width: auto !important;
        height: auto !important;
        max-width: 100% !important;
    }
}

/* Top Row, Right Column Box & Bottom Row Boxes */
.xc-home-verified .row-verified > .col:last-child > .col-inner,
.xc-home-verified .row-tested .col-inner {
    background-color: #f7f7f7 !important;
    border-radius: 20px !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100% !important;
}
.xc-home-verified .row-verified > .col:last-child > .col-inner {
    padding: 3rem 2rem !important;
}
.xc-home-verified .row-tested .col-inner {
    padding: 2.5rem 1.5rem !important;
}

/* Top Row Right Text */
.xc-home-verified .row-verified > .col:last-child p {
    font-size: clamp(1.5rem, 1vw + 1rem, 1.8rem) !important;
    line-height: 1.3 !important;
    color: #1c1025 !important;
    text-align: center !important;
    margin: 0 !important;
    font-weight: 500 !important;
}

/* Row Gaps */
.xc-home-verified .row-verified {
    margin-bottom: 30px !important;
}

/* Bottom Row - Typography */
.xc-home-verified .row-tested .icon-box-text {
    text-align: center;
}
.xc-home-verified .row-tested .icon-box-text h3 {
    color: #1c1025 !important;
    margin-top: 0 !important;
    margin-bottom: 0.5rem !important;
}
.xc-home-verified .row-tested .icon-box-text p {
    color: #4a5568 !important;
    margin-bottom: 0 !important;
    font-size: 0.8rem !important;
}

/* Bottom Row - Box 1 specific typography */
.xc-home-verified .row-tested > .col:first-child .icon-box-text h3 {
    font-size: clamp(1.5rem, 1.2vw + 1rem, 1.8rem) !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
}
.xc-home-verified .row-tested > .col:first-child .icon-box-text p {
    font-size: 0.85rem !important;
    line-height: 1.4 !important;
    text-transform: none !important;
}

/* Bottom Row - Box 2 & 3 specific typography */
.xc-home-verified .row-tested > .col:nth-child(2) .icon-box-text h3,
.xc-home-verified .row-tested > .col:last-child .icon-box-text h3 {
    font-size: clamp(2.5rem, 2vw + 2rem, 3.5rem) !important;
    font-weight: 800 !important;
    letter-spacing: -1px !important;
}
.xc-home-verified .row-tested > .col:nth-child(2) .icon-box-text p,
.xc-home-verified .row-tested > .col:last-child .icon-box-text p {
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-weight: 500 !important;
}
/* --- CSS for Home Hero Section (xc-home-hero) --- */
.xc-home-hero p.sub-title, 
.xc-home-hero p[clas="sub-title"] {
    display: inline-block;
    padding: 6px 20px;
    margin-bottom: 15px;
    font-size: 14px;
    color: #6d2777;
    background-color: transparent; 
    border: 1px solid #6d2777;
    border-radius: 50px;
    font-weight: 500;
}

.xc-home-hero h3 {
    font-size: 55px;
    line-height: 1.1;
    font-weight: 500;
    color: #301639;
    margin-bottom: 25px;
}
.xc-home-hero h3 span {
    color: #6d2777;
}

.xc-home-hero h3 + p {
    font-size: 16px;
    line-height: 1.6;
    color: #444;
    margin-bottom: 30px;
    max-width: 90%;
}

.xc-home-hero #row-853970652 {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
}
.xc-home-hero #row-853970652 .col {
    padding-bottom: 0 !important;
    max-width: max-content !important;
    flex: 0 0 auto !important;
}

.xc-home-hero .button.btn-black {
    background-color: #1c1025;
    color: #fff;
    border-radius: 99px;
    padding: 10px 30px;
    font-weight: 500;
    font-size: 15px;
    text-transform: none;
    border: 2px solid #1c1025;
}
.xc-home-hero .button.btn-black:hover {
    background-color: #6d2777;
    border-color: #6d2777;
    color: #fff;
}

.xc-home-hero .button.btn-gray {
    background-color: transparent;
    color: #1c1025;
    border-radius: 99px;
    padding: 10px 30px;
    font-weight: 500;
    font-size: 15px;
    text-transform: none;
    border: 2px solid transparent;
}
.xc-home-hero .button.btn-gray:hover {
    background-color: #f5f5f5;
}

.xc-home-hero .icon-box.featured-box {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0;
}
.xc-home-hero .icon-box-text {
    padding: 0 !important;
}
.xc-home-hero .icon-box-text p {
    font-size: 13px;
    color: #4a5568;
    margin: 0;
    font-weight: 500;
}

.xc-home-hero .icon-box-img {
    margin: 0 !important;
    width: auto !important;
}
.xc-home-hero .icon-box-img svg,
.xc-home-hero .icon-box-img img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

@media screen and (max-width: 767px) {
    .xc-home-hero h3 {
        font-size: 36px;
    }
    .xc-home-hero .icon-box.featured-box {
        justify-content: flex-start;
        margin-bottom: 15px;
    }
}

/*/* --- Overrides for Home Hero Section (xc-home-hero) --- */

/* 1. Make image wider (target by position instead of ID) */
@media (min-width: 850px) {
    .xc-home-hero > .section-content > .row > .col:last-child .img {
        width: 115% !important;
        max-width: none !important;
        margin-left: -5% !important;
        margin-top: -3% !important;
        z-index: 2;
        position: relative;
    }
}

/* 2. Button Row Gap and Padding Fix (target inner row) */
.xc-home-hero > .section-content > .row > .col:first-child .col-inner > .row {
    display: flex !important;
    gap: 20px !important;
    justify-content: flex-start !important;
    margin: 0 !important; 
    width: auto !important;
    flex-wrap: nowrap !important;
}
.xc-home-hero > .section-content > .row > .col:first-child .col-inner > .row > .col {
    padding: 0 !important;
    margin: 0 !important;
    max-width: max-content !important;
    flex: 0 0 auto !important;
}

/* 3. Add icons to the boxes */
.xc-home-hero .icon-box-text {
    padding: 0 !important;
}
.xc-home-hero .icon-box-text p {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    padding-left: 0 !important;
    margin: 0 !important;
    white-space: normal !important;
}
.xc-home-hero .icon-box-text p::before {
    content: "" !important;
    display: inline-block !important;
    width: 20px !important; 
    height: 20px !important;
    min-width: 20px !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    margin-right: 8px !important;
}

/* Match by content or structural position for the 4 boxes */
.xc-home-hero .row-strong > .col:nth-child(1) .icon-box-text p::before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231c1025' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E") !important;
}
.xc-home-hero .row-strong > .col:nth-child(2) .icon-box-text p::before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231c1025' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='8' r='7'/%3E%3Cpolyline points='8.21 13.89 7 23 12 20 17 23 15.79 13.88'/%3E%3C/svg%3E") !important;
}
.xc-home-hero .row-strong > .col:nth-child(3) .icon-box-text p::before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231c1025' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='9 11 12 14 22 4'/%3E%3Cpath d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3C/svg%3E") !important;
}
.xc-home-hero .row-strong > .col:nth-child(4) .icon-box-text p::before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231c1025' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='3' width='15' height='13'/%3E%3Cpolygon points='16 8 20 8 23 11 23 16 16 16 16 8'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E") !important;
}

/* =======================================================
   SHOP PAGE FIX (Flatsome to Kadence look)
======================================================= */

/* 1. Page Title (Master Grid matching Kadence) */
.shop-page-title.page-title {
    display: grid !important;
    grid-template-columns: 1fr minmax(0, 1300px) 1fr;
    grid-template-rows: minmax(180px, auto) auto;
    width: 100%;
    padding: 0 !important;
    margin-bottom: 2rem;
    position: relative;
    z-index: 10;
}
.shop-page-title.page-title::before {
    content: '';
    grid-column: 1 / -1;
    grid-row: 1 / 2;
    background: #fafafa;
    border-bottom: 1px solid #eaeaea;
}

.shop-page-title .page-title-inner,
.shop-page-title .flex-col {
    display: contents !important;
}

/* Row 1: Hero Elements */
.shop-page-title h1.shop-page-title,
.shop-page-title .is-large {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    justify-self: start;
    z-index: 1;
}
.shop-page-title h1.shop-page-title {
    align-self: center;
    margin-top: 30px; 
    font-size: 40px !important;
    font-weight: 600 !important;
    color: #000 !important;
    text-transform: none !important;
}
.shop-page-title .is-large {
    align-self: center;
    margin-bottom: 60px; 
    font-size: 14px;
}
.shop-page-title .woocommerce-breadcrumb {
    color: #666 !important;
    font-weight: 400;
}
.shop-page-title .woocommerce-breadcrumb a {
    color: #6d2777 !important;
}

/* Row 2: Toolbar Elements */
.shop-page-title .category-filtering {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    justify-self: start;
    align-self: center;
    padding: 15px 0;
}
.shop-page-title .filter-button {
    background: #fff;
    color: #333;
    border: 1px solid #ddd;
    border-radius: 3px;
    padding: 0 14px;
    height: 36px;
    font-size: 13px;
    font-family: Montserrat, sans-serif;
    font-weight: 500;
    text-transform: none;
    display: inline-flex;
    align-items: center;
    transition: all 0.2s;
}
.shop-page-title .filter-button:hover {
    color: #fff;
    background: #6d2777;
    border-color: #6d2777;
}
.shop-page-title .filter-button i {
    margin-right: 6px;
    font-size: 16px;
}
.shop-page-title .filter-button strong {
    display: none;
}
.shop-page-title .filter-button::after {
    content: "Search & Filter";
}

.shop-page-title p.woocommerce-result-count.hide-for-medium {
    display: inline-block !important;
}
.shop-page-title p.woocommerce-result-count {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    justify-self: start;
    align-self: center;
    margin: 0;
    margin-left: 175px;
    padding: 0;
    font-size: 15px;
    color: #666;
    line-height: 36px;
    font-weight: 400;
}

.shop-page-title .woocommerce-ordering {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    justify-self: end;
    align-self: center;
    padding: 15px 0;
    margin: 0;
    display: flex;
    align-items: center;
}
.shop-page-title .woocommerce-ordering select {
    padding: 2px 25px 3px 5px;
    height: auto;
    border-radius: 0px;
    font-size: 13px;
    background-color: transparent;
    border: none;
    font-weight: 500;
    cursor: pointer;
    box-shadow: none;
    color: #333;
    margin-right: 15px; /* space before toggle */
}
.kadence-product-toggle-container {
    display: flex;
    align-items: center;
}
.kadence-product-toggle-container button {
    background: #fff;
    border: 1px solid #ddd;
    color: #a0aec0;
    padding: 6px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
    margin-left: 5px;
}
.kadence-product-toggle-container button svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}
.kadence-product-toggle-container button.toggle-active,
.kadence-product-toggle-container button:hover {
    color: #111;
    border-color: #111;
}

/* List View Overrides */
.archive.woocommerce .products.products-list-view {
    display: block !important;
}
.archive.woocommerce .products.products-list-view > .col {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    margin-bottom: 30px !important;
}
.archive.woocommerce .products.products-list-view .product-small.box {
    display: flex;
    flex-direction: row;
    width: 100%;
    margin-bottom: 0 !important;
}

/* Fix massive image bug in list view */
.archive.woocommerce .products.products-list-view .box-image {
    width: 250px !important;
    max-width: 250px !important;
    padding-top: 0 !important;
    height: auto !important;
    flex-shrink: 0;
    background: #f7f7f7;
    display: flex;
    align-items: center;
    justify-content: center;
}
.archive.woocommerce .products.products-list-view .box-image .image-none {
    position: static !important;
    height: auto !important;
    width: 100%;
}
.archive.woocommerce .products.products-list-view .box-image img {
    position: static !important;
    object-fit: contain;
    width: 100%;
    height: auto;
}

/* Reorder Text elements to match original */
.archive.woocommerce .products.products-list-view .box-text {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0 0 0 30px !important;
}
.archive.woocommerce .products.products-list-view .price-wrapper {
    order: 1;
    margin-bottom: 5px;
}
.archive.woocommerce .products.products-list-view .price-wrapper .price {
    font-size: 14px;
    font-weight: 700;
    color: #111;
}
.archive.woocommerce .products.products-list-view .title-wrapper {
    order: 2;
    margin-bottom: 15px;
}
.archive.woocommerce .products.products-list-view .title-wrapper .name {
    font-size: 20px;
    font-weight: 400;
}
.archive.woocommerce .products.products-list-view .box-excerpt {
    order: 3;
    display: block !important;
    font-size: 13.5px;
    color: #555;
    line-height: 1.6;
}
.archive.woocommerce .products.products-list-view .add-to-cart-button,
.archive.woocommerce .products.products-list-view .product-action-wrap {
    order: 5;
    width: 100% !important;
    align-self: flex-start;
    margin-top: auto;
    padding-top: 15px;
}

/* Hide Excerpt in Grid View */
.archive.woocommerce .products:not(.products-list-view) .box-excerpt {
    display: none !important;
}

@media (max-width: 1024px) {
    .shop-page-title.page-title {
        grid-template-columns: 15px minmax(0, 1fr) 15px;
    }
}

@media (max-width: 767px) {
    .shop-page-title.page-title {
        grid-template-rows: minmax(130px, auto) auto auto; 
    }
    .shop-page-title h1.shop-page-title {
        font-size: 28px !important;
        margin-top: 20px;
    }
    .shop-page-title .is-large {
        margin-bottom: 30px;
    }
    .shop-page-title .filter-button {
        width: 100%;
        justify-content: center;
    }
    .shop-page-title .category-filtering {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
        justify-self: stretch;
        width: 100%;
        padding-bottom: 5px;
    }
    .shop-page-title p.woocommerce-result-count {
        grid-column: 2 / 3;
        grid-row: 4 / 5;
        justify-self: stretch;
        text-align: center;
        margin-left: 0;
        margin-bottom: 10px;
    }
    .shop-page-title .woocommerce-ordering {
        grid-column: 2 / 3;
        grid-row: 3 / 4;
        justify-self: stretch;
        text-align: center;
        width: 100%;
        padding: 5px 0;
    }
    .shop-page-title .woocommerce-ordering select {
        width: 100%;
        border: 1px solid #ddd;
    }
}

/* 2. Products Grid Layout (Override Flexbox with Grid) */
@media (min-width: 850px) {
    .archive.woocommerce .products.row {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 20px;
        margin: 0 0 16px !important;
    }
    .archive.woocommerce .products.row > .col {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        padding: 0 !important;
    }
}

/* 3. Product Action Buttons (Full width) */
.woocommerce ul.products li.product .add-to-cart-button,
.woocommerce ul.products li.product .product-action-wrap,
.woocommerce ul.products li.product .add-to-cart-button a.button,
.woocommerce ul.products li.product .product-action-wrap a.button {
    width: 100% !important;
    display: block;
    text-align: center;
}
.woocommerce ul.products li.product .add-to-cart-button a.button,
.woocommerce ul.products li.product .product-action-wrap a.button {
    border-radius: 9999px !important; /* Pill shape */
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    margin-top: 10px;
}
@media (max-width: 849px) and (min-width: 550px) {
    .archive.woocommerce .products.row {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px;
        margin: 0 0 16px !important;
    }
}
@media (max-width: 549px) {
    .archive.woocommerce .products.row {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important; /* Hoặc 1 cột tuỳ thiết kế */
        gap: 15px;
        margin: 0 0 16px !important;
    }
}

/* Hide Flatsome's clearfix pseudo-elements that break grid */
.archive.woocommerce .products.row::before, 
.archive.woocommerce .products.row::after {
    display: none !important;
}

/* Reset individual product column widths */
.archive.woocommerce .products.row .product-small.col {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 3. Add to Cart Button */
.archive.woocommerce .products .add_to_cart_button {
    display: block;
    padding: 6.4px 16px !important;
    margin: 10px 0 0 0 !important; /* Căn trái */
    background-color: #fefefe !important;
    border: 1.5px solid rgba(9, 9, 11, 0.15) !important;
    border-radius: 120px !important;
    color: #1c1025 !important;
    text-transform: capitalize !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}
.archive.woocommerce .products .add_to_cart_button:hover {
    background-color: #f1f1f1 !important;
}

/* =======================================================
   SHOP SIDEBAR (Filters Drawer)
======================================================= */

/* Search Widget */
#shop-sidebar .widget_product_search form,
#shop-sidebar .woocommerce-product-search {
    position: relative;
    margin-bottom: 20px;
}
#shop-sidebar .woocommerce-product-search input[type="search"] {
    background-color: #e5e5e5 !important; /* Gray pill */
    border: none !important;
    border-radius: 50px !important;
    padding: 12px 20px 12px 40px !important;
    box-shadow: none !important;
    color: #333;
    font-size: 14px;
    width: 100%;
}
/* Add search icon inside the input */
#shop-sidebar .woocommerce-product-search::before {
    content: "\f002"; /* FontAwesome or Flatsome icon */
    font-family: 'fl-icons';
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    color: #555;
    z-index: 10;
}
#shop-sidebar .woocommerce-product-search button {
    display: none !important; /* Hide default submit button */
}

/* Headings */
#shop-sidebar .widget-title {
    font-size: 15px;
    font-weight: 500;
    color: #222;
    border: none !important; /* Remove Flatsome's default bottom line */
    padding-bottom: 5px;
    margin-bottom: 10px;
    text-transform: none;
}
/* Main "Filters" Title */
#shop-sidebar .widget_text:nth-child(2) .widget-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
}

/* Checkboxes for Categories and Layered Nav */
#shop-sidebar .widget_product_categories ul li,
#shop-sidebar .widget_layered_nav ul li {
    display: flex;
    align-items: center;
    padding: 6px 0;
    border: none !important;
}
#shop-sidebar .widget_product_categories ul li a,
#shop-sidebar .widget_layered_nav ul li a {
    display: flex;
    align-items: center;
    color: #444;
    font-size: 14px;
}
/* Fake Checkbox Box */
#shop-sidebar .widget_product_categories ul li a::before,
#shop-sidebar .widget_layered_nav ul li a::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 1.5px solid #ccc;
    border-radius: 2px;
    margin-right: 10px;
    background-color: #fff;
}
/* If active/selected, add a checkmark */
#shop-sidebar .widget_product_categories ul li.current-cat > a::before,
#shop-sidebar .widget_layered_nav ul li.chosen > a::before {
    background-color: #000;
    border-color: #000;
    /* Basic checkmark using border */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M2 6l3 3 5-5'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 10px;
}

/* In Stock Dropdown */
#shop-sidebar .stock-filter-select {
    width: 100%;
    background-color: #f7f7f7;
    border: none;
    border-radius: 6px;
    padding: 12px 15px;
    font-size: 14px;
    color: #555;
    outline: none;
    appearance: none; /* Hide default arrow */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%23999' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
}

/* Price Range Slider */
#shop-sidebar .price_slider_wrapper .ui-slider {
    background-color: #f1f1f1;
    height: 4px;
    border-radius: 4px;
    border: none;
    margin-top: 15px;
    margin-bottom: 20px;
}
#shop-sidebar .price_slider_wrapper .ui-slider .ui-slider-range {
    background-color: #ddd; /* The selected range */
}
#shop-sidebar .price_slider_wrapper .ui-slider .ui-slider-handle {
    background-color: #fff;
    border: 2px solid #e5e5e5;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    top: -6px;
    cursor: grab;
}
#shop-sidebar .price_slider_amount {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
    color: #333;
    margin-top: 10px;
}
#shop-sidebar .price_slider_amount .price_label {
    font-weight: 500;
}
#shop-sidebar .price_slider_amount .button {
    display: none; /* Hide filter button — filtering is automatic */
}

/* Remove default bullets if any */
#shop-sidebar ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
#shop-sidebar .is-divider, #shop-sidebar .widget-title::after { display: none !important; }


/* COA Verified Badge Styling (List View) */
.coa-verified-badge {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    position: relative;
    padding: 13px 16px;
    border: 1px solid rgba(0,0,0,0.2);
    border-radius: 19px;
    box-sizing: border-box;
    font-family: 'Montserrat', sans-serif;
    margin-top: 15px;
    margin-bottom: 5px;
    max-width: 500px;
    transition: all 0.2s;
    background: #fff;
}
.coa-verified-badge:hover {
    background-color: rgba(9,9,11,0.05);
}
.coa-verified-badge > img {
    width: 26px;
    height: 26px;
    flex: none;
}
.coa-verified-badge .coa-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}
.coa-absolute {
    position: absolute;
    inset: 0;
}
.coa-verified-badge .coa-label {
    font-weight: 600;
    font-size: 14px;
    line-height: 21px;
    color: #000;
}
.coa-verified-badge .coa-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-weight: 500;
    font-size: 14px;
    color: #555;
}
.coa-verified-badge .coa-purity {
    margin-left: auto;
    align-self: center;
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    color: #6d2777; /* matches global palette primary */
}
.coa-verified-badge .coa-link:hover {
    color: #6d2777;
}
.coa-arrow {
    width: 11px;
    height: 11px;
    display: inline-block;
    vertical-align: middle;
}

/* ==========================================================================
   PROTIDE HEALTH: SINGLE PRODUCT & COA ENHANCEMENTS (MATCH ORIGINAL)
   ========================================================================== */

/* 1. Breadcrumb Styling */
.page-title.shop-page-title.product-page-title {
    background: transparent !important;
    border-bottom: none !important;
    padding: 18px 0 6px 0 !important;
    margin-bottom: 0 !important;
}

.page-title.product-page-title .page-title-inner {
    padding-left: 15px !important;
    padding-right: 15px !important;
    min-height: auto !important;
}

.woocommerce-breadcrumb.protide-breadcrumbs,
.product-page-title .woocommerce-breadcrumb {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #6b7280 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 1.5 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

.protide-breadcrumbs a,
.product-page-title .woocommerce-breadcrumb a {
    color: #4b5563 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.protide-breadcrumbs a:hover,
.product-page-title .woocommerce-breadcrumb a:hover {
    color: #6c2b75 !important;
}

.protide-breadcrumbs .bc-delimiter,
.product-page-title .woocommerce-breadcrumb .divider {
    margin: 0 8px !important;
    color: #9ca3af !important;
    font-weight: 300 !important;
}

/* 2. Category Tag above Title */
/* 1a. Single Product Breadcrumbs - compact 1 line */
.single-product .protide-breadcrumbs,
.single-product .woocommerce-breadcrumb {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin-bottom: 16px !important;
    color: #9ca3af !important;
    flex-wrap: nowrap !important;
}

.single-product .woocommerce-breadcrumb a {
    color: #6b7280 !important;
    text-decoration: none !important;
    font-size: 12px !important;
}

.single-product .woocommerce-breadcrumb a:hover {
    color: #6c2b75 !important;
}

.single-product .woocommerce-breadcrumb .bc-delimiter {
    margin: 0 6px !important;
    color: #d1d5db !important;
}

/* 2. Category Tag */
.single-product-category {
    margin-bottom: 6px;
    margin-top: 4px;
}

.single-product-category .product-single-category {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #6c2b75;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.single-product-category .product-single-category:hover {
    opacity: 0.8;
}

/* 3. Product Title & Price */
.product-info .product-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #1c1025 !important;
    line-height: 1.2 !important;
    margin-bottom: 12px !important;
}

.product-info .price-wrapper .price,
.product-info p.price {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #1f2937 !important;
    margin-bottom: 18px !important;
}

.product-info .price-wrapper .price bdi,
.product-info p.price bdi {
    color: #1f2937 !important;
}

/* 4. Clean Short Description */
.product-info .product-short-description p {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    line-height: 1.65;
    color: #4b5563;
    margin-bottom: 16px;
}

/* 5. COA Verified Badge on Single Product */
.coa-verified-badge.single-coa-badge {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    margin: 18px 0 24px 0;
    background: #ffffff;
    border: 1px solid #e8dfe9;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(108, 43, 117, 0.05);
}

.single-coa-badge .coa-badge-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.single-coa-badge .coa-badge-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(108, 43, 117, 0.1);
    flex-shrink: 0;
}

.single-coa-badge .coa-badge-svg {
    width: 20px;
    height: 20px;
}

.single-coa-badge .coa-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.single-coa-badge .coa-label {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #1c1025;
    line-height: 1.2;
}

.single-coa-badge .coa-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    font-weight: 500;
    color: #6c2b75;
    text-decoration: none;
    transition: color 0.2s ease;
}

.single-coa-badge .coa-link:hover {
    color: #551c5d;
    text-decoration: underline;
}

.single-coa-badge .coa-purity {
    font-family: 'Montserrat', sans-serif;
    font-size: 26px;
    font-weight: 800;
    color: #6c2b75;
    line-height: 1;
    letter-spacing: -0.02em;
    white-space: nowrap;
}

/* 5a. Stock Status */
.product-info .protide-stock-status {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 14px !important;
    margin-top: 0 !important;
}
.product-info .protide-stock-status.in-stock {
    color: #16a34a;
}
.product-info .protide-stock-status.out-of-stock {
    color: #dc2626;
}

/* 6. Add to Cart Form Layout */
.product-info form.cart:not(.variations_form) {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
    margin-bottom: 0 !important;
}

/* Variable products: quantity + button row */
.product-info .woocommerce-variation-add-to-cart {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
}

/* Quantity Selector Container */
.product-info form.cart .quantity,
.product-info form.cart .ux-quantity {
    display: flex !important;
    align-items: center !important;
    border: 1.5px solid #d1d5db !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    height: 48px !important;
    min-width: 110px !important;
    flex-shrink: 0 !important;
    background: #fff !important;
    flex: 0 0 auto !important;
}

.product-info form.cart .quantity .minus,
.product-info form.cart .quantity .plus,
.product-info form.cart .ux-quantity__button {
    width: 36px !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #6b7280 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    line-height: 1 !important;
    transition: color 0.15s ease !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    min-height: 0 !important;
}

.product-info form.cart .quantity .minus:hover,
.product-info form.cart .quantity .plus:hover,
.product-info form.cart .ux-quantity__button:hover {
    color: #6c2b75 !important;
    background: transparent !important;
}

.product-info form.cart .quantity input.qty,
.product-info form.cart .quantity input[type="number"] {
    width: 38px !important;
    height: 100% !important;
    border: none !important;
    border-left: 1px solid #e5e7eb !important;
    border-right: 1px solid #e5e7eb !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #1c1025 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
    box-shadow: none !important;
    outline: none !important;
    max-width: none !important;
}

.product-info form.cart .quantity input.qty::-webkit-outer-spin-button,
.product-info form.cart .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Add to Cart Button */
.product-info .single_add_to_cart_button {
    background-color: #6c2b75 !important;
    border-color: #6c2b75 !important;
    color: #ffffff !important;
    border-radius: 9999px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 14px 36px !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
    transition: all 0.2s ease !important;
    flex: 1 1 0% !important;
    min-height: 48px !important;
    text-align: center !important;
}

.product-info .single_add_to_cart_button:hover {
    background-color: #551c5d !important;
    border-color: #551c5d !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(108, 43, 117, 0.25);
}

/* 7. Product Single Extras */
.single-product-extras {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #f1ebf3;
}

.single-product-extras .free-shipping-notice {
    font-size: 14px;
    font-weight: 700;
    color: #1c1025;
    margin-bottom: 12px;
}

.single-product-extras .product-guarantee-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
}

.single-product-extras .product-guarantee-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    font-weight: 500;
    color: #374151;
    margin-bottom: 8px;
}

.single-product-extras .checklist-icon {
    display: inline-flex;
    align-items: center;
    color: #13612e;
    flex-shrink: 0;
}

.single-product-payments {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 8px 14px 12px;
    margin: 0 0 20px 0;
}

.single-product-payments legend {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #6b7280;
    padding: 0 6px;
    margin: 0;
}

.single-product-payments .payment-badges-list {
    display: flex;
    align-items: center;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 6px 0 0 0;
}

.single-product-payments .payment-badges-list li svg {
    height: 24px;
    width: auto;
    border-radius: 4px;
}

.protide-disclaimer {
    background: #f9f9fb;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 14px 16px;
    font-size: 12.5px;
    line-height: 1.6;
    color: #4b5563;
    margin-top: 18px;
}

.protide-disclaimer p {
    margin: 0;
}

.protide-disclaimer a {
    color: #6c2b75;
    font-weight: 600;
    text-decoration: none;
}

.protide-disclaimer a:hover {
    text-decoration: underline;
}

/* 8. Tabs Customization (Clean Flatsome Override) */
.woocommerce-tabs.container.tabbed-content {
    margin-top: 40px !important;
    padding-top: 10px !important;
}

.woocommerce-tabs ul.tabs {
    display: flex !important;
    gap: 0 !important;
    border-bottom: 2px solid #f1ebf3 !important;
    padding: 0 !important;
    margin: 0 0 32px 0 !important;
    background: transparent !important;
}

.woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-tabs ul.tabs li a {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    padding: 12px 24px !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -2px !important;
    background: transparent !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    transition: all 0.2s ease !important;
}

.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li:hover a {
    color: #6c2b75 !important;
    border-bottom-color: #6c2b75 !important;
}

/* Tab 1: Certificate of Analysis Card (.ph-coa-card) */
.protide-coa-tab-wrapper .coa-tab-intro {
    font-family: 'Montserrat', sans-serif;
    font-size: 14.5px;
    line-height: 1.65;
    color: #374151;
    margin-bottom: 24px;
    max-width: 800px;
}

.protide-coa-tab-wrapper .coa-tab-intro a {
    color: #6c2b75;
    font-weight: 600;
    text-decoration: underline;
}

.ph-coa-card {
    font-family: 'Montserrat', sans-serif;
    max-width: 680px;
    margin: 24px 0;
    border-radius: 16px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #ece4ee;
    box-shadow: 0 1px 2px rgba(24,18,31,0.04), 0 8px 24px rgba(24,18,31,0.08);
}

.ph-coa-card * {
    box-sizing: border-box;
}

.ph-coa-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 20px 24px;
    background: #301639;
    color: #ffffff;
}

.ph-coa-eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #ffffff;
    margin: 0;
}

.ph-coa-title {
    font-size: 18px;
    font-weight: 700;
    margin: 4px 0 0;
    line-height: 1.2;
    color: #ffffff;
}

.ph-coa-verified {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(164,57,156,0.22);
    border: 1px solid rgba(164,57,156,0.5);
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    white-space: nowrap;
    color: #ffffff;
}

.ph-coa-verified svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.ph-coa-body {
    padding: 24px;
}

.ph-coa-hero {
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f1ebf3;
}

.ph-coa-purity {
    font-size: 44px;
    font-weight: 800;
    color: #6c3182;
    line-height: 1;
    letter-spacing: -0.02em;
    white-space: nowrap;
}

.ph-coa-purity-label {
    font-size: 13px;
    color: #64748b;
    font-weight: 500;
    line-height: 1.4;
}

.ph-coa-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

.ph-coa-stat-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
    margin: 0 0 4px;
}

.ph-coa-stat-value {
    font-size: 15px;
    font-weight: 600;
    color: #1e293b;
    margin: 0;
    word-break: break-word;
}

.ph-coa-preview {
    margin: 0 0 20px;
    padding: 16px;
    background: #fafafa;
    border: 1px solid #f1ebf3;
    border-radius: 10px;
}

.ph-coa-preview-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    padding-left: 10px;
    border-left: 3px solid #A4399C;
}

.ph-coa-preview-title {
    font-size: 13px;
    font-weight: 700;
    color: #6C3182;
    margin: 0;
    letter-spacing: 0.02em;
}

.ph-coa-preview-img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(24,18,31,0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ph-coa-preview-img:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(24,18,31,0.12);
}

.ph-coa-preview-caption {
    font-size: 11px;
    color: #94a3b8;
    margin: 8px 0 0;
}

.ph-coa-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 14px 20px;
    background: #18121F;
    color: #ffffff !important;
    text-decoration: none !important;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
    transition: background 0.2s ease, transform 0.2s ease;
}

.ph-coa-cta:hover {
    background: #2a1f37;
    transform: translateY(-1px);
    color: #ffffff !important;
}

.ph-coa-cta svg {
    width: 16px;
    height: 16px;
}

/* Tab 4: Shipping & FAQs Accordion */
.protide-faqs-accordion {
    max-width: 800px;
}

.protide-faqs-accordion .faqs-tab-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #1c1025;
    margin-bottom: 20px;
}

.faq-accordion-item {
    border-top: 1px solid #e5e7eb;
}

.faq-accordion-item:last-child {
    border-bottom: 1px solid #e5e7eb;
}

.faq-accordion-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 6px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: color 0.2s ease;
}

.faq-accordion-header:hover {
    color: #6c2b75;
}

.faq-question-text {
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #1f2937;
}

.faq-toggle-icon {
    font-size: 22px;
    font-weight: 500;
    color: #6c2b75;
    line-height: 1;
}

.faq-answer-inner {
    padding: 0 6px 18px 6px;
    font-size: 14px;
    line-height: 1.65;
    color: #4b5563;
}

.faq-answer-inner a {
    color: #6c2b75;
    font-weight: 600;
    text-decoration: underline;
}

/* 9. Related Products ("You may also like...") */
.related.products,
.related-products-wrapper {
    margin-top: 48px !important;
    padding-top: 24px !important;
}

.related-products-wrapper .product-section-title-related,
.related.products h2,
.related.products h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    color: #1c1025 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    margin-bottom: 24px !important;
    text-align: left !important;
    border: none !important;
}

.related-products-wrapper .product-small.box {
    border: none !important;
    background: transparent !important;
}

.related-products-wrapper .product-small .box-image {
    background-color: rgba(9, 9, 11, 0.035) !important;
    border-radius: 8px !important;
    padding: 16px !important;
    transition: transform 0.2s ease !important;
}

.related-products-wrapper .product-small.box:hover .box-image {
    transform: translateY(-2px);
}

.related-products-wrapper .product-small .box-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 12px 0 0 0 !important;
    text-align: left !important;
}

.related-products-wrapper .product-small .price-wrapper {
    order: -1 !important;
    margin-bottom: 4px !important;
}

.related-products-wrapper .product-small .price-wrapper .price,
.related-products-wrapper .product-small .price-wrapper .amount {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #000000 !important;
}

.related-products-wrapper .product-small .title-wrapper {
    margin-bottom: 12px !important;
    margin-top: 0 !important;
}

.related-products-wrapper .product-small .title-wrapper .name a {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 500 !important;
    color: #1c1025 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

.related-products-wrapper .product-small .title-wrapper .name a:hover {
    color: #6c2b75 !important;
}

.related-products-wrapper .product-small .add-to-cart-button {
    margin-top: auto !important;
    width: 100% !important;
}

.related-products-wrapper .product-small .add-to-cart-button a {
    display: inline-block !important;
    border-radius: 9999px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border: 1px solid rgba(9, 9, 11, 0.18) !important;
    background: transparent !important;
    color: #1c1025 !important;
    padding: 8px 24px !important;
    text-transform: none !important;
    transition: all 0.2s ease !important;
}

.related-products-wrapper .product-small .add-to-cart-button a:hover {
    background: #6c2b75 !important;
    border-color: #6c2b75 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   CERTIFICATES OF ANALYSIS (COA) - SINGLE PAGE (EXACT MATCH WITH ORIGINAL LIVE)
   ========================================================================== */

/* Full-width Dark Hero Section */
.section.coa-single-dark-hero {
    background: #191121 !important;
    background: linear-gradient(135deg, #240f29 0%, #150a1c 100%) !important;
    color: #ffffff !important;
    padding-top: 55px !important;
    padding-bottom: 45px !important;
}

.coa-hero-container {
    max-width: 1100px;
    margin: 0 auto;
}

.coa-hero-topline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.coa-hero-breadcrumbs {
    font-family: 'Montserrat', sans-serif;
    font-size: 11.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #b97cc4;
}

.coa-hero-breadcrumbs a {
    color: #b97cc4 !important;
    text-decoration: none;
    transition: color 0.2s;
}

.coa-hero-breadcrumbs a:hover {
    color: #ffffff !important;
}

.coa-crumb-arrow {
    margin: 0 6px;
    color: rgba(255, 255, 255, 0.4);
}

.coa-hero-verified-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(185, 124, 196, 0.12);
    border: 1px solid rgba(185, 124, 196, 0.4);
    border-radius: 9999px;
    padding: 4px 14px;
    color: #e9d5ff;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.coa-hero-title {
    font-family: 'Montserrat', sans-serif !important;
    color: #ffffff !important;
    font-size: 42px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    margin: 8px 0 16px 0 !important;
    letter-spacing: -0.01em !important;
}

.coa-hero-metalist {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 22px;
    font-family: 'Montserrat', sans-serif;
    font-size: 11.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #c4b5fd;
}

.coa-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.coa-meta-item svg {
    color: #b97cc4;
}

/* 4 Metric Stats Columns in Hero */
.coa-hero-stats-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 32px;
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, 0.09);
}

@media (max-width: 767px) {
    .coa-hero-stats-row {
        grid-template-columns: repeat(2, 1fr);
    }
}

.coa-stat-col {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.coa-stat-label {
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.55);
}

.coa-stat-value {
    font-family: 'Montserrat', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.2;
}

.coa-purity-color {
    color: #d946ef !important;
}

/* --- Body Section (White Cards & Tables) --- */
.section.coa-single-body-sec {
    background-color: #fbfbfb !important;
    padding-top: 40px !important;
    padding-bottom: 60px !important;
}

.coa-body-container {
    max-width: 1100px;
    margin: 0 auto;
}

/* Product Card */
.coa-product-card {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.04);
    padding: 22px 28px;
    margin-bottom: 35px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

@media (max-width: 640px) {
    .coa-product-card {
        flex-direction: column;
        align-items: flex-start;
    }
}

.coa-prod-left {
    display: flex;
    align-items: center;
    gap: 20px;
}

.coa-prod-img {
    width: 65px;
    height: 65px;
    object-fit: contain;
    border-radius: 6px;
    border: 1px solid #f1f5f9;
}

.coa-prod-placeholder {
    width: 55px;
    height: 55px;
    background: #f1f5f9;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.coa-prod-tag {
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #6c2b75;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.coa-prod-heading {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1c1025 !important;
    margin: 2px 0 4px 0 !important;
}

.coa-prod-sub {
    font-size: 13.5px;
    color: #64748b;
    margin: 0;
}

.coa-btn-product {
    background: #581c5c !important;
    color: #ffffff !important;
    padding: 12px 24px !important;
    border-radius: 4px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: background 0.2s ease !important;
}

.coa-btn-product:hover {
    background: #6d2777 !important;
    color: #ffffff !important;
}

/* Content Blocks */
.coa-content-block {
    margin-bottom: 40px;
}

.coa-block-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
}

.coa-num-tag {
    color: #6c2b75;
    font-size: 12px;
    font-weight: 700;
}

.coa-block-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1c1025 !important;
    margin: 0 !important;
}

/* Sample Identification Table (2 Columns) */
.coa-id-table {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.04);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    overflow: hidden;
}

@media (max-width: 640px) {
    .coa-id-table {
        grid-template-columns: 1fr;
    }
}

.coa-table-col {
    display: flex;
    flex-direction: column;
}

.coa-table-col:first-child {
    border-right: 1px solid #f1f5f9;
}

.coa-table-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 13px 22px;
    border-bottom: 1px solid #f1f5f9;
    font-size: 13.5px;
}

.coa-table-row:last-child {
    border-bottom: none;
}

.coa-th {
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #94a3b8;
}

.coa-td {
    color: #1e293b;
    font-weight: 500;
    text-align: right;
}

/* Section 02: Purity & Quality Grid */
.coa-quality-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

@media (max-width: 767px) {
    .coa-quality-grid {
        grid-template-columns: 1fr;
    }
}

.coa-quality-card {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.04);
    padding: 20px 24px;
}

.coa-card-sub {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #6c2b75;
    margin-bottom: 12px;
}

.coa-q-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #f8fafc;
    font-size: 13px;
}

.coa-q-row:last-child {
    border-bottom: none;
}

.coa-q-lbl {
    font-family: 'Montserrat', sans-serif;
    color: #64748b;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.coa-val-pass {
    color: #0f172a;
    font-weight: 600;
    font-size: 13.5px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.coa-chk {
    color: #16a34a;
    font-weight: 800;
}

/* Scan Image Box */
.coa-scan-box {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.04);
    overflow: hidden;
}

.coa-scan-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
}

.coa-scan-zoom-link {
    color: #6c2b75 !important;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

.coa-scan-zoom-link:hover {
    text-decoration: underline;
}

.coa-scan-img-wrap {
    padding: 16px;
    text-align: center;
}

.coa-scan-img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

/* Section 03: Testing Methods */
.coa-actions-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 20px;
}

.coa-btn-dl-pdf {
    background: #581c5c !important;
    color: #ffffff !important;
    padding: 12px 24px !important;
    border-radius: 4px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: background 0.2s ease !important;
}

.coa-btn-dl-pdf:hover {
    background: #6d2777 !important;
    color: #ffffff !important;
}

.coa-btn-view-tab {
    background: transparent !important;
    color: #1c1025 !important;
    border: 1px solid #cbd5e1 !important;
    padding: 12px 24px !important;
    border-radius: 4px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    transition: all 0.2s ease !important;
}

.coa-btn-view-tab:hover {
    background: #f1f5f9 !important;
}

.coa-notes-card {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.04);
    padding: 18px 22px;
    font-size: 13.5px;
    color: #475569;
}

.coa-notes-card p {
    margin: 0 0 8px 0 !important;
}

.coa-notes-card p:last-child {
    margin-bottom: 0 !important;
}

.coa-notes-card strong {
    color: #0f172a;
}

/* Section 04: History */
.coa-history-subtitle {
    font-size: 13.5px;
    color: #64748b;
    margin: 0 0 16px 0;
}

.coa-history-table {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.coa-hist-item {
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    transition: border-color 0.2s;
}

.coa-hist-item:hover {
    border-color: #cbd5e1;
}

.coa-hist-item.is-active {
    background: #fdf4ff;
    border-color: #e879f9;
}

.coa-hist-badge {
    background: #ecfdf5;
    color: #065f46;
    font-size: 11.5px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 9999px;
    border: 1px solid #a7f3d0;
    white-space: nowrap;
}

.coa-hist-info {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.coa-hist-info strong {
    font-size: 14px;
    color: #0f172a;
}

.coa-hist-meta {
    font-size: 12.5px;
    color: #64748b;
}

.coa-hist-btn {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 9999px !important;
    padding: 5px 14px !important;
    color: #0f172a !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all 0.2s ease !important;
}

.coa-hist-btn:hover {
    background: #581c5c !important;
    color: #ffffff !important;
    border-color: #581c5c !important;
}

.coa-hist-current-label {
    color: #6c2b75;
    font-size: 12.5px;
    font-weight: 700;
    white-space: nowrap;
}

/* Section 05: Disclaimer */
.coa-disclaimer-card {
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    padding: 20px 24px;
    font-size: 12.5px;
    color: #64748b;
    line-height: 1.6;
}

.coa-disc-heading {
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 6px;
}

/* --- 2. ARCHIVE COA PAGE STYLING (EXACT MATCH WITH ORIGINAL LIVE DESIGN) --- */
.coa-archive-wrapper {
    background-color: #fcfcfc !important;
}

/* Hero Banner */
.section.coa-archive-hero {
    background: #511f5b !important;
    background: linear-gradient(135deg, #511f5b 0%, #3a1542 100%) !important;
    padding-top: 55px !important;
    padding-bottom: 55px !important;
    text-align: center !important;
}

.coa-archive-main-title {
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    letter-spacing: -0.01em !important;
}

/* Grid Section */
.section.coa-archive-grid-section {
    background-color: #fcfcfc !important;
    padding-top: 50px !important;
    padding-bottom: 20px !important;
}

.coa-archive-grid-row {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.coa-card-col {
    margin-bottom: 30px !important;
    display: flex !important;
}

/* 3x3 Card */
.coa-entry-card {
    background: #ffffff !important;
    border-radius: 8px !important;
    box-shadow: 0px 15px 25px -10px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid rgba(0, 0, 0, 0.04) !important;
    padding: 34px 28px 28px 28px !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    min-height: 200px !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.coa-entry-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0px 20px 30px -10px rgba(0, 0, 0, 0.09) !important;
}

.coa-card-title {
    margin: 0 0 28px 0 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.coa-card-title a {
    color: #1c1025 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.coa-card-title a:hover {
    color: #6c2b75 !important;
}

.coa-card-footer {
    margin-top: auto !important;
}

.coa-read-more {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: #1c1025 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.coa-read-more:hover {
    color: #6c2b75 !important;
}

.coa-arrow {
    transition: transform 0.2s ease !important;
}

.coa-read-more:hover .coa-arrow {
    transform: translateX(4px) !important;
}

/* Pagination (Clean horizontal list matching original) */
.coa-pagination-container {
    padding: 10px 0 60px 0 !important;
    text-align: center !important;
    background-color: #fcfcfc !important;
}

.coa-pagination-nav {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.coa-pagination-nav .page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 8px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #4b5563 !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    transition: all 0.2s ease !important;
}

.coa-pagination-nav .page-numbers:hover {
    color: #511f5b !important;
}

.coa-pagination-nav .page-numbers.current {
    background-color: #511f5b !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

.coa-pagination-nav .page-numbers.dots {
    color: #9ca3af !important;
    min-width: 20px !important;
}

.coa-pagination-nav a.next,
.coa-pagination-nav a.prev {
    color: #4b5563 !important;
}

.coa-pagination-nav a.next:hover,
.coa-pagination-nav a.prev:hover {
    color: #511f5b !important;
}

/* ==========================================================================
   OFF-CANVAS CART DRAWER & ACCOUNT LIGHTBOX (KADENCE MATCH)
   ========================================================================== */

/* Cart Drawer Styling */
.cart-popup-inner,
.off-canvas .mfp-content,
#cart-popup {
    font-family: 'Montserrat', sans-serif !important;
}

.cart-popup-inner .widget_shopping_cart_content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.cart-popup-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1c1025 !important;
    letter-spacing: -0.01em;
    padding-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
}

/* Mini-cart items */
ul.woocommerce-mini-cart {
    padding: 10px 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

ul.woocommerce-mini-cart li.woocommerce-mini-cart-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #f1f5f9;
    font-size: 13.5px;
}

ul.woocommerce-mini-cart li.woocommerce-mini-cart-item img {
    width: 60px !important;
    height: 60px !important;
    object-fit: contain;
    border-radius: 6px;
    border: 1px solid #f1f5f9;
}

ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a:not(.remove) {
    font-weight: 600;
    color: #1c1025 !important;
    text-decoration: none;
}

ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a:not(.remove):hover {
    color: #6c2b75 !important;
}

ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove {
    color: #94a3b8 !important;
    font-size: 18px;
    line-height: 1;
    margin-left: auto;
}

ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove:hover {
    color: #ef4444 !important;
}

/* Subtotal & Buttons */
.woocommerce-mini-cart__total {
    padding: 16px 0 !important;
    margin-top: auto !important;
    border-top: 2px solid #f1f5f9 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1c1025 !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.woocommerce-mini-cart__total .woocommerce-Price-amount {
    color: #6c2b75 !important;
    font-size: 18px !important;
}

.woocommerce-mini-cart__buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
}

.woocommerce-mini-cart__buttons a.button {
    text-align: center;
    padding: 12px 20px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    border-radius: 6px !important;
    transition: all 0.2s ease !important;
}

/* View Cart button */
.woocommerce-mini-cart__buttons a.button:not(.checkout) {
    background: transparent !important;
    color: #1c1025 !important;
    border: 1px solid #cbd5e1 !important;
}

.woocommerce-mini-cart__buttons a.button:not(.checkout):hover {
    background: #f8fafc !important;
    border-color: #94a3b8 !important;
}

/* Checkout button */
.woocommerce-mini-cart__buttons a.button.checkout {
    background: #581c5c !important;
    color: #ffffff !important;
    border: 1px solid #581c5c !important;
    box-shadow: 0 4px 12px rgba(88, 28, 92, 0.2) !important;
}

.woocommerce-mini-cart__buttons a.button.checkout:hover {
    background: #6d2777 !important;
    border-color: #6d2777 !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(88, 28, 92, 0.3) !important;
}

/* Account Lightbox Modal */
#login-form-popup {
    border-radius: 12px !important;
    overflow: hidden !important;
    max-width: 440px !important;
    padding: 30px !important;
    font-family: 'Montserrat', sans-serif !important;
}

#login-form-popup .woocommerce-form-login__submit {
    background: #581c5c !important;
    border-color: #581c5c !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    border-radius: 6px !important;
    padding: 12px 24px !important;
    width: 100% !important;
}

#login-form-popup .woocommerce-form-login__submit:hover {
    background: #6d2777 !important;
    border-color: #6d2777 !important;
}


/* =============================================================
   MOBILE HEADER — Match Original Kadence 3-row Layout
   Row 1 (black):  "All products are for research use only..."
   Row 2 (purple): "Free shipping on orders $199+..."
   Row 3 (white):  hamburger + search — logo — account + cart
   ============================================================= */

/* --- xc-top-bar-mobile: Create missing "All products..." row on mobile via ::before --- */
@media (max-width: 849px) {
    #top-bar {
        flex-direction: column;
        align-items: stretch;
    }

    /* Row 1: Black bar — "All products are for research use only" */
    #top-bar::before {
        content: "All products are for research use only, not for human use.";
        display: block;
        background-color: #000;
        color: #fff;
        text-align: center;
        font-size: 10px;
        font-weight: 500;
        font-family: Montserrat, sans-serif;
        padding: 6px 15px;
        line-height: 1.2;
        letter-spacing: -0.018em;
        width: 100%;
        order: -1;
    }

    /* Row 2: Purple bar — "Free shipping..." inherits from #top-bar container */
    #top-bar > .flex-row.container {
        background-color: #6d2777;
        padding-top: 6px;
        padding-bottom: 6px;
    }

    /* Override the black bg only for the outer #top-bar wrapper —
       the black color comes from ::before, purple from .container */
    #top-bar.header-top {
        background-color: #000 !important;
    }

    /* Ensure mobile nav text stays white on purple bg */
    #top-bar .show-for-medium .html_topbar_left {
        color: #fff;
        font-size: 10px;
        font-weight: 500;
        line-height: 1.2;
    }
}

/* --- Mobile header row 3 (white bar) fine-tuning --- */
@media (max-width: 849px) {
    /* Match original bottom header height */
    .header-main .header-inner {
        min-height: 54px;
    }

    /* Cart icon badge — match Kadence style */
    .header-cart-link [data-icon-label]::after {
        background-color: #301639;
        color: #fff;
        font-size: 10px;
        height: 18px;
        line-height: 18px;
        min-width: 18px;
        right: -8px;
        top: -8px;
        border-radius: 50%;
    }

    /* Hide cart badge when 0 */
    .header-cart-link [data-icon-label="0"]::after {
        display: none;
    }

    /* Mobile account icon — match size with Kadence SVG */
    .account-link-mobile::before {
        content: "";
        display: inline-block;
        width: 24px;
        height: 24px;
        background-color: currentColor;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M23.797 20.922c-0.406-2.922-1.594-5.516-4.25-5.875-1.375 1.5-3.359 2.453-5.547 2.453s-4.172-0.953-5.547-2.453c-2.656 0.359-3.844 2.953-4.25 5.875 2.172 3.063 5.75 5.078 9.797 5.078s7.625-2.016 9.797-5.078zM20 10c0-3.313-2.688-6-6-6s-6 2.688-6 6 2.688 6 6 6 6-2.688 6-6zM28 14c0 7.703-6.25 14-14 14-7.734 0-14-6.281-14-14 0-7.734 6.266-14 14-14s14 6.266 14 14z'/%3E%3C/svg%3E");
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M23.797 20.922c-0.406-2.922-1.594-5.516-4.25-5.875-1.375 1.5-3.359 2.453-5.547 2.453s-4.172-0.953-5.547-2.453c-2.656 0.359-3.844 2.953-4.25 5.875 2.172 3.063 5.75 5.078 9.797 5.078s7.625-2.016 9.797-5.078zM20 10c0-3.313-2.688-6-6-6s-6 2.688-6 6 2.688 6 6 6 6-2.688 6-6zM28 14c0 7.703-6.25 14-14 14-7.734 0-14-6.281-14-14 0-7.734 6.266-14 14-14s14 6.266 14 14z'/%3E%3C/svg%3E");
        -webkit-mask-size: contain;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: center;
        mask-size: contain;
        mask-repeat: no-repeat;
        mask-position: center;
    }
    .account-link-mobile > i.icon-user {
        display: none !important;
    }

    /* Divider below header-main */
    .header-main .top-divider {
        border-top-color: #e2e2e2;
        opacity: 0.4;
    }
}


/* =============================================================
   SHOP: Grid / List Toggle View
   ============================================================= */

/* --- Toggle Buttons --- */
.kadence-product-toggle-container {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 12px;
    vertical-align: middle;
}
.kadence-toggle-shop-layout {
    background: transparent;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 5px 7px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    min-height: 34px;
    min-width: 34px;
    transition: all 0.2s;
    color: #999;
    box-shadow: none;
}
.kadence-toggle-shop-layout:hover {
    border-color: #1c1025;
    color: #1c1025;
    box-shadow: none;
    background: transparent;
}
.kadence-toggle-shop-layout.toggle-active {
    background: transparent;
    border-color: #1c1025;
    color: #1c1025;
    box-shadow: none;
}
.kadence-toggle-shop-layout .kadence-svg-iconset {
    width: 18px;
    height: 18px;
}

/* --- Mobile List View (vertical stack) --- */
@media (max-width: 849px) {
    .archive.woocommerce .products.products-list-view {
        display: block !important;
    }
    .archive.woocommerce .products.products-list-view > .col {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        border-bottom: 1px solid #f0f0f0;
        padding-bottom: 16px;
        margin-bottom: 16px !important;
    }
    .archive.woocommerce .products.products-list-view .product-small.box {
        display: flex !important;
        flex-direction: column !important;
        width: 100%;
    }
    /* Image full width on top */
    .archive.woocommerce .products.products-list-view .box-image {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 10px;
        height: auto !important;
    }
    /* Content below */
    .archive.woocommerce .products.products-list-view .box-text {
        padding: 0 4px !important;
        text-align: left;
    }
    .archive.woocommerce .products.products-list-view .box-text .add-to-cart-button,
    .archive.woocommerce .products.products-list-view .box-text .add_to_cart_button {
        width: 100%;
        text-align: center;
        display: block;
        margin-top: 10px;
    }
}

/* ===== Related Products: Clean cards (image + title + price + button only) ===== */
.related-products-wrapper .box-excerpt {
    display: none !important;
}

/* ===== SINGLE PRODUCT GALLERY: Vertical Thumbnails + Up/Down Arrows ===== */

/* Vertical thumbnails column */
.vertical-thumbnails {
    order: -1 !important;
}

.vertical-thumbnails .product-thumbnails {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    max-height: 500px;
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
}

.vertical-thumbnails .product-thumbnails::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

/* Turn off Flickity horizontal layout for vertical thumbs */
.vertical-thumbnails .product-thumbnails .flickity-viewport {
    height: auto !important;
    min-height: 0 !important;
}

.vertical-thumbnails .product-thumbnails .flickity-slider {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    transform: none !important;
    left: 0 !important;
}

.vertical-thumbnails .product-thumbnails .col {
    position: relative !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.vertical-thumbnails .product-thumbnails .col a {
    display: block;
    border: 2px solid transparent;
    border-radius: 6px;
    overflow: hidden;
    transition: border-color 0.2s ease;
}

.vertical-thumbnails .product-thumbnails .col.is-nav-selected a,
.vertical-thumbnails .product-thumbnails .col.is-selected a {
    border-color: #6c2b75;
}

.vertical-thumbnails .product-thumbnails .col img {
    width: 100%;
    height: auto;
    display: block;
}

/* Custom vertical thumbnail arrows (JS-created) */
.protide-thumb-arrow {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 28px;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    background: #f9fafb;
    cursor: pointer;
    padding: 0;
    margin: 0;
    transition: background 0.15s ease;
    flex-shrink: 0;
}

.protide-thumb-arrow:hover {
    background: #f0f0f0;
}

.protide-thumb-arrow svg {
    display: block;
}

.protide-thumb-arrow--up {
    margin-bottom: 6px;
}

.protide-thumb-arrow--down {
    margin-top: 6px;
}

/* Hide main product image slider prev/next arrows on single product */
.single-product .product-gallery-slider .flickity-prev-next-button,
.single-product .product-gallery-slider .flickity-button.flickity-prev-next-button,
.single-product .woocommerce-product-gallery .product-gallery-slider .flickity-prev-next-button,
body.single-product .product-gallery-slider > .flickity-prev-next-button,
body.single-product .slider.product-gallery-slider .flickity-prev-next-button {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* ==========================================================================
   COA LIBRARY & COA ARCHIVE STYLES (FLATSOME ZERO-DIV ARCHITECTURE)
   ========================================================================== */

/* Hero Section */
.coa-library-hero,
.coa-archive-hero {
    background: #191121 !important;
    background: linear-gradient(135deg, #240f29 0%, #150a1c 100%) !important;
    color: #ffffff !important;
}

.coa-library-hero .coa-hero-title,
.coa-archive-hero .coa-archive-main-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(32px, 5vw, 54px) !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: #ffffff !important;
    margin: 12px 0 16px 0 !important;
}

.coa-library-hero .coa-hero-title em,
.coa-archive-hero .coa-archive-main-title em {
    font-style: italic;
    color: #b071bd !important;
    font-weight: 700;
}

.coa-library-hero .coa-hero-lede,
.coa-archive-hero .coa-archive-lede {
    font-size: 15.5px !important;
    line-height: 1.65 !important;
    color: rgba(254, 254, 254, 0.72) !important;
    max-width: 680px;
    margin: 0 0 32px 0 !important;
}

/* Hero Search Component */
.coa-search-wrapper {
    margin-top: 10px;
    padding-top: 28px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.coa-search-inner {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(0, 1.4fr);
    gap: 40px;
    align-items: start;
}

.coa-eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #888888;
    margin-bottom: 8px;
}

.coa-eyebrow--dark {
    color: #b071bd !important;
}

.coa-search-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(22px, 3vw, 28px) !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    margin: 0 0 10px 0 !important;
}

.coa-search-help {
    font-size: 13.5px !important;
    color: rgba(255, 255, 255, 0.6) !important;
    margin: 0 0 14px 0 !important;
}

.coa-examples {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.coa-example-chip {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    background: rgba(255, 255, 255, 0.06) !important;
    color: rgba(255, 255, 255, 0.75) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 4px !important;
    padding: 5px 12px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
}

.coa-example-chip:hover {
    background: rgba(176, 113, 189, 0.25) !important;
    border-color: #b071bd !important;
    color: #ffffff !important;
}

/* Search Form & Input */
.coa-search-input-wrap {
    position: relative;
    width: 100%;
}

.coa-search-form {
    display: flex !important;
    align-items: stretch !important;
    margin: 0 !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    transition: border-color 0.2s ease, background 0.2s ease !important;
    box-shadow: none !important;
}

.coa-search-form:focus-within {
    border-color: #b071bd !important;
    background: rgba(255, 255, 255, 0.12) !important;
}

.coa-search-input {
    flex: 1 1 auto !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14.5px !important;
    padding: 13px 18px !important;
    margin: 0 !important;
    outline: none !important;
    height: auto !important;
}

.coa-search-input::placeholder {
    color: rgba(255, 255, 255, 0.45) !important;
}

.coa-search-submit {
    flex: 0 0 auto !important;
    background: #6d2777 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 22px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    box-shadow: none !important;
    margin: 0 !important;
    height: auto !important;
}

.coa-search-submit:hover {
    background: #8b3398 !important;
    color: #ffffff !important;
}

.coa-submit-icon {
    display: inline-block;
}

/* Suggestions Dropdown */
.coa-suggestions {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 999;
    list-style: none !important;
    margin: 0 !important;
    padding: 6px !important;
    max-height: 340px;
    overflow-y: auto;
    background: #23122d;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 6px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45);
}

.coa-suggestion-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 12px;
    border-radius: 4px;
    cursor: pointer;
    color: #ffffff;
    transition: background 0.15s ease;
}

.coa-suggestion-item:hover {
    background: rgba(255, 255, 255, 0.1);
}

.coa-suggestion-title {
    font-size: 13.5px;
    font-weight: 500;
    color: #ffffff;
}

.coa-suggestion-title mark {
    background: none;
    color: #b071bd;
    font-weight: 700;
}

.coa-suggestion-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    color: #b97cc4;
    white-space: nowrap;
}

.coa-suggestion-purity {
    color: #34d399;
    font-weight: 700;
}

.coa-suggestion-empty {
    padding: 12px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.5;
}

.coa-suggestion-empty a {
    color: #b071bd !important;
    text-decoration: underline;
}

/* Batch Releases & Cards Grid */
.coa-releases-container {
    max-width: 1240px;
    margin: 0 auto;
}

.coa-releases-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 28px;
    gap: 16px;
    flex-wrap: wrap;
}

.coa-releases-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(24px, 3.5vw, 32px) !important;
    font-weight: 600 !important;
    color: #1c1025 !important;
    margin: 4px 0 0 0 !important;
}

.coa-releases-meta {
    font-family: 'Montserrat', sans-serif;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #777777;
}

.coa-no-results {
    background: #ffffff;
    border: 1px dashed #d1d5db;
    border-radius: 6px;
    padding: 36px 20px;
    text-align: center;
    margin-bottom: 24px;
}

.coa-no-results p {
    font-size: 15px;
    color: #4b5563;
    margin-bottom: 6px;
}

.coa-no-results-hint {
    font-size: 13px;
    color: #6b7280;
}

.coa-no-results-hint a {
    color: #6d2777;
    font-weight: 600;
}

.coa-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

/* Individual COA Card */
.coa-card {
    background: #ffffff;
    border: 1px solid #e8e4ec;
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.coa-card:hover {
    border-color: rgba(109, 39, 119, 0.4);
    box-shadow: 0 10px 24px rgba(28, 16, 37, 0.07);
    transform: translateY(-2px);
}

.coa-card-media {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    background: #f4f3f6;
    overflow: hidden;
}

.coa-card-image-link {
    display: block;
    width: 100%;
    height: 100%;
}

.coa-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: top center !important;
    display: block;
    transition: transform 0.3s ease;
}

.coa-card:hover .coa-card-media img {
    transform: scale(1.02);
}

.coa-card-purity {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    background: #ffffff;
    border: 1px solid #e8e4ec;
    border-radius: 4px;
    padding: 3px 8px;
    font-size: 11.5px;
    font-weight: 700;
    color: #1c1025;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.coa-purity-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #10b981;
    display: inline-block;
}

.coa-card-body {
    padding: 18px 18px 14px;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.coa-card-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin: 0 0 12px 0 !important;
    color: #1c1025 !important;
}

.coa-card-title a {
    color: #1c1025 !important;
    text-decoration: none !important;
    transition: color 0.15s ease;
}

.coa-card-title a:hover {
    color: #6d2777 !important;
}

.coa-card-meta {
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-size: 12px;
    color: #6b7280;
    margin-top: auto;
}

.coa-meta-line {
    margin: 0 !important;
    line-height: 1.4 !important;
}

.coa-meta-label {
    font-weight: 600;
    color: #374151;
}

.coa-card-actions {
    display: flex;
    border-top: 1px solid #e8e4ec;
    margin-top: 14px;
}

.coa-card-btn {
    flex: 1 1 50%;
    text-align: center;
    padding: 11px 8px;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    line-height: 1 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s ease, color 0.15s ease;
}

.coa-card-btn-primary {
    color: #1c1025 !important;
    background: #ffffff;
}

.coa-card-btn-primary:hover {
    color: #6d2777 !important;
    background: #faf5fc;
}

.coa-card-btn-ghost {
    color: #6b7280 !important;
    border-left: 1px solid #e8e4ec;
    background: #fafafa;
}

.coa-card-btn-ghost:hover {
    color: #1c1025 !important;
    background: #f3f4f6;
}

/* Browse All CTA Row */
.coa-archive-cta-row {
    text-align: center;
    margin-top: 36px;
}

.coa-browse-all-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 26px;
    background: #1c1025;
    color: #ffffff !important;
    border-radius: 30px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;
}

.coa-browse-all-btn:hover {
    background: #6d2777;
    color: #ffffff !important;
    transform: translateY(-1px);
}

/* Pagination */
.coa-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 40px;
    flex-wrap: wrap;
}

.coa-pagination a,
.coa-pagination span {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #1c1025;
    text-decoration: none;
    padding: 8px 14px;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    background: #ffffff;
    min-width: 38px;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}

.coa-pagination a:hover {
    background: #1c1025;
    color: #ffffff !important;
    border-color: #1c1025;
}

.coa-pagination .current {
    background: #6d2777 !important;
    color: #ffffff !important;
    border-color: #6d2777 !important;
}

/* Methodology Section (Section 3 of COA Library) */
.coa-library-methods {
    background: #191121 !important;
    color: #ffffff !important;
}

.coa-method-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 6px;
    padding: 24px 20px;
    height: 100%;
}

.coa-method-num {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: #b071bd;
    margin-bottom: 10px;
}

.coa-method-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    margin: 0 0 10px 0 !important;
}

.coa-method-desc {
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: rgba(255, 255, 255, 0.65) !important;
    margin: 0 !important;
}

/* Responsive */
@media (max-width: 960px) {
    .coa-search-inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .coa-cards-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }
}

@media (max-width: 600px) {
    .coa-cards-grid {
        grid-template-columns: 1fr;
    }
    .coa-search-form {
        flex-direction: row !important;
    }
    .coa-search-input {
        padding: 11px 14px !important;
        font-size: 13.5px !important;
    }
    .coa-search-submit {
        padding: 0 14px !important;
        font-size: 11px !important;
    }
}





/* ============================================================
   PEPTIDE CATEGORIES PAGE (Matching protidehealth.com/shop/peptide-categories/)
   ============================================================ */
.peptide-categories-hero {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.peptide-cat-breadcrumbs {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 0.75rem;
  letter-spacing: 0.02em;
}
.peptide-cat-breadcrumbs a {
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
}
.peptide-cat-breadcrumbs a:hover {
  color: #ffffff;
}
.peptide-cat-title {
  font-size: 2.25rem;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

/* Category Cards Styling */
.peptide-categories-grid-section .product-category,
.peptide-categories-grid-section .col {
  margin-bottom: 2rem;
}
.peptide-categories-grid-section .box {
  background: #ffffff !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03) !important;
}
.peptide-categories-grid-section .box:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 30px rgba(48, 22, 57, 0.12) !important;
  border-color: #e2e8f0 !important;
}
.peptide-categories-grid-section .box-image {
  background: #ffffff !important;
  padding: 1rem !important;
  aspect-ratio: 1 / 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.peptide-categories-grid-section .box-image img {
  object-fit: contain !important;
  max-height: 100% !important;
  width: auto !important;
  transition: transform 0.3s ease !important;
}
.peptide-categories-grid-section .box:hover .box-image img {
  transform: scale(1.04) !important;
}
.peptide-categories-grid-section .box-text {
  padding: 1rem 1.25rem !important;
  background: #ffffff !important;
  border-top: 1px solid #f7fafc !important;
}
.peptide-categories-grid-section .header-title {
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: #1c1025 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.peptide-categories-grid-section mark.count {
  font-size: 0.85rem !important;
  color: #718096 !important;
  background: transparent !important;
  font-weight: 400 !important;
}

/* Third-Party Banner */
.peptide-cat-cta-card {
  background: linear-gradient(135deg, rgb(250, 250, 250) 0%, rgb(250, 250, 250) 60%, rgba(218, 218, 218, 0.5) 99%) !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 30px !important;
  padding: 3.5rem 2rem !important;
  text-align: center !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}
.peptide-cat-cta-card h3 {
  font-size: 1.85rem !important;
  font-weight: 600 !important;
  color: #1c1025 !important;
  margin-bottom: 1rem !important;
}
.peptide-cat-cta-card p {
  font-size: 1rem !important;
  color: #4a5568 !important;
  max-width: 780px !important;
  margin: 0 auto 1.75rem auto !important;
  line-height: 1.6 !important;
}
.peptide-cat-cta-btns {
  display: flex !important;
  gap: 1rem !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}
.peptide-cat-cta-btns .button {
  border-radius: 6px !important;
  padding: 0.75rem 2rem !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
  margin: 0 !important;
}
.peptide-cat-cta-btns .button.primary {
  background-color: #301639 !important;
  border-color: #301639 !important;
  color: #ffffff !important;
}
.peptide-cat-cta-btns .button.primary:hover {
  background-color: #6d2777 !important;
  border-color: #6d2777 !important;
}
.peptide-cat-cta-btns .button.secondary {
  background-color: #ffffff !important;
  border: 1px solid #301639 !important;
  color: #301639 !important;
}
.peptide-cat-cta-btns .button.secondary:hover {
  background-color: #f7fafc !important;
  color: #1c1025 !important;
}
