/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/
@import url(assets/css/common.css);
/* .nav-float-right #site-navigation{
    flex:1;
} */
.main-navigation .inside-navigation>.main-nav {
    flex: 1;
    justify-content: center;
    display: flex;
}
.main-navigation ul ul {
    background: #ebdac5;
    border-radius: 8px 32px;
    padding: 10px;
    width: 240px;
}

.product-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 36px 40px;
}

.product-categories>.product-category:nth-child(2n) {
    --color:#80b4bf;
}
.product-categories>.product-category {
    --color:#f29b88;
    display: flex;
    flex-direction: column;
    text-align: center;
    line-height: 1.2em;
    flex: 1 1 190px;
    position: relative;
}

.product-categories>.product-category>.image:before {
    content:"";
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background: var(--color);
    opacity: .5;
}
.product-categories>.product-category>.image {
    aspect-ratio: 1/1;
    overflow: hidden;
    position: relative;
    border-radius: 20px;
    border:solid 1px var(--color);
    margin-bottom: 10px;
}

.product-categories>.product-category>.title {
    font-weight: bold;
    margin-bottom: 4px;
    font-size: 20px;
}

.product-categories>.product-category>.description {
    font-size: 16px;
}

.product-categories>.product-category>a {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}
.product-categories>.product-category>.image>img {
    display: block;
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: contain;
    position: relative;
    padding: 15px;
}
.product-categories>.product-category>.image>.overlay {
    background: var(--color);
    position: absolute;
    right: -100px;
    bottom: 0;
    height: 0;
    left: -100px;
    mix-blend-mode: color;
    /* opacity: .5; */
    transition: height 0.3s;
    z-index: 2;
    will-change: transform;
    pointer-events: none;
}

.product-categories>.product-category:hover>.image>.overlay {
    height:100%;
    /* transition: transform 1s; */
    /* transform: translateY(-350px) rotate(15deg); */
}
.woocommerce div.product div.images.woocommerce-product-gallery {
    position: sticky;
    top: 40px;
    margin-left:1px;
}
.woocommerce div.product span.price bdi {
    font-size: 2em;
    font-weight: bold;
    color: var(--accent);
}
.woocommerce ul.cart_list li dl, .woocommerce ul.product_list_widget li dl {
    font-size: 12px;
}

.woocommerce ul.cart_list li dl dd, .woocommerce ul.product_list_widget li dl dd {
    padding: 0;
    margin: 0;
}
body .wc-block-product-categories-list--has-images .wc-block-product-categories-list-item__image img{
    height: 100%;
    object-fit: contain;
}
.collier-resizer {
    display: flex;
    height: calc(100vh - 210px);
    overflow: hidden;
    align-items: safe center;
    justify-content: safe center;
    max-width: 1200px;
    width: calc(100vw - 30px);
}

.collier-resizer>.collier {
    width: 100%;
    aspect-ratio: var(--ratio);
    border: solid 1px;
    position: relative;
    box-sizing: border-box;
    border-radius: 4px;
}

.collier-resizer>.collier>.img {
    position: absolute;
    pointer-events: none;
    filter: drop-shadow(2px 4px 6px #00000033);
    transform-origin: 0 0;
    transform: translateX(var(--deltaX,0%)) translateY(var(--deltaY,0%)) scale(var(--deltaS,1));
}

.collier-resizer>.collier:before,.collier-resizer>.collier:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 100vh;
    background: #ffffffaa;
    backdrop-filter: blur(4px);
    pointer-events: none;
    z-index: 2;
}

.collier-resizer>.collier:before {
    bottom: 100%;
    border-bottom: solid 1px;
}

.collier-resizer>.collier:after {
    top: 100%;
    border-top: solid 1px;
}
body:not(.is-moving-collier) .collier-resizer{
    cursor:grab;
}
body.is-moving-collier *{
    cursor:grabbing;
}
.collier-resizer>.collier>.img:before,.collier-resizer>.collier>.img:after {
    content: "";
    position: absolute;
    top: -8px;
    bottom: 0;
    width: 100%;
    background: var(--img) no-repeat center/contain;;
    /* height: 100%; */
    filter: grayscale(1);
    opacity: .5;
}

.collier-resizer>.collier>.img:before {
    right: 100%;
}

.collier-resizer>.collier>.img:after {
    left: 100%;
}
table.variations tr:has(.boucle-list):not(:has(.selected))~tr {
    display: none;
}
.woocommerce div.product form.cart .variations select {
    max-width: 240px;
}
.fonts-list>a {
    color: #000;
    font-size: 18px;
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #F1F1F1;
}

.fonts-list>a.selected {
    background: var(--accent);
    color: #FFF;
}
table.variations .image-selector>a[data-legend]:before {
    content: attr(data-legend);
    position: absolute;
    left: 0;
    top: 0;
    transform: translateX(-10%) rotate(-30deg);
    font-size: 12px;
    color: #FFF;
    background: red;
    line-height: 1;
    padding: 2px;
    text-transform: uppercase;
}

body .secondary-navigation .menu-bar-item > a {
    font-weight: bold;
}

body .secondary-navigation .menu-bar-item > a > span.shopping-cart {
    display: inline-block;
    padding-top: 2px;
}

.home-categories ul li:nth-child(n+7) {
    display: none;
}

.woocommerce form .form-row:not(.woocommerce-validated, .woocommerce-invalid) .select2-container--default:not(.select2-container--open) .select2-selection--single,
.woocommerce form .form-row:not(.woocommerce-validated, .woocommerce-invalid) .select2-container,
.woocommerce form .form-row:not(.woocommerce-validated, .woocommerce-invalid) input.input-text,
.woocommerce form .form-row:not(.woocommerce-validated, .woocommerce-invalid) select {
    border-style: solid;
    border-width: 0 0 1px 0;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	line-height: 1.5;
}

.woocommerce form .form-row .select2-selection--single {
    border-radius: 0;
    line-height: 49px;
    height: 49px;
}

.woocommerce form .form-row .select2-selection--single .select2-selection__rendered {
    line-height: 49px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 49px;
}

.woocommerce form .form-row.woocommerce-validated .select2-selection--single {
    border-color: #6dc22e;
}

.woocommerce form .form-row.woocommerce-invalid .select2-selection--single {
    border-color: var(--wc-red);
}

.woocommerce form .form-row:not(.woocommerce-validated, .woocommerce-invalid) .select2-selection--single {
    border-radius: 0;
}

.woocommerce ul.products li.product a img {
    max-height: 280px;
}

button[name=update_cart]:disabled {
    display: none;
}
.wc-block-product-categories-list--has-images .wc-block-product-categories-list-item:has(a[href*='accessoire']) {
    display: none;
}
@keyframes scrollHeaderText{
    0%{opacity:0;transform:translateX(100%)}
    10%, 90%{opacity:1}
    100%{opacity:0;transform:translateX(-100%)}
}
.secondary-navigation .inside-navigation>.header-text>div{
    animation:scrollHeaderText 30s infinite linear;
    white-space:pre;
}
.secondary-navigation .inside-navigation>.header-text {
    flex: 1;
    color: #FFFFFFCC;
    font-size: 14px;
    font-weight: bold;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 0 15px;
    overflow:hidden;
}
.secondary-navigation .inside-navigation>.header-text p {
    margin: 0;
}
.top-bar { /** Obligé car aucun filtre ne fonctionne **/
    display: none;
}
.mailpoet_recaptcha_container>.grecaptcha-badge {
    display: none!important;
}
.shop_table dl.variation {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
}


.shop_table dl.variation>dd {
    flex: 0 1 170px;
    font-weight: normal;
    padding: 0;
    margin: 0;
}

.shop_table dl.variation>dd>p {
    margin: 0;
}
p#privacy_policy_field:not(:has(:checked))+button {
    pointer-events: none;
    opacity: 0.5;
}