/*Theme Name:Accessio Boutique de Luxe*/
:root {
    --lux-beige: #F4EDE4;
    --lux-card: #FAF6F1;
    --lux-burgundy: #5D151E;
    --lux-text: #2D1B1B;
    --lux-gold: #C5A059
}

.text-burgundy {
    color: var(--lux-burgundy) !important
}

.bg-burgundy {
    background-color: var(--lux-burgundy) !important
}

body {
    font-family: 'Montserrat', sans-serif;
    background-color: var(--lux-beige);
    color: var(--lux-text);
    margin: 0;
    padding: 0;
    scroll-behavior: smooth
}

.font-serif {
    font-family: 'Playfair Display', serif
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
    outline: 2px solid var(--lux-burgundy);
    outline-offset: 2px
}

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

.form-input-wrap.phone-invalid {
    background-color: rgba(239, 68, 68, .1) !important;
    border-color: rgba(239, 68, 68, .5) !important
}

.form-input-wrap.phone-invalid input {
    background-color: transparent !important
}

.form-input-wrap.phone-valid {
    background-color: rgba(34, 197, 94, .1) !important;
    border-color: rgba(34, 197, 94, .5) !important
}

.form-input-wrap.phone-valid input {
    background-color: transparent !important
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease-out
}

.active .accordion-content {
    max-height: 500px;
    overflow-y: auto
}

.active .chevron {
    transform: rotate(180deg)
}

@media(min-width:768px) {
    .md\:block.accordion-content {
        max-height: none !important;
        overflow: visible !important
    }
}

.bg-beige-light {
    background-color: var(--lux-beige)
}

.bg-lux-card {
    background-color: var(--lux-card)
}

.text-gold {
    color: var(--lux-gold)
}

* {
    -webkit-tap-highlight-color: transparent
}

.lazy-load-img {
    opacity: 0;
    transform: scale(.98);
    transition: opacity 1.2s cubic-bezier(.4, 0, .2, 1), transform 1.2s cubic-bezier(.4, 0, .2, 1);
    will-change: opacity, transform
}

.lazy-load-img.loaded {
    opacity: 1;
    transform: scale(1)
}

@media(min-width:768px) {
    .lazy-load-img {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        will-change: auto !important
    }

    .group:hover img,
    .group-hover\:scale-105,
    .hover\:scale-105 {
        transform: none !important;
        transition: none !important
    }
}

.img-placeholder {
    background: linear-gradient(110deg, #f4ede4 8%, #efe5d9 18%, #f4ede4 33%);
    background-size: 200% 100%;
    animation: shine 1.5s linear infinite
}

@keyframes shine {
    to {
        background-position-x: -200%
    }
}

.swatch-item.active .swatch-inner {
    border-color: #5D151E !important;
    box-shadow: 0 0 0 2px rgba(93, 21, 30, .2)
}

.swatch-item.active .swatch-inner.rounded-full {
    box-shadow: 0 0 0 2px white, 0 0 0 4px #5D151E
}

.swatch-item.active .swatch-inner:not(.rounded-full) {
    background-color: #5D151E !important;
    color: white !important
}

.swatch-item:not(.active) .swatch-inner.rounded-full:hover {
    box-shadow: 0 0 0 2px white, 0 0 0 4px rgba(93, 21, 30, .1)
}

::-webkit-scrollbar {
    width: 6px
}

::-webkit-scrollbar-track {
    background: var(--lux-beige)
}

::-webkit-scrollbar-thumb {
    background: var(--lux-burgundy)
}

.btn-luxury {
    background-color: var(--lux-burgundy);
    color: white;
    text-transform: uppercase;
    letter-spacing: .25em;
    font-weight: bold;
    padding: 12px 24px;
    font-size: 10px;
    border-radius: 20px
}

.btn-luxury:hover {
    background-color: #4A0F18
}

.scrollbar-hide::-webkit-scrollbar {
    display: none
}

.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none
}

#side-cart-checkout-container [style*="direction: rtl"] {
    text-align: right
}

.btn-spinner {
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255, 255, 255, .3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: spin .8s linear infinite
}

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

#side-cart-checkout-form input::placeholder {
    color: #A0AEC0;
    font-size: .875rem
}

#side-cart-checkout-form input:focus {
    background-color: #fff;
    border-color: var(--lux-burgundy)
}

#accessio-order-form-container {
    background-color: #fff !important;
    border-color: #E8DFC9 !important;
    border-radius: 40px !important
}

#accessio-order-form button[type="submit"],
.summary-box,
.product-card-wrap {
    border-radius: 20px !important
}

.form-input-wrap,
input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
    border-radius: 12px !important
}

#side-cart img,
#side-cart-checkout-container img {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    visibility: visible !important
}

#mini-cart-content-wrapper .woocommerce-mini-cart__empty-message svg,
#mini-cart-content-wrapper .cart-empty::before,
#mini-cart-content-wrapper>svg,
#mini-cart-content-wrapper svg:first-child,
.widget_shopping_cart_content>svg,
.widget_shopping_cart_content>p.woocommerce-mini-cart__empty-message::before,
.widget_shopping_cart_content .woocommerce-mini-cart__empty-message~svg,
#side-cart .widget_shopping_cart_content>svg {
    display: none !important
}

.widget_shopping_cart_content:has(.woocommerce-mini-cart__empty-message)>svg:first-of-type {
    display: none !important
}

.price {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px
}

.price.justify-start {
    justify-content: flex-start
}

.price ins {
    text-decoration: none;
    font-weight: 800
}

.price del {
    font-size: .75em;
    color: #94a3b8;
    font-weight: 400;
    text-decoration: line-through;
    opacity: .8
}

.bestseller-price {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px
}

.bestseller-price del,
.bestseller-price .woocommerce-Price-amount del {
    font-size: .7em !important;
    color: #9ca3af !important;
    font-weight: 300 !important;
    text-decoration: line-through !important;
    opacity: .6 !important
}

.bestseller-price ins,
.bestseller-price .woocommerce-Price-amount ins {
    text-decoration: none !important;
    font-weight: 700 !important;
    color: #5D151E !important
}

.product-container .woocommerce-Price-amount {
    text-decoration: none !important
}

.product-container del .woocommerce-Price-amount,
.product-container del {
    color: #9ca3af !important;
    font-weight: 400 !important;
    opacity: .6 !important;
    text-decoration: line-through !important;
    font-size: .8em !important
}

.product-container ins .woocommerce-Price-amount,
.product-container ins {
    text-decoration: none !important;
    font-weight: 700 !important;
    color: #5D151E !important
}

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

.woocommerce-pagination ul li,
nav ul.page-numbers li {
    margin: 0
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span,
nav ul.page-numbers li a,
nav ul.page-numbers li span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: all .3s ease;
    color: #2D1B1B;
    background: transparent;
    border: 1px solid #E8DFC9
}

.woocommerce-pagination ul li a:hover,
nav ul.page-numbers li a:hover {
    background: #2D1B1B;
    color: white;
    border-color: #2D1B1B
}

.woocommerce-pagination ul li span.current,
nav ul.page-numbers li span.current {
    background: #5D151E;
    color: white;
    border-color: #5D151E
}

.hero-section {
    margin-bottom: 0 !important
}

#bestsellers-section {
    padding-top: 60px !important;
    padding-bottom: 60px !important
}

@media(min-width:768px) {
    #bestsellers-section {
        padding-top: 80px !important;
        padding-bottom: 80px !important
    }
}

#categories-section {
    padding-top: 60px !important;
    padding-bottom: 80px !important
}

@media(min-width:768px) {
    #categories-section {
        padding-top: 80px !important;
        padding-bottom: 120px !important
    }
}

#trustbar-section {
    padding-top: 60px !important;
    padding-bottom: 60px !important
}

@media(min-width:768px) {
    #trustbar-section {
        padding-top: 80px !important;
        padding-bottom: 80px !important
    }
}

#whychooseus-section {
    padding-top: 60px !important;
    padding-bottom: 60px !important
}

@media(min-width:768px) {
    #whychooseus-section {
        padding-top: 80px !important;
        padding-bottom: 80px !important
    }
}

#reviews-section {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
    margin-bottom: 0 !important
}

@media(min-width:768px) {
    #reviews-section {
        padding-top: 80px !important;
        padding-bottom: 80px !important
    }
}

footer {
    margin-top: 0 !important;
    padding-top: 40px !important
}

@media(min-width:768px) {
    footer {
        padding-top: 60px !important
    }
}

.list-none {
    list-style: none !important
}

nav.lg\:flex ul {
    display: flex !important;
    align-items: center !important;
    gap: 1.25rem !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important
}

nav.lg\:flex ul li a,
#mobile-menu ul li a {
    text-decoration: none !important;
    display: block !important;
    transition: all .3s ease !important
}

nav.lg\:flex ul li a {
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: .25em !important;
    font-weight: 700 !important;
    color: #2D1B1B !important
}

nav.lg\:flex ul li a:hover {
    color: var(--lux-burgundy) !important
}

#mobile-menu ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 2rem !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important
}

#mobile-menu ul li a {
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: .3em !important;
    font-weight: 700 !important;
    color: #2D1B1B !important;
    border-bottom: 1px solid #F3E9DE !important;
    padding-bottom: 1.25rem !important
}

.site-footer-menu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important
}

.site-footer-menu li a {
    text-decoration: none !important;
    color: #9CA3AF !important;
    transition: color .3s ease !important
}

.site-footer-menu li a:hover {
    color: #FFF !important
}

.site-footer ul li a {
    text-decoration: none !important;
    color: inherit !important
}