/*
Theme Name: Mana Naturii
Theme URI: Uptrust.ro
Author: Uptrust
Author URI: https://uptrust.ro/
Version: 1.0
Text Domain: www.mananaturii.ro
*/

@font-face {
    font-family: 'Rubik';
    src: url('/wp-content/themes/mana-naturii/assets/fonts/rubik-v31-latin_latin-ext-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Rubik';
    src: url('/wp-content/themes/mana-naturii/assets/fonts/rubik-v31-latin_latin-ext-italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Rubik';
    src: url('/wp-content/themes/mana-naturii/assets/fonts/rubik-v31-latin_latin-ext-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Rubik';
    src: url('/wp-content/themes/mana-naturii/assets/fonts/rubik-v31-latin_latin-ext-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Rubik';
    src: url('/wp-content/themes/mana-naturii/assets/fonts/rubik-v31-latin_latin-ext-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
    --green: #386356;
    --dark-green: #2c5047;
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

/* iOS Safari input fix */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="url"],
textarea,
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 8px;
    font-size: 16px; /* Prevents iOS zoom on focus */
}

a {
    text-decoration: none;
    color: black;
}

html {
    font-size: 62.5%;
}

body {
    font-size: 1.6rem;
    background: #f6f6f6;
    font-family: "Rubik", sans-serif;
    color: black;
}

body.no-scroll {
    overflow: hidden;
}

h1 {
    font-size: 4rem;
    margin: 0;
    padding: 0;
}

h2 {
    font-size: 4rem;
    margin: 0;
    padding: 0;
}

h3 {
    font-size: 3rem;
    margin: 0;
    padding: 0;
}

h4 {
    font-size: 2.5rem;
    margin: 0;
    padding: 0;
}

h5 {
    font-size: 1.8rem;
    margin: 0;
    padding: 0;
}

p {
    font-size: 1.6rem;
    line-height: 26px;
    margin: 0;
    padding: 0;
}

b, strong{
    font-weight: 600;
}

dl, ol, ul {
    margin-bottom: 0;
}

ul {
    font-size: 1.6rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.container {
    max-width: 1470px;
    padding: 0 15px;
}

img{
    width: 100%;
    height: auto;
}

.mg-100 {
    margin-top: 50px;
    margin-bottom: 50px;
}

.mt-50 {
    margin-top: 50px;
}

.mb-50{
    margin-bottom: 50px;
}

.main_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    padding: 6px 37px;
    background: var(--green);
    color: white;
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
    transition: background 0.3s ease;
    border-radius: 58px;
}

.main_btn i {
    margin-right: 5px;
}

.main_btn:hover {
    background: #2c4b48 !important;
    color: white !important;
}

.btn_unavailable {
    background: #b0b0b0 !important;
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.85;
}

.mn-hidden {
    display: none !important;
}

/* Stock toast notification */
.mn-stock-toast {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: #991b1b;
    color: #fff;
    padding: 14px 24px;
    border-radius: 12px;
    font-size: 1.4rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 10px;
    z-index: 99999;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15);
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
    white-space: nowrap;
}

.mn-stock-toast.is-visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.transparent_btn {
    display: inline-block;
    padding: 14px 37px;
    background: transparent;
    color: #4E4C4C;
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
    transition: background 0.3s ease, color 0.3s ease;
    border: 1px solid #D6D9E0;
    border-radius: 58px;
}

.transparent_btn:hover {
    background: var(--green);
    color: white;
}

/* Top bar */

.top_bar {
    display: flex;
    padding: 15px 0;
    background: var(--green);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    align-self: stretch;
}

.top_bar p {
    font-size: 1.6rem;
    color: white;
    font-weight: 500;
}

/* Header */

.main-logo {
    display: flex;
    align-items: center;
    gap: 40px;
}

.main-logo .header_logo {
    width: 120px;
    height: 75px;
    object-fit: contain;
}

.navbar__menu {
    position: sticky;
    top: 0;
    z-index: 999;
    background: #FFF;
    box-shadow: 0 8px 20px -5px rgba(0, 0, 0, 0.08);
}

/* Container wrapper pentru animația smooth */
.navbar__menu__items {
    overflow: visible;
    transition: max-height 0.35s ease-out;
}

.navbar__menu__items.is-hidden {
    max-height: 0;
    overflow: hidden;
}

.navbar__menu__items .menu-main-menu-container {
    padding: 14px 0;
    display: flex;
    align-items: center;
    gap: 40px;
}

.navbar__menu__items ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 45px;
    list-style: none;
    margin-bottom: 0;
}

.navbar__menu__items ul li a {
    font-size: 1.8rem;
    color: black;
    text-decoration: none;
}

.navbar__menu__items ul li {
    position: relative;
}

.navbar__menu__items ul > li > a::after {
    content: "";
    position: absolute;
    bottom: 10px;
    left: 0;
    height: 2px;
    width: 100%;
    background-color: var(--green);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.25s ease;
}

.navbar__menu__items ul > li > a:hover {
    color: var(--green);
}

.navbar__menu__items ul > li > a:hover::after {
    transform: scaleX(1);
}

/* Remove underline from mega menu items */
.mega-menu-list li a::after {
    content: none !important;
    display: none !important;
}

/* Standard dropdown submenu */
.menu-item-has-children:not(.has-mega-menu) > .sub-menu {
    position: absolute;
    top: calc(100% + 5px);
    left: 0;
    background-color: #ffffff;
    padding: 10px 0;
    z-index: 1000;
    min-width: 240px;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(0,0,0,0.05);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

/* Spacer pentru dropdown submenu */
.menu-item-has-children:not(.has-mega-menu)::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 15px;
    background: transparent;
}

.menu-item-has-children:not(.has-mega-menu):hover > .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.sub-menu:not(.mega-menu-list) li a {
    display: block;
    color: #444;
    font-size: 1.5rem;
    font-weight: 500;
    padding: 10px 20px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.sub-menu:not(.mega-menu-list) li a::after {
    display: none !important;
}

.sub-menu:not(.mega-menu-list) li a:hover {
    color: var(--green);
    background-color: rgba(56, 99, 86, 0.06);
}

.navbar__menu__items ul > li > a {
    position: relative;
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #000000;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 24px;
    padding: 15px 0;
    transition: color 0.2s ease;
}

.navbar__menu__items ul li ul li.current_page_item > a::before,
.navbar__menu__items ul li ul li.current-menu-item > a::before,
.navbar__menu__items ul li ul li.current-menu-ancestor > a::before {
    content: none !important;
    border-top: none !important;
    top: 0;
}

.navbar__menu__items ul > li.current_page_item > a,
.navbar__menu__items ul > li.current-menu-item > a {
    color: var(--green);
}

.navbar__menu__items ul > li.current_page_item > a::after,
.navbar__menu__items ul > li.current-menu-item > a::after {
    transform: scaleX(1);
}

.navbar__menu__items ul li a:hover {
    color: var(--green);
}

.navbar__menu__items ul li:not(.has-mega-menu) ul li {
    display: block;
}

.navbar__menu__items ul li:not(.has-mega-menu) ul li a {
    padding: 10px 20px;
    font-size: 1.5rem;
    font-weight: 500;
    color: #444;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.navbar__menu__items ul li:not(.has-mega-menu) ul li a::after {
    display: none;
}

.navbar__menu__items ul li:not(.has-mega-menu) ul li a:hover {
    background: rgba(56, 99, 86, 0.06);
    color: var(--green);
}

.shopping-cart {
    display: flex;
    align-items: center;
}

.shopping-cart .count__cart {
    flex-shrink: 0;
    background-color: var(--green);
    color: white;
    font-size: 1.2rem;
    font-weight: 500;
    padding: 4px;
    border-radius: 50%;
    min-width: 20px;
    text-align: center;
    margin-right: 8px;
}

.shopping-cart span {
    font-weight: 500;
}

.main_menu {
    padding-top: 16px;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 50px;
    justify-content: space-between;
}

.toogle_menu {
    display: none;
    cursor: pointer;
    width: 28px;
    height: 16px;
    position: relative;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}

.toogle_menu span {
    display: block;
    height: 2px;
    background-color: #333;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.toogle_menu span:nth-child(1) {
    width: 50%;
}

.toogle_menu span:nth-child(2) {
    width: 100%;
}

.toogle_menu span:nth-child(3) {
    width: 70%;
}

.toogle_menu:hover span {
    width: 100%;
}

.toogle_menu.active span:nth-child(1) {
    width: 100%;
    transform: rotate(45deg) translate(6px, 6px);
}

.toogle_menu.active span:nth-child(2) {
    opacity: 0;
    width: 0;
}

.toogle_menu.active span:nth-child(3) {
    width: 100%;
    transform: rotate(-45deg) translate(6px, -6px);
}

.menu__left {
    display: flex;
    align-items: center;
    gap: 50px;
}

.menu__left span {
    font-size: 1.6rem;
    font-weight: 500;
}

.auth_item,
.favorite_item {
    display: flex;
    justify-content: center;
    gap: 10px;
}

/* Old Mobile overlay menu - DEPRECATED, now using mobile-drawer */

body.no-scroll {
    overflow: hidden;
}

/* End Mobile version */

/* End Header */

/* Search Bar */

.mobile_search_container{
    display: none;
}

.custom-search {
    display: flex;
    width: 100%;
    height: 56px;
    border-radius: 12px;
    overflow: visible;
    background: #f3f3f5;
    position: relative;
}

.wc-search-input {
    width: 100%;
    padding: 16px 20px;
    font-size: 16px;
    border: none;
    outline: none;
    background: none;
    border-radius: 12px 0 0 12px;
}

.wc-search-btn {
    background: var(--green);
    color: #fff;
    width: 70px;
    border-radius: 0 12px 12px 0;
    border: none;
    cursor: pointer;
}

.wc-search-results {
    position: absolute;
    width: 100%;
    top: 100%;
    left: 0;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.12);
    z-index: 99999;
    display: none;
    max-height: 420px;
    overflow-y: auto;
}

/* Item */
.wc-search-item {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 12px;
    cursor: pointer;
    transition: background 0.2s ease;
    text-decoration: none;
    color: inherit;
}

.wc-search-item:hover,
.wc-search-item.wc-search-active {
    background: #f5f5f7;
}

.wc-search-thumb {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #fafafa;
}

.wc-search-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.wc-search-info h4 {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: #222;
}

.wc-search-info .price {
    display: block;
    font-size: 14px;
    margin-top: 4px;
    color: var(--green);
    font-weight: 600;
}

/* Buton Vezi toate rezultatele */
.wc-search-view-all {
    display: block;
    text-align: center;
    padding: 14px 20px;
    background: var(--green);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.3s ease;
    border-top: 1px solid #eee;
}

.wc-search-view-all:hover {
    background: var(--dark-green);
    color: #fff;
}

.wc-no-results {
    text-align: center;
    color: #666;
    padding: 20px;
    font-size: 14px;
}

.wc-search-loading {
    text-align: center;
    color: #999;
    padding: 20px;
    font-size: 14px;
}

/* End Search Bar */

/* Hero Section */

.hero_slider .swiper-slide img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    border-radius: 14px;
}

.hero_section .swiper-button-next,
.hero_section .swiper-button-prev {
    width: 55px;
    height: 55px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.25s ease;
    z-index: 10;
}

.hero_section .swiper-button-next::after,
.hero_section .swiper-button-prev::after {
    display: none;
}

.hero_section .swiper-button-next i,
.hero_section .swiper-button-prev i {
    font-size: 22px;
    color: #000;
    pointer-events: none;
}

.hero_section .swiper-button-next:hover,
.hero_section .swiper-button-prev:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.25);
}

.hero_section .swiper-button-prev {
    left: 20px;
}

.hero_section .swiper-button-next {
    right: 20px;
}

/* Benefits Section */

.benefits_item {
    display: flex;
    align-items: center;
    padding: 20px;
    background: white;
    border: 1px solid #ddd;
    border-radius: 20px;
    height: auto;
}

.benefits_item img {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
}

.benefits_item .d-flex {
    align-items: center;
}

.benefits_item h2 {
    font-size: 2.2rem;
    font-weight: 500;
    margin-bottom: 12px;
}

.promotion_slider .wc-forward {
    display: none !important;
}

.product_card .wc-forward{
    display: none;
}

.promotion_slider .swiper-slide {
    height: auto;
}

.promotion_slider .product_card {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 30px;
    background: white;
    border: 1px solid #F4F4F6;
    border-radius: 24px;
    transition: all 0.3s ease;
    height: auto;
}

.promotion_slider .product_card:hover {
    border-color: var(--green);
}

.promotion_slider .product_content {
    display: flex;
    width: 100%;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.promotion_slider .product_card img {
    width: 180px;
    height: 180px;
    object-fit: contain;
    aspect-ratio: 1/1;
    transition: transform 0.3s ease;
}

.promotion_slider .product_card:hover img {
    transform: scale(1.1);
}

.promotion_slider .product_card h3 {
    margin-block: 24px;
    font-size: 1.6rem;
    font-weight: 600;
    color: #000;
}

.promotion_slider .promo_badges {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    z-index: 2;
}

.promotion_slider .promo_span {
    display: inline-flex;
    padding: 4px 8px;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 20px;
    color: white;
    align-items: center;
    gap: 3px;
    border-radius: 4px;
    background: var(--green);
}

.promotion_slider .populare_span {
    background: #4a7c6f;
}

/* Promotion Section */

.blog_grid {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.blog_item img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    border-radius: 24px;
}

.blog_item h3 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 15px;
    color: #000;
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 500;
    line-height: 26px;
    margin-bottom: 12px;
}

.blog_item span {
    color: #000;
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
}

/* Footer Section */

/* Swiper pagination */

.swiper-pagination {
    display: none;
    position: relative;
    margin-top: 30px;
}

.swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: #C4C4C4;
    opacity: .8;
    margin: 0 5px !important;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.swiper-pagination-bullet-active {
    width: 28px;
    background: var(--green);
    border-radius: 30px;
}

/* Products Slider */

.block_title {
    margin-bottom: 40px;
}

.block_title p {
    margin-top: 10px;
}

.products_slider .wc-forward {
    display: none !important;
}

.columns-4{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 30px;
}

.product_card_style2 {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: white;
    border: 1px solid #F4F4F6;
    padding: 30px;
    border-radius: 24px;
    overflow: hidden;
    min-width: 0;
}

.product_card_style2 .product_content{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.product_card_style2 h3{
    font-size: 1.6rem;
}

.product_card_style2 img{
    width: 180px;
    height: 180px;
    object-fit: contain;
}

.product_title {
    flex-grow: 1;
    margin-block: 15px;
}

.product_content .main_btn {
    margin-top: auto;
}

.favorite_btn{
    position: absolute;
    right: 0;
}

.fav_icon_wrapper {
    position: relative;
    display: inline-block;
}

.cf-fav-count {
    position: absolute;
    top: -6px;
    right: -6px;
    background: var(--green);
    color: #fff;
    font-size: 1.2rem !important;
    border-radius: 50%;
    padding: 2px 5px;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
}

.products_slider .swiper-slide {
    height: auto;
}

.products_slider .product_card {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 30px;
    background: white;
    border: 1px solid #F4F4F6;
    border-radius: 24px;
    transition: all 0.3s ease;
    height: auto;
}

.products_slider .product_content {
    display: flex;
    width: 100%;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.products_slider .product_card img {
    width: 260px;
    height: 260px;
    object-fit: contain;
    aspect-ratio: 1/1;
    transition: transform 0.3s ease;
}

.products_slider .product_card:hover img {
    transform: scale(1.1);
}

.cart-shopping{
    width: 18px !important;
    height: 18px !important;
}

.products_slider .product_card h3 {
    margin-block: 24px;
    font-size: 1.6rem;
    font-weight: 600;
    color: #000;
}

.price_box {
    display: flex;
    align-items: center;
    gap: 8px;
}

.price_new {
    font-size: 1.8rem;
    font-weight: 500;
}

.price_old {
    font-size: 1.4rem;
    text-decoration: line-through;
    color: #888;
}

.price_discount {
    background: #e63946;
    color: #fff;
    font-size: 14px;
    padding: 3px 8px;
    border-radius: 6px;
    font-weight: 600;
}

.upsell-discount-badge {
    background: #ed4908;
    color: #fff;
    font-size: 12px;
    padding: 4px 10px;
    border-radius: 20px;
    font-weight: 600;
    display: inline-block;
}

/* Cart upsell variation styling */
.cart_item dl.variation {
    margin: 8px 0 0 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 0;
}

.cart_item dl.variation dt {
    display: none;
}

.cart_item dl.variation dd {
    margin: 0;
    padding: 0;
}

.cart_item dl.variation dd p {
    margin: 0;
    padding: 0;
}

.price_regular {
    font-size: 1.8rem;
    font-weight: 500;
    color: #000;
}

.product_img {
    width: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 24px;
}

.new_stock {
    position: absolute;
    top: 10px;
    left: 0;
    display: flex;
    width: 36px;
    height: 36px;
    justify-content: center;
    align-items: center;
    background: #518572;
    font-size: 1.1rem;
    color: white;
    text-transform: uppercase;
    font-weight: 700;
    line-height: 26px;
    border-radius: 36px;
}

/* Discount badge on product image */
.product_img .price_discount {
    position: absolute;
    top: 10px;
    left: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    background: #ed4908;
    color: white;
    font-size: 1.2rem;
    font-weight: 700;
    border-radius: 8px;
    z-index: 5;
}

/* Content Area */

.content-area {
    max-width: 1470px;
    margin: 50px auto;
}

.woocommerce span.onsale {
    display: none;
}

.gallery-layout {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding-right: 24px;
}

.product-thumbs-swiper-container {
    width: 90px;
    flex-shrink: 0;
    overflow: hidden;
    position: relative;
}

.product-thumbs-swiper {
    height: 500px;
}

.product-thumbs-swiper .swiper-slide {
    width: 100%;
    height: 90px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: opacity 0.2s;
}

.product-thumbs-swiper .swiper-slide-thumb-active {
    border: 1px solid #09706B;
    border-radius: 10px;
}

.product-thumbs-swiper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 10px;
    background: white;
}

.single-product {
    background: #F5F5F5;
}

.product-main-swiper-container {
    flex: 1;
    overflow: hidden;
}

.swiper_bg{
    padding: 12px 30px;
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.bg_white{
    padding: 20px;
    border-radius: 10px;
    background: white;
    height: 100%;
}

.bg_green{
    padding: 20px;
    border-radius: 10px;
    background: #386356;
    height: 100%;
    color: white;
}

.product-main-swiper {
    width: 100%;
}

.product-main-swiper .swiper-slide {
    flex-shrink: 0;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-main-swiper img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 10px;
}

.border_image {
    border-bottom: 1px solid #E0E0E0;
    margin-top: 8px;
}

.doses_container {
    display: flex;
    justify-content: center;
    gap: 50px;
    padding: 24px;
}

.doses_item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.doses_item p span {
    color: #5B5B5C;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 600;
    line-height: 20px
}

.doses_item p {
    color: #5B5B5C;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}

.doses_icon {
    display: flex;
    width: 40px;
    height: 40px;
    padding: 8px;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    background: rgba(9, 112, 107, 0.07);
}

.quality_container{
    margin-top: 10px;
    padding: 16px;
    border-radius: 10px;
    background: #FFF;
}

.quality_item img{
    width: 40px;
    height: 40px;
}

.single_products_container{
    display: flex;
}

.woocommerce-product-gallery{
    width: 50%;
}

.woocommerce div.product div.summary {
    width: 50%;
}

.summary_white{
    padding: 24px;
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.discount_boxes{
    margin-top: 46px;
}

.discount_boxes h2{
    font-size: 2.8rem;
    font-weight: 600;
}

.product_title {
    color: #333;
    font-size: 2.8rem;
    font-style: normal;
    font-weight: 600;
    line-height: 28px;
    margin-bottom: 10px;
}

.woocommerce-product-details__short-description {
    margin-bottom: 24px;
}

/* Part of bundles */
.product_part_of {
    margin-bottom: 16px;
}

.part_of_label {
    display: block;
    font-size: 1.3rem;
    font-weight: 600;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.part_of_list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.part_of_item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px 6px 6px;
    background: white;
    border: 1px solid rgba(0, 108, 102, 0.15);
    border-radius: 8px;
    text-decoration: none;
    color: #212529;
    font-size: 1.4rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.part_of_item img {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    object-fit: cover;
}

.benefits_product {
    margin-bottom: 20px;
    list-style: none;
}

.benefits_product li {
    color: #212529;
    position: relative;
    padding-left: 20px;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 5px;
}

.benefits_product li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    background-color: #006c66;
    border-radius: 50%;
}

/* Single product page - enhanced benefits */
.entry-summary .benefits_product li {
    padding: 10px 14px 10px 38px;
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 8px;
    background-color: rgba(0, 108, 102, 0.06);
    border-radius: 8px;
}

.entry-summary .benefits_product li::before {
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006c66' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    border-radius: 0;
}

.benefits_wrap li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    background-color: #006c66;
    border-radius: 50%;
}

.benefits_wrap li{
    padding-left: 15px;
    font-size: 1.4rem;
    white-space: nowrap;
    max-width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
    line-height: 21px;
}

.price {
    margin-bottom: 20px;
}

.custom-quantity {
    display: inline-flex;
    align-items: center;
    border: 1px solid #c3c6cb;
    border-radius: 9999px;
    overflow: hidden;
    height: 48px;
}

.custom-quantity input.qty {
    width: 48px;
    height: 48px;
    text-align: center;
    border: none;
    font-size: 16px;
    font-weight: 500;
    appearance: none;
    background-color: transparent;
    padding: 0;
}

.custom-quantity input.qty:focus-visible{
    outline: none;
    box-shadow: none;
}

.custom-quantity input.qty::-webkit-inner-spin-button,
.custom-quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.custom-quantity button.minus,
.custom-quantity button.plus {
    width: 48px;
    height: 48px;
    border: none;
    background-color: transparent;
    font-size: 20px;
    color: #444;
    cursor: pointer;
}

.custom-quantity button:hover {
    background-color: #f0f0f0;
}

.woocommerce div.product form.cart::after, .woocommerce div.product form.cart::before {
    display: none;
}

.woocommerce-ajax-add-to-cart{
    display: flex;
    gap: 24px;
    margin-bottom: 34px;
}

.woocommerce div.product form.cart .button {
    display: flex;
    height: 44px;
    padding: 6px 37px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex: 1 0 0;
    border-radius: 58px;
    background: var(--green);
}

.woocommerce-ajax-add-to-cart .ajax_add_to_cart.button,
.woocommerce-ajax-add-to-cart .btn_unavailable,
.single_add_to_cart_button{
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--green); !important;
    color: #fff !important;
    padding: 6px 37px !important;
    border-radius: 58px !important;
    flex: 1 0 0;
    font-weight: 500;
    height: 48px;
    transition: background 0.3s ease, color 0.3s ease;
}

.woocommerce-ajax-add-to-cart .ajax_add_to_cart.button:after,
.single_add_to_cart_button:after{
    display: none !important;
}

.entry-summary .wc-forward{
    display: none !important;
}

.woocommerce-ajax-add-to-cart .ajax_add_to_cart.button:hover,
.single_add_to_cart_button:hover{
    background: var(--dark-green) !important;
    color: #fff !important;
}

.price_custom {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 5px;
}

.price_custom .woocommerce-Price-amount{
    color: #222;
    font-size: 2.8rem;
    font-weight: 500;
    margin-right: 10px;
}

.single-product p.price_custom ins .woocommerce-Price-amount {
    color: #222;
    font-size: 2.8rem;
    font-weight: 500;
    margin-right: 10px;
}

.single-product p.price_custom del .woocommerce-Price-amount {
    color: #999;
    font-size: 2rem;
    font-weight: 400;
    text-decoration: line-through;
    opacity: 0.8;
}

del,
bdi{
    text-decoration: none;
}

.single-product p.price_custom ins,
.single-product p.price_custom ins .woocommerce-Price-amount {
    text-decoration: none !important;
    border-bottom: none !important;
}

.quality_container{
    display: flex;
    gap: 8px;
}

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb {
    margin-bottom: 24px;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb a {
    color: var(--green);
    font-weight: 500;
}

.cart_buttons{
    display: flex;
    align-items: center;
    gap: 15px;
}

/* Tabs Woocommerce */

/* Wrapper */
.custom-product-tabs {
    padding-top: 80px;
    clear: both;
    float: none;
    width: 100%;
    margin-bottom: 100px;
    position: relative;
}

.custom-product-tabs .product_h2 {
    margin-bottom: 40px;
}

.custom-tabs-nav {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 8px;
}

.custom-tab-btn {
    flex: 1;
    padding: 14px 20px;
    font-size: 16px;
    font-weight: 500;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #555;
    cursor: pointer;
    transition: all .3s ease;
    background: white;
}

.tab-btn img{
    width: 25px;
    height: 25px !important;
}

.custom-tab-btn.active {
    background: #e9f4f1;
    border-color: #a0d3c4;
    color: #1f5b4d;
}

.custom-tab-btn:not(.active):hover {
    background: white;
}

.custom-tab-panel {
    display: none;
    padding-top: 20px;
    border-radius: 10px;
}

.custom-tab-panel.active {
    display: block;
}

.custom-tab-panel > h2 {
    display: none !important;
}

.custom-tab-panel {
    background: white;
    padding: 20px 24px;
}

.custom-tab-panel h2 {
    font-size: 2.4rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    color: var(--green);
    margin-bottom: 15px;
    margin-top: 30px;
}

.custom-tab-panel h2:first-child {
    margin-top: 0;
}

.custom-tab-panel h3 {
    font-size: 2rem;
    font-weight: 600;
    color: var(--dark-green);
    margin-top: 30px;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e9f4f1;
}

.custom-tab-panel p {
    font-size: 1.6rem;
    line-height: 1.8;
    color: #444;
    margin-bottom: 15px;
}

.custom-tab-panel ul {
    list-style: none;
    padding: 0;
    margin: 20px 0;
}

.custom-tab-panel ul li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 12px;
    font-size: 1.6rem;
    line-height: 1.7;
    color: #444;
}

.custom-tab-panel ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 10px;
    height: 10px;
    background: var(--green);
    border-radius: 50%;
}

.custom-tab-panel ul li strong {
    color: var(--dark-green);
}

.custom-tab-panel strong {
    color: #333;
    font-weight: 600;
}

/* Tab Description Specific Styles */
#tab-description h2:first-of-type {
    display: none !important;
}

#tab-description h2[data-start] {
    display: block !important;
    font-size: 2.6rem;
    color: var(--green);
    margin-top: 0;
    margin-bottom: 20px;
    line-height: 1.4;
}

/* Products Woo */

.woocommerce ul.products li.product .price {
    display: flex;
}

/* WooCommerce Pagination */
.woocommerce-pagination {
    margin: 50px 0;
    text-align: center;
}

.woocommerce-pagination ul.page-numbers {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-pagination ul.page-numbers li {
    display: inline-block;
}

.woocommerce-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-size: 1.5rem;
    font-weight: 500;
    color: #666;
    background: transparent;
    border: none;
    border-radius: 50%;
    text-decoration: none;
    transition: all 0.2s ease;
}

.woocommerce-pagination .page-numbers:hover {
    background: #f0f0f0;
    color: var(--green);
}

.woocommerce-pagination .page-numbers.current {
    background: var(--green);
    color: #fff;
}

.woocommerce-pagination .page-numbers.next,
.woocommerce-pagination .page-numbers.prev {
    color: var(--green);
    font-weight: 600;
}

.woocommerce-pagination .page-numbers.next:hover,
.woocommerce-pagination .page-numbers.prev:hover {
    background: var(--green);
    color: #fff;
}

/* Reviews Section */

.reviews_section .swiper-slide{
    background: white;
    padding: 40px;
    border-radius: 24px;
    height: auto;
}

.reviews_right {
    background: white;
    padding: 30px;
    border-radius: 29px;
    border: 1px solid #E3E6EB;
}

.reviews_left {
    padding-right: 24px;
}

.reviews_left img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 24px;
}

.profile_review {
    width: 56px !important;
    height: 56px !important;
    object-fit: cover;
    border-radius: 195px;
    border: 1px solid #ddd;
    flex-shrink: 0;
}

.reviews_slider .swiper-slide h3{
    font-size: 2.5rem;
}

.reviews_slider .swiper-slide .reviews_description{
    margin-top: 20px;
}

.reviews_right h3 {
    font-size: 2.4rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.reviews_right p {
    margin-top: 20px;
    color: rgba(0, 0, 0, 0.68);
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
}

.border_bottom {
    border-bottom: 1px solid #E0E0E0;
    padding-bottom: 24px;
    margin-bottom: 24px;
}

.review_product {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.review_product img {
    width: 101px;
    height: 101px;
    object-fit: contain;
}

.review_details h4{
    max-width: 80%;
    font-size: 2rem;
}

.review_product .review_span {
    color: #09706B;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.review_product .price_review {
    color: #000;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
}

/* ================================
   AUTH PAGE - LOGIN & REGISTER
   ================================ */

.auth-container {
    max-width: 520px;
    margin: 60px auto;
}

/* Auth Tabs */
.auth-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 24px;
    background: #f3f4f6;
    padding: 6px;
    border-radius: 16px;
}

.auth-tab {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    background: transparent;
    border: none;
    border-radius: 12px;
    font-size: 1.5rem;
    font-weight: 600;
    color: #6b7280;
    cursor: pointer;
    transition: all 0.3s ease;
}

.auth-tab svg {
    stroke: #6b7280;
    transition: stroke 0.3s ease;
}

.auth-tab:hover {
    color: var(--green);
}

.auth-tab:hover svg {
    stroke: var(--green);
}

.auth-tab.active {
    background: #fff;
    color: var(--green);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.auth-tab.active svg {
    stroke: var(--green);
}

/* Auth Panel */
.auth-panel {
    display: none;
    background: #fff;
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    animation: fadeIn 0.3s ease;
}

.auth-panel.active {
    display: block;
}

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

/* Auth Header */
.auth-header {
    text-align: center;
    margin-bottom: 32px;
}

.auth-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    background: linear-gradient(135deg, rgba(56, 99, 86, 0.1), rgba(56, 99, 86, 0.05));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.auth-icon svg {
    stroke: var(--green);
}

.auth-header h2 {
    font-size: 2.4rem;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 8px;
}

.auth-subtitle {
    font-size: 1.5rem;
    color: #6b7280;
    margin: 0;
}

/* Auth Form Group */
.auth-form-group {
    margin-bottom: 20px;
}

.auth-form-group label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.4rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 10px;
}

.auth-form-group label svg {
    stroke: #9ca3af;
}

.auth-form-group input {
    width: 100%;
    padding: 14px 18px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    font-size: 1.5rem;
    color: #1f2937;
    background: #fff;
    transition: all 0.2s ease;
}

.auth-form-group input::placeholder {
    color: #9ca3af;
}

.auth-form-group input:focus {
    outline: none;
    border-color: var(--green);
    box-shadow: 0 0 0 4px rgba(56, 99, 86, 0.1);
}

/* Password Input */
.password-input-wrapper {
    position: relative;
}

.password-input-wrapper input {
    padding-right: 50px;
    width: 100%;
}

/* Hide WooCommerce default show password button globally */
.show-password-input,
.display-password {
    display: none !important;
}

.toggle-password {
    position: absolute;
    right: 14px;
    top: 0;
    height: 52px;
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

/* Password strength indicator - move outside wrapper visually */
.password-input-wrapper .woocommerce-password-strength {
    position: relative;
    margin-top: 10px;
}

.toggle-password svg {
    stroke: #9ca3af;
    transition: stroke 0.2s ease;
}

.toggle-password:hover svg {
    stroke: var(--green);
}

/* Password Strength Meter */
.password-strength-meter {
    height: 4px;
    background: #e5e7eb;
    border-radius: 2px;
    margin-top: 10px;
    overflow: hidden;
}

.password-strength-meter .strength-bar {
    height: 100%;
    width: 0;
    border-radius: 2px;
    transition: all 0.3s ease;
}

/* Auth Options */
.auth-options {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.remember-me {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 1.4rem;
    color: #6b7280;
}

.remember-me input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.remember-me .checkmark {
    width: 20px;
    height: 20px;
    border: 2px solid #d1d5db;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.remember-me input:checked + .checkmark {
    background: var(--green);
    border-color: var(--green);
}

.remember-me input:checked + .checkmark::after {
    content: '';
    width: 6px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    margin-bottom: 2px;
}

.forgot-password {
    font-size: 1.4rem;
    color: var(--green);
    text-decoration: none;
    transition: color 0.2s ease;
}

.forgot-password:hover {
    color: var(--dark-green);
    text-decoration: underline;
}

/* Auth Submit Button */
.auth-submit {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 24px;
    background: linear-gradient(135deg, var(--green), var(--dark-green));
    border: none;
    border-radius: 12px;
    font-size: 1.6rem;
    font-weight: 600;
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 14px rgba(56, 99, 86, 0.3);
}

.auth-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(56, 99, 86, 0.4);
}

.auth-submit svg {
    transition: transform 0.3s ease;
}

.auth-submit:hover svg {
    transform: translateX(4px);
}

/* Auth Switch */
.auth-switch {
    text-align: center;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #e5e7eb;
    font-size: 1.4rem;
    color: #6b7280;
}

.auth-switch a {
    color: var(--green);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease;
}

.auth-switch a:hover {
    color: var(--dark-green);
    text-decoration: underline;
}

/* Auth Info Box */
.auth-info-box {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background: rgba(56, 99, 86, 0.08);
    border-radius: 12px;
    margin-bottom: 20px;
}

.auth-info-box svg {
    stroke: var(--green);
    flex-shrink: 0;
    margin-top: 2px;
}

.auth-info-box p {
    margin: 0;
    font-size: 1.4rem;
    color: #374151;
    line-height: 1.5;
}

/* Auth Benefits */
.auth-benefits {
    background: #f9fafb;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 24px;
}

.auth-benefits h4 {
    font-size: 1.4rem;
    font-weight: 600;
    color: #374151;
    margin: 0 0 12px;
}

.auth-benefits ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.auth-benefits li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.4rem;
    color: #6b7280;
    padding: 8px 0;
}

.auth-benefits li svg {
    stroke: var(--green);
    flex-shrink: 0;
}

/* WooCommerce Notices in Auth */
.auth-container .woocommerce-error,
.auth-container .woocommerce-message,
.auth-container .woocommerce-info {
    margin-bottom: 20px;
    padding: 16px 20px 16px 56px !important;
    border-radius: 12px;
    font-size: 1.4rem;
    position: relative;
}

.auth-container .woocommerce-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #dc2626;
}

.auth-container .woocommerce-error::before,
.auth-container .woocommerce-message::before,
.auth-container .woocommerce-info::before {
    content: '';
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.auth-container .woocommerce-error::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23ef4444'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z'/%3E%3C/svg%3E");
}

.auth-container .woocommerce-message::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%2316a34a'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/%3E%3C/svg%3E");
}

.auth-container .woocommerce-info::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%232563eb'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'/%3E%3C/svg%3E");
}

.auth-container .woocommerce-message {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #16a34a;
}

.auth-container .woocommerce-info {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #2563eb;
}

/* Password Match Indicator */
.password-match-indicator {
    margin-top: 8px;
    min-height: 20px;
}

/* Auth Icon Success Variant */
.auth-icon--success {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.15), rgba(34, 197, 94, 0.05));
}

.auth-icon--success svg {
    stroke: #22c55e;
}

/* Hide sidebar navigation on login/register pages */
.woocommerce-account:not(.logged-in) .woocommerce-MyAccount-navigation {
    display: none;
}

.woocommerce-account:not(.logged-in) .woocommerce-MyAccount-content {
    width: 100%;
    margin: 0 auto;
}

.woocommerce-account:not(.logged-in) .woocommerce {
    display: block;
}

/* Responsive Auth */
@media (max-width: 576px) {
    .auth-container {
        margin: 30px auto;
    }

    .auth-panel {
        padding: 28px 24px;
        border-radius: 20px;
    }

    .auth-icon {
        width: 64px;
        height: 64px;
    }

    .auth-icon svg {
        width: 36px;
        height: 36px;
    }

    .auth-header h2 {
        font-size: 2rem;
    }

    .auth-tabs {
        flex-direction: row;
    }

    .auth-tab {
        padding: 12px 16px;
        font-size: 1.4rem;
    }

    .auth-options {
        flex-direction: column;
        gap: 16px;
        align-items: flex-start;
    }
}

/* My Account Section */

.woocommerce-account .woocommerce {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

/* SIDEBAR NAVIGATION */
.woocommerce-MyAccount-navigation {
    width: 280px;
    min-width: 280px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
    position: sticky;
    top: 20px;
    height: max-content;
    overflow: hidden;
}

/* User Profile Header */
.account-nav-header {
    padding: 24px;
    background: linear-gradient(135deg, var(--green) 0%, var(--dark-green) 100%);
    text-align: center;
    color: white;
}

.account-avatar {
    margin-bottom: 12px;
}

.account-avatar img {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    border: 3px solid rgba(255,255,255,0.3);
    object-fit: cover;
}

.account-user-name {
    font-size: 1.6rem;
    font-weight: 600;
    margin: 0 0 4px 0;
    color: white;
}

.account-user-email {
    font-size: 1.3rem;
    opacity: 0.85;
    margin: 0;
    color: white;
}

/* Navigation Menu */
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 12px 0;
}

.woocommerce-MyAccount-navigation ul li {
    margin: 0;
}

.woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 24px;
    color: #444;
    font-size: 1.5rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.25s ease;
    border-left: 3px solid transparent;
}

.woocommerce-MyAccount-navigation ul li a .nav-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #f5f5f5;
    border-radius: 10px;
    transition: all 0.25s ease;
}

.woocommerce-MyAccount-navigation ul li a .nav-icon svg {
    color: #666;
    transition: color 0.25s ease;
}

.woocommerce-MyAccount-navigation ul li a:hover {
    background: #f9fafb;
    border-left-color: var(--green);
    color: var(--green);
}

.woocommerce-MyAccount-navigation ul li a:hover .nav-icon {
    background: rgba(56, 99, 86, 0.1);
}

.woocommerce-MyAccount-navigation ul li a:hover .nav-icon svg {
    color: var(--green);
}

/* Active State */
.woocommerce-MyAccount-navigation-link.is-active a {
    background: rgba(56, 99, 86, 0.08);
    border-left-color: var(--green);
    color: var(--green);
}

.woocommerce-MyAccount-navigation-link.is-active a .nav-icon {
    background: var(--green);
}

.woocommerce-MyAccount-navigation-link.is-active a .nav-icon svg {
    color: white;
}

/* Logout special styling */
.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #dc3545;
}

.woocommerce-MyAccount-navigation-link--customer-logout a .nav-icon svg {
    color: #dc3545;
}

.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    background: rgba(220, 53, 69, 0.08);
    border-left-color: #dc3545;
}

/* MAIN CONTENT AREA */
.woocommerce-MyAccount-content {
    flex: 1;
    background: #fff;
    border-radius: 20px;
    padding: 32px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
}

/* Dashboard Welcome */
.dashboard-welcome {
    margin-bottom: 32px;
}

.dashboard-welcome h2 {
    font-size: 2.4rem;
    font-weight: 700;
    margin: 0 0 8px 0;
    color: #1f2937;
}

.dashboard-welcome p {
    font-size: 1.5rem;
    color: #6b7280;
    margin: 0;
}

/* Dashboard Stats */
.dashboard-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 32px;
}

.stat-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 24px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-radius: 16px;
    border: 1px solid #e5e7eb;
}

.stat-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--green);
    border-radius: 14px;
    flex-shrink: 0;
}

.stat-icon svg {
    color: white;
}

.stat-content {
    display: flex;
    flex-direction: column;
}

.stat-value {
    font-size: 2rem;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.2;
}

.stat-value .woocommerce-Price-amount {
    font-size: inherit;
}

.stat-label {
    font-size: 1.4rem;
    color: #6b7280;
}

/* Quick Links */
.dashboard-quick-links h3 {
    font-size: 1.8rem;
    font-weight: 600;
    margin: 0 0 20px 0;
    color: #1f2937;
}

.quick-links-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.quick-link-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 24px 16px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.quick-link-card:hover {
    border-color: var(--green);
    box-shadow: 0 8px 24px rgba(56, 99, 86, 0.12);
    transform: translateY(-4px);
}

.quick-link-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(56, 99, 86, 0.1);
    border-radius: 16px;
    margin-bottom: 14px;
    transition: all 0.3s ease;
}

.quick-link-icon svg {
    color: var(--green);
}

.quick-link-card:hover .quick-link-icon {
    background: var(--green);
}

.quick-link-card:hover .quick-link-icon svg {
    color: white;
}

.quick-link-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 4px;
}

.quick-link-desc {
    font-size: 1.3rem;
    color: #9ca3af;
}

/* Orders Table */
.woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

.woocommerce-orders-table th {
    text-align: left;
    padding: 14px 16px;
    background: #f9fafb;
    font-size: 1.3rem;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px solid #e5e7eb;
}

.woocommerce-orders-table td {
    padding: 16px;
    border-bottom: 1px solid #f3f4f6;
    font-size: 1.5rem;
    color: #374151;
}

.woocommerce-orders-table tr:hover td {
    background: #f9fafb;
}

.woocommerce-orders-table .woocommerce-button {
    padding: 8px 16px;
    background: var(--green);
    color: white;
    border-radius: 8px;
    font-size: 1.3rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
}

.woocommerce-orders-table .woocommerce-button:hover {
    background: var(--dark-green);
}

/* Forms in My Account */
.woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.woocommerce-MyAccount-content .woocommerce-address-fields {
    max-width: 600px;
}

/* Fieldset - Password Change Section */
.woocommerce-EditAccountForm fieldset {
    margin: 30px 0 20px;
    padding: 24px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #f9fafb;
}

.woocommerce-EditAccountForm fieldset legend {
    padding: 0 12px;
    font-size: 1.6rem;
    font-weight: 600;
    color: #374151;
    background: #f9fafb;
}

.woocommerce-EditAccountForm fieldset .form-row {
    margin-bottom: 16px;
}

.woocommerce-EditAccountForm fieldset .form-row:last-child {
    margin-bottom: 0;
}

/* Password Input with Show/Hide Button */
.woocommerce-EditAccountForm .password-input {
    position: relative;
    display: flex;
    align-items: center;
}

.woocommerce-EditAccountForm .password-input input {
    flex: 1;
    padding-right: 50px;
}

.woocommerce-EditAccountForm .password-input .show-password-input {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9ca3af;
    transition: color 0.2s ease;
}

.woocommerce-EditAccountForm .password-input .show-password-input:hover {
    color: var(--green);
}

.woocommerce-EditAccountForm .password-input .show-password-input::before {
    content: '';
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512' fill='%239ca3af'%3E%3Cpath d='M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.woocommerce-EditAccountForm .password-input .show-password-input:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512' fill='%23386356'%3E%3Cpath d='M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z'/%3E%3C/svg%3E");
}

/* Password match notice */
.password-match-notice {
    display: none;
    margin-top: 10px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 1.3rem;
    font-weight: 500;
}

.password-match-notice--success {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #16a34a;
}

.password-match-notice--error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #dc2626;
}

.woocommerce-MyAccount-content .form-row {
    margin-bottom: 20px;
}

.woocommerce-MyAccount-content .form-row label {
    display: block;
    margin-bottom: 8px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #374151;
}

.woocommerce-MyAccount-content .form-row input[type="text"],
.woocommerce-MyAccount-content .form-row input[type="email"],
.woocommerce-MyAccount-content .form-row input[type="password"],
.woocommerce-MyAccount-content .form-row input[type="tel"],
.woocommerce-MyAccount-content .form-row select,
.woocommerce-MyAccount-content .form-row textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    font-size: 1.5rem;
    transition: all 0.2s ease;
}

.woocommerce-MyAccount-content .form-row input:focus,
.woocommerce-MyAccount-content .form-row select:focus,
.woocommerce-MyAccount-content .form-row textarea:focus {
    border-color: var(--green);
    box-shadow: 0 0 0 3px rgba(56, 99, 86, 0.1);
    outline: none;
}

/* Password Input Wrapper */
.woocommerce-MyAccount-content .password-input {
    position: relative;
    display: block;
}

.woocommerce-MyAccount-content .password-input input {
    width: 100%;
    padding-right: 16px;
}

/* Password Strength Indicator */
.woocommerce-password-strength {
    margin-top: 10px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 1.3rem;
    font-weight: 500;
}

.woocommerce-password-strength.short {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #dc2626;
}

.woocommerce-password-strength.bad {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #ea580c;
}

.woocommerce-password-strength.good {
    background: #fefce8;
    border: 1px solid #fef08a;
    color: #ca8a04;
}

.woocommerce-password-strength.strong {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #16a34a;
}

/* Password Hint */
.woocommerce-password-hint {
    display: none;
    margin-top: 10px;
    padding: 12px 14px;
    background: #f9fafb;
    border-radius: 8px;
    font-size: 1.3rem;
    color: #6b7280;
    line-height: 1.6;
    border-left: 3px solid var(--green);
}

.woocommerce-MyAccount-content button[type="submit"] {
    padding: 14px 28px;
    background: var(--green);
    color: white;
    border: none;
    border-radius: 10px;
    font-size: 1.5rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.woocommerce-MyAccount-content button[type="submit"]:hover {
    background: var(--dark-green);
    transform: translateY(-2px);
}

/* Addresses Grid */
.woocommerce-Addresses {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 20px;
}

.woocommerce-Addresses.col2-set {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.woocommerce-Address {
    width: 100%;
    background: #f9fafb;
    padding: 24px;
    border-radius: 16px;
    border: 1px solid #e5e7eb;
}

.woocommerce-Address-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e5e7eb;
}

.woocommerce-Address-title h2 {
    font-size: 1.6rem;
    font-weight: 600;
    margin: 0;
    color: #1f2937;
}

.woocommerce-Address-title a.edit {
    font-size: 1.3rem;
    color: var(--green);
    text-decoration: none;
    padding: 6px 12px;
    background: rgba(56, 99, 86, 0.1);
    border-radius: 6px;
    transition: all 0.2s ease;
}

.woocommerce-Address-title a.edit:hover {
    background: var(--green);
    color: white;
}

.woocommerce-Address address {
    font-style: normal;
    font-size: 1.4rem;
    color: #6b7280;
    line-height: 1.8;
}

/* Responsive */
@media (max-width: 992px) {
    .woocommerce-account .woocommerce {
        flex-direction: column;
    }

    .woocommerce-MyAccount-navigation {
        width: 100%;
        min-width: 100%;
        position: relative;
        top: 0;
    }

    .dashboard-stats,
    .quick-links-grid,
    .woocommerce-Addresses,
    .woocommerce-Addresses.col2-set {
        grid-template-columns: 1fr;
    }
}

/* End My Account Section */

/* Error 404 Page */

/* Error page */

.error-404 {
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #f9f9f9;
    padding: 60px 20px;
}

.error-404 .error-title {
    font-size: 8rem;
    font-weight: 800;
    color: #222;
    margin-bottom: 10px;
    animation: float 4s ease-in-out infinite;
}

.error-404 .error-subtitle {
    font-size: 2rem;
    margin-bottom: 15px;
    color: #333;
}

.error-404 .error-text {
    color: #555;
    max-width: 500px;
    margin: 0 auto 30px;
}

.error-actions .btn-primary {
    display: inline-block;
    background: #222;
    color: #fff;
    font-size: 1.6rem;
    padding: 12px 25px;
    border-radius: 6px;
    text-decoration: none;
    border: none;
    transition: background 0.3s ease;
}

.error-actions .btn-primary:hover {
    background: #444;
}

.error-search {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 10px;
}

.error-search input {
    padding: 10px;
    width: 240px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.error-search button {
    padding: 10px 20px;
    background: #222;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

@keyframes float {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

/* End Error 404 Page */

/* Footer */

.footer {
    background-color: #1F3D33;
}

.footer .container {
    padding: 80px 15px;
}

.main_footer{
    margin-bottom: 40px;
}

.logo_footer {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
}

.main_footer p {
    color: #ffffff;
    font-size: 1.6rem;
    line-height: 26px;
    text-align: center;
}

.logo_footer img {
    max-width: 292px;
    height: auto;
}

.footer h3 {
    font-weight: 600;
    font-size: 2rem;
    color: #ffffff;
    margin-bottom: 30px;
    position: relative;
}

.footer h3::before{
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 100px;
    height: 1px;
    background-color: rgba(169, 202, 165, 0.46);
    border-radius: 2px;
}

.footer li a {
    position: relative;
    display: inline-block;
    color: #ffffff;
    font-weight: 400;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer li a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 1px;
    background-color: #ffffff;
    transition: width 0.3s ease;
}

.footer li a:hover {
    color: #ededed;
}

.footer li a:hover::after {
    width: 100%;
}


.icon_footer {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    font-size: 20px;
    color: white;
}

.copyright {
    padding: 20px 0;
}

.copyright p {
    text-align: center;
    color: white;
}

.copyright a {
    color: white;
    font-weight: 600;
}

.copyright a i {
    font-size: 1.8rem;
}

.footer_links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px 24px;
}

.footer_links li a {
    position: relative;
    text-decoration: none;
    color: #fff;
    transition: color 0.3s ease;
    display: inline-block;
    padding-bottom: 4px;
}

.footer_links li a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 2px;
    background-color: #ffffff;
    transition: width 0.4s ease;
}

.footer_links li a:hover {
    color: #ffffff;
}

.right_footer_column li a {
    display: inline-flex;
    align-items: center;
    margin-bottom: 12px;
}

.right_footer_column ul li img{
    width: 23px;
    height: 23px;
    margin-right: 10px;
}

.right_footer_column li:last-child a{
    margin-bottom: 0;
}

.right_footer_column li i {
    font-size: 2.2rem;
    color: white;
    margin-right: 10px;
}

.footer_social {
    margin-top: 20px;
    display: flex;
    gap: 12px;
}

.footer_social a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #000;
    border: 1px solid #e5e5e5;
    transition: 0.3s ease;
}

.footer_social a:hover {
    background: var(--green);
    color: #fff;
    border-color: var(--green);
    transform: translateY(-3px);
}

.footer_social a img{
    width: 20px !important;
    height: 20px !important;
    object-fit: contain;
}

.footer_social a:hover img {
    filter: brightness(0) invert(1);
}

.copyright .container {
    padding: 20px 15px 0 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid rgba(169, 202, 165, 0.46);
}

.anpc{
    margin-top: 30px;
    display: flex;
    gap: 10px;
}

.anpc img{
    max-width: 148px;
    height: 100%;
}

/* End Footer */

/*.woocommerce-message,*/
/*.woocommerce-info,*/
/*.woocommerce-error {*/
/*    display: none !important;*/
/*}*/

#woo-toast-container {
    position: fixed;
    right: 25px;
    bottom: 25px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    z-index: 999999;
}

.return-to-shop{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 120px 0;
}

.return-to-shop img{
    max-width: 170px;
    margin-bottom: 10px;
}

.return-to-shop p{
    font-size: 1.6rem !important;
    color: #5B5B5C !important;
    margin-bottom: 30px !important;
}

.return-to-shop .button{
    display: inline-block !important;
    padding: 20px 37px !important;
    background: var(--green) !important;
    color: white !important;
    font-size: 1.6rem !important;
    font-weight: 600 !important;
    text-align: center !important;
    transition: background 0.3s
    ease !important;
    border-radius: 58px !important;
}
/* ===== POPUP LOGIN CUSTOM ===== */

.mn-login-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.mn-login-modal.is-visible {
    display: flex;
}

.mn-login-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    backdrop-filter: blur(4px);
}

.mn-login-modal__content {
    background: #fff;
    position: relative;
    z-index: 2;
    padding: 50px 32px;
    border-radius: 18px;
    width: 100%;
    max-width: 600px;
    animation: mnLoginFade .25s ease-out;
    box-shadow: 0 18px 60px rgba(0,0,0,0.18);
    max-height: 90vh;
    overflow-y: auto;
}

body.mn-login-modal-open {
    overflow: hidden;
}

/* Title */
.mn-login-title {
    margin-bottom: 22px;
    font-weight: 700;
    font-size: 26px;
}

/* Close */
.mn-login-modal__close {
    position: absolute;
    top: 10px;
    right: 14px;
    font-size: 26px;
    background: none;
    border: none;
    opacity: .7;
    cursor: pointer;
    z-index: 10;
}

.mn-login-modal__close:hover { opacity: 1; }

/* Auth Tabs */
.mn-auth-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 24px;
    background: #f3f4f6;
    padding: 5px;
    border-radius: 12px;
}

.mn-auth-tab {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    background: transparent;
    border: none;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #6b7280;
    cursor: pointer;
    transition: all 0.25s ease;
}

.mn-auth-tab i {
    font-size: 15px;
}

.mn-auth-tab:hover {
    color: var(--green);
}

.mn-auth-tab.active {
    background: #fff;
    color: var(--green);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* Auth Panels */
.mn-auth-panel {
    display: none;
}

.mn-auth-panel.active {
    display: block;
    animation: mnLoginFade 0.2s ease;
}

/* Fields */
.mn-login-field {
    margin-bottom: 18px;
}

.mn-login-field label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 8px;
    color: #374151;
}

.mn-login-field label i {
    color: #9ca3af;
    font-size: 15px;
}

.mn-login-field input {
    width: 100%;
    padding: 14px 16px;
    border-radius: 12px;
    border: 2px solid #e5e7eb;
    background: #fff;
    font-size: 15px;
    transition: all 0.25s;
}

.mn-login-field input::placeholder {
    color: #9ca3af;
}

.mn-login-field input:focus {
    outline: none;
    border-color: var(--green);
    box-shadow: 0 0 0 4px rgba(56, 99, 86, 0.1);
}

/* Password wrapper */
.mn-login-password-wrapper {
    position: relative;
}

.mn-login-password-wrapper input {
    padding-right: 48px;
}

.mn-login-toggle-password {
    background: none;
    border: none;
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 18px;
    color: #9ca3af;
    transition: color 0.2s;
}

.mn-login-toggle-password:hover {
    color: var(--green);
}

/* Password Strength */
.mn-password-strength {
    height: 4px;
    background: #e5e7eb;
    border-radius: 2px;
    margin-top: 10px;
    overflow: hidden;
}

.mn-strength-bar {
    height: 100%;
    width: 0;
    border-radius: 2px;
    transition: all 0.3s ease;
}

/* Actions */
.mn-login-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 20px 0;
}

.mn-login-remember {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 1.4rem;
    color: #6b7280;
    cursor: pointer;
    position: relative;
    padding-left: 28px;
}

.mn-login-remember input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.mn-checkmark {
    position: absolute;
    left: 0;
    width: 20px;
    height: 20px;
    border: 2px solid #d1d5db;
    border-radius: 6px;
    transition: all 0.2s;
}

.mn-login-remember input:checked + .mn-checkmark {
    background: var(--green);
    border-color: var(--green);
}

.mn-login-remember input:checked + .mn-checkmark::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 1px;
    width: 5px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* Lost password */
.mn-login-lostpass {
    font-size: 14px;
    color: var(--green);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s;
}

.mn-login-lostpass:hover {
    color: var(--dark-green);
    text-decoration: underline;
}

/* Submit */
.mn-login-submit {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: linear-gradient(135deg, var(--green), var(--dark-green));
    color: #fff;
    border: none;
    padding: 14px 24px;
    border-radius: 12px;
    cursor: pointer;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 14px rgba(56, 99, 86, 0.3);
}

.mn-login-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(56, 99, 86, 0.4);
}

.mn-login-submit i {
    transition: transform 0.3s;
}

.mn-login-submit:hover i {
    transform: translateX(4px);
}

/* Auth Switch */
.mn-auth-switch {
    text-align: center;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e5e7eb;
    font-size: 14px;
    color: #6b7280;
}

.mn-auth-switch a {
    color: var(--green);
    font-weight: 600;
    text-decoration: none;
}

.mn-auth-switch a:hover {
    text-decoration: underline;
}

/* Info Box */
.mn-info-box {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    background: rgba(56, 99, 86, 0.08);
    border-radius: 12px;
    margin-bottom: 18px;
}

.mn-info-box i {
    color: var(--green);
    font-size: 18px;
    margin-top: 2px;
}

.mn-info-box p {
    margin: 0;
    font-size: 14px;
    color: #374151;
    line-height: 1.5;
}

/* Benefits */
.mn-benefits {
    background: #f9fafb;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 20px;
}

.mn-benefits h4 {
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    margin: 0 0 10px;
}

.mn-benefits ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mn-benefits li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #6b7280;
    padding: 6px 0;
}

.mn-benefits li i {
    color: var(--green);
    font-size: 12px;
}

/* Animation */
@keyframes mnLoginFade {
    from { opacity: 0; transform: translateY(10px) scale(.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Responsive Modal */
@media (max-width: 480px) {
    .mn-login-modal__content {
        padding: 60px 20px;
        max-width: 100%;
        border-radius: 16px;
    }

    .mn-auth-tabs {
        gap: 4px;
    }

    .mn-auth-tab {
        padding: 10px 12px;
        font-size: 13px;
    }

    .mn-login-row {
        flex-direction: column;
        gap: 14px;
        align-items: flex-start;
    }
}

/* Testimonials Section */

.testimonial_slider .swiper-slide img{
    width: 100%;
    height: 500px;
    object-fit: cover;
    border-radius: 20px;
}

.testimonial_img{
    position: relative;
}

.testimonial_content{
    display: flex;
    align-items: center;
    gap: 20px;
}

.testimonial_content{
    position: absolute;
    bottom: 15px;
    left: 15px;
    right: 15px;
    background: rgba(255, 255, 255, 0.8);
    padding: 10px;
    border-radius: 10px;
}

.testimonial_content img{
    width: 60px !important;
    height: 60px !important;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 15px;
}

.testimonial_content h3{
    margin-top: 20px;
    font-size: 1.6rem;
    font-weight: 600;
    margin-bottom: 15px;
}

.testimonial_details{
    display: flex;
    flex-direction: column;
}

.play_button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70px;
    height: 70px;
    background: rgba(56, 98, 85, 0.73);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    transition: 0.3s;
    z-index: 10;
}

.play_button img {
    width: 25px !important;
    height: 25px !important;
    object-fit: contain !important;
    border-radius: 0 !important;
}

.play_button:hover {
    background: rgba(44, 81, 71, 0.73);
    transform: translate(-50%, -50%) scale(1.1);
}

.swiper-button-next,
.swiper-button-prev {
    width: 40px;
    height: 40px;
    background: var(--green);
    border-radius: 50%;
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.25s ease;
    z-index: 10;
}

.swiper-button-next::after,
.swiper-button-prev::after {
    display: none;
}

.swiper-button-next i,
.swiper-button-prev i {
    font-size: 22px;
    color: #ffffff;
    pointer-events: none;
}

.swiper-button-next img,
.swiper-button-prev img {
    width: 24px;
    height: 24px;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.25);
}

.video_testimonials .swiper-button-prev {
    top: 50%;
    left: -20px;
}

.video_testimonials .swiper-button-next {
    top: 50%;
    right: -20px;
}

.categories_product .swiper-button-next{
    top: 50%;
    right: -20px;
}

.categories_product .swiper-button-prev{
    top: 50%;
    left: -20px;
}

.swiper-button-next{
    top: 50%;
    right: -20px;
}

.swiper-button-prev{
    top: 50%;
    left: -20px;
}

.blog-prev{
    top: 40%;
    left: -20px;
}

.blog-next{
    top: 40%;
    right: -20px;
}

.woocommerce-product-rating{
    display: none;
}

/* Cart Page */

/* ============================
   CART TABLE – MODERN DESIGN
   ============================ */

/* Reset */
.woocommerce-cart-form table {
    background: white;
    width: 100%;
    border-collapse: collapse;
    border: 0;
}

/* Head */
.woocommerce-cart-form thead th {
    background: #F8F8F8;
    padding: 14px 20px;
    text-align: left;
    font-weight: 600;
    color: #555;
    font-size: 15px;
    border: 0;
}

.woocommerce-cart-form tbody tr {
    border-bottom: 1px solid #eee;
}

.woocommerce-cart-form td {
    padding: 18px 20px;
    vertical-align: middle;
    border: 0;
}

/* ============================
   BUNDLE ITEMS IN CART
   ============================ */

/* Main bundle product row */
.woocommerce-cart-form tr.bundle_table_item {
    background: #fff;
    border-bottom: none;
}

.woocommerce-cart-form tr.bundle_table_item td {
    padding-bottom: 12px;
}

/* Bundled child items */
.woocommerce-cart-form tr.bundled_table_item {
    background: linear-gradient(to right, #f8faf9 0%, #fff 100%);
    border-bottom: 1px solid #f0f0f0;
}

.woocommerce-cart-form tr.bundled_table_item:last-of-type {
    border-bottom: 2px solid #e5e7eb;
    margin-bottom: 8px;
}

.woocommerce-cart-form tr.bundled_table_item td {
    padding: 12px 20px;
    font-size: 14px;
    color: #6b7280;
}

/* Hide bundled items by default */
.woocommerce-cart-form tr.bundled_table_item {
    display: none;
}

.woocommerce-cart-form tr.bundled_table_item.is-visible {
    display: table-row;
}

/* Bundled item thumbnail - smaller */
.woocommerce-cart-form tr.bundled_table_item .product-thumbnail img {
    width: 50px;
    height: 50px;
    border-radius: 8px;
    opacity: 0.9;
}

/* Bundled item name indent */
.bundled-product-name.bundled_table_item_indent {
    position: relative;
    padding-left: 20px;
}

.bundled-product-name.bundled_table_item_indent a {
    font-size: 14px;
    font-weight: 500;
    color: #4b5563;
}

.bundled-product-name.bundled_table_item_indent a:hover {
    color: var(--green);
}

/* Bundled item quantity - just text */
.woocommerce-cart-form tr.bundled_table_item .product-quantity {
    font-size: 14px;
    color: #9ca3af;
}

/* Hide empty cells in bundled items */
.woocommerce-cart-form tr.bundled_table_item .product-price:empty,
.woocommerce-cart-form tr.bundled_table_item .product-subtotal:empty,
.woocommerce-cart-form tr.bundled_table_item .product-remove:empty {
    position: relative;
}

/* Bundle toggle button */
.bundle-toggle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    margin-left: 12px;
    background: #f3f4f6;
    border: 2px solid #e5e7eb;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s ease;
    vertical-align: middle;
    font-size: 14px;
    font-weight: 700;
    color: var(--green);
}

.bundle-toggle-btn:hover {
    background: var(--green);
    border-color: var(--green);
    color: white;
    transform: scale(1.1);
}

.bundle-toggle-btn.is-open {
    background: var(--green);
    border-color: var(--green);
    color: white;
}

.bundle-toggle-btn svg {
    width: 14px;
    height: 14px;
}

.bundle-toggle-btn .icon-close {
    display: none;
}

.bundle-toggle-btn.is-open .icon-info {
    display: none;
}

.bundle-toggle-btn.is-open .icon-close {
    display: block;
}

/* Bundle info text */
.bundle-info-text {
    display: inline-block;
    margin-left: 8px;
    font-size: 13px;
    color: #9ca3af;
    font-weight: 400;
    vertical-align: middle;
}

/* Bundle label on main item - removed ::after, now using button */
.woocommerce-cart-form tr.bundle_table_item .product-name {
    position: relative;
}

.bundle-label {
    display: inline-block;
    margin-left: 10px;
    padding: 3px 8px;
    background: linear-gradient(135deg, var(--green), var(--dark-green));
    color: white;
    font-size: 10px;
    font-weight: 700;
    border-radius: 4px;
    vertical-align: middle;
    letter-spacing: 0.5px;
}

.product-remove .remove {
    font-size: 3rem;
    color: #bbb;
    text-decoration: none;
    transition: 0.2s;
}

.product-remove .remove:hover {
    color: #e74c3c;
}

/* Thumbnail */
.product-thumbnail img {
    width: 90px;
    height: 90px;
    object-fit: contain;
    border-radius: 10px;
}

/* Product name */
.product-name a {
    font-size: 18px;
    font-weight: 600;
    color: #222;
    text-decoration: none;
}

.product-name a:hover {
    color: var(--dark-green);
}

/* PRICE */
.product-price .amount,
.product-subtotal .amount {
    font-size: 18px;
    font-weight: 600;
    color: #222;
}

.product-price del {
    color: #aaa;
    font-size: 14px;
}

/* ============================
   CART TOTAL (Bottom)
   ============================ */

.woocommerce-cart-form .actions {
    display: none;
    background: #fff;
    padding: 25px 20px;
    border-top: 0;
}

/* Coupon */
.coupon {
    display: flex;
    align-items: center;
    gap: 10px;
}

#coupon_code {
    padding: 10px 14px;
    border: 1px solid #ddd;
    border-radius: 10px;
    font-size: 15px;
    width: 200px;
}

.coupon button {
    background: #09706B;
    color: #fff;
    border: 0;
    padding: 10px 18px;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    transition: 0.2s;
}

.coupon button:hover {
    background: #0b8f84;
}

/* Update button */
button[name="update_cart"] {
    background: #ccc;
    color: #fff;
    border: 0;
    padding: 10px 20px;
    border-radius: 10px;
    margin-left: auto;
    cursor: pointer;
    transition: 0.2s;
}

button[name="update_cart"]:not([disabled]):hover {
    background: #09706B;
}

/* ============================
   RESPONSIVE - TABLET
   ============================ */

@media (max-width: 1024px) and (min-width: 769px) {
    .woocommerce-cart-form table {
        font-size: 14px;
    }

    .woocommerce-cart-form thead th {
        padding: 12px 8px;
        font-size: 13px;
    }

    .woocommerce-cart-form td {
        padding: 15px 8px;
    }

    .product-thumbnail img {
        width: 80px;
        height: 80px;
    }

    .product-name a {
        font-size: 14px;
    }

    .custom-quantity input {
        width: 50px;
    }

    .actions {
        gap: 15px;
    }

    .coupon {
        gap: 10px;
    }
}

/* ============================
   RESPONSIVE - MOBILE
   ============================ */

@media (max-width: 768px) {
    /* Ascunde header-ul tabelului */
    .woocommerce-cart-form thead {
        display: none;
    }

    /* Fiecare produs devine un card */
    .woocommerce-cart-form tbody tr:not(.bundled_table_item) {
        display: grid;
        grid-template-columns: 80px 1fr;
        grid-template-rows: auto auto;
        gap: 12px;
        margin-bottom: 20px;
        background: #fff;
        padding: 15px;
        border-radius: 12px;
        border: 1px solid #e8e8e8 !important;
        box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.15);
        position: relative;
    }

    /* Imaginea - stânga sus */
    .woocommerce-cart-form td.product-thumbnail {
        grid-column: 1;
        grid-row: 1;
        display: flex;
        align-items: flex-start;
        padding: 0;
    }

    .product-thumbnail img {
        width: 80px;
        height: 80px;
        border-radius: 8px;
        object-fit: contain;
    }

    /* Titlul + Bundle info - dreapta sus */
    .woocommerce-cart-form td.product-name {
        grid-column: 2;
        grid-row: 1;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 0;
        padding-right: 35px;
    }

    .woocommerce-cart-form td.product-name a {
        font-size: 15px;
        font-weight: 600;
        line-height: 1.3;
        margin-bottom: 6px;
    }

    .bundle-label {
        font-size: 11px;
        margin: 0;
        /* margin-bottom: 4px; */
    }

    .bundle-toggle-btn {
        display: none;
        margin-top: 4px;
    }

    .bundle-info-text {
        display: none;
        font-size: 12px;
        margin-top: 4px;
    }

    /* Butonul de delete - colț dreapta sus */
    .woocommerce-cart-form td.product-remove {
        position: absolute;
        top: 12px;
        right: 12px;
        padding: 0;
        width: auto;
        display: flex;
        z-index: 10;
    }

    .product-remove .remove {
        font-size: 24px;
        width: 28px;
        height: 28px;
        line-height: 26px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Ascunde prețul */
    .woocommerce-cart-form td.product-price {
        display: none;
    }

    /* Cantitatea - stânga jos */
    .woocommerce-cart-form td.product-quantity {
        grid-column: 1 / -1;
        grid-row: 2;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding: 12px 0 0 0;
        position: relative;
        z-index: 1;
    }

    .woocommerce-cart-form td.product-quantity:before {
        display: none;
    }

    .woocommerce-cart-form td.product-quantity .custom-quantity {
        margin: 0;
    }

    /* Subtotalul - absolut poziționat în dreapta */
    .woocommerce-cart-form td.product-subtotal {
        grid-column: 1 / -1;
        grid-row: 2;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding: 12px 0 0 0;
        position: relative;
        pointer-events: none;
        border-top: 1px solid #ecf1f3;
    }

    .woocommerce-cart-form td.product-subtotal .amount {
        pointer-events: auto;
    }

    .woocommerce-cart-form td.product-subtotal:before {
        display: none;
    }

    .woocommerce-cart-form td.product-subtotal .amount {
        font-size: 18px;
        font-weight: 700;
        color: #333333;
    }

    /* Bundle items - produse din pachet */
    .woocommerce-cart-form tr.bundled_table_item {
        display: none;
        grid-template-columns: 60px 1fr;
        grid-template-rows: auto auto;
        gap: 10px;
        background: #f9fafb;
        margin-bottom: 12px;
        margin-left: 0;
        padding: 12px;
        border-left: 4px solid var(--green);
        border-radius: 0 8px 8px 0;
        box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    }

    .woocommerce-cart-form tr.bundled_table_item.is-visible {
        display: grid;
    }

    .woocommerce-cart-form tr.bundled_table_item .product-thumbnail {
        grid-column: 1;
        grid-row: 1;
    }

    .woocommerce-cart-form tr.bundled_table_item .product-thumbnail img {
        width: 60px;
        height: 60px;
    }

    .woocommerce-cart-form tr.bundled_table_item .product-name {
        grid-column: 2;
        grid-row: 1;
        padding-right: 0;
    }

    .bundled-product-name.bundled_table_item_indent {
        padding-left: 0;
    }

    .bundled-product-name.bundled_table_item_indent::before {
        display: none;
    }

    .bundled-product-name.bundled_table_item_indent a {
        font-size: 14px;
    }

    .woocommerce-cart-form tr.bundled_table_item .product-price,
    .woocommerce-cart-form tr.bundled_table_item .product-subtotal,
    .woocommerce-cart-form tr.bundled_table_item .product-remove {
        display: none;
    }

    .woocommerce-cart-form tr.bundled_table_item .product-quantity {
        grid-column: 1 / -1;
        grid-row: 2;
        display: flex;
        justify-content: flex-start;
        border: none;
        padding: 8px 0 0 0;
        font-size: 13px;
        color: #666;
    }

    .woocommerce-cart-form tr.bundled_table_item .product-quantity:before {
        content: "Cantitate: ";
        font-weight: 500;
        margin-right: 5px;
    }

    /* Rândul cu actions (cupoane + update) */
    .woocommerce-cart-form tbody tr:has(.actions) {
        display: none;
        padding: 20px 15px;
    }

    .actions {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .coupon {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    #coupon_code {
        width: 100%;
        padding: 12px;
        border-radius: 8px;
        border: 1px solid #ddd;
        font-size: 14px;
    }

    .coupon button {
        width: 100%;
        padding: 12px;
        font-size: 14px;
    }

    button[name="update_cart"] {
        width: 100%;
        padding: 12px;
        font-size: 14px;
    }
}

/* ============================
   RESPONSIVE - EXTRA SMALL MOBILE
   ============================ */

@media (max-width: 480px) {
    .woocommerce-cart-form tbody tr:not(.bundled_table_item) {
        grid-template-columns: 70px 1fr;
        padding: 12px;
        gap: 10px;
    }

    .product-thumbnail img {
        width: 70px;
        height: 70px;
    }

    .woocommerce-cart-form td.product-name a {
        font-size: 1.6rem;
    }

    .woocommerce-cart-form td.product-name {
        padding-top: 10px;
        padding-right: 30px;
    }

    .product-remove .remove {
        font-size: 22px;
        width: 26px;
        height: 26px;
        line-height: 24px;
    }

    .woocommerce-cart-form td.product-price:before,
    .woocommerce-cart-form td.product-quantity:before,
    .woocommerce-cart-form td.product-subtotal:before {
        font-size: 13px;
    }

    .woocommerce-cart-form td.product-subtotal .amount {
        font-size: 16px;
    }

    .woocommerce-cart-form tr.bundled_table_item {
        grid-template-columns: 50px 1fr;
        padding: 10px;
    }

    .woocommerce-cart-form tr.bundled_table_item .product-thumbnail img {
        width: 50px;
        height: 50px;
    }
}

/* ============================
   CART TOTAL BOX – MODERN STYLE
   ============================ */

.cart-collaterals {
    margin-top: 30px;
}

/* =========================
   CART - SHIPPING SECTION
========================= */
.cart-shipping-wrapper {
    background: #FFFFFF;
    padding: 25px 30px;
    border-radius: 14px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
    border: 1px solid #eee;
    margin-bottom: 20px;
}

.cart-shipping-wrapper .shipping_title {
    font-size: 2rem;
    font-weight: 600;
    color: #222;
    margin-bottom: 20px;
}

.cart-shipping-wrapper .shipping-methods-box {
    font-size: 0; /* Hide loose text like "Livrare" */
}

/* Hide table wrapper from shipping html in cart */
.cart-shipping-wrapper table,
.cart-shipping-wrapper tr,
.cart-shipping-wrapper th,
.cart-shipping-wrapper td {
    display: block;
    border: none;
    padding: 0;
    background: transparent;
    font-size: 0;
}

.cart-shipping-wrapper th {
    display: none;
}

/* Shipping Methods List in Cart */
.cart-shipping-wrapper .woocommerce-shipping-methods {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 1.6rem; /* Reset font-size */
}

.cart-shipping-wrapper .woocommerce-shipping-methods li {
    padding: 15px 20px;
    margin-bottom: 10px;
    border: 2px solid #e8e8e8;
    border-radius: 12px;
    background: #fafafa;
    transition: all 0.25s ease;
    display: flex;
    align-items: center;
}

.cart-shipping-wrapper .woocommerce-shipping-methods li:last-child {
    margin-bottom: 0;
}

.cart-shipping-wrapper .woocommerce-shipping-methods li:has(input:checked),
.cart-shipping-wrapper .woocommerce-shipping-methods li:has(input[type="hidden"]) {
    border-color: var(--green);
    background: #f0f7f5;
    box-shadow: 0 0 0 3px rgba(56, 99, 86, 0.1);
}

.cart-shipping-wrapper .woocommerce-shipping-methods li:hover:not(:has(input:checked)):not(:has(input[type="hidden"])) {
    border-color: #ccc;
    background: #f5f5f5;
}

.cart-shipping-wrapper .woocommerce-shipping-methods input[type="radio"] {
    width: 20px;
    height: 20px;
    margin-right: 12px;
    accent-color: var(--green);
    cursor: pointer;
}

.cart-shipping-wrapper .woocommerce-shipping-methods label {
    font-size: 1.5rem;
    font-weight: 500;
    color: #333;
    cursor: pointer;
    margin: 0;
    flex: 1;
}

.cart-shipping-wrapper .woocommerce-shipping-methods .woocommerce-Price-amount {
    font-weight: 600;
    color: var(--green);
}

/* Shipping Destination in Cart */
.cart-shipping-wrapper .woocommerce-shipping-destination {
    margin-top: 15px;
    padding: 12px 15px;
    background: #f8f9fa;
    border-radius: 8px;
    font-size: 1.4rem;
    color: #666;
    border: 1px solid #ddd;
}

.cart-shipping-wrapper .woocommerce-shipping-destination strong {
    color: #333;
}

/* Change Address Link in Cart */
.cart-shipping-wrapper .shipping-calculator-button {
    display: inline-block;
    margin-top: 12px;
    font-size: 1.4rem;
    color: var(--green);
    font-weight: 500;
    text-decoration: underline;
    transition: color 0.2s ease;
}

.cart-shipping-wrapper .shipping-calculator-button:hover {
    color: var(--dark-green);
}

/* Shipping Calculator Form in Cart */
.cart-shipping-wrapper .shipping-calculator-form {
    margin-top: 15px;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 12px;
    border: 1px solid #e8e8e8;
}

.cart-shipping-wrapper .shipping-calculator-form .form-row {
    margin-bottom: 15px;
}

.cart-shipping-wrapper .shipping-calculator-form label {
    display: block;
    margin-bottom: 5px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #333;
}

.cart-shipping-wrapper .shipping-calculator-form select,
.cart-shipping-wrapper .shipping-calculator-form input[type="text"] {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 1.4rem;
    transition: border-color 0.2s ease;
}

.cart-shipping-wrapper .shipping-calculator-form select:focus,
.cart-shipping-wrapper .shipping-calculator-form input[type="text"]:focus {
    border-color: var(--green);
    outline: none;
}

.cart-shipping-wrapper .shipping-calculator-form button {
    width: 100%;
    padding: 12px 20px;
    background: var(--green);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 1.4rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease;
}

.cart-shipping-wrapper .shipping-calculator-form button:hover {
    background: var(--dark-green);
}

/* =========================
   CART TOTALS
========================= */
.cart_totals {
    background: #FFFFFF;
    padding: 25px 30px;
    border-radius: 14px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
    border: 1px solid #eee;
}

.cart_totals h2 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 25px;
    color: #222;
}

/* Table */
.cart_totals table {
    width: 100%;
    border-collapse: collapse;
}

.cart_totals table th,
.cart_totals table td {
    padding: 12px 0;
    font-size: 16px;
    color: #333;
}

.cart_totals table th {
    font-weight: 600;
    text-align: left;
}

.cart_totals .cart-subtotal th,
.cart_totals .cart-subtotal td {
    border-bottom: 1px solid #e9e9e9;
}

/* Total final */
.cart_totals .order-total th {
    font-size: 1.8rem;
}

.cart_totals .order-total td strong .amount {
    font-size: 1.8rem;
    color: var(--green);
    font-weight: 700;
}

/* ============================
   CHECKOUT BUTTON
   ============================ */

.wc-proceed-to-checkout {
    margin-top: 25px;
}

.wc-proceed-to-checkout .checkout-button {
    width: 100%;
    display: block;
    text-align: center;
    background: var(--green);
    padding: 16px 0;
    border-radius: 12px;
    color: #fff !important;
    font-size: 1.6rem;
    font-weight: 600;
    text-decoration: none;
    transition: 0.25s;
}

.wc-proceed-to-checkout .checkout-button:hover {
    background: #274940;
}

.woocommerce-cart-form .coupon {
    display: none !important;
}

.cart_coupon_area{
    margin-top: 30px;
    background: #FFFFFF;
    padding: 25px 30px;
    border-radius: 14px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid #eee;
}

.mn-coupon-form {
    margin-top: 15px;
}

.mn-coupon-form .coupon-input-wrapper {
    display: flex;
    gap: 10px;
}

.mn-coupon-form input {
    flex: 1;
    padding: 14px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 16px;
}

.mn-coupon-form input:focus-visible {
    outline: none;
    border-color: var(--green);
}

.mn-coupon-form button {
    background: var(--green);
    color: #fff;
    border: none;
    padding: 14px 24px;
    font-size: 1.6rem;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.mn-coupon-form button:hover {
    background: var(--dark-green);
}

.mn-coupon-form button:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* Cupon aplicat - box simplificat */
.applied-coupon-box {
    margin-top: 15px;
    padding: 20px;
    background: linear-gradient(135deg, #f0fff4 0%, #e6ffed 100%);
    border-radius: 10px;
    border: 2px solid var(--green);
}

.applied-coupon-box .applied-coupon-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.applied-coupon-box .applied-coupon-item > i {
    font-size: 20px;
    color: var(--green);
}

.coupon-code-badge {
    background: var(--green);
    color: #fff;
    padding: 8px 16px;
    border-radius: 25px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.remove-coupon-btn {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #dc3545;
    color: #fff !important;
    border-radius: 50%;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-left: auto;
}

.remove-coupon-btn:hover {
    background: #c82333;
    transform: scale(1.1);
}

.coupon-applied-text {
    margin: 12px 0 0 0;
    color: var(--green);
    font-weight: 600;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Mesaje cupon */
.mn-coupon-notice {
    padding: 12px 15px;
    border-radius: 6px;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.mn-coupon-notice.woocommerce-message {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.mn-coupon-notice.woocommerce-error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.cart_left_area{
    padding-left: 24px;
}


/* ============================
   RESPONSIVE
   ============================ */

@media (max-width: 768px) {
    .cart_totals {
        padding: 20px;
    }

    .cart_totals h2 {
        font-size: 20px;
    }

    .cart_totals table th,
    .cart_totals table td {
        font-size: 15px;
    }

    .wc-proceed-to-checkout .checkout-button {
        font-size: 17px;
    }
}

.shipping_box {
    background: white;
    border-radius: 10px;
    padding: 15px 20px;
    border: 1px solid #38635636;
    margin: 20px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
}

.shipping_box img {
    width: 36px;
    height: 36px;
}

.shipping_box .tillfree-shipping-text {
    font-size: 1.6rem;
    font-weight: 600;
    color: #333;
    line-height: 1.4;
}

.shipping_box .tillfree-shipping-text span {
    font-weight: 700;
    color: #09706B;
}

/* Checkout Bar */

#reviews {
    background: #fff;
    padding: 40px;
    border-radius: 16px;
    margin-top: 40px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}

/* Titlu recenzii */
#reviews h2.woocommerce-Reviews-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 25px;
    color: #222;
}

/* Mesaj: nu exista recenzii */
.woocommerce-noreviews {
    background: #F4F6F6;
    padding: 16px 20px;
    border-radius: 8px;
    font-size: 15px;
}

.wp-comment-cookies-consent{
    margin-bottom: 20px;
}

/* Formular */
#review_form_wrapper {
    margin-top: 30px;
}

#review_form .comment-respond {
    background: #FAFAFA;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid #EEE;
}

#review_form .comment-reply-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 20px;
    display: block;
}

.comment-form-rating{
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.comment-form-rating .stars {
    margin-bottom: 10px;
    display: inline-flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
}

.comment-form-rating .stars span {
    display: inline-flex;
    flex-direction: row-reverse;
}

.comment-form-rating .stars a {
    font-size: 0;
    display: inline-block;
}

.comment-form-rating .stars a:before {
    content: "★";
    font-size: 26px;
    margin-right: 8px;
    cursor: pointer;
    color: #DDD;
    transition: color 0.2s;
}

/* Hover effect - all stars before (visually after due to row-reverse) get colored */
.comment-form-rating .stars a:hover:before,
.comment-form-rating .stars a:hover ~ a:before,
.comment-form-rating .stars.selected a.active:before,
.comment-form-rating .stars.selected a.active ~ a:before {
    color: #FFD700;
}

/* When stars have 'selected' class, show active state */
.comment-form-rating .stars.selected a:before {
    color: #DDD;
}

.comment-form-rating .stars.selected a.active:before,
.comment-form-rating .stars.selected a.active ~ a:before {
    color: #FFD700;
}

#review_form input[type="text"],
#review_form input[type="email"],
#review_form textarea,
#review_form select {
    width: 100%;
    padding: 12px 16px;
    margin-bottom: 20px;
    border-radius: 10px;
    border: 1px solid #ddd;
    background: #fff;
    transition: all 0.2s;
    font-size: 15px;
}

#review_form textarea {
    min-height: 120px;
}

#review_form input:focus,
#review_form textarea:focus,
#review_form select:focus {
    border-color: var(--green);
    box-shadow: 0 0 0 3px rgba(9,112,107,0.15);
    outline: none;
}

/* Buton submit */
#review_form .form-submit input[type="submit"] {
    background: var(--green);
    color: #fff;
    padding: 14px 22px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: background .2s, transform .2s;
}

#review_form .form-submit input[type="submit"]:hover {
    background: var(--dark-green);
    transform: translateY(-2px);
}

#review_form .form-submit input[type="submit"]:active {
    transform: translateY(0);
}

/* -----------------------------
   LISTA RECENZII - MODERN UI
---------------------------------- */

/* Lista întreagă */
#comments {
    margin-top: 40px;
}

#comments .woocommerce-Reviews-title {
    font-size: 24px;
    font-weight: 700;
    color: #222;
    margin-bottom: 25px;
}

#comments ol.commentlist {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Un singur review */
#comments ol.commentlist li.review {
    display: flex;
    gap: 20px;
    padding: 25px;
    margin-bottom: 20px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #EEE;
    box-shadow: 0 3px 10px rgba(0,0,0,0.04);
}

/* Avatar */
#comments .comment_container img.avatar {
    border-radius: 50%;
    width: 60px;
    height: 60px;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid #ddd;
}

/* Textul recenziei */
#comments .comment-text {
    flex: 1;
}

/* Rating stele WooCommerce */
#comments .star-rating {
    font-size: 0;
    margin-bottom: 6px;
    height: 18px;
    position: relative;
    width: 90px;
}

#comments .star-rating::before {
    content: "★★★★★";
    font-size: 18px;
    letter-spacing: 3px;
    color: #ddd;
}

#comments .star-rating span {
    display: block;
    height: 18px;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    color: #FFD700;
    white-space: nowrap;
}

#comments .star-rating span::before {
    content: "★★★★★";
    font-size: 18px;
    letter-spacing: 3px;
}

/* Meta: autor + data */
#comments .comment-text .meta {
    font-size: 14px;
    color: #666;
    margin-bottom: 10px;
}

#comments .comment-text .woocommerce-review__author {
    font-weight: 600;
    font-size: 16px;
    color: #222;
}

#comments .comment-text time {
    font-size: 14px;
    color: #888;
}

#comments .description p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    background: #F9F9F9;
    padding: 16px;
    border-radius: 8px;
}

#order_review_heading {
    margin-top: 40px;
}

#order_review {
    background: #fafafa;
    padding: 20px;
    border-radius: 15px;
    border: 1px solid #eee;
}

.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 15px 10px;
    border-bottom: 1px solid #e8e8e8;
}

.woocommerce-checkout-review-order-table tfoot th {
    font-size: 1.6rem;
    font-weight: 500;
}

.order-total td strong {
    font-size: 20px;
    font-weight: 500;
    color: #111;
}

.product-name {
    font-weight: 600;
}

#place_order {
    width: 100%;
    padding: 16px;
    font-size: 18px;
    font-weight: 700;
    background: var(--green);
    color: #fff;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: .2s;
    margin-top: 20px;
}

#place_order:hover {
    background: #294c43;
}

/* Blog Section */

.blog_item_slider{
    margin-top: 50px;
}

.blog_item_slider img{
    width: 100%;
    height: 495px;
    object-fit: cover;
    border-radius: 20px;
}

.blog_item_slider {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
    cursor: pointer;
}

.blog_img {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    z-index: 1;
    transition: transform .4s ease;
    will-change: transform;
}

.blog_img::before{
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 45%; /* cât de înalt să fie gradientul */
    background: linear-gradient(
            to top,
            rgba(0, 0, 0, 0.5),
            rgba(0, 0, 0, 0)
    );
    opacity: 1;
    pointer-events: none;
    border-radius: inherit;
    z-index: 2;
}

.blog_img img {
    width: 100%;
    height: 550px;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
    border-radius: 20px;
}

.blog_item:hover .blog_img img {
    transform: scale(1.08);
}

.blog_content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 25px;
    background: linear-gradient(to top, rgba(0,0,0,0.8), rgba(0,0,0,0));
    color: #fff;
    border-radius: 20px;
    z-index: 3;
}

.blog_content a{
    color: white;
}

.blog_content h2 {
    max-width: 60%;
    margin-top: 10px;
    margin-bottom: 20px;
    font-size: 2.2rem;
    line-height: 1.3;
    font-weight: 700;
}

.blog_content span{
    font-size: 1.8rem;
    font-weight: 500;
    color: white;
}

.blog_content p {
    color: white;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 19px;
}

/* Single Blog */
.single_blog h1{
    font-size: 4rem;
    font-weight: 700;
    margin-bottom: 30px;
}

.single_blog img{
    width: 100%;
    height: 500px;
    object-fit: cover;
    border-radius: 20px;
    margin-bottom: 30px;
}

.pagination {
    display: flex;
    justify-content: center;
    margin-top: 40px;
    text-align: center;
}

.pagination_list {
    list-style: none;
    padding: 0;
    display: inline-flex;
    gap: 10px;
}

.pagination_list li a,
.pagination_list li span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #f7f7f7;
    color: #333;
    font-size: 1.6rem;
    text-decoration: none;
    border: 1px solid #ddd;
    transition: 0.25s ease;
}

.pagination_list li a:hover {
    background: #26493e;
    color: #fff;
}

.pagination_list .current {
    background: var(--green);
    color: #fff;
    border-color: var(--green);
    font-weight: 600;
}

.pagination_list i {
    font-size: 1.4rem;
}

/* About Section */

.about_right{
    position: relative;
    overflow: hidden;
}

.about_right::after{
    content: "";
    position: absolute;
    right: -51px;
    bottom: -23px;
    width: 239px;
    height: 229px;
    background-image: url('/wp-content/uploads/2026/01/Vector.svg');
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.2;
}

.about_right p{
    margin-bottom: 20px;
}
.about_left{
    padding-left: 30px;
}

.about_left img{
    width: 100%;
    height: 500px;
    object-fit: cover;
    border-radius: 20px;
}

.stats_grid{
    margin-top: 40px;
}

.stat_item{
    position: relative;
    padding: 40px;
    border: 1px solid #DDD;
    background: #F9F9F9;
    margin-bottom: 40px;
    border-radius: 20px;
    overflow: hidden;
    height: auto;
}

.stat_item img{
    width: 50px;
    height: 50px;
}

.stat_item::after{
    content: "";
    position: absolute;
    top: 0;
    right: -15px;
    width: 107px;
    height: 103px;
    background-image: url('/wp-content/uploads/2026/01/bg_about.svg');
    background-repeat: no-repeat;
    background-size: contain;
}

.stat_item h2{
    margin-top: 60px;
    font-size: 2.2rem;
    color: #000000;
    margin-bottom: 12px;
}

.about_img {
    position: relative;
    display: inline-block;
    overflow: hidden;
    border-radius: 24px;
    width: 100%;
}

.about_img img {
    width: 100%;
    height: 450px;
    border-radius: inherit;
    display: block;
    object-fit: cover;
    transition: transform .4s ease;
}

.about_img:hover img {
    transform: scale(1.03);
}

.about_span {
    position: absolute;
    left: 22px;
    bottom: 22px;
    background: #386356;
    color: #fff;
    padding: 14px 22px;
    border-radius: 18px;
    display: inline-flex;
    flex-direction: column;
    box-shadow: 0 6px 20px rgba(0,0,0,0.2);
}

.about_span h2 {
    margin: 0;
    font-size: 32px;
    line-height: 1;
    font-weight: 700;
}

.about_span p {
    margin: 0;
    font-size: 14px;
    opacity: 0.9;
}

/* Why Section */

.why_section img {
    width: 100%;
    height: 450px;
    object-fit: cover;
    border-radius: 20px;
    overflow: hidden;
}

.why_section .col-md-4:nth-child(2),
.why_section .col-md-4:nth-child(3){
    padding: 0 12px;
}

.why_section .col-md-4:nth-child(2){
    padding-left: 24px;
}

.why_left{
    padding-right: 30px;
}

.why_right{
    gap: 20px;
}

.why_content{
    position: relative;
    display: inline-flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 24px;
    border-radius: 17px;
    background: #386356;
    color: white;
    overflow: hidden;
    height: 100%;
}

.why_content::after{
    content: "";
    position: absolute;
    right: -51px;
    bottom: -23px;
    width: 239px;
    height: 229px;
    background-image: url('/wp-content/uploads/2026/01/Vector.svg');
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.2;
}

.why_content h2{
    margin-bottom: 15px;
}

.why_content p{
    margin-bottom: 20px;
}

.why_content a{
    border: 1px solid #ddd;
    color: white;
    padding: 10px 20px;
    max-width: 200px;
}

/* Legacy category styles - kept for compatibility */
.categories_slider .swiper-slide{
    height: auto;
}

.category_item a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    text-align: center;
    padding: 20px;
    transition: all 0.3s ease;
    border: 1px solid #eeeeee;
    height: 100%;
}

.category_item a:hover {
    border-color: var(--green);
}

.cat_img {
    width: 120px;
    height: 120px;
    border-radius: 15px;
    overflow: hidden;
    margin-bottom: 20px;
}

.cat_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.category_item h3 {
    font-size: 1.8rem;
    font-weight: 600;
    color: #222;
    margin: 0;
}

#customer_details {
    display: flex;
    flex-direction: column;
}

.woocommerce-billing-fields,
.woocommerce-shipping-fields {
    margin-bottom: 30px;
}

.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
}

.woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-shipping-fields__field-wrapper .form-row {
    width: calc(50% - 10px) !important;
}

.woocommerce form .form-row {
    margin-bottom: 20px;
}

.place-order{
    margin-bottom: 0 !important;
}

/* Ascunde selecturile native până când Select2 le înlocuiește */
.woocommerce-checkout select {
    opacity: 0;
    height: 48px;
    position: absolute;
}

.woocommerce-checkout .select2-container ~ select {
    display: none;
}

.select2-container {
    width: 100% !important;
}

.select2-container .select2-selection--single {
    height: 48px !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 10px !important;
    background: #fff !important;
    display: flex !important;
    align-items: center;
    padding-left: 8px;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    color: #333 !important;
    font-size: 16px;
    font-weight: 500;
    padding-left: 6px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    right: 10px !important;
    height: 46px;
}

.select2-dropdown {
    border-radius: 10px !important;
    border: 1px solid #ddd !important;
}

.select2-container--default .select2-results__option--highlighted {
    background: #386255 !important;
    color: white !important;
}

.select2-container--default .select2-results__option--selected {
    background: #eef8e7 !important;
    color: #222;
}

.woocommerce-additional-fields h3{
    margin-bottom: 15px;
}

.woocommerce-checkout label{
    display: block;
    margin-bottom: 8px;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid #ccc;
    border-radius: 8px;
    transition: all 0.25s ease;
    background: #fff;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus {
    border-color: #4a4a4a;
    box-shadow: 0 0 0 3px rgba(0,0,0,0.08);
    outline: none;
}

/* ===== Right: Order Review ===== */
.woocommerce-checkout-review-order {
    background: #f9f9f9;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.05);
}

.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    text-align: left;
    padding: 10px 0;
    border-bottom: 1px solid #eaeaea;
}

.woocommerce-checkout-payment .payment_box {
    padding: 15px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 8px;
    margin-top: 10px;
    margin-bottom: 10px;
}

/* ===== Stripe Payment Gateway Compatibility ===== */
.woocommerce-checkout-payment .payment_box iframe {
    min-height: 40px !important;
    width: 100% !important;
}

.woocommerce-checkout-payment .payment_method_stripe .payment_box,
.woocommerce-checkout-payment .payment_method_stripe_cc .payment_box {
    min-height: 100px;
}

/* Stripe Elements Container */
.wc-stripe-elements-field,
.wc-stripe-upe-element,
#wc-stripe-card-element,
#stripe-card-element,
.StripeElement {
    background: #fff;
    padding: 12px 14px;
    border: 1px solid #ccc;
    border-radius: 8px;
    min-height: 44px;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.wc-stripe-elements-field:focus-within,
.wc-stripe-upe-element:focus-within,
.StripeElement--focus {
    border-color: #4a4a4a;
    box-shadow: 0 0 0 3px rgba(0,0,0,0.08);
}

.StripeElement--invalid {
    border-color: #e74c3c;
}

/* Fix pentru Stripe iframe-uri care nu se încarcă */
.payment_box[style*="display: block"] iframe,
.payment_box:not([style*="display: none"]) iframe {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Previne blocarea UI în timpul încărcării Stripe */
.woocommerce-checkout.processing .blockUI.blockOverlay {
    background: rgba(255, 255, 255, 0.7) !important;
}

/* Asigură că elementele Stripe au z-index corect */
.payment_method_stripe .payment_box,
.payment_method_stripe iframe {
    position: relative;
    z-index: 1;
}

/* Fix pentru label-uri Stripe */
.wc-stripe-upe-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
}

/* Responsive Stripe elements */
@media (max-width: 768px) {
    .wc-stripe-elements-field,
    .wc-stripe-upe-element,
    .StripeElement {
        padding: 10px 12px;
    }
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
    .woocommerce-checkout {
        flex-direction: column;
    }

    #customer_details,
    .woocommerce-checkout-review-order {
        flex: 1 1 100%;
    }
}

.checkout-two-columns .checkout-grid {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.checkout-two-columns .checkout-left{
    width: 60%;
}
.checkout-two-columns .checkout-right {
    width: 40%;
    position: sticky;
    top: 119px;
}

.order_title{
    margin-bottom: 20px;
}

@media(max-width: 900px){
    .checkout-two-columns .checkout-grid {
        flex-direction: column;
    }
    .checkout-two-columns .checkout-left,
    .checkout-two-columns .checkout-right {
        width: 100%;
    }
}

/* ===== Person Type Selector (Fizică/Juridică) ===== */
.person-type-selector {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
}

.person-type-option {
    flex: 1;
    cursor: pointer;
}

.person-type-option input[type="radio"] {
    display: none;
}

.person-type-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 20px;
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    background: #fff;
    transition: all 0.3s ease;
    font-weight: 500;
    font-size: 15px;
    color: #555;
}

.person-type-label i {
    font-size: 18px;
    color: #888;
    transition: color 0.3s ease;
}

.person-type-option input[type="radio"]:checked + .person-type-label {
    border-color: var(--primary-color, #5B8C51);
    background: rgba(91, 140, 81, 0.05);
    color: var(--primary-color, #5B8C51);
}

.person-type-option input[type="radio"]:checked + .person-type-label i {
    color: var(--primary-color, #5B8C51);
}

.person-type-option:hover .person-type-label {
    border-color: #ccc;
    background: #fafafa;
}

.person-type-option input[type="radio"]:checked:hover + .person-type-label {
    border-color: var(--primary-color, #5B8C51);
    background: rgba(91, 140, 81, 0.08);
}

/* Company Fields */
.company-fields {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 25px;
    border: 1px solid #e9ecef;
    animation: slideDown 0.3s ease;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

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

.company-fields .form-row {
    margin-bottom: 0;
    flex: 1 1 calc(50% - 10px);
    min-width: 200px;
}

.company-fields .form-row:last-child {
    margin-bottom: 0;
}

.company-fields label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    font-size: 1.6rem;
    color: #333;
}

.company-fields .input-text {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 15px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.company-fields .input-text:focus {
    border-color: var(--primary-color, #5B8C51);
    box-shadow: 0 0 0 3px rgba(91, 140, 81, 0.1);
    outline: none;
}

.company-fields .form-row.woocommerce-invalid .input-text {
    border-color: #e74c3c;
}

@media (max-width: 600px) {
    .person-type-selector {
        flex-direction: column;
        gap: 10px;
    }

    .person-type-label {
        padding: 12px 15px;
        font-size: 14px;
    }

    .company-fields {
        padding: 15px;
    }
}

.checkout-product-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.checkout-product-image img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    border-radius: 8px;
}

.checkout-product-info{
    width: 100%;
}

.checkout-product-info .name {
    width: 90%;
    font-weight: 600;
    display: block;
}

.checkout-product-info .qty {
    font-size: 1.4rem;
}

.checkout-product-info .qty strong{
    font-weight: 600;
}

.cart_btn{
    font-size: 1.6rem;
    padding: 15px 30px;
}

.woocommerce-notice--success {
    background: #e6f8e7;
    padding: 15px 20px;
    border-radius: 8px;
    font-size: 18px;
    margin-bottom: 30px;
}

.woocommerce-order-overview {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
    gap: 15px;
}

.woocommerce-order-overview li {
    background: #fafafa;
    padding: 15px 20px;
    border-radius: 10px;
    font-size: 16px;
    border: 1px solid #eee;
}

.woocommerce-order-overview strong {
    display: block;
    margin-top: 5px;
    font-weight: 700;
}

/* Sub-text */
.woocommerce-order p {
    margin-bottom: 30px;
    font-size: 16px;
}

/* Titlu secțiuni */
.woocommerce-order-details__title,
.woocommerce-column__title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 20px;
    margin-top: 40px;
}

/* Tabel produse */
.woocommerce-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.woocommerce-table thead th {
    background: #f5f5f5;
    text-align: left;
    padding: 12px 15px;
    font-size: 16px;
    border-bottom: 2px solid #eaeaea;
}

.woocommerce-table tbody td,
.woocommerce-table tfoot td,
.woocommerce-table tfoot th {
    padding: 12px 15px;
    border-bottom: 1px solid #eee;
    font-size: 16px;
}

.woocommerce-table__product-name a {
    color: #222;
    font-weight: 600;
    text-decoration: none;
}

.woocommerce-table__product-name a:hover {
    color: #007bff;
}

.woocommerce-table tfoot th {
    width: 200px;
    font-weight: 600;
}

.woocommerce-customer-details address {
    background: #fafafa;
    padding: 20px;
    border-radius: 10px;
    border: 1px solid #eee;
    font-size: 16px;
    line-height: 1.6;
}

.woocommerce-customer-details p {
    margin: 10px 0 0;
}

@media(max-width: 600px) {
    .woocommerce-order-overview {
        grid-template-columns: 1fr;
    }

    .woocommerce-table thead {
        display: none;
    }

    .woocommerce-table tbody tr {
        display: block;
        margin-bottom: 20px;
    }

    .woocommerce-table tbody td {
        display: flex;
        justify-content: space-between;
    }

    .woocommerce-table__product-name .product-quantity {
        float: none;
        margin-left: 10px;
    }
}

.custom-cart-page .wc-empty-cart-message{
    display: none;
}

.woocommerce .woocommerce-error,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info {
    position: relative;
    margin: 0 0 20px;
    padding: 16px 18px 16px 56px !important;
    border-radius: 12px;
    border: 1px solid transparent;
    font-size: 15px;
    line-height: 1.5;
    display: block;
}

.woocommerce .woocommerce-error:focus-visible,
.woocommerce .woocommerce-message:focus-visible,
.woocommerce .woocommerce-info:focus-visible{
    outline: none;
}

.woocommerce ul.woocommerce-error,
.woocommerce ul.woocommerce-message,
.woocommerce ul.woocommerce-info {
    margin: 0 0 20px;
    padding: 16px 18px 16px 56px !important;
    list-style: none;
}

.woocommerce ul.woocommerce-error li,
.woocommerce ul.woocommerce-message li,
.woocommerce ul.woocommerce-info li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce .woocommerce-error::before,
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before {
    content: '';
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.woocommerce .woocommerce-message {
    background: #ecfdf3;
    border-color: rgba(56, 98, 85, 0.46);
    color: #166534;
}

.woocommerce .woocommerce-message::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%2316a34a'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/%3E%3C/svg%3E");
}

.woocommerce .woocommerce-error {
    background: #fef2f2;
    border-color: #fecaca;
    color: #b91c1c;
}

.woocommerce .woocommerce-error::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23ef4444'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z'/%3E%3C/svg%3E");
}

.woocommerce .woocommerce-info {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: var(--green);
}

.woocommerce .woocommerce-info::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23386356'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'/%3E%3C/svg%3E");
}

.woocommerce-notices-wrapper{
    margin-top: 20px;
}

.woocommerce-notices-wrapper .close {
    margin-left: auto;
    cursor: pointer;
    font-size: 18px;
    opacity: 0.5;
}
.woocommerce-notices-wrapper .close:hover {
    opacity: 1;
}

/* ===== Formular cupon – stil modern ===== */

#woocommerce-checkout-form-coupon.checkout_coupon {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f8fafc;
    padding: 18px 20px;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    margin-bottom: 25px;
}

/* Scoatem layout-ul vechi */
#woocommerce-checkout-form-coupon .form-row {
    margin: 0;
    padding: 0;
}

#woocommerce-checkout-form-coupon .form-row-first,
#woocommerce-checkout-form-coupon .form-row-last {
    flex: 1;
}

/* ===== Input ===== */
#woocommerce-checkout-form-coupon input.input-text {
    width: 100%;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid #cbd5e1;
    font-size: 15px;
    background: #fff;
    transition: all 0.25s ease;
}

#woocommerce-checkout-form-coupon input.input-text:focus {
    border-color: var(--green);
    box-shadow: 0 0 0 3px rgba(59,130,246,0.15);
    outline: none;
}

/* ===== Button ===== */
#woocommerce-checkout-form-coupon button.button {
    padding: 12px 22px;
    border-radius: 10px;
    background: var(--green);
    color: #fff;
    font-size: 15px;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    transition: 0.2s ease;
}

#woocommerce-checkout-form-coupon button.button:hover {
    background: var(--dark-green);
}

#woocommerce-checkout-form-coupon button.button:active {
    transform: scale(0.97);
}

@media (max-width: 600px) {
    #woocommerce-checkout-form-coupon.checkout_coupon {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
}

.woocommerce-privacy-policy-text a{
    font-weight: 600;
}

/* Banner Section */

.banner_section .row{
    background: #386255;
    border-radius: 20px;
    overflow: hidden;
}

.banner_section p{
    font-size: 1.8rem;
    color: white;
}

.banner_right img{
    width: 100%;
    height: 100%;
}

.banner_content{
    padding: 40px;
}

.banner_content p{
    margin-bottom: 30px;
}

.banner_content .transparent_btn{
    padding: 12px 30px;
    color: white;
}

.banner_content .transparent_btn:hover{
    background: white !important;
    color: black !important;
    border: 1px solid transparent;
}

.checkout-tabs {
    margin-bottom: 25px;
}

.tabs-buttons.d-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tab-btn {
    flex: 1;
    padding: 20px 40px;
    border: 1px solid #ddd;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    font-weight: 600;
    background: #f7f7f7;
    transition: 0.2s;
}

.tab-btn.active {
    background: #f7f7f7;
    color: black;
    border: 1px solid var(--green);
}

.tab-content {
    display: none;
    margin-top: 20px;
}

.tab-content.active {
    display: block;
}

/* === LOGIN TAB — STYLE === */

.checkout-tabs .content-login {
    padding: 20px 0;
}

.checkout-tabs .content-login .form-row {
    margin-bottom: 20px;
}

.checkout-tabs .content-login label {
    font-weight: 600;
    font-size: 1.6rem;
    color: #333;
    margin-bottom: 5px;
    display: block;
}

.checkout-tabs .content-login input.input-text,
.checkout-tabs .content-login input[type="password"] {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 1.5rem;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.checkout-tabs .content-login input:focus {
    border-color: #000;
    box-shadow: 0 0 0 1px #000;
    outline: none;
}

/* Password wrapper */
.checkout-tabs .content-login .password-input {
    position: relative;
    display: flex;
    align-items: center;
}

.checkout-tabs .content-login .password-input input {
    padding-right: 40px;
}

.checkout-tabs .content-login .show-password-input {
    position: absolute;
    right: 10px;
    background: transparent;
    border: none;
    width: 24px;
    height: 24px;
    cursor: pointer;
    opacity: 0.5;
}

.checkout-tabs .content-login .show-password-input:hover {
    opacity: 1;
}

/* Remember me checkbox */
.checkout-tabs .content-login #rememberme {
    margin-right: 5px;
    transform: scale(1.1);
}

.checkout-tabs .content-login .woocommerce-form-login__rememberme span {
    font-size: 14px;
}

.checkout-tabs .content-login button.woocommerce-form-login__submit {
    width: 100%;
    padding: 14px;
    font-size: 16px;
    font-weight: 700;
    background: var(--green);
    color: #fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    margin-top: 10px;
    transition: 0.2s;
}

.checkout-tabs .content-login button.woocommerce-form-login__submit:hover {
    background: var(--dark-green);
}

/* Forgot password */
.checkout-tabs .content-login .lost_password a {
    font-size: 14px;
    color: #555;
    text-decoration: underline;
}

.checkout-tabs .content-login .lost_password {
    margin-top: 10px;
}

.checkout-tabs .content-login .form-row-first,
.checkout-tabs .content-login .form-row-last {
    width: 100%;
}

.checkout-tabs .content-login .clear {
    display: none;
}

.woocommerce-info{
    display: none !important;
}

.woo_cart h1{
    font-size: 3rem;
}

.page h1{
    font-size: 3rem;
}

.woocommerce-additional-fields h3{
    font-size: 2rem;
}

.woocommerce-form__label span{
    font-size: 1.6rem;
    font-weight: 500;
}

.shipping-accordion {
    border: 1px solid #ddd;
    border-radius: 8px;
    margin-bottom: 20px;
    overflow: hidden;
}
.shipping-accordion__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    background: #f8f8f8;
    cursor: pointer;
    transition: background 0.3s ease;
    user-select: none;
}
.shipping-accordion__header:hover {
    background: #f0f0f0;
}
.shipping-accordion__title {
    font-weight: 600;
    font-size: 16px;
    margin: 0;
}
.shipping-accordion__icon {
    transition: transform 0.3s ease;
    font-size: 12px;
}
.shipping-accordion__icon.active {
    transform: rotate(180deg);
}
.shipping-accordion__content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.3s ease;
    background: #fff;
}
.shipping-accordion__content.open {
    max-height: 1000px;
    padding: 20px;
    border-top: 1px solid #ddd;
}

.ml-loader {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 40px 0;
    padding: 0 10px;
}

.ml-loader-line {
    position: absolute;
    top: 25%;
    left: 10%;
    right: 10%;
    height: 3px;
    background: #e5e7eb;
    z-index: 1;
}

.ml-loader-step {
    position: relative;
    z-index: 2;
    flex: 1;
    text-align: center;
    text-decoration: none !important;
}

.ml-loader-circle {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 2px solid #d1d5db;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 6px;
    transition: all .25s ease;
}

.ml-step-number {
    font-size: 14px;
    font-weight: 600;
    color: #6b7280;
}

.ml-step-check {
    display: none !important;
    font-size: 16px;
    color: #fff;
}

.ml-loader-text {
    font-size: 13px;
    font-weight: 500;
    color: #6b7280;
    white-space: nowrap;
}

.ml-loader-step.is-active .ml-loader-circle {
    background: #4b816f;
    border-color: #4b816f;
}

.ml-loader-step.is-active .ml-step-number {
    color: #ffffff;
}

.ml-loader-step.is-active .ml-loader-text {
    color: #4b816f;
}

.ml-loader-step.is-done .ml-loader-circle {
    background: #4b816f;
    border-color: #4b816f;
}

.ml-loader-step.is-done .ml-step-number {
    display: none !important;
}

.ml-loader-step.is-done .ml-step-check {
    display: block !important;
}

.ml-loader-step.is-done .ml-loader-text {
    color: #4b816f;
}

.ml-loader::after {
    content: "";
    position: absolute;
    top: 22px;
    left: 10%;
    height: 3px;
    background: #10b981;
    z-index: 1;
    width: 0%;
    transition: width .25s ease;
}

.ml-loader-1.is-done ~ .ml-loader::after {
    width: 33%;
}

.ml-loader-2.is-done ~ .ml-loader::after {
    width: 66%;
}

.ml-loader-3.is-active ~ .ml-loader::after,
.ml-loader-3.is-done ~ .ml-loader::after {
    width: 100%;
}

@media (max-width: 600px) {
    .ml-loader {
        padding: 0;
        gap: 0;
    }

    .ml-loader-text {
        font-size: 11px;
        white-space: normal;
    }

    .ml-loader-circle {
        width: 30px;
        height: 30px;
    }
}

.woocommerce-lost-password .page .container{
    max-width: 1200px;

}

.woocommerce .lost_reset_password p:first-of-type {
    display: flex;
    font-size: 1.6rem;
    color: #555;
    line-height: 1.6;
    margin-bottom: 30px;
    text-align: center;
}

.woocommerce .lost_reset_password label {
    font-weight: 600;
    font-size: 15px;
    color: #333;
    margin-bottom: 8px;
    display: block;
}

.woocommerce .lost_reset_password input.input-text {
    width: 100%;
    padding: 14px 16px;
    font-size: 15px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    background: #fff;
    transition: all 0.2s ease;
}

.woocommerce .lost_reset_password input.input-text:focus {
    border-color: #111;
    box-shadow: 0 0 0 2px rgba(0,0,0,0.08);
    outline: none;
}

.woocommerce .lost_reset_password button.woocommerce-Button {
    padding: 14px 20px;
    font-size: 16px;
    background: var(--green);
    color: #fff;
    border-radius: 6px;
    border: none;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.woocommerce .lost_reset_password button.woocommerce-Button:hover {
    background: var(--dark-green);
}

.woocommerce .lost_reset_password .form-row {
    margin-bottom: 25px;
}

.woocommerce .lost_reset_password .clear {
    clear: both;
}

#shipping-calculator-form {
    background: #f8f8f8;
    padding: 25px;
    border-radius: 12px;
    margin-top: 20px;
}

/* Labels */
#shipping-calculator-form label {
    font-weight: 600;
    color: #222;
    margin-bottom: 6px;
    display: block;
}

/* Inputs */
#shipping-calculator-form input.input-text,
#shipping-calculator-form select {
    width: 100%;
    padding: 12px 14px;
    border-radius: 8px;
    border: 1px solid #ddd;
    font-size: 15px;
    background: #fff;
    transition: all 0.2s ease;
}

/* Focus effect */
#shipping-calculator-form input:focus,
#shipping-calculator-form select:focus {
    border-color: #000;
    box-shadow: 0 0 0 2px rgba(0,0,0,0.1);
}

/* Select2 fix (WooCommerce dropdowns) */
#shipping-calculator-form .select2-container--default .select2-selection--single {
    height: 48px;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
}

#shipping-calculator-form .select2-selection__arrow {
    top: 10px !important;
}

/* Inputs spacing */
#shipping-calculator-form .form-row {
    margin-bottom: 18px !important;
}

/* Button styling */
#shipping-calculator-form button.button {
    width: 100%;
    background: var(--green);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 14px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.2s ease;
}

#shipping-calculator-form button.button:hover {
    background: var(--dark-green);
}

#shipping-calculator-form .select2-selection__rendered {
    padding-left: 0 !important;
}

.related .product_card{
    padding: 16px;
    background: white;
    border: 1px solid rgba(0,0,0,0.06);
}

.up-sells{
    margin-bottom: 50px;
}

.up-sells h2{
    margin-bottom: 50px;
}

.up-sells .product_card{
    background: white;
    border: 1px solid #ddd;
}

.related .swiper-slide{
    height: auto;
}

/* Related Products Header with Arrows */
.related-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 40px;
}

.related-products-heading {
    margin-bottom: 0;
}

.related-nav-arrows {
    display: flex;
    gap: 12px;
}

.related-prev,
.related-next {
    position: static;
    width: 48px;
    height: 48px;
    background: var(--green);
    border: 1px solid var(--green);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.related-prev:hover,
.related-next:hover {
    background: #2d4f44;
    border-color: #2d4f44;
}

.related-prev img,
.related-next img {
    width: 20px;
    height: 20px;
    filter: brightness(0) invert(1);
    transition: filter 0.3s ease;
}

.related-prev::after,
.related-next::after {
    display: none;
}

.related-prev.swiper-button-disabled,
.related-next.swiper-button-disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

@media (max-width: 768px) {
    .related-header {
        flex-direction: row;
        gap: 16px;
    }

    .related-products-heading {
        font-size: 2.2rem;
    }

    .related-prev,
    .related-next {
        width: 40px;
        height: 40px;
    }

    .related-prev img,
    .related-next img {
        width: 16px;
        height: 16px;
    }
}
/* ──────────────────────────────── */
/* BACKDROP MODERN */
/* ──────────────────────────────── */
.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(17, 24, 39, 0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 999999;
}

.modal-overlay.show {
    display: flex;
    animation: fadeInBackdrop 0.25s ease forwards;
}

@keyframes fadeInBackdrop {
    from { opacity: 0; }
    to { opacity: 1; }
}


/* ──────────────────────────────── */
/* POPUP BOX */
/* ──────────────────────────────── */
.modal-dialog {
    width: 92%;
    max-width: 520px;
}

.modal-content {
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 12px 50px rgba(0, 0, 0, 0.18);
    animation: popupSlideUp 0.28s ease;
}

@keyframes popupSlideUp {
    from { opacity: 0; transform: translateY(20px) scale(.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}


/* ──────────────────────────────── */
/* HEADER */
/* ──────────────────────────────── */
.modal-header {
    position: relative;
    padding: 16px 20px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal-alert.success {
    font-weight: 600;
    color: var(--green);
    display: flex;
    align-items: center;
    gap: 8px;
}


/* ──────────────────────────────── */
/* CLOSE BUTTON – MODERN */
/* ──────────────────────────────── */
.modal-close {
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);

    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: none;
    background: #eef1f5;
    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 20px;
    cursor: pointer;
    transition: all 0.2s ease;
    color: #6b7280;
}

.modal-close:hover {
    background: #e2e6eb;
    color: #1f2937;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
    transform: translateY(-50%) scale(1.05);
}

.modal-close:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.35);
}


/* ──────────────────────────────── */
/* BODY */
/* ──────────────────────────────── */
.modal-body {
    padding: 22px 24px;
}

.modal-product {
    display: flex;
    gap: 18px;
}

.modal-product-image img {
    width: 85px;
    height: auto;
    border-radius: 8px;
}

.modal-product-title a {
    color: #111827;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.15s ease;
}

.modal-product-title a:hover {
    color: var(--green);
}

.modal-product-packaging {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.5;
    color: #6b7280;
}

.modal-product-packaging strong {
    display: block;
    margin-top: 4px;
    color: #374151;
}

.modal-product-packaging strong:first-child {
    font-weight: 400;
    color: #6b7280;
    margin-top: 0;
    margin-bottom: 8px;
}

.modal-product-packaging ul li{
    font-size: 14px;
    color: #6b7280;
}

.modal-product-bottom {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #e5e7eb;
    font-weight: 600;
    color: var(--green);
    font-size: 15px;
}


/* ──────────────────────────────── */
/* FOOTER BUTTONS */
/* ──────────────────────────────── */
.modal-footer {
    padding: 16px 22px;
    border-top: 1px solid #e5e7eb;
}

.modal-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.btn-white-border {
    background: white;
    border: 1px solid #d1d5db;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 15px;
    cursor: pointer;
    color: #374151;
    transition: all 0.15s ease;
}

.btn-white-border:hover {
    background: #f3f4f6;
    border-color: #c9cdd3;
}

.btn-green {
    background: var(--green);
    color: white;
    padding: 8px 18px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 15px;
    transition: background 0.15s ease, transform 0.15s ease;
}

.btn-green:hover {
    background: var(--dark-green);
    transform: translateY(-1px);
}

.ml-modal-shipping strong{
    font-weight: 500;
}

.shop_wrapper {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 40px;
    margin-bottom: 50px;
}

.shop_wrapper .products{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.shop_filter {
    background: white;
    padding: 20px;
    border-radius: 20px;
    position: sticky;
    top: 120px;
    height: fit-content;
}

/* Mini Cart */

.xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product{
    border-radius: 20px;
}

.xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn, .xoo-wsc-container .xoo-wsc-btn{
    background: var(--green) !important;
    padding: 15px 37px;
    font-weight: 500;
    border-radius: 20px;
}

.xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn, .xoo-wsc-container .xoo-wsc-btn:hover{
    background: var(--dark-green) !important;
    color: white !important;
    border: none !important;
}

.xoo-wsc-ft-btn-continue,
.xoo-wsc-ft-btn-checkout {
    display: none !important;
}

span.xoo-wsc-footer-txt{
    display: none !important;
}

.xoo-wsc-ft-amt-subtotal{
    margin-left: 0;
}

.xoo-wsch-text{
    display: none;
}

.xoo-wsc-pprice{
    display: none;
}

.xoo-wsc-psavings{
    display: none;
}

.xoo-wsc-smr-ptotal{
    font-weight: 500;
}

.xoo-wsc-items-count, .xoo-wsch-items-count{
    background: var(--green) !important;
}

.xoo-wsc-bundled_by{
    display: none;
}

.xoo-wsc-product.xoo-wsc-is-parent{
    padding: 10px 15px;
}

.cart_price_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    font-size: 16px;
    font-weight: 600;
}

.cart_price_wrap span {
    color: #333;
}

.cart_price {
    color: #000;
    font-weight: 700;
    font-size: 17px;
}

.mn-xoo-close{
    padding-top: 7px;
    color: #333;
    text-decoration: underline;
    font-size: 1.4rem !important;
    cursor: pointer;
}

.xoo-wsc-ft-extras {
    display: none !important;
}

.xoo-wsc-icon-pencil{
    display: none !important;
}

.xoo-wsc-ft-amt-subtotal{
    display: none;
}

.xoo-wsc-notices{
    display: none !important;
}

.xoo-wsc-qty-box{
    max-width: 113px !important;
}

.xoo-wsc-qty-box.xoo-wsc-qtb-square{
    border-color: #ddd !important;
}

.header_archive{
    margin-top: 50px;
}

.hero_archive{
    height: 500px;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}

.hero_archive_picture{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.hero_archive_picture img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.hero_archive_content{
    position: relative;
    z-index: 2;
    height: 100%;
    padding: 0 40px;
}

.hero_archive_content .row{
    height: 100%;
}

.header_archive .col-md-12{
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.hero_archive h1{
    font-size: 4.5rem;
    color: #000000;
    text-align: center;
    text-transform: uppercase;
}

.hero_archive p{
    margin-top: 10px;
    font-size: 1.6rem;
    color: #393939;
    margin-bottom: 30px;
}

.woocommerce-products-header p{
    display: none !important;
}

.hero_archive a{
    background: white;
    color: black;
    padding: 15px 60px;
    border-radius: 10px;
    font-weight: 600;
    transition: 0.2s ease;
}

.hero_archive a:hover{
    background: #efefef !important;
    color: black !important;
}

.breadcrumb_archive{
    margin-top: 30px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 30px;
}

.breadcrumb_archive .content-area{
    max-width: 100%;
    margin: 0;
}

.breadcrumbs_wrapper{
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.breadcrumbs_wrapper .woocommerce-breadcrumb{
    margin-bottom: 0;
}

.woocommerce-result-count{
    display: none;
}

.sort_wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.woocommerce-result-count {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    margin: 0;
}

.woocommerce-ordering {
    position: relative;
    margin: 0;
}

.woocommerce-ordering select.orderby {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: white;
    border: 1px solid #e4e4e4;
    padding: 10px 40px 10px 14px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all .25s ease;
    color: #333;
}

.woocommerce-ordering select.orderby:hover {
    border-color: #bbb;
}

.woocommerce-ordering select.orderby:focus {
    border-color: var(--green);
    box-shadow: 0 0 0 3px rgba(71, 102, 92, 0.17);
    outline: none;
}

.woocommerce-ordering::after {
    content: "";
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
}

/* Bundles */

/* Stock badge (WooCommerce) */
.stock.in-stock{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    border: 1px solid rgba(0,0,0,.08);
    background: rgba(46, 204, 113, .10);
    color: #1f7a3a;
    margin-bottom: 20px;
}

.stock.in-stock:hover{
    transition: .2s ease;
}

.stock.out-of-stock{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    border: 1px solid rgba(0,0,0,.08);
    background: rgba(231, 76, 60, .10);
    color: #a82218;
    margin-bottom: 20px;
}

/* Bundles Single */

/* Bundle Header */
.bundle-header {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 24px;
    background: linear-gradient(135deg, var(--green) 0%, var(--dark-green) 100%);
    border-radius: 16px;
    margin-bottom: 24px;
    color: white;
}

.bundle-header-icon {
    width: 50px;
    height: 50px;
    background: rgba(255,255,255,0.15);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.bundle-header-icon svg {
    width: 26px;
    height: 26px;
    color: white;
}

.bundle-header-text h3 {
    font-size: 1.8rem;
    font-weight: 600;
    margin: 0 0 4px 0;
    color: white;
}

.bundle-header-text p {
    font-size: 1.4rem;
    margin: 0;
    opacity: 0.85;
    color: white;
}

/* Bundle Navigation Arrows */
.bundle-nav-arrows {
    display: flex;
    gap: 8px;
    margin-left: auto;
}

.bundle-nav-btn {
    width: 40px;
    height: 40px;
    border: none;
    background: rgba(255,255,255,0.2);
    border-radius: 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    color: white;
}

.bundle-nav-btn:hover {
    background: rgba(255,255,255,0.3);
}

.bundle-nav-btn.swiper-button-disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Bundle Items Container - Swiper */
.bundle-items-container {
    position: relative;
    margin-bottom: 30px;
}

.bundle-items-swiper {
    overflow: hidden;
    padding: 10px 5px;
    margin: -10px -5px;
}

.bundle-items-wrapper {
    display: flex;
}

/* Bundle Pagination */
.bundle-pagination {
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

.bundle-pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: #d1d5db;
    border-radius: 50%;
    opacity: 1;
    transition: all 0.3s ease;
}

.bundle-pagination .swiper-pagination-bullet-active {
    background: var(--green);
    width: 28px;
    border-radius: 5px;
}

/* Bundled Item Card - Clean classes */
.bundled-item {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
    position: relative;
    height: auto;
}

.bundled-item:hover {
    border-color: var(--green);
    box-shadow: 0 8px 30px rgba(56, 99, 86, 0.12);
}

.bundled-item .details {
    width: 100%;
    padding: 20px;
}

/* Bundled Item Image */
.bundled-item-image-wrapper {
    padding: 20px;
    background: #f9fafb;
    text-align: center;
}

.bundled_product_image {
    margin: 0;
}

.bundled-product-thumbnail {
    width: 140px !important;
    height: 140px !important;
    object-fit: contain;
    border-radius: 12px;
    transition: transform 0.3s ease;
}

.bundled_product:hover .bundled-product-thumbnail {
    transform: scale(1.05);
}

.bundled-image-link {
    display: block;
}

/* Bundled Item Details */
.bundled_product_details {
    padding: 20px;
}

/* Bundled Item Title */
.bundled_product_title {
    font-size: 1.6rem;
    font-weight: 600;
    margin: 0 0 10px 0;
    line-height: 1.4;
}

.bundled-title-link {
    color: #1f2937;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-grow: 1;
    transition: color 0.2s ease;
}

.bundled-title-link:hover {
    color: var(--green);
}

.external-link-icon {
    display: none;
    opacity: 0;
    transition: opacity 0.2s ease;
    flex-shrink: 0;
}

/* Bundled Item Description */
.bundled_product_excerpt {
    font-size: 1.4rem;
    color: #6b7280;
    line-height: 1.6;
    margin-bottom: 12px;
}

/* Bundled Item Price */
.bundled_product_price {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--green);
    margin-bottom: 12px;
}

.bundled_product_price del {
    color: #9ca3af;
    font-weight: 400;
    font-size: 1.4rem;
}

.bundled_product_price ins {
    text-decoration: none;
    color: var(--green);
}

.bundled_product .stock {
    margin-bottom: 0 !important;
}

.bundled_item_wrap {
    padding: 0;
    display: inline-flex;
}

.bundled_item_cart_content {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bundled_item_cart_details {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.quantity_hidden{
    display: none !important;
}

/* Bundled Quantity */
.bundled_item_button .quantity {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #f3f4f6;
    border-radius: 10px;
    padding: 8px;
}

.bundled_item_button .quantity input.qty {
    width: 50px;
    text-align: center;
    border: none;
    background: white;
    border-radius: 6px;
    padding: 8px;
    font-weight: 600;
    font-size: 1.4rem;
}

.bundled_item_button .quantity .quantity-btn {
    width: 32px;
    height: 32px;
    border: none;
    background: white;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.bundled_item_button .quantity .quantity-btn:hover {
    background: var(--green);
    color: white;
}

/* Bundle Add to Cart Wrap */
.bundle_data {
    background: #f9fafb;
    border-radius: 16px;
    padding: 24px;
    margin-top: 10px;
    margin-bottom: 30px;
}

.bundle_wrap {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.bundle_price {
    font-size: 2.4rem;
    font-weight: 700;
    color: #1f2937;
    text-align: center;
    padding: 16px;
    background: white;
    border-radius: 12px;
    border: 2px solid var(--green);
}

.bundle_price .price {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.bundle_price del {
    color: #9ca3af;
    font-size: 1.8rem;
    font-weight: 400;
}

.bundle_price ins {
    text-decoration: none;
    color: var(--green);
}

.bundle_button {
    display: flex;
    gap: 27px;
}

.bundle_button .quantity {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.bundle_button .single_add_to_cart_button,
.bundle_button .btn_unavailable {
    width: 100%;
    padding: 16px 32px;
    font-size: 1.6rem;
    font-weight: 600;
    background: var(--green);
    border: none;
    border-radius: 12px;
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.bundle_button .single_add_to_cart_button:hover {
    background: var(--dark-green);
    box-shadow: 0 8px 20px rgba(56, 99, 86, 0.25);
}

.bundle_button .single_add_to_cart_button:disabled {
    background: #d1d5db;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Bundle Availability */
.bundle_availability {
}

/* Bundle Error */
.bundle_error .woocommerce-info {
    margin: 0;
    border-radius: 10px;
}

/* Bundle Unavailable */
.bundle_unavailable {
    text-align: center;
    padding: 24px;
    background: #fef2f2;
    border-radius: 12px;
    color: #991b1b;
}

/* Hide default elements we don't need */
.bundled_product .bundled_product_optional_checkbox,
.bundled_product .bundled_product_title_link {
    display: none;
}

/* Responsive */
@media (max-width: 768px) {
    .bundle-items-grid {
        grid-template-columns: 1fr;
    }

    .bundle-header {
        padding: 16px 20px;
    }

    .bundle-header-icon {
        width: 44px;
        height: 44px;
    }

    .bundle-header-text h3 {
        font-size: 1.6rem;
    }

    .bundled-product-thumbnail {
        width: 120px !important;
        height: 120px !important;
    }

    .bundle_price {
        font-size: 2rem;
    }
}

/* ==================== MEGA MENU STYLES ==================== */

.navbar__menu__items ul > li.has-mega-menu {
    position: relative;
}

.navbar__menu__items ul > li.has-mega-menu > a {
    display: flex;
    align-items: center;
    gap: 6px;
}

.navbar__menu__items ul > li.has-mega-menu > a .mega-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease;
    margin-left: 3px;
    line-height: 1;
}

.navbar__menu__items ul > li.has-mega-menu > a .mega-arrow svg {
    display: block;
    width: 15px;
    height: 15px;
    flex-shrink: 0;
}

.navbar__menu__items ul > li.has-mega-menu:hover > a .mega-arrow {
    transform: rotate(180deg);
}

/* Mega Menu Wrapper */
.mega-menu-wrapper {
    position: absolute;
    top: calc(100% + 5px);
    left: 0;
    transform: none;
    width: auto;
    min-width: 1200px;
    background: #ffffff;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.1);
    border-radius: 16px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 9999;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.05);
}

/* Spacer pentru a preveni gap-ul care creează glitch */
.navbar__menu__items ul > li.has-mega-menu::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 15px;
    background: transparent;
}

.navbar__menu__items ul > li.has-mega-menu:hover .mega-menu-wrapper {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Mega Menu Container */
.mega-menu-container {
    display: flex;
    padding: 0;
    gap: 0;
}

/* Categories Column */
.mega-menu-categories {
    flex: 1;
    padding: 25px 30px;
    background: #fff;
}

.mega-menu-list {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 5px 15px !important;
    padding: 0;
    margin: 0;
}

.mega-menu-list li {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
}

.mega-menu-list li a {
    display: flex !important;
    align-items: center !important;
    padding: 10px 14px !important;
    font-size: 1.5rem !important;
    font-weight: 500 !important;
    color: #444 !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
    position: relative !important;
    background: transparent !important;
}

.mega-menu-list li a:hover {
    background: rgba(56, 99, 86, 0.08) !important;
    color: var(--green) !important;
}

.mega-menu-list li a:hover::before {
    opacity: 1 !important;
    transform: scale(1.2) !important;
}

.mega-menu-image {
    flex: 0 0 400px;
    height: 400px;
    overflow: hidden;
    position: relative;
    background: linear-gradient(135deg, #f0f4f3 0%, #e8eeec 100%);
}

.mega-menu-image::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.4) 100%);
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mega-menu-image:hover::before {
    opacity: 1;
}

.mega-menu-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease, opacity 0.15s ease;
}

.mega-menu-image:hover .mega-menu-img {
    transform: scale(1.08);
}

/* Category Badge on Image */
.mega-menu-image-label {
    position: absolute;
    bottom: 15px;
    left: 15px;
    right: 15px;
    background: white;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--green);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    z-index: 2;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s ease;
    text-align: center;
}

.mega-menu-image:hover .mega-menu-image-label {
    opacity: 1;
    transform: translateY(0);
}

/* Featured Products in Mega Menu (Optional) */
.mega-menu-featured {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding-top: 30px;
    border-top: 1px solid #f0f0f0;
    margin-top: 30px;
}

.mega-menu-product {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    background: #fafafa;
    border-radius: 16px;
    transition: all 0.3s ease;
    text-decoration: none;
}

.mega-menu-product:hover {
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transform: translateY(-5px);
}

.mega-menu-product img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    margin-bottom: 10px;
}

.mega-menu-product span {
    font-size: 1.3rem;
    font-weight: 500;
    color: #333;
    text-align: center;
}

/* View All Link */
.mega-menu-view-all {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 25px;
    padding: 14px 28px;
    background: var(--green);
    color: white;
    font-size: 1.4rem;
    font-weight: 600;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.mega-menu-view-all:hover {
    background: var(--dark-green);
    transform: translateX(5px);
    color: white;
}

.mega-menu-view-all i {
    transition: transform 0.3s ease;
}

.mega-menu-view-all:hover i {
    transform: translateX(5px);
}

/* Mega Menu Items - removed staggered animations for better performance */

/* ==================== END MEGA MENU STYLES ==================== */

/* ==================== STICKY PRICE BAR ==================== */
.sticky_price_container {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    transform: translateY(100%);
    transition: transform 0.3s ease;
    opacity: 0;
    visibility: hidden;
}

.sticky_price_container.is-visible {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}

.sticky-price {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 15px;
    gap: 20px;
}

.sticky-product-wrapper {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 1;
    min-width: 0;
}

.sticky-product-img {
    width: 55px;
    height: 55px;
    object-fit: contain;
    border-radius: 8px;
    border: 1px solid #eee;
}

.sticky_product_name_wrapper {
    flex: 1;
    min-width: 0;
}

.sticky_product_name {
    font-size: 15px;
    font-weight: 600;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 300px;
}

.sticky-price-wrapper {
    display: flex;
    align-items: center;
    gap: 20px;
}

.sticky_prices {
    display: flex;
    align-items: center;
}

.sticky_price_holder {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sticky-price-new {
    font-size: 18px;
    font-weight: 700;
    color: var(--green);
}

.sticky-price-new .woocommerce-Price-amount {
    font-size: 18px;
    font-weight: 700;
}

.sticky-price-old {
    font-size: 14px;
    color: #999;
    text-decoration: line-through;
}

.sticky-price-old .woocommerce-Price-amount {
    font-size: 14px;
}

.sticky-price-buttons {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sticky-quantity-wrapper {
    display: flex;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: 50px;
    overflow: hidden;
    background: #f9f9f9;
}

.sticky-qty-btn {
    width: 38px;
    height: 38px;
    border: none;
    background: transparent;
    font-size: 18px;
    color: #444;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease;
}

.sticky-qty-btn:hover {
    background: #eee;
}

.sticky-qty-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.sticky-qty-input {
    width: 40px;
    height: 38px;
    border: none;
    text-align: center;
    font-size: 15px;
    font-weight: 500;
    background: transparent;
    -moz-appearance: textfield;
}

.sticky-qty-input::-webkit-outer-spin-button,
.sticky-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.sticky-qty-input:focus {
    outline: none;
}

.sticky-add-to-cart {
    height: 44px;
    padding: 0 28px;
    font-size: 15px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
}

.sticky-add-to-cart:hover {
    transform: translateY(-2px);
}

.sticky-add-to-cart.loading .sticky-btn-text {
    display: none;
}

.sticky-add-to-cart.loading .sticky-btn-loading {
    display: inline-block !important;
}

.sticky-add-to-cart-mobile {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--green);
    color: white;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    transition: all 0.3s ease;
}

.sticky-add-to-cart-mobile:hover {
    background: var(--dark-green);
    transform: scale(1.05);
}

.sticky-add-to-cart-mobile.btn_unavailable {
    background: #b0b0b0 !important;
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.85;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 0;
}

/* Responsive */
@media (max-width: 991px) {
    .sticky-price {
        padding: 10px 15px;
    }

    .sticky_product_name {
        max-width: 180px;
    }
}

@media (max-width: 767px) {
    .sticky-price {
        justify-content: space-between;
    }

    .sticky-price-wrapper {
        gap: 12px;
    }

    .sticky_prices {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }

    .sticky_price_holder {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }

    .sticky-price-new {
        font-size: 16px;
    }

    .sticky-price-new .woocommerce-Price-amount {
        font-size: 16px;
    }

    .sticky-price-old {
        font-size: 12px;
    }

    .sticky-quantity-wrapper {
        display: none;
    }
}

/* ==================== END STICKY PRICE BAR ==================== */

/* Contact Form */
.contact_form br {
    display: none;
}

.contact_form label {
    display: block;
    font-size: 1.8rem;
    font-weight: 600;
    color: #3D4C5E;
    margin-bottom: 10px;
}

.contact_form input[type="text"],
.contact_form input[type="email"],
.contact_form textarea {
    width: 100%;
    padding: 14px 20px;
    font-size: 1.6rem;
    color: #909DAD;
    border-radius: 12px;
    border: 1px solid #e0e0e0;
    background-color: #f9f9f9;
    margin-bottom: 25px;
    transition: border-color 0.3s ease;
}

.contact_form input::placeholder,
.contact_form textarea::placeholder {
    color: #909DAD;
}

.contact_form input[type="text"]:focus,
.contact_form input[type="email"]:focus,
.contact_form textarea:focus {
    border-color: var(--green);
    outline: none;
}

.contact_form textarea {
    width: 100%;
    height: 150px;
    resize: none;
}

.contact_form input[type="submit"] {
    background: var(--green);
    color: #fff;
    padding: 14px 35px;
    font-size: 1.8rem;
    width: 100%;
    font-weight: 500;
    cursor: pointer;
    border-radius: 12px;
    border: 1px solid transparent;
    transition: background-color 0.3s ease;
}

.contact_form input[type="submit"]:hover {
    background: transparent;
    color: #000;
    border: 1px solid #000;
}

.contact_form .wpcf7-list-item-label{
    font-size: 1.6rem;
    font-weight: 500;
}

.contact_form .d-flex {
    display: flex;
    gap: 20px;
}

.contact_form .d-flex label {
    flex: 1;
}

.dsp-flex {
    display: flex;
}

.flex-direction-column {
    flex-direction: column;
}

.flex-direction-row {
    flex-direction: row;
}

.contacts {
    gap: 20px;
}

.phone-mail, .b2bphone-social {
    gap: 20px;
    justify-content: space-between;
}

.c-mini-block {
    flex: 1;
    padding: 15px;
    background-color: rgb(246, 246, 246);
    border: 1px solid #ddd;
    border-radius: 12px;
}

.c-mini-block span {
    font-size: 1.6rem;
    color: var(--green);
    font-weight: 700;
    margin-bottom: 5px;
}

.c-mini-block-title {
    font-size: 1.8rem;
    color: #292929;
    font-weight: 500;
    text-decoration: none;
    transition: 0.3s;
}

.c-mini-block-title:hover {
    color: #0c0c0c;
}

.social-list {
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 15px;
}

.social-list img {
    width: 50px;
    height: 50px;
    transition: transform 0.3s;
}

.social-list img:hover {
    transform: scale(1.1);
}

.banner_contact {
    overflow: hidden;
}

.banner_contact img{
    width: 100%;
    height: 400px;
    object-position: top;
    object-fit: cover;
    border-radius: 12px;
}

.contact_right{
    padding-left: 60px;
}

/* Responsive design */
@media (max-width: 768px) {
    .phone-mail, .b2bphone-social {
        flex-direction: column;
    }
}

.social-block {
    text-align: center;
    margin-bottom: 40px;
    padding: 20px;
    background: rgba(239, 239, 239, 0.55);
    border: 1px solid #ddd;
}

.social-block h3 {
    font-size: 2.4rem;
    font-weight: 700;
    margin-bottom: 8px;
}

.social-block p {
    font-size: 1.8rem;
    color: #555;
    margin-bottom: 20px;
}

.social-icons {
    display: flex;
    justify-content: center;
    gap: 16px;
}

.social-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: #fff;
    transition: all 0.3s ease;
}

.social-icon.instagram { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }
.social-icon.tiktok { background: #000; }
.social-icon.facebook { background: #1877f2; }
.social-icon.linkedin { background: #0a66c2; }

.social-icon:hover {
    transform: translateY(-4px) scale(1.05);
    box-shadow: 0 6px 15px rgba(0,0,0,0.2);
}

.checkout-grid .bundled_table_item{
    display: none;
}

/* ========================================
   Checkout - FGO Câmpuri Facturare
   ======================================== */

/* Container selector tip facturare - rând complet */
#wc_order_billing_tip_facturare_fgo_client_field {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-bottom: 25px;
    clear: both;
}

/* Stilizare select nativ pentru tip facturare FGO */
#wc_order_billing_tip_facturare_fgo_client_field select,
select#wc_order_billing_tip_facturare_fgo_client {
    width: 100% !important;
    height: 52px !important;
    padding: 14px 40px 14px 16px !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 10px !important;
    background: #fff !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #333 !important;
    cursor: pointer;
    transition: all 0.3s ease;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 24px !important;
    position: relative !important;
    opacity: 1 !important;
}

#wc_order_billing_tip_facturare_fgo_client_field select:focus,
select#wc_order_billing_tip_facturare_fgo_client:focus {
    border-color: #4a7c59 !important;
    box-shadow: 0 0 0 3px rgba(74, 124, 89, 0.1) !important;
    outline: none !important;
}

/* Stilizare Select2 pentru tip facturare FGO (dacă e activat) */
#wc_order_billing_tip_facturare_fgo_client_field .select2-container {
    width: 100% !important;
}

#wc_order_billing_tip_facturare_fgo_client_field .select2-container .select2-selection--single {
    height: 52px !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 10px !important;
    background: #fff !important;
    display: flex !important;
    align-items: center;
    padding: 0 16px;
}

#wc_order_billing_tip_facturare_fgo_client_field .select2-container .select2-selection--single .select2-selection__rendered {
    color: #333 !important;
    font-size: 16px;
    font-weight: 500;
    padding-left: 0 !important;
    line-height: 52px !important;
}

#wc_order_billing_tip_facturare_fgo_client_field .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 50px;
    right: 12px !important;
}

#wc_order_billing_tip_facturare_fgo_client_field .select2-container--open .select2-selection--single {
    border-color: #4a7c59 !important;
    box-shadow: 0 0 0 3px rgba(74, 124, 89, 0.1);
}

/* Câmpuri firmă - nume companie */
#billing_company_field {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    animation: slideInFGO 0.3s ease;
}

/* Câmpuri CUI/CNP și Nr. Reg. Comerțului */
#wc_order_billing_cui_fgo_client_field,
#wc_order_nr_reg_comertului_fgo_client_field {
    width: calc(50% - 10px) !important;
    animation: slideInFGO 0.3s ease;
}

/* Pe rând complet când e doar CNP (persoană fizică) */
#wc_order_billing_cui_fgo_client_field:only-of-type,
#billing_company_field[style*="display: none"] + #wc_order_billing_cui_fgo_client_field {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

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

/* Label-uri pentru câmpurile FGO */
#wc_order_billing_tip_facturare_fgo_client_field label,
#billing_company_field label,
#wc_order_billing_cui_fgo_client_field label,
#wc_order_nr_reg_comertului_fgo_client_field label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #333;
    font-size: 15px;
}

/* Input-uri pentru câmpurile FGO */
#billing_company_field input,
#wc_order_billing_cui_fgo_client_field input,
#wc_order_nr_reg_comertului_fgo_client_field input {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid #dcdcdc;
    border-radius: 10px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #fff;
}

#billing_company_field input:focus,
#wc_order_billing_cui_fgo_client_field input:focus,
#wc_order_nr_reg_comertului_fgo_client_field input:focus {
    border-color: #4a7c59;
    box-shadow: 0 0 0 3px rgba(74, 124, 89, 0.1);
    outline: none;
}

/* Placeholder styling */
#billing_company_field input::placeholder,
#wc_order_billing_cui_fgo_client_field input::placeholder,
#wc_order_nr_reg_comertului_fgo_client_field input::placeholder {
    color: #999;
}

/* Responsive */
@media (max-width: 576px) {
    #wc_order_billing_cui_fgo_client_field,
    #wc_order_nr_reg_comertului_fgo_client_field {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* Newsletter CSS */

.newsletter {
    background: linear-gradient(135deg, #1f3d33 0%, #375c4f 50%, #3e6556 100%);
    padding: 30px 0;
    position: relative;
    overflow: hidden;
}

.newsletter::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 400px;
    height: 400px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    pointer-events: none;
}

.newsletter::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -5%;
    width: 300px;
    height: 300px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 50%;
    pointer-events: none;
}

.newsletter_wrapper {
    display: flex;
    align-items: center;
    gap: 40px;
    position: relative;
    z-index: 1;
}

.newsletter_icon {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.2);
}

.newsletter_content {
    flex: 1;
}

.newsletter_badge {
    display: inline-block;
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    font-size: 1.2rem;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 20px;
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.newsletter_title {
    color: #fff;
    font-size: 2.4rem;
    font-weight: 500;
    margin: 0 0 8px 0;
    line-height: 1.3;
}

.newsletter_title strong {
    font-weight: 700;
}

.newsletter_text {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.5rem;
    margin: 0;
    line-height: 1.5;
}

.newsletter_form {
    flex-shrink: 0;
    width: 600px;
}

.newsletter_form .d-flex{
    gap: 20px;
}

.newsletter_form .wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.newsletter_form .wpcf7-form input[type="email"],
.newsletter_form .wpcf7-form input[type="text"] {
    width: 100%;
    padding: 14px 20px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.95);
    font-size: 1.5rem;
    color: #333;
    transition: all 0.3s ease;
}

.newsletter .wpcf7-list-item-label{
    font-size: 1.6rem;
    color: white;
    line-height: 26px;
}

.newsletter .wpcf7-list-item-label a{
    color: white;
    text-decoration: underline;
}

.newsletter_form .wpcf7-form input[type="email"]:focus,
.newsletter_form .wpcf7-form input[type="text"]:focus {
    outline: none;
    border-color: #fff;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.2);
}

.newsletter_form .wpcf7-form input[type="email"]::placeholder,
.newsletter_form .wpcf7-form input[type="text"]::placeholder {
    color: #434343;
}

.newsletter_form .wpcf7-form input[type="submit"] {
    width: 50%;
    padding: 14px 32px;
    background: #fff;
    color: #1f3d33;
    border: none;
    border-radius: 12px;
    font-size: 1.5rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
}

.newsletter_form .wpcf7-form input[type="submit"]:hover {
    background: #f0f0f0;
}

.newsletter .wpcf7-spinner{
    display: none;
}

.newsletter_privacy {
    color: rgba(255, 255, 255, 0.8);
    font-size: 1.2rem;
    margin: 12px 0 0 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.newsletter_privacy i {
    font-size: 1.1rem;
}

.single-product #wc-stripe-express-checkout-element {
    display: none !important;
}

/* Newsletter Responsive */
@media (max-width: 992px) {
    .newsletter_wrapper {
        flex-direction: column;
        text-align: center;
    }

    .newsletter_form {
        width: 100%;
        max-width: 450px;
    }

    .newsletter_privacy {
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .newsletter {
        padding: 40px 0;
    }

    .newsletter_icon {
        width: 64px;
        height: 64px;
    }

    .newsletter_icon svg {
        width: 32px;
        height: 32px;
    }

    .newsletter_title {
        font-size: 2rem;
    }

    .newsletter_text {
        font-size: 1.4rem;
    }
}

/* Shipping Methods Styling */
.woocommerce-shipping-methods {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.woocommerce-shipping-methods li {
    position: relative;
    display: flex;
    align-items: center;
}

.woocommerce-shipping-methods li input[type="radio"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.woocommerce-shipping-methods li label {
    display: flex;
    align-items: center;
    padding: 14px 18px;
    border-radius: 10px;
    cursor: pointer;
    width: 100%;
    font-size: 1.5rem;
    font-weight: 500;
    color: #333;
    transition: all 0.2s ease;
}

.woocommerce-shipping-methods li label:before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 1px solid #ccc;
    border-radius: 50%;
    margin-right: 12px;
    flex-shrink: 0;
    transition: all 0.2s ease;
    background: #fff;
}

.woocommerce-shipping-methods li input[type="radio"]:checked + label {
    border-color: var(--green);
    border: none;
}

.woocommerce-shipping-methods li input[type="radio"]:checked + label:before,
.woocommerce-shipping-methods li input[type="hidden"] + label:before {
    border-color: var(--green);
    background: var(--green);
    box-shadow: inset 0 0 0 4px #fff;
}

.woocommerce-shipping-methods li label .woocommerce-Price-amount {
    margin-left: auto;
    font-weight: 600;
    color: var(--green);
}

#tab-ingrediente_tab .ingrediente-content table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 12px;
    overflow: hidden;
    font-size: 14px;
}

/* HEADER */
#tab-ingrediente_tab .ingrediente-content thead th {
    padding: 14px 16px;
    font-weight: 700;
    background: rgba(0,0,0,.04);
    border-bottom: 1px solid rgba(0,0,0,.08);
    text-align: left;
    white-space: nowrap;
}

/* CELULE */
#tab-ingrediente_tab .ingrediente-content td,
#tab-ingrediente_tab .ingrediente-content th {
    padding: 12px 16px;
    border-bottom: 1px solid rgba(0,0,0,.06);
    vertical-align: middle;
}

/* ULTIMUL RAND */
#tab-ingrediente_tab .ingrediente-content tbody tr:last-child td {
    border-bottom: none;
}

/* ZEBRA */
#tab-ingrediente_tab .ingrediente-content tbody tr:nth-child(even) {
    background: rgba(0,0,0,.02);
}

/* HOVER */
#tab-ingrediente_tab .ingrediente-content tbody tr:hover {
    background: rgba(0,0,0,.04);
}

/* PRIMA COLOANĂ */
#tab-ingrediente_tab .ingrediente-content tbody td:first-child {
    font-weight: 600;
}

/* COLOANE NUMERICE */
#tab-ingrediente_tab .ingrediente-content td:nth-child(2),
#tab-ingrediente_tab .ingrediente-content td:nth-child(3),
#tab-ingrediente_tab .ingrediente-content th:nth-child(2),
#tab-ingrediente_tab .ingrediente-content th:nth-child(3) {
    text-align: right;
    white-space: nowrap;
}

/* =========================
   LISTĂ AMINOACIZI
========================= */
#tab-ingrediente_tab .ingrediente-content ul {
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
    columns: 2;
    column-gap: 40px;
}

#tab-ingrediente_tab .ingrediente-content li {
    break-inside: avoid;
    margin-bottom: 6px;
}

#tab-ingrediente_tab .ingrediente-content li p {
    margin: 0;
    font-size: 14px;
}

/* =========================
   RESPONSIVE
========================= */

/* Wrapper pentru scroll orizontal pe mobile */
#tab-ingrediente_tab .ingrediente-content {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

#tab-ingrediente_tab .ingrediente-content table {
    min-width: 400px;
}

@media (max-width: 768px) {
    #tab-ingrediente_tab .ingrediente-content ul {
        columns: 1;
    }

    #tab-ingrediente_tab .ingrediente-content table {
        font-size: 13px;
    }

    #tab-ingrediente_tab .ingrediente-content th,
    #tab-ingrediente_tab .ingrediente-content td {
        padding: 10px 12px;
    }
}

@media (max-width: 480px) {
    #tab-ingrediente_tab .ingrediente-content table {
        font-size: 12px;
        min-width: 320px;
    }

    #tab-ingrediente_tab .ingrediente-content th,
    #tab-ingrediente_tab .ingrediente-content td {
        padding: 8px 10px;
    }

    #tab-ingrediente_tab .ingrediente-content thead th {
        padding: 10px;
        font-size: 11px;
    }
}

/* =========================
   CHECKOUT PAYMENT SECTION
========================= */

/* =========================
   CHECKOUT - SHIPPING & PAYMENT SECTIONS
========================= */

/* Common Wrapper Styles */
.checkout-shipping-wrapper,
.checkout-payment-wrapper {
    margin-top: 30px;
}

.checkout-shipping-wrapper .shipping_title,
.checkout-payment-wrapper .payment_title {
    font-size: 2.2rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 20px;
}

/* Common Container Styles */
.checkout-shipping-wrapper .shipping-methods-list,
.woocommerce-checkout-payment {
    background: #fff;
    border-radius: 16px;
    padding: 25px;
    border: 1px solid #e8e8e8;
}

/* Hide table wrapper from shipping html */
.checkout-shipping-wrapper .shipping-methods-list {
    font-size: 0; /* Hide loose text like "Livrare" */
}

.checkout-shipping-wrapper .shipping-methods-list table,
.checkout-shipping-wrapper .shipping-methods-list tr,
.checkout-shipping-wrapper .shipping-methods-list th,
.checkout-shipping-wrapper .shipping-methods-list td {
    display: block;
    border: none;
    padding: 0;
    background: transparent;
    font-size: 0;
}

.checkout-shipping-wrapper .shipping-methods-list th {
    display: none;
}

/* Common List Styles */
.checkout-shipping-wrapper .woocommerce-shipping-methods,
.wc_payment_methods.payment_methods {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 1.6rem; /* Reset font-size */
}

/* Common List Item Styles */
.checkout-shipping-wrapper .woocommerce-shipping-methods li,
.wc_payment_methods .wc_payment_method {
    padding: 15px 20px;
    margin-bottom: 10px;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    background: #fafafa;
    transition: all 0.25s ease;
}

.checkout-shipping-wrapper .woocommerce-shipping-methods li {
    display: flex;
    align-items: center;
}

.checkout-shipping-wrapper .woocommerce-shipping-methods li:last-child,
.wc_payment_methods .wc_payment_method:last-child {
    margin-bottom: 0;
}

/* Selected State */
.checkout-shipping-wrapper .woocommerce-shipping-methods li:has(input:checked),
.wc_payment_methods .wc_payment_method:has(input:checked) {
    border-color: var(--green);
    background: white;
}

/* Hover State */
.checkout-shipping-wrapper .woocommerce-shipping-methods li:hover:not(:has(input:checked)),
.wc_payment_methods .wc_payment_method:hover:not(:has(input:checked)) {
    border-color: #ccc;
    background: #f5f5f5;
}

/* Common Radio Button Styles */
.checkout-shipping-wrapper .woocommerce-shipping-methods input[type="radio"],
.wc_payment_methods .input-radio {
    width: 20px;
    height: 20px;
    margin-right: 12px;
    accent-color: var(--green);
    cursor: pointer;
    vertical-align: middle;
}

/* Common Label Styles */
.checkout-shipping-wrapper .woocommerce-shipping-methods label,
.wc_payment_methods label {
    font-size: 1.5rem;
    font-weight: 500;
    color: #333;
    cursor: pointer;
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
}

.wc_payment_methods label {
    font-size: 1.6rem;
    font-weight: 600;
}

.wc_payment_methods label::before {
    display: none;
}

/* Shipping Price */
.checkout-shipping-wrapper .woocommerce-shipping-methods .woocommerce-Price-amount {
    font-weight: 600;
    color: var(--green);
}

/* Place Order Wrapper in Right Column */
.checkout-place-order-wrapper {
    margin-top: 25px;
}

.checkout-place-order-wrapper .form-row.place-order {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

/* =========================
   PAYMENT SPECIFIC STYLES
========================= */

/* Payment Box Description */
.wc_payment_methods .payment_box {
    margin-top: 15px;
    padding: 18px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    font-size: 1.4rem;
    color: #555;
    line-height: 1.6;
}

.wc_payment_methods .payment_box p {
    margin: 0;
    font-size: 1.4rem;
    color: #666;
}

/* Stripe Payment Form */
.wc_payment_methods .payment_method_stripe .payment_box {
    background: transparent;
    padding: 10px 0 0 0;
    border: none;
}

.wc-stripe-upe-element, .StripeElement{
    background: transparent !important;
}

.woocommerce-SavedPaymentMethods-saveNew{
    background: transparent !important;
}

.wc_payment_methods fieldset {
    border: none;
    padding: 0;
    margin: 0;
}

.wc_payment_methods fieldset#wc-stripe-upe-form {
    margin-top: 0;
}

/* Stripe Element Container */
.wc-stripe-upe-element,
.StripeElement {
    background: #fff;
    padding: 0;
    border: none;
    border-radius: 0;
    min-height: auto;
    transition: all 0.25s ease;
}

.wc-stripe-upe-element:focus-within,
.StripeElement--focus {
    border-color: var(--green);
    box-shadow: 0 0 0 3px rgba(56, 99, 86, 0.12);
}

/* Saved Payment Methods */
.woocommerce-SavedPaymentMethods {
    list-style: none;
    padding: 0;
    margin: 0 0 15px 0;
}

/* Save Payment Checkbox */
.woocommerce-SavedPaymentMethods-saveNew {
    margin-top: 15px;
    padding: 12px 15px;
    background: #f5f5f5;
    border-radius: 8px;
}

.woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-right: 10px;
    accent-color: var(--green);
    cursor: pointer;
}

.woocommerce-SavedPaymentMethods-saveNew label {
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    color: #555 !important;
    cursor: pointer;
}

/* Place Order Section */
.form-row.place-order {
    margin-top: 25px;
    padding-top: 25px;
    border-top: 1px solid #e8e8e8;
}

/* Privacy Policy Text */
.woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 20px;
}

.woocommerce-privacy-policy-text {
    background: #f8f9fa;
    padding: 15px 18px;
    border-radius: 10px;
    border: 1px solid #ddd;
}

.woocommerce-privacy-policy-text p {
    font-size: 1.4rem;
    color: #666;
    line-height: 1.7;
    margin: 0;
}

.woocommerce-privacy-policy-link {
    color: var(--green);
    font-weight: 500;
    text-decoration: underline;
    transition: color 0.2s ease;
}

.woocommerce-privacy-policy-link:hover {
    color: var(--dark-green);
}
/* Noscript Warning */
.form-row.place-order noscript {
    display: block;
    padding: 15px;
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 10px;
    margin-bottom: 20px;
    font-size: 1.4rem;
    color: #856404;
    line-height: 1.6;
}

.form-row.place-order noscript .button {
    margin-top: 10px;
    padding: 10px 20px;
    font-size: 1.4rem;
    background: #ffc107;
    color: #856404;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

/* Stripe Error Messages */
#wc-stripe-upe-errors {
    margin-top: 10px;
    padding: 12px 15px;
    background: #fee;
    border: 1px solid #fcc;
    border-radius: 8px;
    color: #c00;
    font-size: 1.4rem;
}

#wc-stripe-upe-errors:empty {
    display: none;
}

.woocommerce-terms-and-conditions-wrapper .validate-required{
    margin-top: 20px;
}

.checkout-inline-error-message{
    color: red;
}

/* Responsive Checkout Payment */
@media (max-width: 768px) {
    .woocommerce-checkout-payment {
        padding: 20px 15px;
    }

    .wc_payment_methods .wc_payment_method {
        padding: 15px;
    }

    .wc_payment_methods label {
        font-size: 1.5rem;
    }

    #place_order {
        padding: 16px 25px;
        font-size: 1.6rem;
    }

    .woocommerce-privacy-policy-text {
        padding: 12px 15px;
    }

    .woocommerce-privacy-policy-text p {
        font-size: 1.2rem;
    }
}

/* ==========================================================================
   Page Content - Stiluri globale pentru conținutul paginilor (exclude WooCommerce)
   ========================================================================== */

body:not(.woocommerce-page) .page_content {
    font-size: 1.6rem;
    line-height: 1.8;
    color: #333;
}

body:not(.woocommerce-page) .page_content h2 {
    font-size: 2.4rem;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    color: var(--green);
}

body:not(.woocommerce-page) .page_content h3 {
    font-size: 2rem;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    color: var(--green);
}

body:not(.woocommerce-page) .page_content h4 {
    font-size: 1.8rem;
    margin-top: 2rem;
    margin-bottom: 1rem;
    color: var(--green);
}

body:not(.woocommerce-page) .page_content p {
    margin-bottom: 1.5rem;
}

body:not(.woocommerce-page) .page_content ul,
body:not(.woocommerce-page) .page_content ol {
    margin-left: 2rem;
    margin-bottom: 1.5rem;
}

body:not(.woocommerce-page) .page_content ul {
    list-style: disc;
}

body:not(.woocommerce-page) .page_content ol {
    list-style: decimal;
}

body:not(.woocommerce-page) .page_content li {
    margin-bottom: 0.5rem;
}

body:not(.woocommerce-page) .page_content a {
    color: var(--green);
    text-decoration: underline;
}

body:not(.woocommerce-page) .page_content a:hover {
    color: var(--dark-green);
}

body:not(.woocommerce-page) .page_content strong,
body:not(.woocommerce-page) .page_content b {
    font-weight: 600;
}

body:not(.woocommerce-page) .page_content blockquote {
    border-left: 4px solid var(--green);
    padding-left: 2rem;
    margin: 2rem 0;
    font-style: italic;
    color: #555;
}

body:not(.woocommerce-page) .page_content table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2rem;
}

body:not(.woocommerce-page) .page_content th,
body:not(.woocommerce-page) .page_content td {
    border: 1px solid #ddd;
    padding: 1rem;
    text-align: left;
}

body:not(.woocommerce-page) .page_content th {
    background-color: #f5f5f5;
    font-weight: 600;
}

body:not(.woocommerce-page) .page_content img {
    max-width: 100%;
    height: auto;
    margin: 1.5rem 0;
}

.woocommerce-terms-and-conditions-checkbox-text a{
    color: var(--green);
}

#wc_order_billing_cui_fgo_client_field{
    display: none !important;
}

/* Proteins Grid */
.proteins_grid {
    margin-top: 50px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    width: 100%;
    box-sizing: border-box;
}

.proteins_grid .product_card {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 30px;
    background: white;
    border: 1px solid #F4F4F6;
    border-radius: 24px;
    transition: all 0.3s ease;
    height: 100%;
    box-sizing: border-box;
    min-width: 0;
}

.proteins_grid .product_card:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.proteins_grid .product_img {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
}

.proteins_grid .product_card img {
    width: 100%;
    height: 180px;
    object-fit: contain;
    aspect-ratio: 1/1;
    transition: transform 0.3s ease;
}

.proteins_grid .product_card:hover img {
    transform: scale(1.05);
}

.proteins_grid .product_content {
    display: flex;
    width: 100%;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.proteins_grid .product_card h3 {
    margin-block: 24px;
    font-size: 1.6rem;
    font-weight: 600;
    color: #000;
}

/* Display none items */

.xoo-wsc-sm-info .variation{
    display: none !important;
}

.modal-product-bottom{
    display: none;
}

.shipping_box{
    display: none;
}

.bundle-header{
    display: none !important;
}

.bundle-items-container{
    display: none !important;
}

/* End display none */

.cf-favorites-grid .product_card{
    background: white;;
}

/* Upgrade Pack Section */
.upgrade_pack_section {
    margin-top: 60px;
    margin-bottom: 40px;
}

.upgrade_pack_section h2 {
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 20px;
    text-align: center;
}

.upgrade_pack_box {
    display: grid;
    grid-template-columns: 280px 1fr auto;
    align-items: center;
    gap: 40px;
    padding: 40px 50px;
    background: linear-gradient(135deg, rgba(56, 99, 86, 0.06) 0%, rgba(56, 99, 86, 0.1) 50%, rgba(56, 99, 86, 0.04) 100%);
    border-radius: 24px;
    box-shadow: 0 8px 32px rgba(56, 99, 86, 0.12);
    border: 2px solid var(--green);
    position: relative;
    overflow: hidden;
}

.upgrade_pack_box::before {
    content: "";
    position: absolute;
    top: -50px;
    right: -50px;
    width: 200px;
    height: 200px;
    background: rgba(56, 99, 86, 0.08);
    border-radius: 50%;
    pointer-events: none;
}

.upgrade_pack_box::after {
    content: "";
    position: absolute;
    bottom: -30px;
    left: -30px;
    width: 120px;
    height: 120px;
    background: rgba(56, 99, 86, 0.05);
    border-radius: 50%;
    pointer-events: none;
}

.upgrade_pack_image {
    flex-shrink: 0;
    width: 280px;
    height: 280px;
    border-radius: 20px;
    overflow: hidden;
    background: #FFF;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    position: relative;
    z-index: 1;
}

.upgrade_pack_image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.4s ease;
}

.upgrade_pack_image:hover img {
    transform: scale(1.05);
}

.upgrade_pack_info {
    flex: 1;
    min-width: 0;
    position: relative;
    z-index: 1;
}

.upgrade_pack_badge {
    display: inline-block;
    background: var(--green);
    color: #FFF;
    font-size: 1.2rem;
    font-weight: 600;
    padding: 6px 16px;
    border-radius: 20px;
    margin-bottom: 16px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.upgrade_pack_title {
    font-size: 2.6rem;
    font-weight: 700;
    color: #1a1a1a;
    text-decoration: none;
    display: block;
    margin-bottom: 12px;
    line-height: 1.3;
}

.upgrade_pack_title:hover {
    color: var(--green);
}

.upgrade_pack_desc {
    font-size: 1.6rem;
    color: #555;
    margin-bottom: 20px;
    line-height: 1.6;
}

.upgrade_pack_desc p {
    margin: 0;
}

.upgrade_pack_features {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 24px;
}

.upgrade_pack_feature {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 1.4rem;
    color: #333;
    background: #FFF;
    padding: 8px 16px;
    border-radius: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.upgrade_pack_feature svg {
    width: 18px;
    height: 18px;
    fill: var(--green);
}

.upgrade_pack_prices {
    display: flex;
    align-items: baseline;
    gap: 16px;
}

.upgrade_price_new {
    font-size: 3.2rem;
    font-weight: 800;
    color: var(--green);
}

.upgrade_price_old {
    font-size: 2rem;
    color: #999;
    text-decoration: line-through;
}

.upgrade_pack_savings {
    display: inline-block;
    background: #ff6b6b;
    color: #FFF;
    font-size: 1.3rem;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 6px;
    margin-left: 10px;
}

.upgrade_pack_action {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 1;
}

.upgrade_add_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 18px 40px;
    background: var(--green);
    color: #FFF !important;
    border-radius: 9999px;
    font-size: 1.8rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    white-space: nowrap;
    box-shadow: 0 4px 16px rgba(56, 99, 86, 0.3);
}

.upgrade_add_btn:hover {
    background: #2d4f44;
    color: #FFF;
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(56, 99, 86, 0.4);
}

.upgrade_add_btn svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.upgrade_pack_guarantee {
    font-size: 1.3rem;
    color: #666;
    display: flex;
    align-items: center;
    gap: 6px;
}

.upgrade_pack_guarantee svg {
    width: 16px;
    height: 16px;
    fill: var(--green);
}

@media (max-width: 1200px) {
    .upgrade_pack_box {
        grid-template-columns: 220px 1fr auto;
        gap: 30px;
        padding: 30px 40px;
    }

    .upgrade_pack_image {
        width: 220px;
        height: 220px;
    }
}

@media (max-width: 992px) {
    .upgrade_pack_box {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 30px;
    }

    .upgrade_pack_image {
        width: 200px;
        height: 200px;
        margin: 0 auto;
    }

    .upgrade_pack_prices {
        justify-content: center;
    }

    .upgrade_pack_features {
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .upgrade_pack_section {
        margin-top: 40px;
    }

    .upgrade_pack_box {
        padding: 24px 20px;
        gap: 20px;
    }

    .upgrade_pack_image {
        width: 160px;
        height: 160px;
    }

    .upgrade_pack_title {
        font-size: 2rem;
    }

    .upgrade_price_new {
        font-size: 2.4rem;
    }

    .upgrade_add_btn {
        width: 100%;
        padding: 16px 30px;
        font-size: 1.6rem;
    }
}

/* Thank You Page - Order Details Table */
.woocommerce-order-details {
    margin: 40px 0;
    width: 100%;
}

.woocommerce-order-details__title {
    font-size: 2.2rem;
    font-weight: 600;
    margin-bottom: 20px;
}

.woocommerce-table--order-details {
    border-collapse: collapse;
    width: 100%;
    table-layout: fixed;
}

.woocommerce-table--order-details thead th {
    padding: 18px 25px;
    background: #f8f9fa;
    font-weight: 600;
    text-align: left;
    border-bottom: 2px solid #e5e5e5;
}

.woocommerce-table--order-details thead th.product-name {
    width: 70%;
}

.woocommerce-table--order-details thead th.product-total {
    width: 30%;
    text-align: right;
}

.woocommerce-table--order-details tbody td {
    padding: 24px 25px;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
    line-height: 1.7;
}

.woocommerce-table--order-details tbody td.product-name {
    width: 70%;
}

.woocommerce-table--order-details tbody td.product-total {
    width: 30%;
    text-align: right;
}

.woocommerce-table--order-details tbody td.product-name a {
    font-weight: 500;
    color: #333;
    text-decoration: none;
}

.woocommerce-table--order-details tbody td.product-name a:hover {
    color: var(--green);
}

.woocommerce-table--order-details tbody td .product-quantity {
    margin-left: 10px;
    color: #666;
}

.woocommerce-table--order-details tfoot th,
.woocommerce-table--order-details tfoot td {
    padding: 16px 20px;
    border-top: 1px solid #e5e5e5;
}

.woocommerce-table--order-details tfoot th {
    text-align: left;
    font-weight: 500;
}

.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
    padding: 20px;
    font-size: 1.8rem;
    font-weight: 600;
    border-top: 2px solid #e5e5e5;
}

.woocommerce-table--order-details tfoot small.shipped_via {
    display: block;
    margin-top: 5px;
    font-size: 1.3rem;
    color: #888;
}

.single-product .reviews_section .container{
    padding: 0;
}

/* Filter Everything */

.wpc-filters-section{
    margin-top: 20px;
}

.fe_chips_container{
    margin-bottom: 15px;
}

.wpc-filter-title{
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 15px !important;
}

.wpc-term-count-value::before {
    content: "(";
}

.wpc-term-count-value::after {
    content: ")";
}

/* Mobile/Tablet Filter Toggle Button */
.filter-toggle-btn {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--green);
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 12px;
    font-size: 1.5rem;
    font-weight: 600;
    cursor: pointer;
    width: 100%;
    transition: background 0.3s ease;
}

.filter-toggle-btn:hover {
    background: var(--dark-green);
}

.filter-toggle-btn svg {
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease;
}

.filter-toggle-btn.is-active svg {
    transform: rotate(180deg);
}

/* Mobile/Tablet Collapsible Filter */
@media (max-width: 991px) {
    .filter-toggle-btn {
        display: flex;
    }

    .shop_filter {
        display: none;
        position: static;
    }

    .shop_filter.is-open {
        display: block;
        padding: 20px;
        margin-bottom: 20px;
    }
}

@media (min-width: 992px) {
    .filter-toggle-btn {
        display: none !important;
    }
}
