/*
Theme Name: Recharge+
Theme URI: 
Description: Awesome theme
Author: Recharge+
Author URI: 
Template: shoptimizer
Version: 1.0.0
License:         	GNU General Public License v2 or later
License URI:     	http://www.gnu.org/licenses/gpl-2.0.html
*/

/* Define the primary color variable */
:root {
    /* Primary Colors */
    --color-gold: #c9a969;
    --color-gold-rgb: 201, 169, 105;
    --color-gold-hover: #b09358;
    /*--color-blue: #111827;*/
    --color-blue: #111c33;
    --color-blue-light: #142543;
    --color-green: #2c746e;

    /* Secondary Colors */
    --color-sand: #FDF9F2;
    --color-sand-light: #fffbfa;
    --color-sand-dark: #bc9f6457;
    --color-sand-hover: #e5e1d3;

    --color-black: #2B2B2B;

    /* Accent Colors */
    --color-white: #f5f5f5;

    --color-beige: #F6E8CE;
    --color-beige-dark: #D4B78F;

}


:root :where(body), body, button, input, select, textarea {
    letter-spacing: 0;
}

/* Reset */
* {
    transition: background-color 0.3s ease, color 0.3s ease;
}

ins, mark {
    font-weight: 500;
}

img {
    border-radius: revert-layer;
}

:root :where(body), body, button, input, select, textarea {
    letter-spacing: 0.5px;
}

b, dt, strong {
    font-weight: 500;
}

.color-blue {
    color: var(--color-blue);
}

.color-blue-light {
    color: var(--color-blue-light);
}

/* Hide quantity on order button woocommerce */


.quantity, .buttons_added {
    width: 0;
    height: 0;
    display: none;
    visibility: hidden;
}


/* Swiper Styles */
.swiper-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background-color: var(--color-gold);
    opacity: 0.6;
    transition: all 0.3s ease;
}

.swiper-pagination .swiper-pagination-bullet-active {
    width: 24px;
    border-radius: 5px;
    opacity: 1;
    background-color: var(--color-gold);
}

/* Homepage Swiper Pagination Specific Styles */
.homepage-product-swiper {
    padding-bottom: 60px; /* Space for pagination on desktop */
}

.homepage-swiper-pagination {
    position: absolute !important;
    bottom: -5px !important; /* Closer to slider on desktop */
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    text-align: center;
}

/* Mobile-specific pagination positioning */
@media (max-width: 768px) {
    .homepage-product-swiper {
        padding-bottom: 50px; /* Reduced space for mobile */
    }
}

/* Extra small mobile optimization */
@media (max-width: 480px) {
    .homepage-product-swiper {
        padding-bottom: 45px; /* Even less space for small mobile */
    }

    .homepage-swiper-pagination .swiper-pagination-bullet {
        width: 8px;
        height: 8px;
        margin: 0 3px !important;
    }
    
    .homepage-swiper-pagination .swiper-pagination-bullet-active {
        width: 16px;
    }
}

/* Bundle prices plugin */

.wbdl_widget .quantity-breaks__vertical .quantity-break {
    padding: 10px 10px;
}

.wbdl_widget .quantity-break .bundle-message-not-blink {
    font-size: 12px;
}

.bundle-message-not-blink {
    background: var(--color-green) !important;
}

.wbdl_widget .quantity-break .quantity-break__title {
    font-weight: 500;
}

.wbdl_widget .quantity-breaks__vertical .quantity-break .quantity-break__price .bundle-cprice {
    font-size: 13px !important;
    text-align: right !important;
    padding-right: 2px;
    font-weight: 500 !important;
}

/* Hide entire sticky add-to-cart bar */
.shoptimizer-sticky-add-to-cart,
.sticky-atc_button,
.sticky-add-to-cart,
.storefront-sticky-add-to-cart {
    display: none !important;
}

/* Mobile badge */

.wbdl_widget .quantity-breaks__royal .quantity-break .quantity-break__discount-rule{
    background-color: transparent !important;
}

.wbdl_widget .quantity-breaks__royal .quantity-break .quantity-break__discount-rule__content {
    border: 1px solid var(--color-gold);
    background-color: var(--color-sand);
}

/* Main */
main, body, #content {
    /*background-color: var(--color-sand-light) !important;*/
}

p, h1, h2, h3, h4, h5, h6 {
    margin-bottom: 15px;
    color: var(--color-blue);
}

.entry-content p {
    font-size: 16px;
    line-height: 1.6;
}

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

p.text-blue {
    color: var(--color-blue);
}

/* Header */

.site-header, .header-4-container {
    background-color: var(--color-blue) !important;
}

.col-full-nav {
    background-color: var(--color-blue) !important;
    border-bottom: 3px solid var(--color-gold) !important;
}

.col-full.topbar-wrapper {
    background-color: var(--color-gold) !important;
    border-bottom-color: var(--color-gold) !important;
}

.post .entry-header h2 {
    font-size: 30px;
}

/* Search bar */
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input {
    line-height: 18px;
}

.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
    top: 19px;
}

.menu-primary-menu-container > ul > li > a {
    color: var(--color-white);
}

.menu-primary-menu-container > ul > li > a:hover {
    color: var(--color-gold);
}

.secondary-navigation .menu a, .ri.menu-item:before, .fa.menu-item:before {
    color: var(--color-white) !important;
}

.secondary-navigation .icon-wrapper svg {
    stroke: var(--color-white) !important;
    width: 22px;
}

.secondary-navigation .menu-item:hover {
    color: var(--color-gold);
}

.secondary-navigation .icon-wrapper svg:hover {
    stroke: var(--color-gold);
}

.shoptimizer-cart a.cart-contents {
    border: none !important;
}

.top-bar, .top-bar a {
    color: var(--color-black) !important;
}

.shoptimizer-cart a.cart-contents .count, .shoptimizer-cart-icon i {
    color: var(--color-gold) !important;
}

.shoptimizer-cart a.cart-contents .count, .shoptimizer-cart a.cart-contents .count:after {
    border-color: var(--color-gold) !important;
}

.shoptimizer-cart a.cart-contents .count {
    border: 1px solid var(--color-gold) !important;
    color: var(--color-gold) !important;
}

@media (min-width: 993px) {

    #menu-secondary-menu li a {
        transition: color 0.3s ease;
    }

    #menu-secondary-menu li:hover a {
        color: var(--color-gold) !important;
    }

    #menu-secondary-menu li:hover .icon-wrapper svg {
        transition: stroke 0.3s ease;
        stroke: var(--color-gold) !important; /* explicitly gold */
    }

}


@media (max-width: 992px) {

    .mobile-overlay {
        background: rgba(0, 0, 0, 0.7);
        transition: opacity 0.6s, visibility 0.6s;
    }

    .mobile-menu.close-drawer {
        color: var(--color-gold) !important;
    }

    .menu-primary-menu-container > ul > li > a, .menu-primary-menu-container > ul > li.nolink {
        padding: 0.4rem 0;
    }

    .mobile-extra h4 {
        font-size: 12px;
        font-weight: 500;
    }

    .primary-navigation {
        border-bottom: none;
    }
}

/* Single product page */
#cgkit-tab-recharge_product_ingredients_tab {
    padding: 0 !important;
}

/* Featured comment */
.cgkit-pdp-review--text {
    font-size: 14px !important;
}

.cgkit-pdp-review--text mark {
    background-image: none !important;
    background-color: var(--color-sand-dark) !important;
}
.cgkit-pdp-review--image {
    height: 75px;
    width: 75px;
    border-radius: 65%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cgkit-pdp-review.cgkit-pdp-review-mobile {
    padding: 20px 0;
}

/* Products Tab */
.commercekit-atc-sticky-tabs {
    z-index: 99;
}

.woocommerce-tabs.wc-tabs-wrapper {
    padding: 0;
    border-top: 1px solid var(--color-gold);
}


/* Font Typography */

.single-product h1, h1 {
    font-size: 55px;
    letter-spacing: -1.5px;
    line-height: 1.2;
    color: var(--color-blue-light);
}

h1.product_title {
    font-size: 40px;
}

h2 {
    font-size: 45px;
    font-weight: 700;
    letter-spacing: -0.5px;
    line-height: 1.2;
    color: var(--color-blue);
}

h3 {
    font-size: 27px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--color-blue);
    margin-bottom: 12px;
    margin-top: 32px;
}

h4 {
    font-size: 21px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--color-blue);
    margin-bottom: 10px;
    margin-top: 28px;
}

h5 {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.35;
    color: var(--color-blue);
    margin-bottom: 8px;
    margin-top: 24px;
    text-transform: none;
}

h6 {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--color-blue);
    margin-bottom: 6px;
    margin-top: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Mobile-First Typography Overrides */
@media (max-width: 768px) {
    /* Mobile H1 - Optimized for readability on small screens */
    .single-product h1, h1 {
        font-size: clamp(28px, 6vw, 40px);
        letter-spacing: -0.5px;
        line-height: 1.15;
        margin-bottom: 20px;
    }
    
    h1.product_title {
        font-size: clamp(24px, 5.5vw, 32px);
        line-height: 1.2;
    }
    
    /* Mobile H2 - Balanced size for mobile hierarchy */
    h2 {
        font-size: clamp(24px, 5vw, 32px);
        letter-spacing: -0.3px;
        line-height: 1.25;
        margin: 0 10px 20px 10px;
    }
    
    /* Mobile H3 - Subsection headers */
    h3 {
        font-size: clamp(20px, 4.5vw, 24px);
        line-height: 1.3;
        margin-bottom: 15px;
        margin-top: 25px;
    }
    
    /* Mobile H4 - Smaller section headers */
    h4 {
        font-size: clamp(18px, 4vw, 20px);
        line-height: 1.35;
        margin-bottom: 12px;
        margin-top: 22px;
    }
    
    /* Mobile H5 - Minor headers */
    h5 {
        font-size: clamp(16px, 3.5vw, 18px);
        line-height: 1.4;
        margin-bottom: 10px;
        margin-top: 20px;
    }
    
    /* Mobile H6 - Smallest headers */
    h6 {
        font-size: clamp(14px, 3vw, 16px);
        line-height: 1.45;
        margin-bottom: 8px;
        margin-top: 18px;
        letter-spacing: 0.3px;
    }
    
    /* Mobile paragraph optimization */
    .entry-content p {
        font-size: 16px;
        line-height: 1.6;
        margin-bottom: 18px;
    }
    
    /* Mobile body text optimization */
    p, h1, h2, h3, h4, h5, h6 {
        margin-bottom: 18px;
    }
}

/* Small mobile devices (phones) */
@media (max-width: 480px) {
    .single-product h1, h1 {
        font-size: clamp(26px, 7vw, 32px);
        letter-spacing: -0.3px;
    }
    
    h2 {
        font-size: clamp(22px, 6vw, 28px);
        margin: 0 8px 18px 8px;
    }
    
    h3 {
        font-size: clamp(19px, 5vw, 22px);
        margin-bottom: 14px;
        margin-top: 22px;
    }
    
    h4 {
        font-size: clamp(17px, 4.5vw, 19px);
        margin-bottom: 11px;
        margin-top: 20px;
    }
    
    h5 {
        font-size: clamp(15px, 4vw, 17px);
        margin-bottom: 9px;
        margin-top: 18px;
    }
    
    h6 {
        font-size: clamp(13px, 3.5vw, 15px);
        margin-bottom: 7px;
        margin-top: 16px;
    }
    
    /* Ultra-small mobile optimization */
    .entry-content p {
        font-size: 15px;
        line-height: 1.65;
    }
}

/* Landscape mobile optimization */
@media (max-width: 768px) and (orientation: landscape) {
    .single-product h1, h1 {
        font-size: clamp(30px, 5.5vw, 38px);
    }
    
    h2 {
        font-size: clamp(26px, 4.5vw, 30px);
    }
    
    h3 {
        font-size: clamp(22px, 4vw, 26px);
    }
}

.recharge-font-family {
    font-family: "Montserrat", "Poppins", sans-serif;
    font-weight: 500;
}

/* Blog list */

.flow article.post a.post-thumbnail {
    border-radius: 15px 15px;
}

.below-content {
    background-color: var(--color-sand);
}

/* Blog single */

.post .wp-post-image {
    margin-bottom: 1.618em;
    border-radius: 17px;
}

/* Footer */

footer.site-footer, footer.copyright {
    background-color: var(--color-blue) !important;
    color: var(--color-white) !important;
}

footer.site-footer {
    border-top: 2px solid var(--color-gold);
    padding: 4rem 0 0;
}

/* Center border with adjustable width */
.footer-content-wrapper {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.center-border-wrapper {
    display: block;
    text-align: center;
    margin-bottom: 15px;
    margin-top: 25px;
    width: 100%;
    clear: both;
    order: -1; /* Places the border at the top of the flex container */
}

.center-border {
    display: inline-block;
    height: 1px;
    background-color: var(--color-sand-dark);
    width: 50%; /* Default width, will be overridden by data attributes */
    /* Ensure the border is visible */
    min-height: 1px;
}


/* Full-width layout with preserved header structure */
body.rechargeplus-full-width .site-content .col-full {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Keep archive header (breadcrumbs) boxed */
body.rechargeplus-full-width .archive-header .col-full {
    max-width: 1170px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 2.617924em !important;
    padding-right: 2.617924em !important;
}

/* Full-width content area */
body.rechargeplus-full-width .content-area {
    width: 100% !important;
    float: none !important;
}


/* Using a fallback for browsers that don't support attr() with units */
.center-border[data-width="10"] { width: 10%; }
.center-border[data-width="20"] { width: 20%; }
.center-border[data-width="30"] { width: 30%; }
.center-border[data-width="40"] { width: 40%; }
.center-border[data-width="50"] { width: 50%; }
.center-border[data-width="60"] { width: 60%; }
.center-border[data-width="70"] { width: 70%; }
.center-border[data-width="80"] { width: 80%; }
.center-border[data-width="90"] { width: 90%; }
.center-border[data-width="100"] { width: 97%; }

/* Blog post */

body.single-post h1 {
    font-family: "Montserrat", "Poppins", sans-serif;
    color: var(--color-blue-light);
    font-weight: 700;
    font-size: 40px;
}

.post .entry-header h2 a {
    color: var(--color-blue);
}

h3, .wp-block-heading h3 {
    font-size: 27px;
}

/* Buttons */

.button, input[type=submit], ul.products li.product .button, .commercekit-wishlist-table button, .woocommerce #respond input#submit.alt, .product .cart .single_add_to_cart_button, .widget_shopping_cart a.button.checkout, .main-navigation ul.menu li.menu-item-has-children.full-width > .sub-menu-wrapper li a.added_to_cart, .site div.wpforms-container-full .wpforms-form button[type=submit], ul.products li.product .added_to_cart, ul.wc-block-grid__products .wp-block-button__link, .woocommerce-cart p.return-to-shop a, .elementor-row .feature a, .image-feature figcaption span, .wp-element-button.wc-block-cart__submit-button, .wp-element-button.wc-block-components-button.wc-block-components-checkout-place-order-button {
    border-radius: 25px;
}


ul.products li.product .button,
ul.products li.product .added_to_cart {
    left: 50%; /* center horizontally */
    transform: translateX(-50%); /* center the button */
    width: 60%;
}


/* Single product */

div.product-details-wrapper > div.summary.entry-summary > p.price {
    font-size: 32px;
    font-weight: 600;
}

/* Smart chew bottom cta */
.smart-chew-bottom-cta .single_add_to_cart_button {
    margin-left: 0;
    width: 100%;
}

.smart-chew-bottom-cta .quantity input {
    display: none;
}

.smart-chew-bottom-cta .custom-bundler-text,
.smart-chew-bottom-cta .rechargeplus-benefits {
    display: none;
}

.smart-chew-bottom-cta .wbdl_widget .quantity-breaks__vertical {
    display: flex;
}


/* Smart brew bottom cta */

.smart-brew-bottom-cta .single_add_to_cart_button {
    margin-left: 0;
    width: 100%;
}

.smart-brew-bottom-cta .quantity input {
    display: none;
}

.smart-brew-bottom-cta .custom-bundler-text,
.smart-brew-bottom-cta .rechargeplus-benefits {
    display: none;
}

.smart-brew-bottom-cta .wbdl_widget .quantity-breaks__vertical {
    display: flex;
}


div.product .woocommerce-product-rating {
    margin-bottom: 1em;
    clear: both;
}

.summary details summary {
    font-weight: 500;
    color: #222;
}

.product p.stock {
    font-size: 14px;
    margin-top: 0;
    margin-bottom: 0;
    border-top: 1px solid var(--color-gold);
}

.product p.stock.in-stock:before, .stock.in-stock {
    color: var(--color-blue);
    font-size: 14px;
}

.product p.stock.in-stock:before {
    background: var(--color-blue);
}

.related-wrapper > .product_meta {
    display: none;
}

/* Below AC button badges */
.rechargeplus-benefits {
    display: flex;
    justify-content: space-between; /* left item to far left, right item to far right */
    align-items: center;
    padding: 0;
    margin-top: 20px;
    font-family: "Montserrat", "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0;
    text-align: center;
}

.rechargeplus-benefit {
    display: flex;
    align-items: center;
}

/* Force the middle item to sit dead center of the container */
.rechargeplus-benefits > .rechargeplus-benefit:nth-child(2) {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}


/* Tabs */

#cgkit-tab-recharge_product_ingredients_tab {
    width: 100%;
    max-width: 100%;
    background-color: var(--color-blue);
}

#cgkit-tab-recharge_product_quantity_cta_tab {
    width: 100%;
    max-width: 100%;
    background-color: var(--color-blue);
}

#cgkit-tab-recharge_product_doctor_endorsement_tab {
    width: 100%;
    max-width: 100%;
    background-color: var(--color-blue);
    padding: 0;
}

#cgkit-tab-recharge_product_results_timeline_tab {
    width: 100%;
    max-width: 100%;
    background-color: var(--color-white);
    padding: 0;
}

#cgkit-tab-recharge_product_how_to_use_tab {
    width: 100%;
    max-width: 100%;
    background-color: var(--color-white);
    padding: 0;
}


#cgkit-tab-recharge_product_testimonial_tab {
    width: 100%;
    max-width: 100%;
    padding: 0;
}

#cgkit-tab-recharge_product_why_choose_cta_tab {
    width: 100%;
    max-width: 100%;
    padding: 0;
}

#cgkit-tab-recharge_product_nutrition_tab {
    position: relative;
    width: 100%;
    max-width: 100%;
    padding: 0;
}

#cgkit-tab-recharge_product_benefits_tab {
    position: relative;
    width: 100%;
    max-width: 100%;
    padding: 0;
}
#cgkit-tab-recharge_product_guarantee_tab {
    position: relative;
    width: 100%;
    max-width: 100%;
    padding: 0;
}
#cgkit-tab-reviews {
    max-width: 100%;
    padding: 100px 0;
}
#cgkit-tab-reviews #reviews {
    max-width: 1170px;
    margin: 0 auto;
}

.commercekit-atc-sticky-tabs {
    font-weight: 500;
    background: var(--color-blue) !important;
    padding-right: 2.617924em;
    padding-left: 2.617924em;
}

.commercekit-atc-tab-links li a span {
    font-size: 11px;
    color: var(--color-blue) !important;
    background-color: var(--color-gold) !important;
}

.commercekit-atc-sticky-tabs li.active a {
    color: var(--color-gold) !important;
}

.woocommerce-tabs .tabs li a::after, .commercekit-atc-tab-links li a:after {
    border-color: var(--color-gold) !important;
}

.commercekit-atc-tab-links li a {
    color: rgba(var(--color-gold-rgb), 0.6) !important;
}


/* Camparation table */

.content-area blockquote::before {
    position: absolute;
    top: 0;
    left: -45px;
    margin: 0;
    color: var(--color-gold);
    font-size: 100px;
    content: "\201c";
}

/* Reviews */

h2.woocommerce-Reviews-title {
    font-family: "Montserrat", "Poppins", sans-serif;
    color: var(--color-blue);
    text-transform: uppercase;
    font-size: 21px;
    text-align: center;
    font-weight: 700;
    margin-bottom: 15px;
}

.wcpr-stars-count .wcpr-row .wcpr-col-rank-count {
    width: 30px;
}

.wcpr-overall-rating {
    width: 110%; /* Makes it 10% wider than its default width */
    text-align: center;
}

.wcpr-overall-rating-left {
    padding: 20px 15px;
    text-align: center;
    vertical-align: middle;
    background: var(--color-blue);
    color: var(--color-white);
    border-radius: 3px;
    font-size: 25px;
    margin: 10px 1px;
}

#comments .wcpr-overall-rating-and-rating-count {
    justify-content: center;
}

#comments .wcpr-filter-container {
    border-radius: 3px;
}

.rate-percent-bg {
    height: 9px;
    border-radius: 5px;
}

.rate-percent {
    background-color: var(--color-blue);
}

.recharge-show-review-form {
    background-color: var(--color-blue);
    color: white;
    padding: 10px 30px;
    border-radius: 25px;
    font-weight: 500;
    font-size: 15px;
}

.recharge-show-review-form:hover {
    /*background-color: var(--color-blue-light);*/
}

.wcpr-filter-button {
    color: var(--color-white);
    background-color: var(--color-blue) !important;
}

.wcpr-filter-container .wcpr-filter-button.wcpr-active {
    /*background-color: var(--color-blue-light);*/
}

.wcpr-filter-button:hover {
    color: var(--color-white);
    /*background-color: var(--color-blue-light) !important;*/
}

.wcpr-filter-button-verified {
    display: none;
}

.wcpr-grid-item {
    margin-bottom: 20px;
    overflow: hidden;
    border-radius: 10px;
    background-color: white;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.wcpr-stars-count .wcpr-row > div {
    font-size: 14px;
    font-weight: 600;
}


.wcpr-comment-author:before {
    content: '';
}

.wcpr-user-icon {
    float: left;
    position: relative;
    margin-right: 8px;
    margin-bottom: 10px;
    width: 40px;
    height: 40px;
    line-height: 36px;
    text-align: center;
    background-color: rgba(224, 224, 224, 0.5);
    display: block;
    padding: 8px 8px;
    border-radius: 5px;
}

.wcpr-comment-author {
    font-size: 16px;
    font-weight: 500;
    color: #444;
    margin-bottom: 15px;
}

.wcpr-grid .wcpr-grid-item .wcpr-content .review-content-container .star-rating {
    font-size: 20px;
}

.wcpr-review-content {
    font-size: 14px;
    font-weight: 400;
}


.wcpr-comment-form-images .wcpr_image_upload {
    background-color: var(--color-gold);
    color: var(--color-black);
    border: 0;
    border-radius: 25px;
    padding: 15px 30px;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    width: 310px;
}

.wcpr-filter-button-wrap {
    width: auto;
    min-width: 155px;
}
li.wcpr-filter-button-li a {
    min-width: 155px;
}
.star-rating > span:before {
    background-color: var(--color-gold) !important;
}

p.stars:hover a::before {
    color: var(--color-gold) !important;
}

.wcpr-review-date {
    font-style: normal;
    font-size: .85em;
    color: var(--color-blue-light);
    min-height: 10px;
}

#review_form_wrapper {
    display: none;
    margin-bottom: 30px;
    padding: 25px 25px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    border-radius: 15px;
    background-color: white;
}

#respond {
    text-align: center;
}


.wcpr-form-description {
    text-align: center;
}


#respond .comment-reply-title {
    text-transform: uppercase;
    font-size: 28px;
    text-align: center;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 0;
}

.wcpr-form-description {
    text-align: center;
    color: #666;
    font-weight: 500;
    font-size: 13px;
}

#commentform {
    max-width: 800px;
    margin: 0 auto;
}

#commentform > .comment-notes {
    display: none;
}

#respond p:has(input[type=checkbox]) label {
    text-align: left;
    color: #666;
}

#review_form_wrapper #submit {
    border-radius: 25px;
    padding: 10px 30px;
    font-weight: 500;
    font-size: 16px;
}


/*
Star Rating
========
*/
.star-rating {
    height: 1.118em;
    position: relative;
    width: 5.6em;
    overflow: hidden;
}

.wcpr-overall-rating-right .wcpr-overall-rating-right-star .star-rating {
    font-size: 25px;
}

.star-rating:before {
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.04893 2.92707C9.34828 2.00576 10.6517 2.00576 10.951 2.92707L12.0206 6.21886C12.1545 6.63089 12.5384 6.90985 12.9717 6.90985H16.4329C17.4016 6.90985 17.8044 8.14946 17.0207 8.71886L14.2205 10.7533C13.87 11.0079 13.7233 11.4593 13.8572 11.8713L14.9268 15.1631C15.2261 16.0844 14.1717 16.8506 13.3879 16.2812L10.5878 14.2467C10.2373 13.9921 9.76269 13.9921 9.4122 14.2467L6.61203 16.2812C5.82832 16.8506 4.77384 16.0844 5.07319 15.1631L6.14276 11.8713C6.27663 11.4593 6.12997 11.0079 5.77949 10.7533L2.97932 8.71886C2.1956 8.14946 2.59838 6.90985 3.5671 6.90985H7.0283C7.46153 6.90985 7.84548 6.63089 7.97936 6.21886L9.04893 2.92707Z' fill='%234B5563'/%3E%3C/svg%3E");
    mask-position: left;
    mask-repeat: repeat-x;
    mask-size: 1.118em;
    background: #ccc;
    bottom: 0;
    content: "";
    display: block;
    height: 1.118em;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 5.6em;
}

.star-rating > span {
    display: block;
    text-indent: -10000px;
    width: 5.6em;
    height: 1.118em;
    position: absolute;
    overflow: hidden;
}

.star-rating > span:before {
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.04893 2.92707C9.34828 2.00576 10.6517 2.00576 10.951 2.92707L12.0206 6.21886C12.1545 6.63089 12.5384 6.90985 12.9717 6.90985H16.4329C17.4016 6.90985 17.8044 8.14946 17.0207 8.71886L14.2205 10.7533C13.87 11.0079 13.7233 11.4593 13.8572 11.8713L14.9268 15.1631C15.2261 16.0844 14.1717 16.8506 13.3879 16.2812L10.5878 14.2467C10.2373 13.9921 9.76269 13.9921 9.4122 14.2467L6.61203 16.2812C5.82832 16.8506 4.77384 16.0844 5.07319 15.1631L6.14276 11.8713C6.27663 11.4593 6.12997 11.0079 5.77949 10.7533L2.97932 8.71886C2.1956 8.14946 2.59838 6.90985 3.5671 6.90985H7.0283C7.46153 6.90985 7.84548 6.63089 7.97936 6.21886L9.04893 2.92707Z' fill='%234B5563'/%3E%3C/svg%3E");
    mask-position: left;
    mask-repeat: repeat-x;
    mask-size: 1.118em;
    background-repeat: repeat-x;
    bottom: 0;
    content: "";
    display: block;
    height: 1.118em;
    left: 0;
    position: absolute;
    right: 0;
    text-indent: 10000px;
    top: 0;
}

p.stars {
    margin: 0;
}

p.stars,
p.stars a {
    display: inline-block;
}

p.stars a {
    position: relative;
    width: 1em;
    height: 1em;
    margin-right: 1px;
    font-weight: 400;
    text-decoration: none;
    text-indent: -999em;
    color: #000;
}

p.stars a:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 1em;
    height: 1em;
    font-family: sans-serif;
    line-height: 1;
    text-indent: 0;
    font-size: 35px;
}

p.stars a:before,
p.stars a:hover ~ a:before,
p.stars.selected a.active ~ a:before {
    color: black;
    content: "\2606";
    font-weight: 600;
}

p.stars.selected a.active:before,
p.stars:hover a:before {
    opacity: 1;
    color: var(--color-blue);
    content: "\2605";
    font-weight: 600;
}

p.stars.selected a:not(.active):before {
    opacity: 1;
    color: black;
    content: "\2605";
    font-weight: 600;
}

#reviews .comment-form-rating {
    margin: 20px 0;
}

#respond .comment-form-comment {
    max-width: 800px;
    padding: 8px 16px;
    margin: 0 auto;
}

#respond label {
    color: #333;
    font-size: 15px;
    font-weight: 500;
}

#respond p.comment-notes {
    font-size: 14px;

}

#respond textarea {
    border: 1px solid #e4e4e4;
    border-radius: 5px;
}

.site .woocommerce-noreviews {
    text-align: center;
    font-size: 21px;
    font-weight: 500;
}

.site-footer .widget .widget-title {
    color: var(--color-gold);
}


/* FAQ Accordion Styles */
.faq-question dd {
    transition: height 0.3s ease-out;
    overflow: hidden;
}

.faq-question button[aria-expanded="true"] span:first-child {
    color: #C0A368;
}

/* Swiper Navigation Styles */
.mySwiper .swiper-pagination-bullet {
    background-color: var(--color-gold);
    opacity: 0.3;
}

.mySwiper .swiper-pagination-bullet-active {
    opacity: 1;
    background-color: var(--color-gold);
}

/* Add to Cart – conversion-optimized button */
.atc-button,
button.atc-button,
a.atc-button,
input[type="submit"].atc-button,
.single_add_to_cart_button.atc-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background-color: var(--color-gold);
    color: var(--color-black);
    border: 0;
    border-radius: 25px; /* matches design system 2xl */
    padding: 14px 28px;
    min-height: 48px;
    font-family: "Montserrat", "Poppins", sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s var(--transition-ease, ease),
                transform 0.06s ease,
                box-shadow 0.2s ease;
}

.atc-button:hover {
    background-color: var(--color-gold-hover);
    transform: translateY(-1px);
    color: var(--color-white);
}

.atc-button:active {
    transform: translateY(0);
}

.atc-button:focus-visible {
    outline: none;
}

/* White-text variant for use on darker contexts */
.atc-button--white {
    color: var(--color-white);
}

/* Full width variants */
.atc-button--full,
.atc-button--block {
    width: 100%;
}

/* Size variants */
.atc-button--sm { padding: 10px 18px; min-height: 40px; font-size: 15px; }
.atc-button--md { padding: 14px 28px; min-height: 48px; font-size: 16px; }
.atc-button--lg { padding: 16px 34px; min-height: 54px; font-size: 17px; }
.atc-button--xl { padding: 18px 40px; min-height: 58px; font-size: 18px; }

/* Loading state */
.atc-button.is-loading,
.atc-button[aria-busy="true"] {
    position: relative;
    pointer-events: none;
    opacity: 0.9;
}

.atc-button.is-loading::after,
.atc-button[aria-busy="true"]::after {
    content: "";
    width: 18px;
    height: 18px;
    border: 2px solid rgba(0, 0, 0, 0.15);
    border-top-color: currentColor;
    border-radius: 50%;
    animation: atc-spin 0.7s linear infinite;
}

@keyframes atc-spin {
    to { transform: rotate(360deg); }
}

/* Disabled state */
.atc-button:disabled,
.atc-button.is-disabled,
.atc-button[aria-disabled="true"] {
    opacity: 0.6;
    cursor: not-allowed;
    box-shadow: none;
}

/* Ensure WooCommerce ATC adopts styles when class is added */
.product .cart .single_add_to_cart_button.atc-button {
    border-radius: 25px;
}

/* Thank you page - order confirmation */

.woocommerce-order-received .woocommerce-order-details:before {
    background: #fafafa;
    border-left: 10px solid #fafafa;
}

/* ========================================
   MOBILE-FIRST RESPONSIVE DESIGN
   ======================================== */

/* ===== TABLET & MOBILE (768px and below) ===== */
@media (max-width: 768px) {
    
    /* ===== TYPOGRAPHY ===== */
    /* Mobile H1 - Optimized for readability on small screens */
    .single-product h1, h1 {
        font-size: clamp(28px, 6vw, 40px);
        letter-spacing: -0.5px;
        line-height: 1.15;
        margin-bottom: 20px;
    }
    
    h1.product_title {
        font-size: clamp(24px, 5.5vw, 32px);
        line-height: 1.2;
    }
    
    /* Mobile H2 - Balanced size for mobile hierarchy */
    h2 {
        font-size: clamp(24px, 5vw, 32px);
        letter-spacing: -0.3px;
        line-height: 1.25;
        margin: 0 10px 20px 10px;
    }
    
    .site h2 {
        font-size: clamp(1.675rem, 0.9939rem + 1.2195vw, 1.75rem);
        letter-spacing: -0.01em;
    }
    
    /* Mobile H3 - Subsection headers */
    h3 {
        font-size: clamp(20px, 4.5vw, 24px);
        line-height: 1.3;
        margin-bottom: 15px;
        margin-top: 25px;
    }
    
    /* Mobile H4 - Smaller section headers */
    h4 {
        font-size: clamp(18px, 4vw, 20px);
        line-height: 1.35;
        margin-bottom: 12px;
        margin-top: 22px;
    }
    
    /* Mobile H5 - Minor headers */
    h5 {
        font-size: clamp(16px, 3.5vw, 18px);
        line-height: 1.4;
        margin-bottom: 10px;
        margin-top: 20px;
    }
    
    /* Mobile H6 - Smallest headers */
    h6 {
        font-size: clamp(14px, 3vw, 16px);
        line-height: 1.45;
        margin-bottom: 8px;
        margin-top: 18px;
        letter-spacing: 0.3px;
    }
    
    /* Mobile paragraph optimization */
    .entry-content p {
        font-size: 16px;
        line-height: 1.6;
        margin-bottom: 18px;
    }
    
    /* Mobile body text optimization */
    p, h1, h2, h3, h4, h5, h6 {
        margin-bottom: 18px;
    }
    
    /* ===== LAYOUT & SPACING ===== */
    /* Full-width layout adjustments */
    body.rechargeplus-full-width .archive-header .col-full {
        padding-left: 1em !important;
        padding-right: 1em !important;
    }
    
    /* ===== PRODUCT PAGES ===== */
    /* Product title optimization */
    .summary h1.entry-title {
        font-weight: 600;
        font-size: 28px;
    }
    
    /* Product price optimization */
    div.product-details-wrapper > div.summary.entry-summary > p.price {
        font-size: 22px;
    }
    
    /* ===== COMPONENTS ===== */
    /* Benefits section mobile optimization */
    .rechargeplus-benefits {
        flex-direction: column; /* stack one under another */
        gap: 10px; /* add spacing */
        position: relative; /* reset parent */
    }
    
    .rechargeplus-benefits > .rechargeplus-benefit:nth-child(2) {
        position: static; /* remove absolute */
        transform: none;
    }
    
    /* Bundle widget mobile optimization */
    .wbdl_widget .quantity-breaks__royal .quantity-break .bundle-message-not-blink,
    .wbdl_widget .quantity-breaks__royal .quantity-break .bundle-message-blink {
        font-size: 9px;
        border-radius: 3px;
    }
    
    /* ===== NAVIGATION ===== */
    /* Mobile overlay */
    .mobile-overlay {
        background: rgba(0, 0, 0, 0.7);
        transition: opacity 0.6s, visibility 0.6s;
    }
    
    .mobile-menu.close-drawer {
        color: var(--color-gold) !important;
    }
    
    .menu-primary-menu-container > ul > li > a, 
    .menu-primary-menu-container > ul > li.nolink {
        padding: 0.4rem 0;
    }
    
    .mobile-extra h4 {
        font-size: 12px;
        font-weight: 500;
    }
    
    .primary-navigation {
        border-bottom: none;
    }
    
    /* ===== TOUCH TARGETS & INTERACTIONS ===== */
    /* Ensure buttons are touch-friendly */
    .button, input[type=submit], .atc-button {
        min-height: 44px; /* iOS recommended minimum */
        padding: 12px 20px;
    }

    /* ===== IMAGE OPTIMIZATION ===== */
    /* Ensure images don't overflow on mobile */
    img {
        max-width: 100%;
        height: auto;
    }
    
    /* ===== FORM ELEMENTS ===== */
    /* Better mobile form experience */
    input, select, textarea {
        font-size: 16px; /* Prevents zoom on iOS */
        padding: 12px;
        border-radius: 8px;
    }
    
    /* ===== CARD & COMPONENT SPACING ===== */
    /* Better mobile component spacing */
    .wcpr-grid-item {
        margin-bottom: 15px;
        border-radius: 8px;
    }
    
    /* ===== SWIPER MOBILE OPTIMIZATION ===== */
    /* Better mobile swiper experience */
    .swiper-pagination .swiper-pagination-bullet {
        width: 10px;
        height: 10px;
    }
    
    .swiper-pagination .swiper-pagination-bullet-active {
        width: 20px;
    }
    
    /* Homepage swiper mobile content optimization */
    .homepage-product-swiper .swiper-slide section {
        padding-top: 24px !important;
        padding-bottom: 24px !important;
    }
    
    .homepage-product-swiper .space-y-4 > * + * {
        margin-top: 16px !important;
    }
}

/* ===== SMALL MOBILE DEVICES (480px and below) ===== */
@media (max-width: 480px) {
    
    /* ===== TYPOGRAPHY ===== */
    .single-product h1, h1 {
        font-size: clamp(26px, 7vw, 32px);
        letter-spacing: -0.3px;
    }
    
    h2 {
        font-size: clamp(22px, 6vw, 28px);
        margin: 0 8px 18px 8px;
    }
    
    h3 {
        font-size: clamp(19px, 5vw, 22px);
        margin-bottom: 14px;
        margin-top: 22px;
    }
    
    h4 {
        font-size: clamp(17px, 4.5vw, 19px);
        margin-bottom: 11px;
        margin-top: 20px;
    }
    
    h5 {
        font-size: clamp(15px, 4vw, 17px);
        margin-bottom: 9px;
        margin-top: 18px;
    }
    
    h6 {
        font-size: clamp(13px, 3.5vw, 15px);
        margin-bottom: 7px;
        margin-top: 16px;
    }
    
    /* Ultra-small mobile optimization */
    .entry-content p {
        font-size: 15px;
        line-height: 1.65;
    }
    
    /* ===== COMPONENTS ===== */
    /* Even smaller bundle messages */
    .wbdl_widget .quantity-breaks__royal .quantity-break .bundle-message-not-blink,
    .wbdl_widget .quantity-breaks__royal .quantity-break .bundle-message-blink {
        font-size: 8px;
        border-radius: 2px;
    }
    
    /* ===== TOUCH TARGETS ===== */
    /* Smaller touch targets for very small screens */
    .button, input[type=submit], .atc-button {
        min-height: 40px;
        padding: 10px 16px;
        font-size: 14px;
    }
}

/* ===== LANDSCAPE MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) and (orientation: landscape) {
    
    /* ===== TYPOGRAPHY ===== */
    .single-product h1, h1 {
        font-size: clamp(30px, 5.5vw, 38px);
    }
    
    h2 {
        font-size: clamp(26px, 4.5vw, 30px);
    }
    
    h3 {
        font-size: clamp(22px, 4vw, 26px);
    }
    
    /* ===== LAYOUT ===== */
    /* Optimize for landscape viewing */
    .rechargeplus-benefits {
        flex-direction: row;
        gap: 15px;
    }
    
    .rechargeplus-benefits > .rechargeplus-benefit:nth-child(2) {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }
}

/* ===== TABLET OPTIMIZATION (768px - 1024px) ===== */
@media (min-width: 769px) and (max-width: 1024px) {
    
    /* ===== TYPOGRAPHY ===== */
    .single-product h1, h1 {
        font-size: clamp(32px, 5vw, 45px);
    }
    
    h2 {
        font-size: clamp(28px, 4.5vw, 35px);
    }
    
    h3 {
        font-size: clamp(22px, 4vw, 26px);
    }
    
    /* ===== LAYOUT ===== */
    /* Tablet-specific adjustments */
    .rechargeplus-benefits {
        gap: 20px;
    }
    
    /* ===== COMPONENTS ===== */
    /* Tablet button optimization */
    .atc-button {
        padding: 12px 24px;
        min-height: 44px;
        font-size: 15px;
    }
}

/* ===== SCROLL TARGET STYLES ===== */
/* Ensure proper scroll positioning for order-rp-product anchor */
#order-rp-product {
    scroll-margin-top: 80px; /* Adjust based on your header height */
    scroll-behavior: smooth;
}

/* Smooth scrolling for all anchor links */
html {
    scroll-behavior: smooth;
}

/* Ensure the order-rp-product section is properly positioned */
#order-rp-product {
    position: relative;
    z-index: 1;
}

