:root{
    --primary: var(--color-1);
    --bs-primary-rgb: 155, 26, 67;
    --primary-hover: hsl(from var(--primary) h s calc(l + 10));
}

a:not(.btn-primary):not(.btn-outline-primary), .nav-link{
    color: var(--primary);
}

.blockreassurance .reassurance path{
    fill: var(--color-1);
}

.btn-outline-primary {
    --bs-btn-color: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--primary);
    --bs-btn-hover-border-color: var(--primary);
    --bs-btn-focus-shadow-rgb: 11, 105, 246;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--primary);
    --bs-btn-active-border-color: var(--primary);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: var(--primary);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--primary);
    --bs-gradient: none;
}

.btn-primary{
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--primary-hover);
    --bs-btn-hover-border-color: var(--primary-hover);
    --bs-btn-focus-shadow-rgb: 48, 128, 247;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--primary-hover);
    --bs-btn-active-border-color: var(--primary-hover);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--primary);
    --bs-btn-disabled-border-color: var(--primary);
}

#cart-subtotal-products * {
    color: var(--color-1);
    font-weight: 600;
}

#cart-subtotal-products, #cart-subtotal-products .cart-summary__value{
    font-size: 19px;
}

.cart-summary__label, .cart-summary__value{
    color: #B4B4B4;
    font-weight: 400;
}

#cart .cart-grid h2{
    font-family: Poppins, sans-serif;
    font-size: 1.5rem;
    font-weight: bold;
}

#cart .elementor.elementor-7170101,
#order-confirmation .elementor.elementor-7170101{width: 100% !important;}

#cart .cart-grid__content h1.page-title-section,
#cart .cart__overview h2{
    font-size: 21px;
    font-weight: 600;
    color: black;
}

#cart .cart-grid__content h1.page-title-section{text-transform: uppercase;}

#cart .cart__overview{
    border: var(--color-1) 1px solid;
    border-radius: 10px;
    margin: 30px 0;
}

#cart .cart__overview .head{border-bottom: var(--color-1) 1px solid;}
#cart .cart__overview > div{padding: 15px;}
#cart .cart__overview  h2{margin: 0;}

#cart .cart-grid.row{
    gap: 30px;
    display: grid;
    grid-template-columns: 8fr 4fr;
}

#cart .product-line__title,
#checkout .cart-summary-product__link{
    font-family: 'DM Serif Display', serif;
    font-weight: 400;
    font-size: 20px;
    color: black;
}

#cart .product-line__item--prices{
    margin-top: 10px;
}

#cart .product-line__price{
    text-align: right;
    font-size: 1.3rem;
    margin-top: 10px;
    color: var(--color-1);
    font-weight: bold;
}

.reassurance__title, .reassurance__desc{
    font-size: 1rem;
}

.ps-featuredproducts .module-products__buttons{
    display: none;
}

input:not([type=submit]):not([type=reset]):not([type=image]){
    background-color: #E5F4F6;
    border: #C7D6EC 1px solid;
}

input:not([type=checkbox]):not([type=radio]){
    min-height: 40px;
}

input:not([type=radio]){
    border-radius: 5px;
}

.form-check-input:checked[type=radio] {
    --bs-form-check-bg-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%239B1A43'/%3E%3C/svg%3E");
}
.form-check-input:checked[type=checkbox] {
    --bs-form-check-bg-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%239B1A43' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E");
}

.form-check-label{font-size: 1rem}

.checkout-steps__step--current .checkout-steps__number{
    background-color: var(--color-1);
}

.checkout-steps__step--current .checkout-steps__btn,
.accordion-button:not(.collapsed){
    color: var(--color-1);
}

.cart-summary__subtotals{margin: 0}

.cart-summary__subtotals, .cart-summary__total{
    background-color: #E5F4F6;
    padding: 15px;
    border-top: var(--primary) 1px solid;
}

#checkout #cart-subtotal-products *{
    color: black;
    font-size: 20px;
    font-weight: 400;
}

#checkout .cart-summary__total *{
    color: black;
    font-weight: 600;
}

#checkout #cart-subtotal-products .cart-summary__line{
    padding: 0;
}

.cart-summary__total{
    margin: 0;
}

.cart-summary__products hr{
    color: var(--primary);
}

#checkout #js-checkout-summary,
#checkout-personal-information-step,
#checkout-delivery-step,
#checkout-payment-step{
    border: var(--color-1) 1px solid;
    border-radius: 10px;
    overflow: hidden;
}

#cart .container,
#checkout .container,
#checkout-personal-information-step .container,
#checkout-delivery-step .container,
#checkout-payment-step .container,
#order-confirmation .container{
    max-width: 1300px;
}

#checkout .cart-summary__products,
#checkout-personal-information-step,
#checkout-delivery-step,
#checkout-payment-step{
    padding: 15px;
}

#checkout .cart-summary__products-accordion{
    padding: 20px 0 0
}

#checkout .accordion-collapse hr{display: none;}
#checkout .cart-summary-product{
    padding: 10px;
    background-color: #f4f4f4;
    border-radius: 10px;
}

#order-confirmation .card *:not(.h2):not(.h3),
#order-confirmation .alert p{
    font-size: 16px;
}

@media (max-width: 768px) {
    #cart .cart-grid.row{grid-template-columns: 1fr; gap: 0}
    #cart .product-line__price{text-align: left}
    #cart .product-line__actions{font-size: 1rem;}
    #cart .cart__overview .head,
    #cart .cart-grid__content h1.page-title-section{text-align: center}
    #cart .ps-featuredproducts .section-title,
    #order-confirmation .ps-featuredproducts .section-title,
    #order-confirmation .card .h2{font-size: 32px; text-align: center;}
}

@media (max-width: 480px) {
    #cart .product-line__title{font-size: 1rem;}
}