/*
Theme Name: Chez Bernard
Author: Chez Bernard
Author URI: https://chezbernard.com/
Version: 1
Text Domain: cb
*/

/**
* main style sheet
* @author		charroma@gmail.com
* @creationDate 2024-09-23
* @editDate		2024-09-23
*/

/** http://meyerweb.com/eric/tools/css/reset/ 	v2.0 | 20110126		License: none (public domain) */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, button, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, input[type=checkbox], input[type=radio] { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display: block; } body { line-height: 1; } ol, ul { list-style: none; } blockquote, q { quotes: none; } blockquote::before, blockquote::after, q::before, q::after { content: ''; content: none; } table { border-collapse: collapse; border-spacing: 0; }

/** defaults */
h1, h2, h3, h4, h5, h6 { font-weight: normal; }
strong, b { font-weight: 500; }
em { font-style: italic; }
/*a, button { outline: none; }*/
abbr { text-decoration: none; }
img { vertical-align: bottom; }
sup { font-size: 60%; }
mark { background-color: inherit; color: inherit; }
ins { text-decoration: none; }
template { display: none; }
input[type="submit"], button { border-radius: 0; }
button::-moz-focus-inner { padding: 0; border: 0; }
details summary { cursor: pointer; list-style-type: none; }
details > summary::-webkit-details-marker { display: none; }

.woocommerce-message[role="alert"] { outline: none; }

/*:is(::selection, ::-moz-selection) { background: var(--c-text); color: var(--c-bg); }*/

html {
	font-size      : 0.625em;
	--content-w    : 960px;
	--main-pad     : 30px;
	--main-pad     : max(30px, env(safe-area-inset-left));
	--main-pad--   : calc(var(--main-pad) * -1);
	--scroll-bar   : 0px;

	--section-pad  : 7.5rem;

	--c-bg         : #fff;
	--c-txt        : #000;

	--c-border     : #ddd;
	--border-w     : 30px;
	--border-r     : 20px;
	--maxw         : 708px;

	--input-h      : 4rem;

	--c-msg        : #cfcf08;
	--c-msg-l      : #dbc9a2;
	--c-msg-ll     : #ffedc5;
	--c-success    : #4c954d;
	--c-success-l  : #c6d9b6;
	--c-success-ll : #e1f1d3;
	--c-error      : #a94442;
	--c-error-l    : #d4adb1;
	--c-error-ll   : #fad5d8;

	--c-ti         : #000;
	--c-text       : #444;
	--c-main       : #db0714;
	--c-main-h     : hsla(356.3, 93.8%, 32.3%, 1.0);
	--c-gray-l     : #f2f2f2;
	--c-foot       : var(--c-gray-l);
}
/*@media (prefers-contrast: more) {
	html {

	}
}*/
body { background: var(--c-bg); line-height: 1.5; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; -webkit-text-size-adjust: none; text-align: left; }
body, input:is([type=text], [type=password], [type=number], [type=email], [type=tel], [type=url], [type=range]), select, textarea { font-size: 1.6rem; color: var(--c-text); }
body.-loading { cursor: progress; }

/** links */
a { color: var(--c-main); text-decoration: underline; }
a:where(:hover, :active, :focus) { color: var(--c-txt); }
.disabled, button[disabled="disabled"] { cursor: default; }
button[disabled="disabled"] { background-color: var(--c-gray-l); color: #666; text-decoration: line-through; }

/** fonts */
/*@font-face {
	font-family: 'curlz';
	src: url('css/fonts/curlz.woff2') format('woff2'),
		 url('css/fonts/curlz.woff') format('woff');
	font-weight: normal; font-style: normal; font-display: swap; ascent-override: 100%;
}*/
@font-face {
	font-family: 'Montserrat';
	src: url('css/fonts/Montserrat-Regular.woff2') format('woff2'),
		 url('css/fonts/Montserrat-Regular.woff') format('woff');
	font-weight: normal; font-style: normal; font-display: swap; ascent-override: 100%;
}
@font-face {
	font-family: 'Montserrat';
	src: url('css/fonts/Montserrat-SemiBold.woff2') format('woff2'),
		 url('css/fonts/Montserrat-SemiBold.woff') format('woff');
	font-weight: 500; font-style: normal; font-display: swap; ascent-override: 100%;
}
@font-face {
	font-family: 'Montserrat';
	src: url('css/fonts/Montserrat-Bold.woff2') format('woff2'),
		 url('css/fonts/Montserrat-Bold.woff') format('woff');
	font-weight: bold; font-style: normal; font-display: swap; ascent-override: 100%;
}
@font-face {
	font-family: 'Montserrat';
	src: url('css/fonts/Montserrat-ExtraBold.woff2') format('woff2'),
		 url('css/fonts/Montserrat-ExtraBold.woff') format('woff');
	font-weight: 900; font-style: normal; font-display: swap; ascent-override: 100%;
}
body, input, select, textarea { font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif; }

/* **************************** */
/** transitions */
.woocommerce-MyAccount-navigation, .tns-controls circle, .nav svg,
.ls-products .prod-img, .section-products .col,
:where(.head, .foot, .ls-pag, .product-category) a, .logo img, button, .bt, input[type="submit"],
:where(.woocommerce-orders-table__cell-order-actions, .shop_table .product-name, .woocommerce-MyAccount-navigation, .follow, .menus) a, .wp-block-button__link, .button, .edit,
:where(.product-thumbnail, .gallery, .home-gallery, .ls-cats, .products, .-cats) img { /* autoprefixer: off */ transition: all 0.2s linear; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.button { transition: visibility 0 linear; }


/* **************************** */
/** animations */
.slideTxt { display: inline-block; animation: slideTxt 0.5s ease-in-out forwards; visibility: hidden; }

.fixed { animation: slideIn 0.5s ease-in-out forwards; }
.nav-mobile { animation: mobile 0.5s ease-in-out forwards; }
.fixed.slideOut { animation: slideOut 0.5s ease-in-out forwards; }
.fadeIn { animation: fadeIn 0.5s ease-in-out forwards; }
.fadeOut { max-height: 0; opacity: 0; transition: opacity 1s, max-height 0s 1s; }

@keyframes slideIn {
	0% { transform: translateY(-100%); visibility: visible; }
	100% { transform: translateY(0); visibility: visible; }
}
@keyframes slideTxt {
	0% { transform: translateY(100%); visibility: visible; }
	100% { transform: translateY(0); visibility: visible; }
}
@keyframes slideOut {
	to { opacity: 0; transform: translateY(-100%); }
}
@keyframes fadeIn {
	0%   { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes mobile {
	0% { transform: translateY(-10%); opacity: 0; }
	100% { transform: translateY(0); opacity: 1; }
}

/* **************************** */
/** class gen */
.hide, .screen-reader-text, .visually-hidden, .hidden-fields-container, .cmplz-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
.hidden { visibility: hidden; }
.none, .printonly { display: none!important; }
.ir { display: block; background-position: 0 0; background-repeat: no-repeat; overflow: hidden; text-indent: -9999px; }

.clear { clear: both; }
.clearer { display: block!important; width: 100%!important; clear: both!important; height: 0!important; line-height: 0!important; font-size: 1px!important; float: none!important; overflow: hidden; margin: 0!important; padding: 0!important; border: none!important; }

.-text-center { text-align: center; }
.-text-right { text-align: right; }
.-text-left { text-align: left; }

.-auto { margin-inline: auto; }
.-max { max-width: var(--maxw); }

.no-space { margin-bottom: 0; }
.space-sml { margin-bottom: 0.5rem; }
.spaced { margin-bottom: 1.5rem; }
.space-big { margin-bottom: 3rem; }
.space-bigger { margin-bottom: 4.5rem; }
.space-biggest { margin-bottom: 6rem; }
.space-top { margin-top: 1.5rem; }
.space-top-big { margin-top: 3rem; }

.spinner { margin: 0!important; padding: 0!important; }

#tip { display: none; position: absolute; max-width: 300px; padding: 4px 10px; font-size: 1.1rem; line-height: 1; background: var(--c-text); color: var(--c-bg); white-space: nowrap; border-radius: 5px; box-shadow: 0 1px 5px var(--c-text); z-index: 9999; }

/* **************************** */
/** forms */
fieldset, .fieldset { margin-bottom: 2rem; }
:is(fieldset, .fieldset) > :last-child { margin-bottom: 0; }

.form-group { margin-bottom: 1.5rem; }
input:where([type="text"], [type="password"], [type="number"], [type="email"], [type="tel"], [type="url"], [type="range"]),
select,
textarea { width: 250px; height: var(--input-h); padding: 0 10px 0; background: var(--c-gray-l); border: 1px solid var(--c-border); outline: none; box-sizing: border-box; border-radius: 0; }

select { padding: 0 10px; background: var(--c-gray-l); border-radius: 0; appearance: none; -webkit-appearance: none; appearance: none; }
.select, #billing_country_field .woocommerce-input-wrapper { display: block; position: relative; overflow: hidden; padding: 0; background-color: var(--c-gray-l); border: 1px solid var(--c-border); text-align: left; box-sizing: border-box; }
.select::after, #billing_country_field .woocommerce-input-wrapper::after { position: absolute; top: 50%; right: 10px; z-index: 1; content: ''; display: block; width: 18px; height: 9px; background: url(img/arr-d-alt.svg) 50%/80% no-repeat; transform: translateY(-50%); font-size: 2rem; }
.select select, #billing_country_field .woocommerce-input-wrapper select { position: relative; z-index: 2; width: calc(100% + 35px); max-width: none; height: calc(var(--input-h) - 2px); padding-right: 55px; background-color: transparent; border: none; }
.select select::-ms-expand, #billing_country_field .woocommerce-input-wrapper select::-ms-expand { display: none; }
.select select:-moz-focusring, #billing_country_field .woocommerce-input-wrapper select:-moz-focusring { color: transparent; text-shadow: 0 0 0 var(--c-txt); }

input:is([type="checkbox"], [type="radio"], [type="file"]) { accent-color: var(--c-main); }

input:where([type="text"], [type="password"], [type="email"], [type="number"], [type="tel"], [type="url"], [type="range"]):focus,
:is(select, textarea):focus,
.select:focus-within { border-color: #999; }

textarea { height: 150px; padding-top: 10px; padding-bottom: 10px; overflow: auto; vertical-align: top; appearance: none; -webkit-appearance: none; }
textarea.-sml { height: 50px; }
select { max-width: 100%; }
input[type="file"] { font-size: 1.2rem; }
input:is([type="text"], [type="email"], [type="password"], [type="submit"]) { appearance: none; -webkit-appearance: none; }

input.-sml { width: 60px; }
input:not([type="submit"]).-med { width: 125px; }
input.-disabled, input[disabled="disabled"],
button.disabled, button.disabled:is(:hover, :focus) { background-color: #ddd; color: #666; }

::placeholder { }
input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px var(--c-gray-l) inset; }

.i-info { opacity: 0.75; font-size: 1.1rem; line-height: 1; font-style: italic; }

form :is(label, .label) { display: block; width: auto; margin-bottom: 0.5rem; line-height: 1.2; float: none; text-align: left; }

.i-multi .wpcf7-form-control { display: flex; flex-wrap: wrap; margin-bottom: -7px; }
.cols2 .i-multi .wpcf7-form-control { align-items: center; min-height: var(--input-h); }
.i-multi .wpcf7-list-item { margin-bottom: 0.7rem; margin-right: 30px; }
.i-multi .wpcf7-list-item label { display: flex; margin-bottom: 0; }
.i-multi .wpcf7-list-item input { margin-top: 2px; }
.i-multi .wpcf7-list-item-label { flex: 1 1 auto; margin-left: 5px; font-size: 1.4rem; }

.i-checkbox label { display: flex; align-items: flex-start; }
	.i-checkbox label input { flex: 0 0 auto; margin: 3px 10px 0 0; }

.-full textarea,
.-full input:where([type="text"], [type="password"], [type="email"], [type="tel"], [type="url"], [type="range"]),
.-full .select { width: 100%; max-width: inherit; }

form .submit { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 15px; margin: 3rem 0 0; }

/** buttons */
button, input[type="submit"] { display: inline; background: none; cursor: pointer; }
	button, .bt, input[type="submit"],
	.wp-block-button__link, .button, .edit, .woocommerce-orders-table__cell-order-actions a { display: inline-block; padding: 1rem 25px; background: var(--c-main); font-weight: bold; border: none; color: var(--c-bg); font-size: 1.6rem; text-align: center; text-decoration: none; border-radius: 200px; touch-action: manipulation; user-select: none; }
	:where(.bt, button,.wp-block-button__link, .button, .edit):is(:hover, :focus),
	input[type="submit"]:is(:hover, :focus),
	.woocommerce-orders-table__cell-order-actions a:is(:hover, :focus) { background: var(--c-main-h); color: var(--c-bg); }

.woocommerce-orders-table__cell-order-actions .button { padding: 0.3rem 7px; font-size: 1.1rem; }
.bt.-sml, :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner, .alert) .button, .woocommerce-Address-title a, .shipping-calculator-form button { padding: 0.5rem 15px; font-size: 1.1rem; }
.bt.-med, .comment-form input[type="submit"], input[type="submit"].-med { padding: 1rem 20px; font-size: 1.4rem; }
.bt.-arr::after { content: ''; display: inline-block; width: 6px; height: 10px; margin-left: 5px; background: url(img/arr-r.svg) 50% 50%/auto 100% no-repeat; vertical-align: middle; }
.bt.-arr.-sml::after { width: 4px; height: 8px; }

.bt.-alt { background-color: var(--c-txt); color: var(--c-bg); }
.bt.-alt:is(:hover, :focus) { background-color: var(--c-main); color: var(--c-bg); }

.bt.-pdf svg { display: inline-block; width: 12px; height: auto; margin-inline: 5px 7px; vertical-align: center; }

.msgbox, .wpcf7-response-output, html #pwgc-redeem-error:not(:empty) { position: relative; margin-bottom: 1.5rem; padding: 1.5rem 15px; line-height: 1.4; background-color: var(--c-msg-ll); border-left: 3px solid var(--c-msg-l); color: var(--c-msg); }
	.msgbox :is(p, ul) { margin-bottom: 1.5rem; }
	.msgbox > :last-child { margin-bottom: 0; }
	.msgbox ul { margin-left: 20px; list-style-type: disc; }
	.msgbox.-success ul { margin-left: 0; list-style-type: none; }
	.msgbox label { display: block; float: none; margin: 0; }
	.msgbox .close { position: absolute; top: 2px; right: 2px; display: none; }
	.wpcf7-response-output { padding-top: 1.5rem; }

.msgbox.-success, .sent .wpcf7-response-output { background: var(--c-success-ll); border-color: var(--c-success-l); color: var(--c-success); }
.msgbox.-success a { color: var(--c-success); text-decoration: underline; }
.msgbox.-success a:is(:hover, :focus) { color: var(--c-txt); }

.msgbox.-errors, .browsehappy, html #pwgc-redeem-error:not(:empty),
:is(.invalid, .aborted, .failed, .spam) .wpcf7-response-output { background: var(--c-error-ll); border-color: var(--c-error-l); color: var(--c-error); }
.msgbox.-errors a { color: var(--c-error); text-decoration: underline; }
.msgbox.-errors a:is(:hover, :focus) { color: var(--c-txt); }

:is(input, .select, textarea).wpcf7-not-valid, .woocommerce-invalid input,
:is(input, textarea)[aria-invalid=true] { border-color: var(--c-error); }
.wpcf7-not-valid-tip, .wpcf7-valid-tip { display: block; margin-top: 0.5rem; font-size: 1.2rem; color: var(--c-error); }
.wpcf7-valid-tip { color: var(--c-success); }
.woocommerce-invalid label { color: var(--c-error); }

.screen-reader-response, .wpcf7-response-output { display: none; }
:is(.invalid, .sent, .unaccepted, .spam, .aborted, .failed) .wpcf7-response-output { display: block; }
.bloc-content .wpcf7-response-output { font-size: 1.6rem; }

/* **************************** */
/** header */
.head { position: relative; z-index: 2; padding: 3.5rem 0 2.5rem; background-color: var(--c-txt); color: var(--c-bg); border-bottom: 6px solid var(--c-main); }
	.head .skip-main:focus { transition: all 0s linear; top: 0; left: 0; width: auto; height: auto; padding: 3px 5px; overflow: hidden; clip-path: unset; font-size: 1.2rem; background-color: var(--c-txt); color: var(--c-bg); }

	.head a { text-decoration: none; }
	.logo img { display: block; width: 100%; height: auto; }
	.logo a:is(:hover, :focus) img { opacity: 0.5; }
	.home .logo a:is(:hover, :focus) img { opacity: 1; }

	.head .container { display: grid; grid-template-columns: 224px 1fr; align-items: end; column-gap: 30px; }

	.head .nav { display: flex; align-items: center; justify-content: flex-end; gap: 0 25px; }
		.head .nav > ul { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 1rem 25px; }
		.head .nav :where(a:not(.bt)) { display: block; color: currentColor; line-height: 1.2; }
		.head .nav .bt { padding: 0.7rem 20px; font-size: 1.5rem; background-color: var(--c-main); }
		.head .nav .bt:is(:hover, :focus) { background-color: var(--c-main-h); }
		.head :is(.nav, .nav-mobile) .bt.selected { background-color: var(--c-main); }
		.head .nav a:where([href]):where(:hover, :focus),
		.head .nav a.active svg,
		:is(.nav, .store) :is(.current-menu-item, .current-menu-parent) > a { color: var(--c-main); }

		:is(.men-user, .men-cart) svg { display: block; }
		.men-user svg { width: auto; height: 22px; }
		.men-cart { position: relative; }
			.men-cart em { position: relative; top: 0; right: 5px; display: grid; place-content: center; width: 20px; height: 20px; background-color: var(--c-main); color: var(--c-bg); font-style: normal; font-size: 1.1rem; border-radius: 50%; }

	.head .store { position: absolute; top: -2.5rem; right: 0; display: flex; gap: 0 25px; font-size: 1.4rem; }
		.head .store ul { display: flex; align-items: center; gap: 0 25px; }
		.head .store :where(a:not(.bt)) { display: flex; color: var(--c-bg); }
		.head .store > ul :where(a:not(.bt)):is(:hover, :focus), .head .store .selected { color: var(--c-main); }
	.head .lang a { display: grid; place-content: center; width: 24px; height: 24px; font-size: 1rem; font-weight: bold; text-transform: uppercase; background-color: var(--c-bg); color: var(--c-txt); border-radius: 50%; }

	.has-sm, .menu-item-has-children { position: relative; }
	:is(.has-sm, .menu-item-has-children) > a::after { content: ''; display: inline-block; width: 12px; height: 7px; margin-left: 5px; background: url(img/arr-d.svg) 50% 50%/auto 100% no-repeat; vertical-align: middle; }
		:is(.has-sm, .menu-item-has-children) ul { display: none; position: absolute; top: 100%; background-color: var(--c-bg); min-width: 230px; padding: 0.5rem 0; font-size: 1.4rem; border-radius: 10px; overflow: hidden; box-shadow: 0 20px 15px rgba(0, 0, 0, 0.1), 0 20px 25px rgba(0, 0, 0, 0.2), 0 20px 35px rgba(0, 0, 0, 0.3); }
		.nav :is(.has-sm, .menu-item-has-children) ul { background-color: var(--c-txt); }
		:is(.has-sm, .menu-item-has-children) ul a { display: block; padding: 0.7rem 15px; line-height: 1.3; }
		:is(.has-sm, .menu-item-has-children) ul span[itemprop] { display: flex; align-items: center; gap: 0 5px; }
		:is(.has-sm, .menu-item-has-children) ul span svg { opacity: 0.75; }
		:is(.has-sm, .menu-item-has-children) ul a:where([href]):is(:hover, :focus),
		:is(.has-sm, .menu-item-has-children) ul a:where([href]).active:is(:hover, :focus),
		:is(.has-sm, .menu-item-has-children) .current-menu-item > a:where([href]) { background-color: var(--c-main); color: var(--c-bg); }
		:is(.has-sm, .menu-item-has-children) ul a:where([href]).active:is(:hover, :focus) svg { color: var(--c-bg); }

	/* menus */
	:is(.has-sm, .menu-item-has-children) :where(.has-sm, .menu-item-has-children) > a { font-weight: bold; }
	:is(.has-sm, .menu-item-has-children) :where(.has-sm, .menu-item-has-children) > a::after { display: none; }
	:is(.has-sm, .menu-item-has-children) :where(.has-sm, .menu-item-has-children) ul { position: static; display: block; min-width: inherit; padding-block: 0; border-radius: 0; box-shadow: none; }
	:is(.has-sm, .menu-item-has-children) .-pdf span:where([itemprop]) span { flex: 1 1 auto; }

	.no-js .has-sm > a:is(:hover, :focus) ~ ul,
	.no-js .has-sm > ul:is(:hover, :focus),
	.no-js .has-sm:focus-within > ul { display: block; }

	.mobile, #mobile-overlay { display: none; }

	.banner-break { background-color: var(--c-main); color: var(--c-bg); font-size: 1.4rem; }
	.banner-break .container { padding-block: 0.5rem; text-align: center; }

/* **************************** */
/** content */
#wrapper { }
.content { position: relative; z-index: 1; }
.container { position: relative; width: 100%; max-width: var(--content-w); margin: 0 auto; }
	h1, .h1 { margin-bottom: 3rem; font-size: 4.4rem; line-height: 1.1; text-wrap: balance; }
	h2, .h2 { margin-bottom: 3rem; font-size: 3rem; font-weight: 900; line-height: 1.1; text-wrap: balance; }
	h3, :is(.woocommerce-columns--addresses, .woocommerce-customer-details, #customer_login) h2 { margin-bottom: 2rem; font-size: 2.2rem; font-weight: 900; line-height: 1.2; }
	h4 { font-size: 2rem; margin-bottom: 1.2rem; font-weight: bold; }

	h2.strong { margin-bottom: 1.5rem; font-size: inherit; font-weight: bold; color: var(--c-text); }
	:is(h1, h2, h3, h4), :is(.h1, .h2) { color: var(--c-ti); }
	:is(h1, h2, h3, h4) a, :is(.h1, .h2) a { text-decoration-style: dotted; }

	:where(.text *) + h2:not(.strong) { margin-top: 4.5rem; }
	:where(.text *) + h3 { margin-top: 3rem; }
	:where(.text *) + h4 { margin-top: 2.5rem; }

/*	.text a[rel*="external"]::after { content: ''; font-size: 1.2rem; font-weight: normal; }*/

.text { margin-bottom: 3rem; line-height: 1.4; }
.text.-big { font-size: 1.8rem; }
.text.-big .cols2 { font-size: 1.6rem; }
	:is(.text, .woocommerce-message) :where(p, ul, ol, dl) { margin-bottom: 1.5rem; }
	.text ul { list-style-type: disc; margin-left: 20px; }
	.text ul ul { margin-bottom: 0; margin-top: 5px; list-style-type: circle; }
	.text ol { list-style-type: decimal-leading-zero; margin-left: 30px; }
	.-max, .lost_reset_password { max-width: var(--maxw); }

	.text :is(p, ol, ul, dl, iframe) + h2, .bloc-content + .bloc-content h2 { margin-top: 6rem; }
	.text :is(p, ol, ul, dl, iframe) + h3 { margin-top: 3rem; }

	.text .vid { display: block; }
	.text .vid video { width: 100%; height: auto; }

	.columns2 { columns: 2; column-gap: 3.8%; }

	.text .no-ls { list-style-type: none; margin-left: 0; }
	:is(.text, .woocommerce-message) > :last-child, .text.no-space { margin-bottom: 0; }

.out { width: 100vw; transform: translateX( calc( -1 * (100vw - var(--content-w))/2 ) ); }
.img-replace { position: relative; }
	.img-replace .to-replace { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }

.cols2, .cols1-2, .cols2-1, .cols3, .cols4, .cols5, .col2-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem 3.8%; justify-content: start; align-items: start; }
.cols1-2 { grid-template-columns: minmax(0, 1fr) 65.4%; }
.cols2-1 { grid-template-columns: 65.4% minmax(0, 1fr); }
.cols3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cols4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cols5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

:where(.cols2, .cols1-2, .cols2-1, .cols3, .cols4, .cols5, .col2-set).-reverse { grid-auto-flow: dense; }
	:where(.cols2, .cols1-2, .cols2-1, .col2-set).-reverse > *:nth-child(1) { grid-column: 2; }
	:where(.cols2, .cols1-2, .cols2-1, .col2-set).-reverse > *:nth-child(2) { grid-column: 1; }

.bloc-content {}
	.bloc-content :where(.cols2 > div, .container) > :last-child { margin-bottom: 0; }
	.bloc-content .bt { margin-top: 1.5rem; }
	.bloc-content:has(.cols2) + .bloc-content .bt { margin-top: 0; }
	.bloc-content:has(.-full.has-img) { margin-block: 4.5rem; }

	.bloc-content.-v-align .cols2 { align-items: center; }

	.bloc-content .submit .bt { margin-top: 0; }
	.bloc-content label { font-size: initial; }

	.bloc-content .addr { position: relative; margin-bottom: 3rem; padding: 3rem 30px; color: var(--c-bg); background-color: var(--c-txt); border-radius: var(--border-r); font-size: initial; }
		:is(.bloc-content, .infowin) .addr a { color: currentColor; text-decoration: none; }
		:is(.bloc-content, .infowin) .addr a:is(:hover, :focus) { opacity: 0.75; }
		:is(.bloc-content, .infowin) .addr h4 { font-size: 1em; color: currentColor; }
		:is(.bloc-content, .infowin) .addr div p { margin-bottom: 0; }
		:is(.bloc-content, .infowin) .follow { margin-left: 0; margin-bottom: 0; list-style-type: none; }

	.gm-style-iw-chr { position: absolute; z-index: 10; top: -10px; right: -10px; }

	.infowin { padding-top: 10px; }
		html .infowin h4 { margin-bottom: 1rem; padding-bottom: 0; }
		.infowin h4::after { display: none; }
		.infowin p { margin-bottom: 1rem; }
		.infowin > :last-child { margin-bottom: 0; }
		.infowin .follow { display: none; }

.w-img, .alignleft, .alignright, .wp-block-image, .aligncenter, .alignnone { margin-bottom: 1.5rem; }
.alignleft, .alignright, .wp-block-image, .aligncenter, .alignnone, :is(.w-img, .wp-block-image) img { display: block; max-width: 100%; height: auto; border-top: var(--border-w) solid var(--c-main); box-sizing: border-box; }
.alignnone { margin-left: var(--main-pad--); }
.alignnone, .aligncenter { border-left: var(--border-w) solid var(--c-main); }
.aligncenter { margin-inline: auto; }
.alignleft, .alignright { max-width: 48%; margin-top: 0.5rem; box-sizing: border-box; }
.alignleft { float: left; margin-right: 3.8%; margin-left: var(--main-pad--); border-left: var(--border-w) solid var(--c-main); }
.alignright { float: right; margin-left: 3.8%; margin-right: var(--main-pad--); border-right: var(--border-w) solid var(--c-main); }
.w-img {}
	.has-img:not(.-reverse) img { max-width: inherit; width: calc(100% + var(--main-pad)); margin-left: var(--main-pad--); border-left: var(--border-w) solid var(--c-main); }
	.cols2.has-img:not(.-reverse) img { margin-left: var(--main-pad--); }
	.cols2.has-img.-reverse img { margin-right: var(--main-pad--); margin-left: 0; }
	.has-img.-reverse img { border-right: var(--border-w) solid var(--c-main); }
	.w-img .desc, .wp-block-image figcaption { margin-top: 1rem; font-size: 1.2rem; color: #999; text-align: left; }
	.w-img .desc p:last-of-type { margin-bottom: 0; }

.gallery { margin-bottom: 3rem; }
	.gallery img { width: 100%; height: auto; object-fit: cover; }
	.gallery a:is(:hover, :focus) img { opacity: 0.5; }

.h-scroll-nav { display: none; justify-content: center; margin-top: 1rem; }
	.h-scroll-nav span { display: block; width: 8px; height: 8px; margin: 0 3px; border-radius: 50%; background-color: #999; }
	.h-scroll-nav .selected { background-color: #666; }

dialog { padding: 0; border: none; border-radius: var(--border-r); }
.-no-dialog dialog { position: fixed; z-index: 100; top: 0; right: 0; bottom: 0; left: 0; display: none; align-items: center; overflow: auto; }
	dialog .overlay { position: fixed; z-index: 100; top: 0; right: 0; bottom: 0; left: 0; }
	dialog::backdrop, .-no-dialog dialog .overlay { background-color: var(--c-txt); opacity: 0.75; }
	dialog .inner { position: relative; z-index: 101; min-width: calc(320px - (var(--main-pad) * 2)); max-width: 580px; margin: auto; padding: var(--main-pad); background-color: var(--c-bg); box-sizing: border-box; }
	dialog .close { position: absolute; top: 5px; right: 5px; padding: 0; width: 32px; height: 32px; color: var(--c-text); background-color: transparent; }
	dialog .close svg { position: absolute; top: 7px; right: 7px; bottom: 7px; left: 7px; }
	dialog .close path { fill: currentColor; }
	dialog .close:is(:hover, :focus) { color: var(--c-main); }

.msgs { position: fixed; z-index: 100; top: 0; left: 0; right: 0; display: grid; gap: 1.5rem; max-height: 100%; overflow: auto; font-size: 1.4rem; box-sizing: border-box; }
	.msgs > :first-child { margin-top: 10px; }
	.alert, .-no-dialog .alert { position: static; display: block; }
	.alert .close { top: 0; right: 0; width: 28px; height: 28px; }
	.alert .inner { min-width: calc(320px - (var(--main-pad) * 2)); max-width: 580px; margin: 0 auto; padding: 15px; border-radius: var(--border-r); text-align: center; }
	.alert.-success .inner { background-color: var(--c-success-ll); color: var(--c-success); border: 1px solid var(--c-success-l); }
	.alert.-errors .inner { background-color: var(--c-error-ll); color: var(--c-error); border: 1px solid var(--c-error-l); }

.section { position: relative; padding-block: var(--section-pad); }
.section.-top { padding-bottom: 0; }
:where(body:not(.home)) main .section { width: var(--content-w); margin-inline: auto; border-radius: var(--border-r); box-sizing: border-box; }
:where(body:not(.home)) main .section:where(:not(.-white)) { padding-inline: var(--section-pad); }
.hero + .text > :last-child:is(.section:not(.-white)) { margin-bottom: var(--section-pad); }
	.section > .-max { max-width: inherit; }
	.section > .-max .container > * { max-width: var(--maxw); }
.section.-red { background-color: var(--c-main); color: var(--c-bg); }
	.section.-red :is(.alignnone, .aligncenter, .alignleft, .alignright), .section.-red .has-img img { border-color: var(--c-txt); }
	.section.-red .bt:not(.-alt) { background-color: var(--c-txt); }
	.section.-red .bt:not(.-alt):is(:hover, :focus) { background-color: #333; }
.section.-black { background-color: var(--c-txt); color: var(--c-bg); }
	.section:where(.-red, .-black) :is(h1, h2, h3, h4, a) { color: currentColor; }
	.section:where(.-red, .-black) a:not(.bt):is(:hover, :focus) { opacity: 0.75; }
.section.-gray { background-color: #f2f2f2; }

:where(body:not(.home)) .section:not(.-white) + .section:not(.-white) { margin-top: 6rem; }

.section > .container > *:last-child, .section > :last-child { margin-bottom: 0; }
.section.-white + .section.-white, .section.-red + .section.-red, .section.-black + .section.-black, .section.-gray + .section.-gray { padding-top: 0; }
.section.-white + .section:where(.-black, .-red, .-gray) { overflow: hidden; }
.section.-white + .section:where(.-black, .-red, .-gray)::before,
.bloc-content .addr::before { content: ''; position: absolute; z-index: 0; top: 0; right: var(--main-pad); width: 150px; height: 150px; background: url(img/icn-spiral-white.svg) 50%/auto 100% no-repeat; transform: translateY(-50%); }

.hero { position: relative; background: linear-gradient(to bottom, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 5%, rgba(0, 0, 0, 0) 100%); }
	.hero .container { padding-block: 6rem 3rem; }
	.hero .container::before { content: ''; position: absolute; z-index: -1; left: 0; top: 0; width: 300px; height: 300px; background: url(img/icn-spiral.svg) 0 0/100% no-repeat; transform: translate(-50%, -30%); opacity: 0.025; }
	.hero .container::after { content: ''; position: absolute; left: 0; bottom: 0; width: 20%; height: 2px; background-color: var(--c-main); transform: translateX(var(--main-pad--)); }
	.hero .container > :last-child { margin-bottom: 0; }
	.hero h1 { color: var(--c-txt); }
	.hero h4 { margin-bottom: 0; color: currentColor; font-weight: normal; font-size: 1.4rem; text-transform: uppercase; }
	.hero h4 a { color: currentColor; text-decoration: underline dotted; }
	.hero h4 a svg { display: inline-block; width: auto; height: 11px; margin-right: 2px; transform: rotate(180deg); }
	.hero h4 a:is(:hover, :focus) { color: var(--c-main); }

.bts { display: flex; flex-wrap: wrap; gap: 0.5rem 15px; }

.menus { display: flex; padding-block: 3rem; border-top: 2px solid var(--c-txt); border-bottom: 2px solid var(--c-txt); }
* + .menus { margin-top: 4.5rem; }
	.menus > div { flex: 1 1 auto; font-size: 1.4rem; }
	.menus h3 { margin-bottom: 0; }
	.menus ul { flex: 0 0 66%; display: grid; align-items: stretch; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; margin: 0; list-style-type: none; }
	.menus a { display: block; height: 100%; box-sizing: border-box; }
	.menus a svg { margin-left: 5px; vertical-align: center; }
	.menus .bt { margin-top: 0; }

.bloc-img .container { display: flex; gap: 1.5rem max(3.8%, 30px); align-items: start; }
	.bloc-img picture { flex: 0 0 96px; display: flex; align-items: center; justify-content: center; height: 96px; background-color: rgba(0, 0, 0, 0.6); border-radius: 50%; overflow: hidden; }
	.bloc-img picture img { display: block; width: 75%; height: auto; aspect-ratio: 3/2.5; object-fit: contain; }
	.bloc-img > div { flex: 1 1 auto; }

.bloc-img + .bloc-img { margin-top: 4.5rem; }

/** home */
.main { position: relative; }
	.main > div:nth-child(n + 2) { display: none; }
	.main .slide { position: relative; background-color: var(--c-txt); color: var(--c-bg); }
	.main .-has-img::before { content: ''; position: absolute; z-index: 1; top: 0; right: 0; bottom: 0; left: 0; background-color: var(--c-txt); opacity: 0.5; }
	.main .-has-img .txt { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 2; display: grid; place-content: center; }
	.main :not(.-has-img) .txt { padding-block: var(--section-pad); }
	.main .container { width: auto; max-width: 640px; text-align: center; }
	.main :is(h1, p) { margin-bottom: 3rem; font-weight: 900; font-size: 4.8rem; line-height: 1.1; color: currentColor; text-transform: uppercase; text-wrap: balance; }
	.main :is(h1, p) span { display: block; text-wrap: balance; }
	.main :is(h1, p) small { display: block; margin-top: 1.2rem; font-size: max(0.5em, 1.4rem); line-height: 1.3; text-transform: none; font-weight: normal; }
	.main img { display: block; width: 100%; max-height: 480px; object-fit: cover; }

.tns-nav { position: absolute; z-index: 5; bottom: 30px; left: 0; right: 0; display: flex; justify-content: center; align-items: center; gap: 6px; }
	.tns-nav button { display: block; width: 8px; height: 8px; padding: 0; background-color: var(--c-bg); }
	.tns-nav .tns-nav-active { opacity: 0.75; }

.home-feature { background-color: var(--c-main); color: var(--c-bg); --padding-top: 4.5rem; --border-w: 30px; }
	.home-feature section { display: grid; grid-template-columns: 50% 50%; align-self: stretch; background-color: var(--c-bg); color: var(--c-text); }
	.home-feature .txt { background-color: var(--c-main); }
	.home-feature .in { display: grid; place-content: center; max-width: calc(var(--content-w) / 2); height: 100%; padding: calc(var(--padding-top) + var(--border-w)) var(--main-pad) var(--padding-top); background-color: var(--c-bg); box-sizing: border-box; }
	.home-feature .text { margin-bottom: 1.5rem; }
	.home-feature h2 { margin-bottom: 1.5rem; text-transform: uppercase; }
	.home-feature picture { position: relative; width: calc(var(--content-w) / 2); margin-left: auto; background-color: var(--c-txt); border-top: var(--border-w) solid var(--c-txt); border-left: var(--border-w) solid var(--c-txt); box-sizing: border-box; }
	.home-feature img { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
	.home-feature h4 { margin-bottom: 0; font-weight: 900; line-height: 1.2; text-transform: uppercase; }
	.home-feature .-reverse { margin-bottom: calc(-1 * var(--border-w)); }
	.home-feature .-reverse picture { order: 2; margin-left: 0; margin-right: auto; border-right: var(--border-w) solid var(--c-txt); border-left: none; }
	.home-feature .-reverse .in { margin-left: auto; padding-top: var(--padding-top); padding-bottom: calc(var(--padding-top) + var(--border-w)); }
	.home-feature .-reverse img { left: inherit; right: 0; }

.home-gout { position: relative; z-index: 10; padding-block: 10rem; background-color: var(--c-txt); color: var(--c-bg); overflow-x: hidden; overflow-x: clip; }
	.home-gout h3 { max-width: 640px; font-size: 4.4rem; color: currentColor; text-transform: uppercase; text-wrap: balance; }
	.home-gout picture { position: absolute; top: 50%; right: calc((100vw - var(--content-w)) / 2); }
	.home-gout img { display: block; transform: translate(60%, -50%); }
	.home-gout svg { position: absolute; bottom: 0; right: calc((100vw - var(--content-w)) / 2); width: 250px; height: auto; transform: translateY(var(--main-pad)); }

.home-distinct {}
	.home-distinct h2 { margin-bottom: 4.5rem; text-transform: uppercase; text-align: center; }
	.home-distinct h2 span { display: block; margin-top: 1rem; color: var(--c-main); font-size: max(0.6em, 1.4rem); }
	.home-distinct .txt { display: grid; grid-template-columns: repeat(2, 50%); grid-template-areas: "txt1 img1" "txt1 txt2" "img2 txt2"; color: var(--c-bg); }
	.home-distinct .txt > div { display: flex; align-items: center; padding: 4.5rem var(--main-pad); text-align: center;  }
	.home-distinct div.-first { grid-area: txt1; background-color: var(--c-main); }
	.home-distinct div.-second { grid-area: txt2; background-color: var(--c-txt); }
	.home-distinct picture.-first { grid-area: img1; }
	.home-distinct picture.-second { grid-area: img2; }
	.home-distinct picture img { display: block; width: 100%; height: auto; object-fit: cover; }
	.home-distinct .text img { display: block; margin: 0 auto 1.5rem; }
	.home-distinct .text p { text-wrap: balance; }

/*.home .foot { padding-top: 12rem; }*/
.home-gallery { padding-bottom: var(--section-pad); }
	.home-gallery .tns-outer .cols5 { display: block; }
	.home-gallery a { display: block; }
	.home-gallery picture { display: block; border-radius: 50%; background-color: var(--c-txt); }
	.home-gallery img { display: block; width: 100%; height: auto; border-radius: inherit; object-fit: cover; aspect-ratio: 1; }
	.home-gallery a:is(:hover, :focus) img { opacity: 0.75; }
	.tns-controls button { position: absolute; z-index: 5; top: 50%; width: 36px; height: 36px; padding: 0; transform: translate(150%, -50%); border-radius: 50%; }
	.tns-controls button svg { display: block; width: 100%; height: auto; }
	.tns-controls [data-controls="prev"] { left: 0; transform: translate(-150%, -50%) rotate(180deg); }
	.tns-controls [data-controls="next"] { right: 0; }
	.tns-controls button:is(:hover, :focus) svg circle { fill: var(--c-main-h); }

/** about */
:is(.job-section, .contact-section) .container::after { content: ''; position: absolute; top: 50%; right: 0; width: 120px; height: 120px; background: url(img/icn-chef.svg) 50%/auto 100% no-repeat; transform: translateY(-50%) rotate(7deg); opacity: 0.15; }
#bt-job-form { padding: 0; border-radius: 0; color: var(--c-main); font-size: inherit; font-weight: normal; background-color: transparent; text-decoration: underline; }
#bt-job-form:is(:hover, :focus) { color: var(--c-txt); }
.section.-red #bt-job-form { color: var(--c-bg); }
.section.-red #bt-job-form:is(:hover, :focus) { opacity: 0.75; }

.section-about .vid { max-width: 462px; height: auto; }
.section-about .cols2 > :last-child::after { content: ''; display: block; width: 150px; height: 150px; margin: 3rem auto 0; background: url(img/icn-store.svg) 50%/auto 100% no-repeat; transform: rotate(7deg); opacity: 0.15; }
.contact-section .container::after { background-image: url(img/icn-store.svg); }

.ls-members { display: grid; gap: 6rem 0; }
h2 + .ls-members { margin-top: 4.5rem; }
	.ls-members .cols2 { align-items: center; grid-auto-flow: dense; }
	.ls-members .cols2:nth-child(even) > *:nth-child(1) { grid-column: 2; }
	.ls-members .cols2:nth-child(even) > *:nth-child(2) { grid-column: 1; }
	.ls-members picture { display: block; border-top: 15px solid var(--c-main); border-left: 15px solid var(--c-main); box-sizing: border-box; }
	.ls-members .img { width: 100%; height: auto; aspect-ratio: 460/640; object-fit: cover; }
	.ls-members .cols2:nth-child(even) > *:nth-child(1) { border-left: none; border-right: 15px solid var(--c-main); }

.job-dialog { font-size: 1.4rem;}
	.job-dialog form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 3.8%; }
	.job-dialog textarea { height: 100px; }
	.job-dialog form .form-group:nth-child(7),
	.job-dialog :where(:not(.form-group)) { grid-column: span 2; }

/** shipping */
.map-dialog { font-size: 1.4rem; }
#map-dialog { margin-bottom: auto; }
	.map-dialog h3 { margin-top: 0; }
	.map-dialog .text { margin-bottom: 1.5rem; }
	#map-ship { width: 100%; max-height: 500px; aspect-ratio: 1; }

.shop_table_responsive ~ .bt-map-dialog { display: block; margin-top: -2rem; }

/** contact */
.map { position: relative; width: var(--content-w); height: 350px; margin-inline: auto; margin-right: auto; background-color: var(--c-main); border-top: var(--border-w) solid var(--c-main); border-right: var(--border-w) solid var(--c-main); transform: translateX(calc(0px - var(--border-w))); box-sizing: border-box; }
	.map > p { position: absolute; top: calc(0px - var(--border-w) / 2); right: 0; color: var(--c-bg); font-size: 1.4rem; transform: translateY(-50%); }
	.map > p a { color: currentColor; }
	.map > p svg, .infowin svg { display: inline-block; width: auto; height: 10px; margin-left: 5px; }
	.map > p a:is(:hover, :focus) { opacity: 0.75; }
	#gmap { width: 100%; height: 100%; }

/** woocommerce */
.woocommerce-message, .woocommerce-error, .woocommerce-info, .woocommerce-notice, .wc-block-components-notice-banner { margin-bottom: 3rem; padding: 20px; border-left: 3px solid var(--c-msg); background-color: var(--c-gray-l); text-align: left; }
.woocommerce-message { border-left-color: var(--c-success); }
.woocommerce-info { border-left-color: #999; }
.woocommerce-notice { border-left-color: var(--c-msg); }
.woocommerce-message + .woocommerce-message { margin-top: -2.5rem; }
.wc-block-components-notice-banner svg { display: none; }
.woocommerce-error { background: var(--c-error-ll); border-color: var(--c-error-l); }
.woocommerce-notice--success { background: var(--c-success-ll); border-color: var(--c-success-l); }
:is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner) .button { vertical-align: middle; margin-right: 5px; }

.woocommerce-order-details__title, .product-quantity label,
.woocommerce-shipping-destination, label[for=billing_address_2], label[for=shipping_address_2],
.order-again, .coupon label, .cart_totals h2 { display: none; }

.store-results { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; margin-bottom: 3rem; }
.woocommerce-result-count { margin: 0.5rem 15px 0.5rem 0; }

.woocommerce mark { font-weight: bold; }
.qty.text { margin-bottom: 0; }

/** category */
.ls-cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.product-category { position: relative; min-height: 90px; aspect-ratio: 1; }
	.product-category a { display: grid; place-content: center; height: 100%; padding: 3rem 25px; background-color: var(--c-main); text-decoration: none; overflow: hidden; box-sizing: border-box; }
	.-all a { background-color: var(--c-txt); }
	.product-category:has(img) a::before { content: ''; position: absolute; z-index: 2; top: 0; right: 0; bottom: 0; left: 0; background: var(--c-txt); opacity: 0.4; }
	.product-category picture { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
	.product-category img { position: absolute; z-index: 0; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
	.product-category h3 { flex: 1 0 auto; position: relative; z-index: 5; margin: 0; font-size: 1.8rem; color: var(--c-bg); font-weight: bold; text-align: center; text-wrap: balance; }
	.product-category a:is(:hover, :focus) { background-color: var(--c-main-h); }
	.product-category a:is(:hover, :focus) img { opacity: 0.5; }
	.cats .-all a:is(:hover, :focus) { background-color: var(--c-main); }

.section-products { --side-width: 275px; display: grid; grid-template-columns: 1fr var(--side-width); gap: var(--section-pad) 30px; align-items: start; margin-top: 4.5rem; }
	.section-products .side { position: sticky; top: var(--main-pad); order: 2; }

.mini-cart { position: relative; padding: var(--main-pad); font-size: 1.4rem; background-color: var(--c-gray-l); border-radius: var(--border-r); }
	.woocommerce-mini-cart { display: grid; gap: 0.5rem 0; }
	.mini-cart li { position: relative; padding-left: 25px; padding-bottom: 0.5rem; line-height: 1.2; border-bottom: 1px dotted var(--c-txt); }
	.mini-cart li:last-child { padding-bottom: 0; border-bottom: none; }
	:is(.mini-cart, .product-remove) .remove { position: absolute; top: 0; left: 0; width: 18px; height: 18px; text-decoration: none; text-indent: -9999px; }
	:is(.mini-cart, .product-remove) .remove::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(img/icn-close.svg) 50% 50%/70% no-repeat; }
	:is(.mini-cart, .product-remove) .remove:is(:hover, :focus) { opacity: 0.5; }
	.mini-cart .quantity { display: block; font-size: 0.8333em; opacity: 0.85; font-style: italic; }
	.woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin-top: 0.5rem; padding-top: 0.5rem; border-top: 2px solid var(--c-txt); }
	.woocommerce-mini-cart__buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 10px; margin-top: 1.5rem; }
		.woocommerce-mini-cart__buttons a { padding: 0.5rem 15px; font-size: 1.4rem; }
		.woocommerce-mini-cart__buttons .checkout { background-color: var(--c-txt); }
		.woocommerce-mini-cart__buttons .checkout:is(:hover, :focus) { background-color: var(--c-main); }

.bt-mini-cart { position: sticky; top: var(--main-pad); z-index: 10; display: none; place-content: center; width: 44px; height: 44px; margin-left: auto; padding: 0; background-color: var(--c-txt); box-shadow: 0 0 15px rgba(0, 0, 0, 0.25), 0 0 25px rgba(0, 0, 0, 0.25), 0 0 35px rgba(0, 0, 0, 0.25); }
	.bt-mini-cart:is(:hover) { background-color: var(--c-main); }
	.bt-mini-cart svg { width: 32px height: auto; }

.nav-cats { padding: var(--main-pad); font-size: 1.4rem; color: var(--c-bg); background-color: var(--c-txt); border-radius: var(--border-r); }
	.nav-cats h4 { color: currentColor; }
	.nav-cats ul { columns: 3; gap: 0 3.8%; margin-left: 15px; list-style-type: circle; }
	.nav-cats ul li { break-inside: avoid; }
	.nav-cats ul li + li { margin-top: 0.5rem; }
	.nav-cats a { display: block; line-height: 1.2; text-decoration: none; color: currentColor; }
	.nav-cats .selected { color: var(--c-main); }
	.nav-cats a:is(:hover, :focus) { opacity: 0.75; }

.prod-list { display: grid; gap: 4.5rem 0; }
	.prod-list h2 { margin-bottom: 1.5rem; font-size: 2rem; }
	.cat-desc { margin-top: -1rem; font-size: 1.4rem; font-style: italic; }

.ls-products { display: grid; gap: 1.5rem 0; }
.prod-list > li { padding-bottom: 4.5rem; border-bottom: 2px solid var(--c-txt); }
.prod-list > li:last-child { padding-bottom: 0; border-bottom: none; }
	.ls-products .product { display: flex; justify-content: space-between; align-items: flex-start; gap: 0.3rem 5px; }
		.ls-products .prod-ti { flex: 1 1 auto; }
		.ls-products h3 { position: relative; margin: 0; font-weight: normal; font-size: 1em; }
			.ls-products h3::before { content: ''; position: absolute; z-index: 0; bottom: 2px; left: 0; right: 0; height: 1px; border-bottom: 1px dotted var(--c-text); }
			.ls-products h3 > span { position: relative; z-index: 1; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.2rem 5px; padding: 0 5px 2px 0; background-color: var(--c-bg); }
			.ls-products h3 em { display: inline-block; opacity: 0.75; font-size: 85%; }
		.ls-products .new { padding: 2px 7px; background-color: var(--c-main); color: var(--c-bg); text-transform: uppercase; font-size: 1rem; border-radius: 200px; }
		.ls-products .prod-img { flex: 0 0 20px; cursor: zoom-in; }
			.ls-products .prod-img picture { display: block; border-radius: 50%; overflow: hidden; aspect-ratio: 1; }
			.ls-products .prod-img img { aspect-ratio: 1; object-fit: cover; }
			.ls-products .prod-img:is(:hover, :focus) { opacity: 0.5; }
		.ls-products .ti { display: flex; align-items: center; gap: 0 3px; }
		.ls-products .tt img { display: block; width: 16px; height: auto; }
		.ls-products .price { flex: 0 0 auto }
		.ls-products .desc { margin-top: 0.25rem; font-size: 1.4rem; line-height: 1.2; opacity: 0.75; }
		.bloc-add-to-cart { position: relative; flex: 0 0 auto; margin-left: 15px; }
		.ls-products .button { padding: 0.25rem 15px; font-size: 1.4rem; }

/** single product */
.products {}
	.products a { position: relative; display: block; text-decoration: none; }
	:is(.products, .prod-img) img { display: block; width: 100%; height: auto; }

.onsale { position: absolute; z-index: 2; top: 0; right: 0; padding: 2px 5px; background-color: var(--c-main); font-size: 1.4rem; }

.prod-single > .product { display: grid; grid-template-columns: 48% 48%; column-gap: 3.8%; }
	.prod-single .prod-img { position: relative; }
		.prod-img a { display: block; cursor: zoom-in; border: 1px solid var(--c-border); }
		.prod-img .gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; margin-top: 2px; }

	.prod-single .summary {}
		.product_title { margin-bottom: 0; }
		.summary .price { margin-bottom: 3rem; color: var(--c-main); font-size: 2rem; }
		.prod-single .quantity input { width: 70px; }

		.woocommerce-product-details__short-description { margin-bottom: 3rem; }
		.single_add_to_cart_button { margin-top: 3rem; }
		.product_meta { display: grid; margin-top: 1rem; }

	.woocommerce-variation-availability { margin: 0 0 1.5rem; }
	.stock { display: inline-block; padding: 2px 8px; background-color: var(--c-gray-l); border: 1px solid var(--c-border); font-size: 1.1rem; border-radius: 12px; }
		.available-on-backorder { background-color: var(--c-msg-ll); border: 1px solid var(--c-msg-l); color: var(--c-msg); }
		.out-of-stock { background: var(--c-error-ll); border-color: var(--c-error-l); color: var(--c-error); }
		.in-stock { background: var(--c-success-ll); border-color: var(--c-success-l); color: var(--c-success); }
	.stock + .cart { margin-top: 1.5rem; }

	:is(.variations, .group_table) { width: 100%; border: none; }
		:is(.variations, .group_table) :where(tr:nth-child(2n)) { background-color: transparent; }
		:is(.variations, .group_table) :is(td, th) { padding: 5px 0; vertical-align: middle; border: none; }
		:is(.variations, .group_table) :is(.label, label) { margin-bottom: 0; font-weight: 500; }
		:is(.variations, .group_table) .label { display: table-cell; padding-right: 10px; }
		:is(.variations, .group_table) .value { display: flex; align-items: center; gap: 10px; }
		:is(.variations, .group_table) .value .select { min-width: 200px; }
		:is(.variations, .group_table) .reset_variations { margin: 0; font-size: 1.2rem; color: var(--c-text); }
		:is(.variations, .group_table) tr:not(:last-child) .label { vertical-align: middle; }
		:is(.variations, .group_table) tr:not(:last-child) label { margin-top: 0; }

	html .pwgc-label { font-weight: 500; }

	.single_variation_wrap { margin-top: 1.5rem; }
		.single_variation { margin: 0 0 1.5rem; }
		.woocommerce-variation-description:not(:empty) { margin: 1rem 0 1.5rem; padding: 0.5rem 0 0.5rem 1.5rem; font-size: 1.4rem; line-height: 1.3; border-left: 1px solid var(--c-border); }
			.woocommerce-variation-description :is(ul, p) { margin-bottom: 1.5rem; }
			.woocommerce-variation-description > :last-child { margin-bottom: 0; }

.box-giftcard { margin-top: 3rem; padding: 20px; background: var(--c-gray-l); font-size: 1.4rem; }
	.box-giftcard > :last-child { margin-bottom: 0; }
	.box-giftcard h4 { margin-bottom: 0; font-size: 1.6rem; }
	.box-giftcard hr { margin-block: 2.5rem; border: none; border-top: 1px solid #ddd; }
	.box-giftcard .text { margin-bottom: 1.5rem; }
	.box-giftcard label { color: var(--c-txt); }
	.box-giftcard :is(input, textarea) { background-color: var(--c-bg); }

/** forms */
.form-row { margin-bottom: 1.5rem; }
	.form-row .input-text { display: block; width: 100%; margin-top: 2px; }
	.validate-required,
	.login label,
	#wc-stripe-cc-form label,
	.register label:where([for="reg_email"], [for="reg_password"]),
	label[for="password_1"],
	label[for="password_2"],
	.woocommerce-ResetPassword label[for="user_login"],
	.edit-account label:where([for="account_email"], [for="account_first_name"], [for="account_last_name"], [for="account_display_name"]),
	.comment-form-rating label,
	.comment-form-comment label,
	.required-field-message { position: relative; padding-left: 10px; }
	.validate-required label { padding-left: 10px; }

	.validate-required,
	.edit-account label:where([for="password_1"], [for="password_2"]) { padding-left: 0; }
	.form-row .required, .comment-form .required { position: absolute; top: 0; left: 0; }

.woocommerce-form-login-toggle + .login { display: flex; flex-wrap: wrap; max-width: var(--maxw); }
	.woocommerce-form-login-toggle + .login p:first-of-type { flex: 0 0 100%; margin-bottom: 3rem; }
	.woocommerce-form-login-toggle + .login .form-row { flex: 0 0 100%; }
	.woocommerce-form-login-toggle + .login .form-row-first,
	.woocommerce-form-login-toggle + .login .form-row-last { flex: 0 0 48%; }
	.woocommerce-form-login-toggle + .login .form-row-first { margin-right: 3.8%; }
	.woocommerce-form-login-toggle + .login .submit { margin-top: 0; }

.select2-container { text-align: left; height: var(--input-h); }
	.select2-dropdown { background-color: var(--c-gray-l); color: var(--c-text); }
	.select2-container--default .select2-selection--single { height: var(--input-h); border-color: var(--c-border); background-color: var(--c-gray-l); border-radius: 0; }
	.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: var(--input-h); }
	.select2-container--default .select2-selection--single .select2-selection__arrow { width: 30px; height: calc(var(--input-h) - 2px); }
	.select2-container--default .select2-selection--single .select2-selection__arrow b { position: absolute; margin: 0; border: none; }
	.select2-container--default .select2-selection--single .select2-selection__arrow b::before { content: ''; position: absolute; top: 0; left: 0; width: 18px; height: 9px; background: url(img/arr-d-alt.svg) 50%/80% no-repeat; transform: translate(-50%, -50%); }
	.select2-container--default .select2-search--dropdown .select2-search__field { background-color: var(--c-bg); }
	.select2-dropdown, .select2-container--default .select2-search--dropdown .select2-search__field { border-color: var(--c-border); border-radius: 0; }
	.select2-container--default .select2-results__option:is([aria-selected="true"], [data-selected="true"]) { background-color: var(--c-main); color: var(--c-bg); }

/** cart */
.shop_table { width: 100%; margin-bottom: 3rem; box-sizing: border-box; border: 1px solid var(--c-border); font-size: 1.4rem; }
	.shop_table th, .shop_table td { padding: 0.8rem 12px; border-bottom: 1px solid var(--c-border); vertical-align: top; }
	.shop_table td:last-of-type { border-right: 1px solid var(--c-border); }
	.shop_table thead { background-color: var(--c-main); color: var(--c-bg); text-transform: uppercase; font-size: 1.4rem; font-weight: bold; }
	.shop_table thead th { border: none; }
	.shop_table tbody tr:not(.order-total):nth-child(even) { background-color: var(--c-gray-l); }
	.actions, tfoot, .order-total { background-color: #666; color: var(--c-bg); }
	.order-total, tfoot tr:last-of-type { background-color: var(--c-txt); }
	.woocommerce-remove-coupon { font-size: 1.2rem; text-decoration: underline; }

	.cart-subtotal td, .order-total td, .product-total, .tax-rate td,
	.order_details tfoot td, .cart-discount td, .woocommerce-orders-table__header-order-actions,
	.woocommerce-orders-table__cell-order-actions,
	.woocommerce-shipping-totals td, .shipping td,
	.shop_table .product-price, .shop_table .product-subtotal { text-align: right; }
	.shop_table .product-quantity, .booking-status { text-align: center; }
	.shop_table .product-thumbnail { display: none; }
	.shop_table .product-quantity .quantity { display: inline-block; }
	.shop_table .product-quantity input { width: 60px; height: auto; margin-left: 0; border: none; border-bottom: 1px solid var(--c-border); background: transparent; }
	.shop_table .product-remove { position: relative; width: 20px; padding-right: 0; }

	.shop_table .remove { position: relative; display: block; width: 20px; height: 20px; text-indent: -9999px; text-align: left; }

	.shop_table td.product-name { font-weight: 500; line-height: 1.2; }
	.mini_cart_item .tt { display: none; }
	.product-name .tt { margin-right: 3px; }
	.product-name > a { display: block; }
	.order_details .product-name > a { display: inline; }

	.shop_table .variation { margin-top: 5px; }
		.shop_table .variation, .wc-item-meta li { display: grid; grid-template-columns: auto 1fr; gap: 5px 10px; font-size: 1.2rem; }
		.shop_table .variation dt, .wc-item-meta li strong { font-weight: 500; }
		.shop_table .variation dd, .wc-item-meta li p { font-weight: normal; }

	.wc-item-meta { display: table; }
		.wc-item-meta li { display: table-row; }
		.wc-item-meta li > :is(strong, p) { display: table-cell; padding-block: 0.2rem; }
		.wc-item-meta li > strong { padding-right: 10px; }

	.actions > button { float: right; }
	.actions > button:hover, .actions > button:focus {}

	.coupon { position: relative; float: left; display: flex; align-items: center; }
		.coupon input { width: 210px; font-size: 1.4rem; border-radius: var(--border-r); }
		:is(.coupon, .actions) button { padding-inline: 15px; font-size: 1.2rem; background-color: var(--c-txt); }
		.coupon input { height: 30px; padding-right: 100px; }
		.coupon button { position: absolute; top: 0; right: 0; border-radius: var(--border-r); }
		.coupon input + .button, .actions > button { height: 30px; padding-block: 0; }

	.woocommerce-shipping-methods ~ .woocommerce-shipping-calculator .shipping-calculator-button { margin-top: 0.5rem; }
	.shipping-calculator-button { display: inline-block; }
	.shipping-calculator-form { max-width: 300px; margin-top: 1rem; margin-left: auto; }
	.shipping-calculator-form input,
	.shipping-calculator-form .select2-container--default .select2-selection--single { background-color: var(--c-bg); }

	:is(.-store-closed, .-on-break) .wc-proceed-to-checkout,
	:is(.-store-closed, .-on-break) :is(#payment, #place_order) { display: none; }
	:is(.-store-closed, .-on-break) .woocommerce-shipping-totals td { background-color: var(--c-error); }

#pwgc-redeem-form { max-width: var(--maxw); }
	#pwgc-redeem-form br { display: none; }
	html #pwgc-redeem-form { margin-bottom: 4.5rem; }
	#pwgc-redeem-form .form-group { display: flex; gap: 0.5rem 0 }
	#pwgc-redeem-form .form-group input[type="text"] { flex: 1 1 auto; width: auto; margin-right: -30px; padding-left: 15px; padding-right: 30px; border-radius: var(--border-r) 0 0 var(--border-r); }
	#pwgc-redeem-form .form-group .bt { flex: 0 0 auto; }
.pwgc-total td { text-align: right; }
.pwgc-remove-card { color: currentColor; }

/** checkout */
#ship-to-different-address label { display: flex; align-items: center; }
#ship-to-different-address input { margin-right: 5px; }

.create-account label { display: flex; align-items: center; }
	.create-account label input { flex: 0 0 auto; margin-right: 7px; }
	.create-account label span { flex: 0 0 auto; }

#billing_address_1_field, #shipping_address_1_field { margin-bottom: 0.5rem; }
#order_review_heading { margin-top: 4.5rem; }

.woocommerce-shipping-methods { display: grid; gap: 1rem 0; }
	.woocommerce-shipping-methods li { display: flex; flex-wrap: wrap; flex-direction: row-reverse; gap: 0 5px; }
	.woocommerce-shipping-methods li input { flex: 0 0 auto;  }
	.woocommerce-shipping-methods label { flex: 1 1 calc(100% - 30px); margin-bottom: 0; text-align: right; line-height: 1.2; }
.addr-pickup { flex: 0 0 100%; line-height: 1.2; font-style: italic; font-size: 1.2rem; }

.payment_methods { display: grid; gap: 3rem 0; margin-bottom: 4.5rem; padding: 3rem 0; border-top: 1px solid var(--c-border); border-bottom: 1px solid var(--c-border); }
	.payment_methods > li { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem 10px; }
	.payment_methods .payment_box { flex-basis: 100%; }
	.payment_methods > li > label { margin: 0; font-weight: bold; font-size: 1.8rem; }

	.payment_method_elavon_converge_credit_card > label { display: flex; align-items: center; gap: 0.5rem 15px; }

.woocommerce-order-pay #wc-elavon-converge-credit-card-credit-card-form { max-width: 640px; }
.woocommerce-order-pay .order_details { margin-bottom: 3rem; }
.woocommerce-order-pay .payment_method_elavon_converge_credit_card > p { font-weight: bold; }
.woocommerce-order-pay .payment_method_elavon_converge_credit_card label[for="wc-elavon-converge-credit-card-tokenize-payment-method"] { margin-bottom: 0; margin-left: 5px; }

/** completed */
.woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 5px 5px; margin-bottom: 3rem; text-transform: uppercase; font-size: 1.2rem; font-weight: bold; }
	.woocommerce-order-overview li { flex: 1 0 auto; padding: 1rem 15px; background: var(--c-txt); color: var(--c-bg); }
	.woocommerce-order-overview strong { display: block; text-transform: none; font-size: 1.4rem; font-weight: normal; }
.woocommerce-order-details { margin-top: 3rem; line-height: 1.2; }
	.woocommerce-order-details a { text-decoration: none; color: currentColor; }

/** account */
.show-password-input { display: none; }
label.woocommerce-form-login__rememberme { display: flex; align-items: center; margin-bottom: 1.5rem; padding-left: 0; }
.woocommerce-form-login__rememberme input { margin-right: 8px; }

:is(.woocommerce-form-register, .lost_reset_password) button { margin-top: 1.5rem; }

.lost_reset_password, .woocommerce-lost-password .woocommerce { max-width: 708px; }
	.lost_reset_password > p:first-of-type { margin-bottom: 3rem; }

.bt-side { display: none; }
.woocommerce-account.logged .woocommerce { display: flex; gap: 0 3.8%; }
	.woocommerce-MyAccount-navigation { flex: 0 0 200px; font-size: 1.4rem; padding: 3rem 30px; background-color: var(--c-main); border-radius: var(--border-r); color: var(--c-bg); box-sizing: border-box; }
		.woocommerce-MyAccount-navigation ul { display: grid; gap: 0.25rem 0; }
		.woocommerce-MyAccount-navigation a { display: block; padding: 0.2rem 0; color: currentColor; text-decoration: none; }
		.woocommerce-MyAccount-navigation a:is(:hover, :focus) { opacity: 0.75; }
		.woocommerce-MyAccount-navigation .is-active a { font-weight: bold; }
		.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 1.5rem; }

	.woocommerce-MyAccount-content { flex: 1 1 auto; }
		.woocommerce-MyAccount-content > p:first-of-type { margin-bottom: 1.5rem; }
		.woocommerce-MyAccount-content > :last-child { margin-bottom: 0; }
		.edit-account > p:nth-child(4) { display: none; }

.woocommerce-orders-table__cell-order-actions .button + .button { margin-left: 3px; }

.woocommerce-edit-address .col2-set.addresses { display: block; }
	.woocommerce-edit-address .col2-set.addresses > * { margin-right: 0; }
p + .woocommerce-Addresses { margin-top: 3rem; }
.woocommerce-Address-title { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: flex-start; }
	.woocommerce-Address-title :is(h2, h3) { margin-bottom: 0; }
	.woocommerce-Address-title + address { margin-top: 2rem; }
	.woocommerce-Address + .woocommerce-Address { margin-top: 4.5rem; }
	:is(.woocommerce-Address, .woocommerce-columns--addresses, .woocommerce-customer-details) address { font-style: italic; }
:is(.woocommerce-address-fields, .edit-account) > :last-child { margin-top: 3rem; }

.edit-account legend { margin: 1.5rem 0; font-weight: bold; }

/** newsletter */
.section-news { padding-block: 3rem; }
.form-news .inputs { position: relative; display: flex; align-items: center; }
	.section-news .inputs h3 { flex: 0 0 auto; margin: 0 30px 0 0; font-weight: 600; }
	.form-news .inputs .form-group { flex: 1 1 auto; margin: 0; }
	.form-news .inputs input { width: 100%; padding-left: 15px; padding-right: 150px; border-radius: var(--border-r) }
	.section-news .inputs input { background-color: var(--c-bg); }
	.form-news .inputs .submit { position: absolute; right: 0; bottom: 0; flex: 0 0 auto; margin: 0; }
	.form-news .inputs button { height: var(--input-h); padding-block: 0; font-size: 1.4rem; }

.content .form-news { max-width: var(--maxw); }

/** cookie */
.cmplz-cookiebanner { text-align: left; --cmplz_button_font_size: 1.3rem; }
html .cmplz-cookiebanner .cmplz-title { font-weight: bold; }
html .cmplz-cookiebanner .cmplz-header { display: block; }
html .cmplz-cookiebanner .cmplz-divider { display: none; }
html .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description { padding-top: 0; }
.cmplz-cookiebanner button { text-align: center; }
.cmplz-message { text-align: left; }

.-blocked { background-color: #f6f6f6; cursor: pointer; font-size: 1.4rem; }
	.-blocked span { display: grid; place-content: center; height: 100%; padding: 30px; font-style: italic; box-sizing: border-box; }

#cmplz-document {}
div.cmplz-document h3 { font-size: 1.6rem; font-weight: bold; }
div.cmplz-document i { font-style: italic; }
.cmplz-categories { margin-bottom: 15px; }
.cmplz-contact-organisation { font-weight: bold; }

#cmplz-cookies-overview .cmplz-dropdown.cmplz-dropdown-cookiepolicy summary div,
#cmplz-document .cmplz-dropdown.cmplz-dropdown-cookiepolicy summary div { grid-template: "heading paragraph chevron"; grid-template-columns: 2fr auto 25px; }

#cmplz-cookies-overview { margin-bottom: 45px; }
	#cmplz-cookies-overview details { font-size: 1.2rem; }
	#cmplz-cookies-overview details + details { border-top: 1px solid #ddd; }
	#cmplz-cookies-overview summary { position: relative; }
	#cmplz-cookies-overview summary::after { content: '+'; position: absolute; top: 50%; right: 0; font-size: 2.2rem; line-height: 1; color: var(--c-main); transform: translateY(-50%); }
	#cmplz-cookies-overview [open] summary::after { transform-origin: top center; transform: rotate(45deg) translateY(-50%); }
	#cmplz-cookies-overview p { margin: 0; }
	#cmplz-cookies-overview h4 { margin-bottom: 0; font-weight: bold; font-size: 14px; }

.cmplz-service-header { padding: 7px 0; }
.cmplz-service-description, .cmplz-sharing-data { margin-top: 10px; }
.cmplz-service-description { padding-right: 10px; }
.cookies-per-purpose { margin: 15px 0 10px; }
	.cookies-per-purpose h5 { font-size: 12px; font-weight: bold; color: var(--c-txt); }
.cmplz-subtitle { font-weight: bold; }

html #cmplz-manage-consent .cmplz-manage-consent { left: 20px; }
.cmplz-marketing.cmplz-statistics .cmplz-manage-consent { display: none; }
#cmplz-manage-consent .cmplz-manage-consent { --cmplz-manage-consent-offset: -25px; }

@media screen and (max-width: 456px) {
	.cookie-consent { right: 20px; }
	.cookie-consent .cookie-actions { grid-template-columns: 1fr; row-gap: 10px; }
	.cookie-consent .policy a { flex-basis: 100%; }
}

/* **************************** */
/** footer */
.foot { clear: both; background-color: var(--c-txt); color: var(--c-bg); font-size: 1.4rem; line-height: 1.3; }
	.foot .logo a { display: block; width: 260px; }
	.foot :where(a:not(.bt)) { color: currentColor; text-decoration: none; }
	.foot :where(a:not(.bt)):is(:hover, :focus) { opacity: 0.75; text-decoration: underline; }
	.foot ul a { display: block; padding: 0.3rem 0; line-height: 1.3; }

	.foot nav .scroll-to { display: flex; gap: 5px; align-items: center; }

	.foot .top { padding: 3rem 0; border-bottom: 1px solid rgba(255, 255, 255, 0.25); }
		.foot .top .cols3 { align-items: center; }
		.foot .top p:not(.logo) { grid-column: 3; }
		.foot .top .bt { padding-inline: 35px; }

	.foot .bottom { padding: 3rem 0; }
		:is(.foot, .addr) h4 { position: relative; margin-bottom: 1rem; padding-bottom: 1rem; color: var(--c-bg); text-transform: uppercase; font-size: inherit; }
		:is(.foot, .addr) h4::after { content: ''; position: absolute; left: 0; bottom: 0; width: 60px; height: 2px; background-color: var(--c-main); }
		.foot .addr p + div { margin-top: 1rem; }
		.foot .horaire p ~ p { margin-top: 1rem; }
		.foot .horaire p + br { display: none;  }
		.foot .horaire button { margin-top: 1rem; }

	.foot .copy { padding: 1rem 0; background-color: var(--c-main); color: var(--c-bg); font-size: 1.4rem; }
		.foot .copy .container { text-align: center; }
		.foot .copy p { display: inline-block; }
		.foot .copy ul { display: inline-flex; flex-wrap: wrap; gap: 0.5rem 15px; }
		.foot .copy a { text-decoration: underline; }

	.follow { display: flex; flex-wrap: wrap; gap: 5px 15px; margin-top: 1.5rem; font-size: 1.8rem; }
		.follow a { position: relative; display: block; width: 32px; height: 32px; color: var(--c-bg); }
		.follow a img { display: block; width: 100%; height: auto; }
		.follow a:is(:hover, :focus) { opacity: 0.75; }

	.cards { display: flex; gap: 0 15px; justify-content: flex-start; margin-top: 1.5rem; }
		.cards ul { flex: 0 1 50%; display: flex; flex-wrap: wrap; gap: 5px 5px; }
		.cards li:first-child { flex-basis: 100%; font-size: 1rem; opacity: 0.75; }

/* **************************** */
/** responsive */
/** 768 */
@media screen and (max-width: 1109px) {
	main .section { width: 100%; margin-inline: auto; padding-inline: 0; border-radius: 0; }

	.section:not(.-white) + .section:not(.-white) { margin-top: 0; }

	.tns-controls [data-controls="prev"] { transform: translate(-50%, -50%) rotate(180deg); }
	.tns-controls [data-controls="next"] { transform: translate(50%, -50%); }
}
@media screen and (max-width: 1023px) {
	html { --content-w: 100%; }
	.container, :is(.head, .foot) .container { width: 100%; padding-left: var(--main-pad); padding-right: var(--main-pad); box-sizing: border-box; }
	.container .container { padding-left: 0; padding-right: 0; }
	.out { transform: translateX(var(--main-pad--)); }
	.out .container { padding-left: var(--main-pad); padding-right: var(--main-pad); }

	/* head */
	.head { padding-block: 1.5rem; }
		.head .container { grid-template-columns: 1fr; row-gap: 1.5rem; }
		.head .logo { width: 200px; }
		.head .store { top: 0; right: var(--main-pad); }
		.head .nav { justify-content: flex-start; }

	/* home */
	.main :is(h1, p) { font-size: calc(2.5vw + 1em); }
	.main img { max-height: 360px; }

	.home-feature picture { width: 100%; }
	.home-feature .in { max-width: 100%; }

	.tns-controls button { transform: translate(0, -50%); }
	.tns-controls [data-controls="prev"] { transform: translate(0, -50%) rotate(180deg); }

	.home-gout { padding-block: 10rem; }
		.home-gout h3 { font-size: calc(3vw + 1em); }

	/* content */
	h1, .h1 { font-size: calc(2.4vw + 1em); }
	h2, .h2 { font-size: calc(1.6vw + 1em); }
	h3, :is(.woocommerce-columns--addresses, .woocommerce-customer-details, #customer_login) h2 { font-size: calc(1.2vw + 1em); }
	.hero .container::after { left: var(--main-pad); }
	.form-news h3 { font-size: calc(1vw + 1em); }

	:is(.job-section, .contact-section) .container::after { right: var(--main-pad); }
	.map { width: calc(100% - (var(--main-pad) * 2)); margin-left: 0; margin-right: 0; transform: none; }

	/* foot */
	.foot .top .cols3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.foot .top p:not(.logo) { grid-column: auto; }
}

@media screen and (min-width: 768px) {
	.section > .-med { font-size: 1.6rem; }
	.section > .-med h3 { margin-bottom: 1.5rem; font-size: 2rem; }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.home-distinct { font-size: 1.4rem; }

	/* store */
	.section-products { --side-width: 235px; font-size: 1.4rem; }
	.ls-products .button { font-size: 1.2rem; }
	.nav-cats, .mini-cart { padding: 20px; }
}

@media screen and (max-width: 960px) {
	.menus { display: block; }
}
@media screen and (max-width: 810px) {
	.text.-big, .text.-big .cols2 { font-size: inherit; }

	.section + .section:where(.-black, .-red, .-gray)::before { width: 120px; height: 120px; }

	/* home */
	.home-feature section { grid-template-columns: 1fr; }
	.home-feature img { position: static; width: inherit; height: 250px; }
	.home-feature .-reverse picture { order: 0; }
	.home-feature .-reverse > :nth-child(1) { grid-column: 1; }
	.home-feature .in { padding-top: var(--padding-top); }

	.home-gout img { width: 400px; height: auto; transform: translate(50%, -50%); }
	.home-gout svg { width: 200px; }

	/* pages */
	.section-about .cols2 > :last-child::after { display: none; }

	/* foot */
	.foot .logo a { width: 200px; }

	/* h scroll */
	.h-810 { position: relative; margin-left: var(--main-pad--); margin-right: var(--main-pad--); padding-left: 0; padding-right: 0; }
	.h-810.container { margin-left: 0; margin-right: 0; }
		.h-810 .scroll { z-index: 2; display: grid; grid-template-columns: 165px; grid-auto-columns: 165px; grid-auto-flow: column; column-gap: 15px; padding: 0 var(--main-pad); overflow: auto; -webkit-overflow-scrolling: touch; }
			.h-810 .scroll::-webkit-scrollbar { display: none; -webkit-appearance: none; width: 14px; height: 8px; }
			.h-810 .scroll::-webkit-scrollbar-thumb { border-radius: 8px; border: none; background-color: rgba(0, 0, 0, .3); }
			.h-810 .scroll { scrollbar-width: none; -ms-overflow-style: none; }
			.h-810 .scroll > * { margin-bottom: 8px; }
		.h-810 .h-scroll-nav { display: flex; }
}
/** 640 */
@media screen and (max-width: 767px) {
	html { --section-pad: 6rem; }

	.content { overflow-x: hidden; overflow-x: clip; }
	.bloc-content .cols2 { grid-template-columns: 1fr; }
	.bloc-content .-reverse > :nth-child(1) { grid-column: 1; }
	.bloc-content .cols2.has-img img { max-width: 100%; height: auto; }
	.alignright, .alignleft { float: none; display: block; max-width: 100%; height: auto; }
	.alignleft { margin-right: 0; }
	.alignright { margin-left: 0; }

	.banner-break { font-size: 1.2rem; }
	.banner-break .container {
		display: flex; padding: 7px; padding-left: var(--main-pad); padding-right: var(--main-pad);
		align-items: center;
		overflow: auto;
		white-space: nowrap;
		background-image: linear-gradient(to right, var(--c-main), var(--c-main)), linear-gradient(to right, var(--c-main), var(--c-main)), linear-gradient(to right, rgba(0, 0, 0, .45), rgba(255, 255, 255, 0)), linear-gradient(to left, rgba(0, 0, 20, .45), rgba(255, 255, 255, 0));
		background-position: left center, right center, left center, right center;
		background-repeat: no-repeat;
		background-color: var(--c-main);
		background-size: 20px 100%, 20px 100%, 10px 100%, 10px 100%;
		background-attachment: local, local, scroll, scroll;
	}
	.banner-break .container::-webkit-scrollbar { display: none; }
	.banner-break .container { scrollbar-width: none; -ms-overflow-style: none; }

	/* head */
	.head .container { grid-template-columns: 1fr auto; align-items: center; }
	.head .nav { display: none; }
	.head .logo { width: 160px; padding-left: 47px; }
	.head .store { position: static; }

	/* home */
	.home-distinct .txt { grid-template-columns: 1fr; grid-template-areas: inherit; }
	.home-distinct :is(div.-first, div.-second, picture.-first, picture.-second) { grid-area: inherit; }
	.home-gout img { display: none; }
	.home-gout svg { width: 150px; }

	/* content */
	.columns2 { columns: 1; }
	.section.-white + .section:where(.-black, .-red, .-gray)::before,
	.bloc-content .addr::before { width: 100px; height: 100px; right: 0; }
	.ls-members .cols2 { grid-template-columns: 1fr; }
	.ls-members .cols2:nth-child(2n) > :nth-child(1) { grid-column: 1; }
	.ls-members picture { max-width: 460px; }

	.section-about .vid { order: 2; }

	.bloc-img picture { flex-basis: 64px; height: 64px; }

	:is(.job-section, .contact-section) .container::after { display: none; }

	/* store */
	.nav-cats ul { columns: 2; }
	.section-products { display: flex; }
		.section-products .side { flex: 0 0 var(--side-width); width: var(--side-width); }
		.section-products .col { flex: 1 0 calc(100vw - var(--scroll-bar) - var(--main-pad) - var(--main-pad)); }
		.section-products.-show .col { flex: 0 0 100%; margin-left: calc((var(--side-width) + 30px) * -1); }

	.bt-mini-cart { display: grid; }
	.woocommerce-mini-cart__buttons a { font-size: 1.4rem; }

	/* woo */
	.prod-single > .product { grid-template-columns: 1fr; }

	.col2-set { grid-template-columns: 1fr; }

	#customer_login { grid-template-columns: 1fr; }

	.woocommerce-account.logged .woocommerce { flex-wrap: nowrap; column-gap: var(--main-pad); }
	.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation { flex: 0 0 215px; margin-left: calc(0px - 215px - var(--main-pad)); }
		.woocommerce-account .woocommerce.-show .woocommerce-MyAccount-navigation { margin-left: 0; }
		.woocommerce-account .woocommerce .woocommerce-MyAccount-content { flex: 0 0 100%; }

	.bt-side { display: flex; align-items: center; gap: 5px; margin-bottom: 3rem; padding: 0.8rem 15px; background-color: var(--c-txt); font-size: 1.2rem; line-height: 1; color: var(--c-bg); }
	.bt-side::before { content: ''; display: inline-block; width: 16px; height: 16px; background: url(img/icn-plus.svg) 50%/100% no-repeat; }
	.bt-side:is(:hover, :focus) { background-color: var(--c-txt); }
	.-show .bt-side { padding: 0.8rem; }
	.-show .bt-side::before { transform: rotate(45deg); }
	.-show .bt-side span { display: none; }

	/* foot */
	.foot .bottom .cols3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	/* mobile nav */
	.mobile { display: block; }
	.nav-mobile { display: none; }
	#nav-menu:checked ~ .nav-mobile { display: block; }
	#nav-menu:focus-visible ~ label { outline: 1px auto; outline: 5px auto -webkit-focus-ring-color; }

	.bt-nav-mobile { display: block; position: absolute; z-index: 100; top: 50%; left: var(--main-pad); width: 32px; height: 27px; padding: 0; background: transparent; border: none; border-radius: 0; transform: translateY(-50%); }
		.bt-nav-mobile span, .bt-nav-mobile span::before, .bt-nav-mobile span::after { transition-duration: 0.5s; position: absolute; left: 0; height: 3px; width: 32px; background-color: var(--c-main); }
		.bt-nav-mobile span { top: 12px; text-indent: -9999px; }
		.bt-nav-mobile span::before { content: ""; top: -12px; left: 0; }
		.bt-nav-mobile span::after { content: ""; top: 12px; left: 0; }
		.bt-nav-mobile.open span, #nav-menu:checked ~ .bt-nav-mobile span { transition-duration: 0.5s; background: transparent; }
		.bt-nav-mobile.open span::before, #nav-menu:checked ~ .bt-nav-mobile span::before { background-color: var(--c-main); transform: rotateZ(45deg) translate(8px, 9px); }
		.bt-nav-mobile.open span::after, #nav-menu:checked ~ .bt-nav-mobile span::after { background-color: var(--c-main); transform: rotateZ(-45deg) translate(8px, -9px); }
	.bt-nav-mobile:is(:hover, :focus) { background: transparent; }

	.head .container { row-gap: 0; }
	#mobile-overlay { display: none; position: absolute; top: 72px; right: 0; left: 0; height: 100%; z-index: 99; background-color: rgba(0, 0, 0, 0.25); }

	.nav-mobile { position: absolute; z-index: 100; top: 72px; left: 0; right: 0; padding: var(--main-pad) var(--main-pad) calc(var(--main-pad) + 1rem); background-color: var(--c-bg); box-shadow: 0 10px 15px rgba(0, 0, 0, 0.25); }
		.nav-mobile > ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
		.nav-mobile > ul > li { break-inside: avoid; }
		.nav-mobile > ul > li:last-child { grid-column: span 2; }
		.nav-mobile .menu-item-has-children > a::after { display: none; }
		.nav-mobile .sub-menu { display: block!important; position: static; min-width: inherit; padding: 0; box-shadow: none; border-radius: 0; font-size: inherit; }
		.nav-mobile .sub-menu a::before { content: '— '; }
		.nav-mobile .bt { margin-top: 1.5rem; }

		.nav-mobile :where(a:not(.bt)),
		.nav-mobile .menu-item-has-children ul a { display: flex; padding: 0.5rem 0; color: #000; }
		.nav-mobile :is(.current-menu-item, .current-menu-parent) > a,
		.nav-mobile :where(a:not(.bt)):is(:hover, :focus),
		.nav-mobile .menu-item-has-children .current-menu-item > a,
		.nav-mobile .menu-item-has-children a.active,
		.nav-mobile .menu-item-has-children ul a:is(:hover, :focus) { background-color: transparent; color: var(--c-main); }
}

@media screen and (min-width: 480px) and (max-width: 767px) {

}

@media screen and (max-width: 640px) {

}

/** 480 */
@media screen and (max-width: 639px) {
	/* head */
	.head .store ul:first-child { display: none; }
	.nav-mobile > ul { grid-template-columns: 1fr; }
	.nav-mobile > ul > li:last-child { grid-column: 1; }

	/* home */
	.main img { max-height: 300px; }
	.home-feature img { height: 200px; }

	.home-gout { padding-block: var(--section-pad); }
	.home-gout svg { width: 80px; }

	/* content */
	h2, .h2 { font-size: calc(2vw + 1em); }
	h3, :is(.woocommerce-columns--addresses, .woocommerce-customer-details, #customer_login) h2 { font-size: calc(1.5vw + 1em); }

	.gallery.cols4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

	.menus ul { grid-template-columns: minmax(0, 1fr); }

	.map { height: 300px; }

	/* store */
	.ls-products .product { align-items: center; }
	.ls-products .button { position: relative; width: 28px; height: 28px; padding: 0; text-indent: -9999px; }
	.ls-products .button::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url(img/icn-plus.svg) 50% 50%/50% no-repeat; }
	.ls-products button[disabled="disabled"]::before { background-image: url(img/icn-plus-alt.svg); }

	/* woo */
	.shop_table_responsive thead, .cart_totals th { display: none; }
	.shop_table_responsive tr { display: grid; grid-template-columns: 1fr; }
	.shop_table_responsive td { padding-block: 0.6rem; text-align: right; }
	.shop_table_responsive td::before { content: attr(data-title); float: left; margin-right: 15px; font-weight: bold; }
	.shop_table_responsive tbody td { border-bottom-style: dotted; }
	.shop_table_responsive tbody td:last-of-type { border-bottom: none; }
	.shop_table_responsive td:last-of-type { border-right: none; }

	.shop_table_responsive td.product-name { font-weight: normal; }
	.cart .product-thumbnail { display: none; }
	.shop_table .product-remove { width: inherit; padding-right: 10px; }
	.shop_table_responsive .product-quantity .quantity { float: right; }
	.shop_table_responsive .variation { max-width: 70%; margin-left: auto; margin-top: 0; grid-template-columns: 1fr auto; gap: 2px; }
	.shop_table_responsive .variation dt { font-weight: normal; text-transform: none; line-height: inherit; font-size: 1.2rem; }
	.shop_table_responsive .variation dd { font-style: italic; }
	.shop_table_responsive .actions::before { display: none; }

	.section-news .inputs { flex-wrap: wrap; gap: 1rem; }
	.section-news .inputs h3 { flex-basis: 100%; }

	/* foot */
	.foot .top .cols3 { grid-template-columns: 1fr; }
	.foot .top p { text-align: center; }
	.foot .logo a { margin-inline: auto; }
}

@media screen and (max-width: 480px) {
	html { --main-pad: 20px; --main-pad : max(20px, env(safe-area-inset-left)); --border-w: 20px; }
	.out, .h-767 { width: auto; margin-left: var(--main-pad--); margin-right: var(--main-pad--); }

	.home-feature { --border-w: 20px; }

	.home-distinct .container { padding-inline: 0; }
	.home-distinct h2 { margin-bottom: 3rem; }

	.map { border-top-width: 25px; border-right-width: 25px; }
	.map > p { top: -12px; font-size: 1.2rem; }
}
/** 414 */
@media screen and (max-width: 479px) {
	/* content */
	.gallery.cols4, .gallery.cols3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.job-dialog form { grid-template-columns: 1fr; }
	.job-dialog form .form-group:nth-child(7),
	.job-dialog :where(:not(.form-group)) { grid-column: auto; }

	.bloc-img .container { flex-wrap: wrap; }

	.map { height: 250px; }

	/* store */
	.ls-products { font-size: 1.4rem; }
	.ls-products .desc { font-size: 1.2rem; }
	.bloc-add-to-cart { margin-left: 5px; }

	/* woo */
	.shop_table_responsive .actions { display: grid; gap: 1rem 0; padding-block: 1rem; }
	.coupon input { flex: 1 1 auto; }
	.coupon, .actions > button { float: none; }

	/* foot */
	.foot .bottom .cols3 { grid-template-columns: 1fr; }
	.foot .copy { font-size: 1.2rem; }
}
/** 375 */
@media screen and (max-width: 413px) {
	html { --section-pad: 4.5rem; }
	body { font-size: 1.4rem; }

	.head .logo { width: 140px; }
	.head .store ul { gap: 0 15px; }
	.nav-mobile { font-size: 1.6rem; }
	.nav-mobile, #mobile-overlay { top: 68px; }

	.home-gout svg { width: 60px; }

	/* store */
	.nav-cats ul { columns: 1; }
	.ls-products .product { position: relative; flex-wrap: wrap; }
	.ls-products .prod-ti { flex-basis: 100%; padding-right: 35px; }
	.ls-products .price { color: var(--c-main); }
	.bloc-add-to-cart { position: absolute; top: 0; right: 0; }

	#pwgc-redeem-gift-card-container .form-group { flex-wrap: wrap; }
	#pwgc-redeem-gift-card-container .form-group input[type="text"] { margin-right: 0; border-radius: var(--border-r); }
}
/** 320 */
@media screen and (max-width: 359px) {
	html { --main-pad: 15px; --main-pad : max(15px, env(safe-area-inset-left)); }

	.head .logo { width: 120px; }
	.head .store ul { gap: 0 15px; }
	.nav-mobile, #mobile-overlay { top: 64px; }

	/* store */
	.prod-list h2 { font-size: calc(1.2vw + 1em); }
}

/** clear */
.clearfix::after { content: "."; display: block; height: 0; clear: both; visibility: hidden; overflow: hidden; }

/**
 * glightbox
 */
.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;touch-action:none;-webkit-text-size-adjust:100%;text-size-adjust:100%;backface-visibility:hidden;outline:0;overflow:hidden}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{transition:transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:flex!important;justify-content:center;align-items:center;transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;opacity:1;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:flex;justify-content:center;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;touch-action:auto}.gslide-image{align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;object-fit:cover;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:grabbing!important;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';display:block;position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:var(--c-bg);text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:grabbing!important;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:flex;width:100%;min-width:100%;background:var(--c-bg);padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:flex;width:auto}.zoomed .gslide-media{box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;flex-direction:column}.gslide-description{position:relative;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;background:0 0;position:absolute;bottom:15px;padding:19px 11px;max-width:100vw!important;order:2!important;max-height:78vh;overflow:auto!important;background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:var(--c-bg);font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:var(--c-bg);font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc string{color:var(--c-bg)}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:var(--c-bg);opacity:.4}.gdesc-open .gslide-media{transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{transition:opacity .5s ease;opacity:1}.greset{transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;animation:lightboxLoader .8s infinite linear;border:2px solid var(--c-bg);border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:var(--c-txt);will-change:opacity}.glightbox-mobile .goverlay{background:var(--c-txt)}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:flex;justify-content:center;align-items:center;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:var(--c-bg)}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:var(--c-bg)}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:var(--c-txt);margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:var(--c-txt)}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:var(--c-bg)}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{animation:gfadeIn .5s ease}.gfadeOut{animation:gfadeOut .5s ease}.gslideOutLeft{animation:gslideOutLeft .3s ease}.gslideInLeft{animation:gslideInLeft .3s ease}.gslideOutRight{animation:gslideOutRight .3s ease}.gslideInRight{animation:gslideInRight .3s ease}.gzoomIn{animation:gzoomIn .5s ease}.gzoomOut{animation:gzoomOut .5s ease}@keyframes lightboxLoader{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gslideInLeft{from{opacity:0;transform:translate3d(-60%,0,0)}to{visibility:visible;transform:translate3d(0,0,0);opacity:1}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;transform:translate3d(0,0,0)}to{transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideInRight{from{opacity:0;visibility:visible;transform:translate3d(60%,0,0)}to{transform:translate3d(0,0,0);opacity:1}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;transform:translate3d(0,0,0)}to{transform:translate3d(60%,0,0);opacity:0}}@keyframes gzoomIn{from{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{order:1}.glightbox-container .ginner-container.desc-left .gslide-description{order:0}.glightbox-container .ginner-container.desc-left .gslide-image{order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:var(--c-txt)}}
.gbtn { padding: 0; }
.glightbox-clean :is(.gnext, .gprev) { top: 50%; transform: translateY(-50%); }
@media screen and (max-width: 768px) {
	.glightbox-clean .gnext { right: 10px; }
	.glightbox-clean .gprev { left: 10px; }
}
/* https://ganlanyuan.github.io/tiny-slider/ */
.tns-outer{padding:0 !important}.tns-outer [hidden]{display:none !important}.tns-outer [aria-controls],.tns-outer [data-action]{cursor:pointer}.tns-slider{transition:all 0s}.tns-slider>.tns-item{box-sizing:border-box}.tns-horizontal.tns-subpixel{white-space:nowrap}.tns-horizontal.tns-subpixel>.tns-item{display:inline-block;vertical-align:top;white-space:normal}.tns-horizontal.tns-no-subpixel:after{content:'';display:table;clear:both}.tns-horizontal.tns-no-subpixel>.tns-item{float:left}.tns-horizontal.tns-carousel.tns-no-subpixel>.tns-item{margin-right:-100%}.tns-no-calc{position:relative;left:0}.tns-gallery{position:relative;left:0;min-height:1px}.tns-gallery>.tns-item{position:absolute;left:-100%;transition:transform 0s, opacity 0s}.tns-gallery>.tns-slide-active{position:relative;left:auto !important}.tns-gallery>.tns-moving{transition:all 0.25s}.tns-autowidth{display:inline-block}.tns-lazy-img{transition:opacity 0.6s;opacity:0.6}.tns-lazy-img.tns-complete{opacity:1}.tns-ah{transition:height 0s}.tns-ovh{overflow:hidden}.tns-visually-hidden{position:absolute;left:-10000em}.tns-transparent{opacity:0;visibility:hidden}.tns-fadeIn{opacity:1;filter:alpha(opacity=100);z-index:0}.tns-normal,.tns-fadeOut{opacity:0;filter:alpha(opacity=0);z-index:-1}.tns-vpfix{white-space:nowrap}.tns-vpfix>div,.tns-vpfix>li{display:inline-block}.tns-t-subp2{margin:0 auto;width:310px;position:relative;height:10px;overflow:hidden}.tns-t-ct{width:2333.3333333%;width:calc(100% * 70 / 3);position:absolute;right:0}.tns-t-ct:after{content:'';display:table;clear:both}.tns-t-ct>div{width:1.4285714%;width:calc(100% / 70);height:10px;float:left}
