/* CUSTOM DESIGN */

/* GENERAL */

:root {
	--font-family-body: olimpico, sans-serif;
    --font-1: olimpico, sans-serif !important;
    --font-family-label: olimpico, sans-serif;
	--font-family-title: the-seasons, sans-serif;

	--color-body: #000000;
	--color-title: #000000;
	--cream: #F5F2EE;
	--light-brown: #E5DDD2;
	--color-a: #000000;
    --color-a-hover: #8C6E47;
    --color-primary: #8C6E47;
    --color-label: #000000;
    --bg-color-btn: #8C6E47;
    --bg-color-btn-hover: #E5DDD2;
    --ax-bg-wrapper: rgba(255, 255, 255, 0.3);

	--font-size-body: 16px;
	--font-size-h1: 50px;
	--font-size-h2: 40px;
    --font-size-h3: 30px;
	--font-size-h4: 20px;

	--font-weight-title: 400;
    --font-weight-bold: 700;

    --body-1: 30px/40px var(--font-1) !important;
    --body-4: 16px/26px var(--font-1) !important;
    --grey-200: var(--light-brown) !important;
    --grey-400: var(--color-primary) !important;
    --grey-600: var(--color-body) !important;
    --grey-700: var(--color-primary) !important;
    --primary-200: var(--color-primary) !important;
    --border-radius-medium: 0px !important;
    --border-radius-large: 0px !important;
}

body, main, #header-sticky {
    background-color: var(--cream);
    font-family: var(--font-family-body);
}

.material-symbols-outlined {
    line-height: normal;
    font-size: 24px;
}

.elementor-widget-heading .elementor-heading-title {
    line-height: normal;
}

h1 > span, .highlight {
    color: var(--color-primary);
}

.elementor-row {
    gap: 50px;
}

header .elementor-row {
    gap: 0;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	margin-bottom: 0px;
}

h1 + p, h2 + p, h3 + p, h4 + p {
    margin-top: 25px;
}

h2 span, .h2 span {
    font-family: var(--font-size-h2);
}

.container, .container-fluid {
    padding-right: 10px;
    padding-left: 10px;
}

.btn {
    font-size: var(--font-size-body);
    font-family: var(--font-family-body);
    letter-spacing: 1px;
}

.btn-primary.focus, .btn-primary:focus, .btn-primary:hover {
    color: var(--color-primary);
}

.btn-primary-r {
    background: var(--light-brown);
    border-color: var(--light-brown);
    color: var(--color-primary);
}

.btn-primary-r:hover {
    color: var(--bg-color-btn);
    background-color: transparent;
    border-color: var(--bg-color-btn);
}

.btn-secondary, .btn-secondary.disabled, .btn-secondary:disabled, .btn-secondary.disabled:hover {
    color: var(--bg-color-btn);
    background-color: transparent;
    border-color: var(--bg-color-btn);
}

.btn-secondary.focus, .btn-secondary:focus, .btn-secondary:hover {
    background-color: var(--bg-color-btn-hover);
    color: var(--color-primary);
    border-color: var(--bg-color-btn-hover)
}

@media (max-width: 980px) {
	.elementor-row {
	    gap: 25px;
	}
} 

/* HEADER */

header .elementor-widget:not(:last-child), header {
    margin-bottom: 0 !important;
}

.menu-horizontal .item-level-0 > a {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: var(--font-weight-bold);
    padding: 25px;
}

.menu-horizontal .item-level-0:first-child > a {
	padding-left: 0px;
}

.lang_select {
	display: flex;
	gap: 25px;
	align-items: center;
}

.lang_select a {
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 7px 8px;
    border-radius: 50px;
    border: solid 1px transparent;
    line-height: normal;
}

.lang_select .active, .lang_select a:hover {
    border-color: black;
}

.header_right_part .elementor-widget-wrap {
    gap: 50px;
}

.nrt_mega_menu .element_ul_depth_1 {
    margin-bottom: 0px;
}

.nrt_mega_menu .menu_sub {
    background: var(--cream);
    border-top: solid 1px var(--color-primary);
    border-bottom: solid 1px var(--color-primary);
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
}

.canvas-widget-top .title-canvas-widget, .wrapper-menu-mobile .menu_a_wrap .icon-opener {
    border: none;
}

.canvas-widget-top .title-canvas-widget {
    text-transform: none;
}

#canvas-mini-cart .totals-top {
    font-family: var(--font-family-body);
}

.canvas-widget {
    background-color: var(--cream);
}

.wrapper-menu-mobile .menu_a_wrap.menu-item-has-children > a, .wrapper-menu-mobile .mo_element_a_depth_0 {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: var(--font-weight-bold);
}

.wrapper-menu-mobile li a {
    border-bottom: none;
}

.wrapper-menu-mobile li.active > .menu_a_wrap {
    background-color: transparent;
}

.wrapper-menu-mobile li.active > .menu_a_wrap .icon-opener {
    color: var(--color-primary);
    background-color: transparent;
}

.wrapper-menu-mobile .mo_sub_ul {
    margin: 0;
    padding: 0 0 0 15px;
}

.mo_sub_li.active .mo_sub_ul {
    display: block !important;
}

.wrapper-scroll-content {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    justify-content: space-between;
}

.lang_menu_mob {
    align-self: center;
    padding: 50px;
}

@media (max-width: 980px) {
	.button-layout-icon_text .btn-canvas .btn-canvas-text {
		display: none;
	}

	.lang_select, .header_right_part .elementor-widget-wrap {
	    gap: 10px;
	}

    span.btn-canvas-text {
        text-transform: uppercase;
        letter-spacing: 1px;
    }
}

/* HOME */

.title_home {
    text-align: center;
    max-width: 50%;
    margin: 150px auto;
}

.about_left img, .about_right img {
    aspect-ratio: 3 / 4;
    object-fit: cover;
}

.about_left .elementor-row, .about_right .elementor-row {
	gap: 100px;
}

.txt_part {
    padding: 50px;
}

.txt_part h2 + p {
	font-size: var(--font-size-h3);
	margin-top: 0;
}

.about_right .elementor-widget-wrap {
    align-self: flex-end;
}

.about_right {
    margin-top: -25%;
}

.simple_btn .elementor-button {
    font-size: var(--font-size-body);
    padding: 0px;
    background-color: transparent;
    color: black;
    text-transform: uppercase;
    font-weight: var(--font-weight-bold);
    letter-spacing: 1px;
    display: flex;
    gap: 25px;
}

.simple_btn .elementor-button:after {
    content: '\e8e4';
    font-family: 'Material Symbols Outlined';
    transition: all ease-in-out .2s;
}

.simple_btn:hover .elementor-button:after {
    margin-left: 10px;
}

.category_home {
    padding: 100px 0;
    margin: 150px 0;
    background: var(--light-brown);
}

.intro_cat {
    width: 60% !important;
    margin: 0 auto 50px !important;
    text-align: center;
}

.cat_bloc img {
    aspect-ratio: 3 / 4;
    object-fit: cover;
}

.cat_bloc .elementor-image-box-content {
    text-align: left;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    background: rgba(0, 0, 0, 0.2);
    padding: 50px;
    transition: all ease-in-out .2s;
}

.cat_bloc:hover .elementor-image-box-content {
    background: transparent;
}

.cat_bloc h3 {
    margin: 0 !important;
    color: white;
    font-family: var(--font-family-body);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 25px;
    font-weight: var(--font-weight-bold);
    position: relative;
    transition: all ease-in-out .2s;
    padding-left: 35px;
}

.cat_bloc h3:before {
    content: ' ';
    width: 25px;
    height: 1px;
    background: white;
    position: absolute;
    left: 0;
    top: 50%;
    transition: all ease-in-out .2s;
}

.cat_bloc:hover h3:before {
	width: 50px;
}

.cat_bloc:hover h3 {
    padding-left: 60px;
}

.spa_pres .elementor-widget-image, .spa_pres .elementor-widget-container, .spa_pres .elementor-image, .spa_pres img {
    height: 100%;
    object-fit: cover;
}

.spa_pres {
	margin-top: 100px;
}

.swiper-dots .swiper-pagination-bullet {
    display: inline-block;
    width: 10px;
    height: 10px;
    border: 1px solid var(--light-brown);
    background: var(--color-primary);
    opacity: 1;
}

.swiper-dots .swiper-pagination-bullet.swiper-pagination-bullet-active, .swiper-dots .swiper-pagination-bullet:hover {
    background-color: var(--light-brown);
}

.swiper-dots-bottom-center .swiper-dots {
    margin-top: 0;
}

@media (max-width: 980px) {
	.title_home {
	    max-width: 100%;
	    margin: 100px auto;
	}

	.about_right {
	    margin-top: 0;
	}

	.about_right .elementor-row {
	    flex-direction: column-reverse;
	}

	.about_left .elementor-row, .about_right .elementor-row {
	    gap: 50px;
	}

	.txt_part {
	    padding: 0 25px 50px;
	}

	.intro_cat {
	    width: 90% !important;
	}

	.category_home {
	    margin: 50px 0;
	}
}

/* FOOTER */

footer img {
    width: 125px;
}

.reservation_btn {
    position: fixed;
    z-index: 100;
    bottom: 25px;
    right: 25px;
    width: fit-content !important;
    margin: 0 !important;
}

.reservation_btn .btn_float {
    background: var(--color-primary);
    width: 100px;
    display: flex;
    height: 100px;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
    font-size: var(--font-size-body);
    text-transform: uppercase;
    letter-spacing: 1px;
    color: white;
    transition: all ease-in-out .2s;
}

.reservation_btn .btn_float:hover {
    background: var(--light-brown);
    color: var(--color-primary);
}

/* Cacher l'élément sur la page des cartes cadeaux */
#module-giftcard-choicegiftcard .reservation_btn {
    display: none;
}

.footer_top {
    background: var(--light-brown);
    padding: 50px 0;
}

footer h4.elementor-heading-title, .linklist-toggle .title-text {
    font-family: var(--font-family-body);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-body);
}

.linklist-menu > a:not(:hover) {
    color: var(--color-body);
}

.linklist-menu > a {
    padding: 0px;
    line-height: 25px;
    word-break: break-word;
}

.copyright p {
    font-size: 12px;
}

@media (max-width: 980px) {
	footer .elementor-row {
	    gap: 0px;
	}
}

/* PAGE PRODUIT */

.axps-breadcrumb a:not(:last-child)::after {
    content: "|";
    margin-left: 5px;
}

.page-title .axps-breadcrumb, .single-breadcrumbs-wrapper .axps-breadcrumb {
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 25px;
    font-size: var(--font-size-body);
}

.page-title {
    background-color: var(--light-brown);
    margin-top: 0;
}

.page-title-layout-2.page-title {
    padding-top: 50px;
    padding-bottom: 50px;
    margin-bottom: 50px;
}

.page-title.title-text-color-dark {
    background-color: var(--light-brown);
    color: var(--color-body);
    text-align: left;
}

.page-title .container.container-parent {
    display: flex;
    flex-wrap: wrap;
    column-gap: 50px;
}

.page-title .left_part {
/*    flex: 1 1 calc(65% - 50px);*/
    flex: 1 1 100%;
    padding: 50px 0;
}

/*.page-title .right_part {
    flex: 1 1 35%;
}*/

img {
    vertical-align: middle;
    max-width: 100%;
}

.category-description h2 {
    font-family: var(--font-family-body);
}

/*.page-title .right_part img {
    height: 100%;
    object-fit: cover;
}*/

.widget-title.h3 {
    font-family: var(--font-family-body);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: var(--font-size-body) !important;
    margin-bottom: 10px;
}

.element-bottom .product-description {
    margin-top: 25px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.element-bottom .product-description > a, .element-bottom .product-description .product_desc {
    flex: 1 1 100%;
}

.element-bottom .product-description .product_desc {
    margin-top: 20px;
}

.element-bottom .product_name, .element-bottom .price {
    color: black;
    font-family: var(--font-family-body);
    font-size: var(--font-size-h4);
    font-weight: var(--font-weight-bold);
}

.custom-checkbox input + span {
    width: 15px;
    height: 15px;
    line-height: 15px;
    background-color: transparent;
    border: 1px solid black;
    border-radius: 0;
}

.block-categories ul > li > a::before {
    border: 1px solid black;
}

#box-product-grid .archive-wrapper-items > .item {
    position: relative;
}

.product_desc > p {
    margin: 0;
}

#active-search-filters ul li a {
    display: inline-block;
    color: var(--color-body);
    font-size: var(--font-size-body);
    position: relative;
    padding: 5px 10px;
    margin: 2px 2px 2px 0;
    border: none;
    line-height: normal;
    background: var(--light-brown);
}

.product-container {
    margin-top: 50px;
}

.single-breadcrumbs-wrapper {
    margin-bottom: 0px;
}

.single-product-summary {
    padding: 50px 50px 50px calc(50px - 15px);
}

.title_product {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.summary-container .product_title, .summary-container .product-price {
    font-size: var(--font-size-h3);
    line-height: normal;
}

.summary-container .product_title {
    max-width: 70%;
}

.product-price, .price, .cart-summary-totals .cart-summary-line .value, .order-confirmation-table .text-xs-right, #order-items table tr td:last-child, .carrier-price {
    color: var(--color-primary);
    font-family: var(--font-family-body);
}

.cart-summary-line .value, .cart-overview .shop_table td.product-c-price .amount {
    font-family: var(--font-family-body);
}

.summary-container .product-add-to-cart .btn {
    line-height: normal;
    text-transform: uppercase;
    font-size: var(--font-size-body);
    letter-spacing: 1px;
    font-family: var(--font-family-body);
    width: 100%;
}

.product-quantity .add .info {
    font-family: var(--font-family-body);
    font-size: var(--font-size-body);
    color: var(--color-body);
    text-align: center;
    background: white;
    padding: 10px;
    margin-bottom: 10px;
}

.product-quantity .add .info p {
    margin: 0;
}

.wc-tabs-wrapper .accordion-title {
    font-weight: var(--font-weight-semi);
    font-family: var(--font-family-body);
    font-size: var(--font-size-body);
    border: none;
}

.wc-tabs-wrapper {
    border-bottom: 1px solid var(--ax-line-color);
}

.reservation_bloc {
    padding: 0 20px;
    margin-top: 80px;
    flex-direction: column;
}

#planity {
    margin-top: 25px;
}

.css-8xz9l5, [data-css-8xz9l5] {
    max-width: 100% !important;
    min-height: auto !important;
}

.button-module_button-9td2v:not(.button-module_linked-yJ4Uk):not(.button-module_underlined-H3lcl):not(.button-module_hasAvailabilities-1a8rw) {
    text-transform: uppercase;
    letter-spacing: 1px;
}

.button-module_button-9td2v.button-module_primary-Careb:not(.button-module_isLoading-QY0qX):not(.button-module_isDisabled-2u\+cB):hover {
    background: var(--light-brown) !important;
    color: var(--color-primary) !important;
}

.css-ndhcij {
    gap: 15px;
}

.planity-widget-nav.css-1v6n8mk, button.button-module_button-9td2v.planity-component-button {
    flex: 1 1 100%;
}

.button-module_button-9td2v:not(.button-module_linked-yJ4Uk):not(.button-module_underlined-H3lcl):not(.button-module_hasAvailabilities-1a8rw).button-module_medium-szICh {
    width: 100%;
}

.button-module_button-9td2v.button-module_secondary-EQMHU:not(.button-module_isLoading-QY0qX):not(.button-module_isDisabled-2u\+cB):hover {
    color: white !important;
}

/*.product-images-cover .img-count-0 .swiper-arrows, .product-images-cover .img-count-1 .swiper-arrows {
    display: block !important;
}

.images-cover-slider .product-images-cover .gallery-swiper-arrow {
    color: white;
}

.images-cover-slider .product-images-cover .gallery-swiper-arrow {
    background: none;
    color: white;
    padding: 10px 20px;
    border: none;
    width: auto;
    height: auto;
}

.images-cover-slider .product-images-cover .swiper-arrows {
    left: 0;
    right: 0;
    opacity: 1;
}*/

.product-images-cover .swiper-dots, .product-images-thumb .swiper-dots {
    display: block;
}

.product-images-cover .swiper-dots > div {
    margin: 10px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.images-cover-slider .product-images-cover .swiper-arrows {
    display: none;
}/*

.swiper-button-disabled {
    opacity: 0.1 !important;
}*/

@media only screen and (max-width: 767px) {
    .css-1v6n8mk, [data-css-1v6n8mk] {
        margin-top: 0 !important;
    }

    .button-module_button-9td2v:not(.button-module_linked-yJ4Uk):not(.button-module_underlined-H3lcl):not(.button-module_hasAvailabilities-1a8rw).button-module_medium-szICh {
        margin: 0 !important;
    }

    .css-z3peqw, [data-css-z3peqw] {
        height: auto !important;
    }
}

@media (max-width: 980px) {
    .single-product-summary {
        padding: 50px 5px 0;
    }

    .page-title .right_part, .page-title .left_part {
        flex: 1 1 100%;
    }

    .page-title .left_part {
        padding: 0;
    }

    /*.page-title .right_part {
        display: none;
    }*/
}

/* LOGIN AND ACCOUNT */

#authentication .page-title, #password .page-title, #registration .page-title, #cart .page-title, #checkout .page-title, #my-account .page-title, #identity .page-title, #addresses .page-title, #history .page-title, #order-slip .page-title, #discount .page-title, #module-psgdpr-gdpr .page-title, #module-ps_emailalerts-account .page-title, #planityaccount .page-title {
    display: none;
}

.page-authentication #content, .page-password #content, .page-registration #content {
    margin-top: 50px;
    border: 1px solid var(--light-brown);
    background: rgba(255, 255, 255, 0.3);
    padding: 50px;
}

#cart #wrapper, #checkout #wrapper, #my-account #wrapper, #identity #wrapper, #addresses #wrapper, #history #wrapper, #order-slip #wrapper, #discount #wrapper, #module-psgdpr-gdpr #wrapper, #module-ps_emailalerts-account #wrapper {
    margin-top: 50px;
}

.page-authentication #content {
    padding: 50px 50px 0px;
}

.page-registration #content {
    padding: 0px 50px 50px;
}

#content .no-account {
    margin-left: -50px;
    margin-right: -50px;
    margin-bottom: 0;
    background: var(--light-brown);
    color: var(--body);
    font-family: var(--font-family-body);
    text-transform: none;
}

.forgot-password {
    margin-top: 10px;
    text-align: center;
    margin-bottom: 50px;
}

.forgot-password a:not(:hover) {
    color: var(--color-primary);
}

.register-form > p {
    color: var(--color-body);
    margin-bottom: 50px;
    margin-left: -50px;
    margin-right: -50px;
    background: var(--light-brown);
    color: var(--body);
    font-family: var(--font-family-body);
    text-transform: none;
    padding: 25px 50px;
    display: flex;
    justify-content: center;
    gap: 10px;
    white-space: nowrap;
    align-items: baseline;
}

.register-form p a {
    color: var(--color-primary);
    display: table;
    margin-top: 0;
    text-decoration: none;
    width: 100%;
}

/* CART */

.shop_table_responsive th {
    border-bottom: 1px solid var(--light-brown);
    color: var(--color-body);
    text-transform: uppercase;
    font-weight: var(--font-weight-bold);
    font-family: var(--font-family-body);
    font-size: var(--font-size-body);
    letter-spacing: 1px;
}

.cart-overview .shop_table .product-name .product-title {
    font-weight: var(--font-weight-bold);
    font-family: var(--font-family-body);
    margin-bottom: 5px;
    display: block;
}

.ax-cart-summary h2 {
    margin-bottom: 25px;
    text-transform: none;
    font-size: var(--font-size-h4);
    border-bottom: none;
    padding-bottom: 0;
    padding-right: 35px;
}

.ax-cart-summary, body#checkout section.checkout-step, .my-account-content, .my-account-links a {
    border: 1px solid var(--light-brown);
    background: rgba(255, 255, 255, 0.3);
}

body#checkout section.checkout-step .step-title {
    background: none;
    border: 0;
    cursor: pointer;
    font-weight: 400;
    padding: 25px;
    font-size: var(--font-size-h4);
}

body#checkout section.checkout-step .step-number, body#checkout section.checkout-step .step-title i.done {
    background: var(--color-primary) none repeat scroll 0 0;
    margin-right: 10px;
}

body#checkout section.checkout-step .content .nav-inline .nav-item a {
    border: none;
}

body#checkout section.checkout-step .content {
    border: none;
    padding: 25px;
}

body#checkout section.checkout-step .content .nav-inline .nav-item .nav-link.active, body#checkout section.checkout-step .content .nav-inline .nav-item .nav-link:hover {
    background: var(--light-brown);
    color: var(--color-primary);
}

body#checkout section.checkout-step .content .nav-inline .nav-item a:not(.active) {
    color: var(--color-body);
}

body#checkout section.checkout-step .content .my-2 {
    margin: 0 0 25px 0 !important;
}

.block-promo .promo-code input {
    margin-right: 10px;
    border-width: 1px;
}

.form-control {
    background: var(--ax-bg-wrapper);
    border: 1px solid var(--light-brown);
}

body#checkout #cart-summary-product-list {
    font-size: var(--font-size-body);
}

body#checkout #order-summary-content .summary-selected-carrier, body#checkout #order-summary-content .order-confirmation-table {
    margin-bottom: 1.2rem;
    background-color: rgba(255, 255, 255, 0.3);
    border: 1px solid var(--light-brown);
}

.alert-info {
    background-color: white;
    border-color: var(--color-primary);
    color: var(--color-body);
    text-align: center;
    font-weight: var(--font-weight-bold);
}

/* COOKIES */

#cookielaw-accept {
    background: var(--light-brown);
    color: var(--color-primary);
}

#cookielaw a {
    color: white;
}

/* GIFT CARD */

#choicegiftcard section {
    box-shadow: none;
    background-color: #fff;
    border: 1px var(--light-brown) solid;
    padding: 25px;
}

#choicegiftcard section .step-title {
    text-transform: none;
    margin-bottom: 0;
    font-size: var(--font-size-h3);
}

#choicegiftcard span.step-number {
    padding: 0 1.3rem;
    margin-right: 2.5rem;
}



#module-giftcard-choicegiftcard span.select2.select2-container.select2-container--default.select2-container--below.select2-container--open {
    border-right: 0.5px solid #aaaaaa;
    border-left: 0.5px solid #aaaaaa;
    border-radius: 5px 5px 0 0;
}

#module-giftcard-choicegiftcard .choice_gift_prestation {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}