.product-template-default {
    font-family: DM sans;
}
.woocommerce-notices-wrapper .woocommerce-message {
    background: transparent;
    padding-left: 0;
}
.product .reference-product {
    font-size: 34px;
    color: #fa9a2a;
    background-color: transparent;
    padding: 0;
    line-height: 44px;
    margin-bottom: 0;
}

.product .part-one {
    font-size: 25px;
    font-weight: 600;
    line-height: 33px;
    text-transform: initial;
}
.product .part-two {
    font-family: "Protest Strike", sans-serif;
    font-size: 48px;
    font-weight: 400;
    line-height: 58px;
}

.product .price-product {
    font-size: 25px;
    font-weight: 700;
    line-height: 33px;
}

.product .description-product {
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: 400;
    line-height: 21px;
    color: #000;
}

form.cart {
    display: inline-flex;
    background: #FD9A2B;
    flex-direction: column;
    width: 100%;
    border-radius: 10px;
    padding: 23px 27px ;
}

.product .title-size,
.product .title-quantity {
    font-size: 18px;
    font-weight: 800;
    color: #FFF;
    line-height: 23px;
    text-transform: initial;
    margin-bottom: 10px;
}

.product #list-size-product li {
    font-size: 18px;
    border-radius: 100%;
    border-width: 3px;
    color: #FFF;
    padding: 15px;
    min-width: 54px;
    margin-bottom: 10px;
}
.product #list-size-product li.active {
    border-color: #04c515;
  }

.product .woocommerce-variation-add-to-cart .quantity input {
    border: 3px solid #eee;
    background-color: #FD9A2B;
    text-align: center;
    color: #FFF;
    font-size: 18px;
    padding: 10px 0px;
    border-radius: 5px;
}
.product .woocommerce-variation-add-to-cart .quantity input:focus {
    border: 3px solid #eee;
}

.product .add-cart-product {
    display: inline-block;
    vertical-align: bottom;
    padding: 7px 50px 7px 25px;
    color: #000;
    border: 2px solid #FFF;
    transition: all .3s ease;
    text-transform: uppercase;
    font-size: 20px;
    border-radius: 81px;
    background-color: #FFF;
    font-family: "Protest Strike";
    position: relative;
}
.product .add-cart-product:hover {
    background-color: #FD9A2B;
}
.product .add-cart-product::before {
    position: absolute;
    content: '';
    width: 22px;
    height: 19px;
    background-image: url("/wp-content/themes/peauceros/assets/images/bateau.svg");
    background-repeat: no-repeat;
    top: calc( 50% - 9px);
    right: 15px;
    margin-right: 0;
}
.product .link_size {
    color: #FFF;
    border: 1px solid #FFF;
    padding: 3px;
    border-radius: 21.5px;
    display: inline-block;
    padding: 4px 22px 4px 8px;
    margin-bottom: 16px;
    position: relative;
}
.product .link_size:after {
    position: absolute;
    content: '';
    background-image: url("/wp-content/themes/peauceros/assets/images/arrow_top_right.svg");
    background-repeat: no-repeat;
    width: 12px;
    height: 12px;
    right: 6px;
    top: calc( 50% - 5px );
    background-size: contain;
}
.flex-ul {
    display: flex;
}
.flex-ul a {
    border: 1px solid #FD9A2B;
    padding: 5px 15px;
    margin-top: 10px;
    display: inline-flex;
    border-radius: 81px;
    color: #2B4141;
    font-size: 15px;
    font-weight: 600;
    line-height: 20px;
    margin-right: 20px;
    transition: all 0.3s ease-in-out;
}
.flex-ul a:hover {
    padding-right: 20px;
}
.flex-ul a:hover span:first-child {
    transition: all 0.3s ease-in-out;
    padding-right: 10px;
}
.flex-ul .img-span {
    display: inline-flex;
    margin-left: 5px;
}
.info-product {
    display: flex;
}
.info-product .content-info h2.title-info {
    font-family: "Protest Strike";
    color: #2B4141;
    font-size: 36px;
    line-height: 43px;
    font-weight: 400;
    text-transform: initial;
    letter-spacing: 0;
    border-bottom: 0;
    position: relative;
    padding-left: 65px;
    margin-bottom: 44px;
}

.info-product .content-info h2.title-info:before {
    position: absolute;
    content: '';
    background-image: url('/wp-content/themes/peauceros/assets/images/info_pratique.svg');
    background-repeat: no-repeat;
    width: 41px;
    height: 51px;
    left: 0;
    top: calc( 50% - 25px );
}
.info-product .content-info.content-info-product .content p,
#spec-product .element-spec p {
    font-size: 16px;
    font-weight: 400;
    color: #000;
    line-height: 23px;
}
.content strong,
#spec-product strong {
    color: #000;
    font-weight: 700;
}
#spec-product {
    width: 50%;
    background-color: transparent;
    padding: 0;
    margin-top: 0;
}
.title-info {
    font-family: "Protest Strike";
    color: #2B4141;
    font-size: 36px;
    line-height: 43px;
    font-weight: 400;
    text-transform: initial;
    letter-spacing: 0;
    border-bottom: 0;
    position: relative;
    padding-left: 65px;
    margin-bottom: 44px;
}
.title-info:before {
    position: absolute;
    content: '';
    background-image: url('/wp-content/themes/peauceros/assets/images/info_pratique.svg');
    background-repeat: no-repeat;
    width: 41px;
    height: 51px;
    left: 0;
    top: calc( 50% - 25px );
}
#spec-product .title-info:before {
    background-image: url('/wp-content/themes/peauceros/assets/images/normes_peau.svg');
    width: 47px;
}

#footer-product {
    padding: 0;
    border: none;
}

#footer-product .border_line {
    padding: 38px 99px;
    border: 1px solid #ACACAC;
    border-radius: 40px;
    display: flex;
    flex-direction: column;
}

#footer-product #title-footer-product {
    width: 100%;
    margin-bottom: 55px;
}

#footer-product #title-footer-product span:first-child {
    font-size: 64px;
    font-weight: 400;
    line-height: 77px;
    font-family: "Protest Strike";
    color: #2B4141;
}
#footer-product #title-footer-product span:last-child {
    font-size: 25px;
    font-weight: 600;
    line-height: 33px;
    color: #2B4141;
}
#footer-product ul {
    width: 100%;
    display: flex;
}
#footer-product ul li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin-right: 0;
}
.product-template-default #footer-product li span {
    font-size: 25px;
    font-weight: 600;
    line-height: 33px;
    color: #000;
}
#footer-product li span {
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  color: #000;
}

.product-template-default .logo {
	display: flex;
    gap: 30px;
    margin-bottom: 30px;
}
.avantages-product {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}
.avantages-product li {
    list-style: none;
    margin-bottom: 20px;
    padding-left: 40px;
    font-family: "Protest Strike";
    font-size: 16px;
}
.product .woocommerce-variation-add-to-cart {
	margin-bottom: 0!important;
}
.product .variations {
    margin-bottom: 10px!important;
}

.product .woocommerce-product-gallery .flex-viewport img {
	  aspect-ratio: 1 / 1;
      width: calc( 100% - 92px );
      height: auto;
      max-height: 100%;
      object-fit: cover;
}



@media screen and (max-width: 959px) {
    .product .add-cart-product {
        margin-top: 20px;
    }
    .flex-ul a {
        font-size: 12px;
        line-height: 20px;
    }
    #footer-product li span {
        font-size: 18px;
        line-height: 26px;
    }
    #footer-product .border_line {
        padding: 38px 50px;
        gap: 10px;
    }
}

@media screen and (max-width: 768px) {
    .info-product {
        flex-direction: column;
    }
    #spec-product {
        width: 100%;
        margin-top: 60px;
    }
    #spec-product .element-spec {
        width: 100%;
    }
    .product-template-default .logo {
        display: none;
    }
    #footer-product ul {
        flex-wrap: wrap;
    }
    #footer-product ul li {
        width: 50%;
        margin-bottom: 20px;
    }
    #footer-product ul li:last-child {
        margin-bottom: 0;
    }
}

@media screen and (max-width: 568px) {
    .flex-ul {
        flex-direction: column;
    }
    #footer-product ul li {
        width: 100%;
    }
    #footer-product .border_line {
        padding: 20px;
    }
    #footer-product ul li img {
        max-width: 47px;
    }
    #breadcrumb {
        margin-bottom: 20px;
    }
    .product-template-default .primary {
        margin-top: 10px;
    }
}