/*
Theme Name: Holinutria
Author: Digital Prod
Author URI: http://www.digitalprod.com/
Description: Theme design in 2024
Version: 1.1
*/

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
main { display: block; }
h1, h2, h3, h4, h5, h6 { margin: 0; }
p { margin: 0 0 1em }
a { background-color: transparent; }
strong { font-weight: bolder; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
img { border-style: none; display: inline-block; max-width: 100% }
button, input, select, textarea { font-family: inherit; font-size: 100%; 
    line-height: 1.15; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type="button"], [type="submit"] { -webkit-appearance: button; }
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }
fieldset { border: 0; margin: 0; padding: 0; }
textarea { overflow: auto; }
[type="checkbox"] { box-sizing: border-box; padding: 0; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
[hidden] { display: none; } 

/** -- Layout -- **/

*, *:before, *:after { box-sizing: border-box }
html { scroll-behavior: smooth; }
body { font-family: "Jost", sans-serif; font-optical-sizing: auto; 
    font-weight: 400; font-style: normal; line-height: 1.445; letter-spacing: 0.03em }

/** -- Textes -- **/

h1 { font-size: min(35px, 8.974vw); line-height: 1.26; color: #fff; font-weight: 400;
    text-transform: uppercase; text-shadow: 4px 4px 5px #A37B6F40;
    max-width: 350px; margin: 0 auto }
h1 > span { font-weight: 600 }
.hero__description { font-size: min(18px, 4.615vw); letter-spacing:0;
    margin-top: min(9px, 2.3vw) }
.return__link { text-decoration: none; font-size: 16px; line-height: 1.2;
        font-weight: 500; color: #000; }
.title { font-size: 20px; font-weight: 500; 
    text-align: center; text-transform: uppercase; max-width: 56.6667vw;
    border: 1px solid #F0C2B6; position: relative; margin: 0 auto 24px;
    padding: 11px 11px; }
.title2 { font-size: 18px; font-weight: 500; text-transform: uppercase;
    display: inline-block; padding: 0 24px 12px 34px; position: relative; }
.title2::before { position: absolute; content: ''; bottom: 5px; height: 1px;
    left: 0; width: 100%; background: #F0C2B6 }
.title2::after { content: ''; position: absolute; width: 12px; height: 18px;
    bottom: 0; right: 0; background: #F0C2B6; }
.title2--blue::before,
.title2--blue::after { background: #8BCDCC }
.title2--pink::before,
.title2--pink::after { background: #F7BAB8 }
.title2--orange::before,
.title2--orange::after { background: #F7AC70 }
.title2--green::before,
.title2--green::after { background: #73A382 }
.title--big { font-size: 24px; padding: 11px 11px 12px; margin-bottom: 30px; }
.title::before { content: ''; position: absolute; width: 29px; height: 24px; 
    border-left: 4px solid #F0C2B6; border-top: 4px solid #F0C2B6;
    top: -4px; left: -4px}
.title::after { content: ''; position: absolute; width: 29px; height: 24px; 
    border-right: 4px solid #F0C2B6; border-bottom: 4px solid #F0C2B6;
    bottom: -4px; right: -4px}
.description { font-size: 15px; letter-spacing: 0; margin-bottom: 24px }
.home__product_link { text-align: center }
.home__product_link_txt { font-size: 16px; font-weight: 500;
    color: #000; letter-spacing: 0 }
.bold { font-weight: 700 }

@media (orientation: portrait) {
    h1.small { font-size: min(27px, 6.923vw); line-height: 1.445; letter-spacing: 0.03em }
}

@media (orientation: landscape) {
    h1 { font-size: min(54px, 3.75vw); font-weight: 500; letter-spacing: 0.03em;
        max-width: none; }
    h1 > span { font-weight: 500; }
    .hero__description { font-size: min(24px, 1.666vw); max-width: 500px;
        margin: min(35px, 2.43vw) auto min(48px, 3.333vw); }
    .title { font-size: 30px; max-width: none; display: inline-block; padding: 13px 34px 12px;
        letter-spacing: 0.03em; margin-bottom: 42px }
    .title2 { font-size: 26px; padding: 0 44px 15px 56px }
    .title2::before { bottom: 5px; }
    .title2::after { width: 18px; height: 30px; bottom: -7px }
    .title--big { margin-bottom: 36px; }
    .description { font-size: 18px }
}

/** -- Boutons -- **/

.btn { font-size: 13px; font-weight: 600; 
    color: #fff; background: #000; display: inline-block;
    padding: 12px 23px 11px; text-align: center; width: auto;
    text-decoration: none; letter-spacing: 0; }
.btn--white { background-color: #fff; color: #000 }
.btn--border { border: 1px solid #000; }
.btn--header { width: 100%; }

.btn { transition: all 250ms ease-in-out; }
.btn:hover { background: rgba(0, 0, 0, 0.7) }
.btn--white:hover { background: rgba(255, 255, 255, 0.8); }
.btn--border:hover { border-color: rgba(0, 0, 0, 0.7) }

@media (min-width: 1120px) and (orientation: landscape) {
    .btn--header { position: relative; top: -2px; left: 2px;
        padding: 11px 29px 9px; }
}
/** -- Swiper -- **/

.swiper-wrapper { align-items: stretch; }
.swiper-slide { height: unset }

/** -- Header -- **/

header { position: sticky; top: 0; height: 87px; text-align: center; padding-top: 4px;
    box-shadow: 0 0 5px 0px rgba(0, 0, 0, 0.2); background: #fff; z-index: 10; }
.header__btn { position: absolute; width: 33px; height: 28px; top: 18px;
    left: 13px; padding: 5px; border: none; background: none; z-index: 11 }
.header__nav { visibility: hidden; opacity: 0; position: absolute; 
    top: 0; left: 0; width: 222px; height: auto; z-index: 10; 
    background: #fff; padding: 60px 10px 20px;
    transition: opacity 250ms ease-in-out, visibility 0ms ease 250ms }
.header__logo_link { padding: 10px; display: inline-block }
.header__logo { width: 122px; height: 58px }
.header__list { margin: 0; list-style: none; padding: 0; text-align: center; }
.header__list:nth-of-type(2) { padding-top: 20px }
.header__item { display: block; padding: 3px 10px; }
.header__link { color: #000; text-decoration: none; text-transform: uppercase;
    font-size: 14px; font-weight: 500; display: inline-block;
    width: 100%; padding: 3px 0 }
.header__link_icon { display: inline-block; padding: 3px }

.header__link { position: relative; }
.header__link:after { position: absolute; height: 1px; bottom: 2px; 
    width: 100%; left: 0; content: ''; opacity: 0; background-color: #000;
    transition: opacity 250ms ease-in-out; }
.header__link:hover:after,
.header__link--active:after { opacity: 1 }
.header__link_icon path { transition: all 250ms ease-in-out; }
.header__link_icon:hover path { fill: rgba(0, 0, 0, 0.7) }

/*.header__ray { transform: scale(1.5) }*/

/* @todo
    desktop : effet sur les rayons dans le header
    'Aucun fichier' dev sur page contact ?
    
    header et footer : lien reste "trouver produit"

    admin article : format d'image

    dev : empêcher faq d'être visible côté front
        empêcher catégroies produit côté front
        bloquer la supression des catégories produit à part Super Admin
*/

@media (max-width: 1119px), (orientation: portrait) {
    .header__list:nth-of-type(2) .header__item:nth-of-type(2) { margin: 8px 0 4px }

    body.header--open .header__nav { opacity: 1; visibility: visible;
        transition: opacity 250ms ease-in-out, visibility 0ms ease;
        box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.2) }
    
    .header__btn_line1 { position: relative; transform-origin: 10px 0; transition: transform 250ms ease-in-out }
    .header__btn_line2 { transform-origin: 10px 0; transition: opacity 125ms ease 125ms }
    .header__btn_line3 { position: relative; transform-origin: 10px 0; transition: transform 250ms ease-in-out }
    
    body.header--open .header__btn_line1 { transform: rotate(45deg) translate(6px, 2px); }
    body.header--open .header__btn_line2 { opacity: 0; transition: opacity 125ms ease }
    body.header--open .header__btn_line3 { transform: rotate(-45deg) translate(-1px, -6px) }
}

@media (min-width: 1120px) and (orientation: landscape) {
    header { height: 176px; padding-top: 10px }
    .header__btn { display: none }
    .header__logo { width: 287px; height: 136px }
    .header__logo_link { position: relative; z-index: 2; }
    .header__nav { opacity: 1; visibility: visible; top: 86px; left: 50%;
        padding: 0 15px; width: 390px; height: auto; width: 100%; max-width: 1400px;
        background: transparent; transform: translateX(-50%); z-index: 1;
        display: flex; justify-content: space-between; align-items: baseline; }
    .header__list { text-align: left; }
    .header__list:nth-of-type(2) { padding-top: 0 }
    .header__item { display: inline-block; margin: 0 2px 0 0; padding: 6px 8px }
    .header__list:nth-of-type(2) .header__item:first-of-type { margin: 0 }    
    .header__list:nth-of-type(2) .header__item:last-of-type { position: relative;
        top: 8px; padding: 6px 9px 6px 3px;}
}

/** -- Footer -- **/

footer { font-size: 13px; text-align: center;
    height: 344px; background: transparent url('assets/img/footer/bg-m.jpg') no-repeat center/cover;
    padding: 31px 25px 0; display: flex; flex-direction: column;
    align-items: center; justify-content: flex-start; }
.footer__logo { width: 134px; height: 64px; margin-bottom: 8px }
.footer__instagram_link { padding: 3px 10px 10px; display: inline-block }
.footer__list { margin: 0; list-style: none; padding: 0; }
.footer__link { color: #000; text-decoration: none; }
.footer__item {  display: inline-block; padding-left: 18px; position: relative }
.footer__item:nth-of-type(1) { padding-left: 0 }
.footer__item:not(:nth-of-type(1)):before { position: absolute; content: '·';
    height: 100%; width: 5px; left: 3px }    

.footer__nav--1 { margin-bottom: 12px; max-width: 400px }
.footer__nav--1 .footer__link { font-weight: 600; font-size: 14px;
    text-transform: uppercase }

.footer__nav--2 { margin-bottom: 10px; max-width: 340px }
.footer__nav--2 .footer__link { font-weight: 400; font-size: 14px;
    text-transform: uppercase }

.footer__nav--3 { max-width: 300px; line-height: 14px }
.footer__nav--3 .footer__item { padding-left: 10px}
.footer__nav--3 .footer__item:nth-of-type(1) { padding-left: 0 }
.footer__nav--3 .footer__link { font-size: 10px; font-weight: 400; 
    color: rgba(0, 0, 0, 0.5); }
.footer__nav--3 .footer__item:not(:nth-of-type(1)):before { 
    color: rgba(0, 0, 0, 0.5); top: 1px; left: 0 }

.footer__link { position: relative; padding-bottom: 1px }
.footer__link:after { position: absolute; height: 1px; bottom: 0; 
    width: 100%; left: 0; content: ''; opacity: 0; background-color: #000;
    transition: opacity 250ms ease-in-out; }
.footer__nav--3 .footer__link:after { background-color: rgba(0, 0, 0, 0.5); }
.footer__link:hover:after { opacity: 1 }

@media (max-width: 340px) {
    footer { padding: 31px 10px 0 }
    .footer__nav--2 .footer__link { font-size: 12px; }
}

@media (orientation: landscape) {
    footer { font-size: 16px; 
        height: 356px; background: transparent url('assets/img/footer/bg.jpg') no-repeat center/cover;
        padding: 31px 20px 0; }
    .footer__logo { width: min(348px, 50vw); height: auto; margin-bottom: 20px }
    .footer__instagram_link { display: none }
    .footer__item { padding-left: 21px; }
    .footer__item:not(:nth-of-type(1)):before { left: 5px } 

    .footer__nav--1 { margin-bottom: 8px; max-width: none }
    .footer__nav--1 .footer__link { font-weight: 600; font-size: 16px;
        text-transform: uppercase }

    .footer__nav--2 { margin-bottom: 11px; max-width: none }
    .footer__nav--2 .footer__link { font-size: 16px; }

    .footer__nav--3 { max-width: none }
    .footer__nav--3 .footer__item { padding-left: 10px}
    .footer__nav--3 .footer__item:nth-of-type(1) { padding-left: 0 }
    .footer__nav--3 .footer__link { font-size: 10px; font-weight: 400;}
}


/** -- Hero -- **/

.hero { position: relative; margin-bottom: 2.0513vw; }
.hero::before { content: ''; position: absolute; left: 0; width: 100%; 
    bottom: 0; height: 9.1259vw; z-index: 2; 
    background: transparent url('assets/img/hero/bottom-m.png') no-repeat bottom center/cover; }
.hero::after { content: ''; position: absolute; left: 0; width: 100%;
    bottom: -2.0513vw; height: 9.7436vw; z-index: 3;
    background: transparent url('assets/img/hero/wave-m.svg') no-repeat center/cover; }
.hero + section { margin-top: 2.0513vw }

.hero__media { position: absolute; top: 0; height: 100%; left: 0; width: 100%;
    background: rgb(234,215,209); overflow: hidden; 
    background: linear-gradient(180deg, rgb(234,215,209) 0%, rgb(239,221,217) 25%, rgb(241,223,219) 50%, rgb(239,221,217) 75%, rgb(239,224,219) 100%); }
.hero__media_img { width: 100% }
.hero__content { position: absolute; top: 0; height: 100%; left: 0; width: 100%;
    display: flex; flex-direction: column; text-align: center; 
    justify-content: center; padding: 0 25px 8vw;}
.hero__media_waves { position: absolute; top: 0; right: 0 }
.return__link_txt { padding-bottom: 3px; position: relative }
.return__link_txt::after { content: ''; position: absolute; bottom: 2px; height: 1px;
    left: 0; width: 100%; opacity: 0; background-color: #000;
    transition: opacity 250ms ease-in-out; }
.return__link:hover .return__link_txt::after { opacity: 1 }
.return__icon { position: relative; top: 2px; margin-right: 13px; }

    /** 
        Type A (home)
        Type B (page : notre histoire, contact, mentions...)
        Type C (page contact)
        Type D (archive post)
        Type E (archive produit)
        Type F (single post)
        Type G (single produit)
    **/



@media (orientation: portrait) {

    .hero--typeA { height: max(93.8462vw, 310px) }
    .hero--typeB { height: 40.769vw }
    .hero--typeC { height: 31.282vw }
    .hero--typeC .hero__media_img { position: relative; top: -1.7949vw }
    .hero--typeD { height: 34.6154vw }
    .hero--typeE { height: 32.3077vw }
    .hero__media_waves { top: -22.3077vw; height: 75.1282vw; }    
    .hero--typeE { height: 32.3077vw }
    .hero--typeF { height: 25.641vw }
    .hero--typeF .hero__content { text-align: left; padding: 0 29px 4.359vw; }
    .hero--typeFbis .hero__content { text-align: left; padding: 0 29px 7.359vw; }
}

@media (orientation: landscape) {

    .hero { margin-bottom: 1.1805vw; }
    .hero::before { height: 5.6964vw;
        background: transparent url('assets/img/hero/bottom.png') no-repeat bottom center/cover; }
    .hero::after { bottom: -1.1805vw; height: 5.8333vw;
        background: transparent url('assets/img/hero/wave.svg') no-repeat center/cover; }
    .hero + section { margin-top: 1.1805vw }

    .hero__content { padding-top: 5.6944vw; }
    
    .hero--typeA { height: 34.4444vw }
    .hero--typeB { height: 21.3889vw }
    .hero--typeB .hero__media_img { position: relative; top: -4.1667vw; }
    .hero--typeB .hero__content { padding-top: 4.375vw }
    .hero--typeC { height: 21.3194vw }
    .hero--typeC  .hero__media_img { position: relative;
        top: -3.6806vw; left: 0.486vw; transform: scale(1.01); }
    .hero--typeD { height: 19.0972vw }
    .hero--typeD .hero__media_img { position: relative; top: -6.1111vw; }
    .hero--typeD .hero__content { padding-top: 5.2083vw }
    .hero--typeE { height: 19.0278vw }
    .hero--typeE .hero__media_img { position: relative; top: -2.6389vw; }
    .hero--typeE .hero__content { padding-top: 5.2778vw }
    .hero--typeF { height: 10.8333vw }
    .hero--typeF::before { height: 3.5876vw;
        background: transparent url('assets/img/hero/bottom-single.png') no-repeat bottom center/cover; }
    .hero--typeF::after { height: 3.7526vw;
        background: transparent url('assets/img/hero/wave-single.svg') no-repeat center/cover; }
    .hero--typeF .hero__content { padding: 0 15px 1.458vw; text-align: left;
        max-width: 1250px; left: 50%; transform: translateX(-50%); }
    .hero--typeFbis .hero__content { padding: 0 15px 2.8vw; }
    .hero__media_waves { top: -12.1528vw; height: 46.8056vw; right: -1.1111vw; }
}

/** -- Home -- **/

    /** -- Home hero -- **/

@media (orientation: portrait) {
    .home__ctas { margin: 0 auto; max-width: 250px }
    .home__ctas > .btn { width: 100% }
    .home__ctas > .btn:first-of-type { margin-bottom: min(19px, 4.87vw) }
    .home__hero_video { display: none }
    .home__hero_cover { height: 150%; position: relative; max-width: none;
        left: -84vw; top: -23vw; opacity: 0.3; }
}
@media (orientation: landscape) {
    .home__ctas { width: 340px; margin: 0 auto; display: flex;
        justify-content: space-between; }
    .home__hero_cover { display: none }
    .home__hero_video { width: 120%; position: relative;
        top: -7vw; opacity: 0.3; }
}

    /** -- Home products -- **/

.home__products_section { padding-top: 23px; margin-bottom: 33px }
.home__product_link { margin-bottom: 16px }
.home__products { display: flex; flex-direction: column; padding: 0 30px; }
.home__product { display: inline-block; cursor: pointer; position: relative; 
    text-decoration: none; color: #000; margin-bottom: 19px; }
.home__product_media { position: relative; height: 0; padding-bottom: 100%; margin-bottom: 15px }
.home__product_img_hover { position: absolute; top: 0; height: 100%; left: 0; width: 100%; 
    opacity: 0; transition: opacity 250ms ease-in-out }
.home__product_img_container { position: absolute; top: 0; height: 100%; left: 0; width: 100%;
    display: flex; justify-content: center; align-items: center; background: #F6DBD34D; }
.home__product_img { max-width: 70%; max-height: 60% }
.home__product:hover .home__product_img_hover { opacity: 1 }
.home__product_category { position: absolute; top: 15px; left: 14px; letter-spacing: 0;
    font-size: 13px; font-weight: 500; text-transform: uppercase;
    padding: 4px 16px 4px }
.home__product_category--capital-beaute { background: #F7BAB8 }
.home__product_category--nutriments-de-la-peau { background: #8BCDCC }
.home__product_category--capital-soleil { background: #F7AC70 }
.home__product_category--capital-cheveux { background: #73A382 }
.home__product_title { font-size: 18px; font-weight: 500; text-transform: uppercase; }
.home__product_description { font-size: 12px; }

@media (min-width: 768px), (orientation: landscape) {
    .home__products_section { text-align: center; padding-top: 61px; margin-bottom: 23px }
    .home__product_link { margin-bottom: 34px }
    .home__products { padding: 0 6.4583vw; margin: 0 auto; flex-direction: row; justify-content: space-between }
    .home__product { width: 32%; text-align: left; }
    .home__product_media { margin-bottom: 19px }
    .home__product_category { top: 20px; left: 16px; }
    .home__product_title { font-size: 22px; margin-bottom: 2px }
    .home__product_description { font-size: 18px; }
}

    /** -- Home pictos -- **/

.pictos { position: relative; height: 91.4103vw; margin: 2.5641vw 0;
    background: transparent url('assets/img/home/picto/bg-m.png') no-repeat center/cover; 
    display: flex; padding: 9.7436vw 5.1282vw 0; flex-direction: row; flex-wrap: wrap; }
.picto { width: 39.7436vw; margin: 0 2.5641vw 5.641vw }

.picto__icon { height: 100% }
.picto:nth-of-type(2) .picto__icon { height: 75% }
.picto__description { font-size: min(15px, 3.8461vw); text-align: center; }

@media (orientation: portrait) {
    .pictos::before,
    .pictos::after { content: ''; position: absolute; left: 0; width: 100%; height: 8.9743vw;
        background: transparent url('assets/img/home/picto/wave-m.svg') no-repeat center/cover }
    .pictos::before { top: -2.5641vw }
    .pictos::after { top: auto; bottom: -2.5641vw }
    .picto__media { height: 20vw; display: flex; justify-content: center; 
        align-items: center; margin-bottom: 2.5641vw; }
}
@media (orientation: landscape) {
    .pictos { height: 33.5417vw; margin: 0; padding: 8.4027vw 18.0556vw 0;
        justify-content: space-between;
        background: transparent url('assets/img/home/picto/bg.png') no-repeat center/cover; }
    .picto { width: 21%; margin: 0 }
    .picto__media { height: 0; padding-bottom: 90%; position: relative;
        margin-bottom: 4px; }
    .picto__icon { height: 81.5%; position: absolute; top: 50%; left: 50%;
        transform: translate(-50%, -50%) }
    .picto:nth-of-type(2) .picto__icon { height: 60% }
    .picto__description { font-size: 18px; }    
}

    /** -- Home blog -- **/

.home__blog { padding-top: 32px; margin-bottom: 41px; }
.home__posts { overflow-x: auto; }
.front__swiper_wrapper { padding: 0 0 32px; align-items: stretch }
.front__swiper_slide:first-of-type { margin-left: 27px }
.front__swiper_slide:last-of-type { margin-right: 27px }
.front__swiper_slide { width: 275px; border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0px 4px 4px 0px rgb(240, 194, 182, 0.5); height: unset; }
.home__post_media { position: relative; height: 0; padding-bottom: 50%;
    background: #F6DBD3; }
.home__post_media_link { position: absolute; top: 0; height: 100%; left: 0; width: 100%;
        display: inline-block; }
.home__post_img { position: absolute; top: 0; height: 100%; left: 0; width: 100%;
    display: inline-block; transition: opacity 250ms ease-in-out }
.home__post:hover .home__post_img { opacity: 0.7 }
.home__post_content { padding: 22px 29px}
.home__post_category { font-size: 13px; font-weight: 600; color: #9A6B60;
    letter-spacing: 0.05em; text-transform: uppercase;
    margin-bottom: 6px; display: inline-block; }
.home__post_title { font-size: 16px; font-weight: 500;
    text-transform: uppercase; letter-spacing: 0; margin-bottom: 4px; }
.home__post_description { font-size: 12px; font-weight: 400;
    margin-bottom: 32px; letter-spacing: 0; }
.home__post_link { font-size: 14px; font-weight: 400;
    letter-spacing: 0; color: #000; }

@media (orientation: landscape) {
    .home__blog { text-align: center; padding-top: 30px; margin-bottom: 105px; }
    .home__posts { padding: 0 6.3194vw }
    .front__swiper_wrapper { padding: 0 0 10px }
    .front__swiper_slide { width: calc((100% - 40px) / 3); text-align: left; }
    .front__swiper_slide:first-of-type { margin-left: 0 }
    .front__swiper_slide:last-of-type { margin-right: 0 }
    .home__post_content { padding: 28px 40px 31px 38px }
    .home__post_category { margin-bottom: 8px }
    .home__post_title { font-size: 22px; margin-bottom: 14px; }
    .home__post_description { font-size: 16px; margin-bottom: 21px }
    .home__post_link { font-size: 16px; }        
}

/** -- Instagram -- **/

.instagram { text-align: center; padding-top: 24px }
.instagram--bg { position: relative; padding-top: 61px; 
    background: transparent url('assets/img/instagram/bg-m.jpg') no-repeat top center/cover }
.instagram--bg::before { content: ''; position: absolute; top: -2.5641vw; left: 0; width: 100%; 
    height: 9.7436vw; background: transparent url('assets/img/instagram/wave-m.svg') no-repeat center/cover; }
.instagram__title { max-width: none; display: inline-block; 
    margin-bottom: 34px; padding: 11px 16px }
.instagram__title_link { text-decoration: none; color: #000; }
.instagram__icon { position: relative; top: 4px; margin-right: 6px; }
.instagram__medias { overflow-x: auto; padding-bottom: 20px }
.instagram__media_link { display: inline-block; width: 100%; height: 100%; }
.instagram__swiper_wrapper { padding: 0 0 17px; }
.instagram__swiper_slide { width: 37.6923vw; height: 37.6923vw; }
.instagram__img { width: 100%; height: 100%}

@media (max-width: 360px) {
    .instagram__title { max-width: 60vw }
}
@media (orientation: landscape) { 
    .instagram { padding-top: 45px }
    .instagram--bg { padding-top: 96px; 
        background: transparent url('assets/img/instagram/bg.jpg') no-repeat top center/cover }
    .instagram--bg::before { top: -1.3889vw; height: 3.75vw; 
        background: transparent url('assets/img/instagram/wave.svg') no-repeat center/cover; }
    .instagram__title { padding: 16px 30px 11px; margin-bottom: 60px }
    .instagram__icon { width: 31px; margin-right: 2px }
    .instagram__swiper_slide { width: calc((100vw - 40px) / 5); 
        height: calc((100vw - 40px) / 5); }
    .instagram__media { width: 100%; height: 100%; position: relative }
    .instagram__img { position: absolute; top: 0; left: 0; width: 100%; height: 100% }
    .instagram__medias { padding-bottom: 50px }
}

/** -- Notre Histoire -- **/

@keyframes slide-down {
    from { opacity: 0; transform: translateY(-100%); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes slide-up {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(-100%); }
}

blockquote { font-size: 18px; font-style: italic; font-weight: 500; position: relative;
    margin: 0 auto; width: calc(100vw - 56px); padding: 17px 20px; letter-spacing: 0;
    margin: 9px auto 25px; text-align: center; }
blockquote::before,
blockquote::after { content: ''; position: absolute; width: 22px; height: 22px; }
blockquote::before { border-top: 2px solid #F0C2B6; border-left: 2px solid #F0C2B6;
    top: 0; left: 0; }
blockquote::after { border-bottom: 2px solid #F0C2B6; border-right: 2px solid #F0C2B6;
    top: auto; bottom: 0; left: auto; right: 0; }

.about__header { padding-bottom: 15.8974vw; position: relative; }
.about__header::after { content: ''; position: absolute; bottom: 0; height: 27.1795vw;
    left: 0; width: 100%; background: transparent url('assets/img/about/waves-m.svg') no-repeat center/cover }
.about__header_bloc { padding: 0 28px }
.about__header_media { width: calc(100vw - 56px); height: calc((100vw - 56px) * 1.2036);
    margin-bottom: 26px }
.about__header_img { width: 100%; height: 100%; display: inline-block; }
.about__header_content { text-align: center; }
.about__fixed_content,
.about__more_content { z-index: 2; position: relative; }
.btn__more,
.btn__less { border: none; background: transparent; text-decoration: underline; }
.about__more_content { max-height: 0; overflow: hidden; transition: all 0.5s ease-in-out }
.about__more_content--open { max-height: initial }

.about__ctas { padding: 31px 42px 42px; text-align: center; }
.about__ctas_container { width: 240px; display: flex; justify-content: center;
    flex-direction: column; padding-top: 3px; margin: 0 auto; }
.about__ctas_container > .btn:first-of-type { margin-bottom: 29px }
.about__ctas_container > .btn { padding-bottom: 9px }

.about__reassurance { position: relative; background: transparent url('assets/img/about/reassurance-top-m.png') no-repeat top center/cover;
    padding-top: 19.7436vw; padding-bottom: 9.4872vw }
.about__reassurance::before { content: ''; position: absolute; bottom: 0; height: 9.1026vw; left: 0; width: 100%; 
    background: transparent url('assets/img/about/reassurance-bottom-m.png') no-repeat bottom center/cover; }
.about__reassurance::after { content: ''; position: absolute; bottom: 2.0512vw; height: 9.7436vw; left: 0; width: 100%; 
    background: transparent url('assets/img/about/reassurance-wave-m.svg') no-repeat bottom center/cover; }
.about__reassurance_bloc { padding: 0 30px 20px; }
.about__reassurance_media { height: 0; padding-bottom: 58.2583%; position: relative;
    margin-bottom: 17px; }
.about__reassurance_img { position: absolute; top: 0; left: 0; width: 100%; height: 100% }
.about__reassurance_content { text-align: center; }
.about__reassurance_title { max-width: 315px; position: relative; margin-bottom: 21px; }
.about__reassurance_bloc:nth-of-type(2) .about__reassurance_title { max-width: 195px }
.about__reassurance_bloc:nth-of-type(3) .about__reassurance_title { max-width: 250px }
.about__reassurance_title > span::before { position: absolute; left: 11px; top: 0 }
.about__reassurance_bloc:nth-of-type(1) .about__reassurance_title > span::before { content: '1.' }
.about__reassurance_bloc:nth-of-type(2) .about__reassurance_title > span::before { content: '2.' }
.about__reassurance_bloc:nth-of-type(3) .about__reassurance_title > span::before { content: '3.' }

@media (orientation: landscape) {
    .about__header { padding: 3px 5vw 11.1111vw 7.0833vw }
    .about__header::after { height: 23.2639vw;
        background: transparent url('assets/img/about/waves.svg') no-repeat center/cover }
    blockquote { font-size: 28px; margin-left: 4.6528vw;
        padding: 3px 10px 0; max-width: 752px; margin-bottom: 70px; }
    blockquote::before,
    blockquote::after { width: 33px; height: 28px; }
    blockquote::before { border-top: 3px solid #F0C2B6; border-left: 3px solid #F0C2B6; }
    blockquote::after { border-bottom: 3px solid #F0C2B6; border-right: 3px solid #F0C2B6; }

    .about__header_bloc { padding: 0; display: flex; justify-content: space-between }
    .about__header_media { width: 35vw; height: 42.152vw }
    .about__header_content { width: 49vw; }
    .about__more_content { max-height: initial }
    .about__btn { display: none }

    .about__ctas { padding: 48px 30px 17px }
    .about__ctas_container { width: auto; max-width: 528px; padding-top: 16px;
        flex-direction: row; justify-content: space-between; }
    .about__ctas_container > .btn:first-of-type { margin-bottom: 0 }
    .about__ctas_container > .btn { width: 238px; }

    .about__reassurance { background: transparent url('assets/img/about/reassurance-top.png') no-repeat top center/cover;
        padding: 13.125vw 5.7638vw 5vw 6.9444vw }
    .about__reassurance::before { height: 3.5876vw;
        background: transparent url('assets/img/about/reassurance-bottom.png') no-repeat bottom center/cover; }
    .about__reassurance::after { bottom: 1.1805vw; height: 3.75vw; 
        background: transparent url('assets/img/about/reassurance-wave.svg') no-repeat bottom center/cover; }
    .about__reassurance_bloc { padding: 0; display: flex; flex-direction: row; justify-content: space-between; 
        align-items: center; margin-bottom: 78px }
    .about__reassurance_bloc:nth-of-type(2n) { flex-direction: row-reverse }
    .about__reassurance_media { width: 42.3611vw; padding-bottom: 24.4444vw; margin-bottom: 0; }
    .about__reassurance_content { width: 41vw; padding: 12px 18px 0 0 }
    .about__reassurance_bloc:nth-of-type(2n) .about__reassurance_content { padding: 12px 0 0 18px }
    .about__reassurance_title { max-width: 450px; margin-bottom: 32px; }
    .about__reassurance_bloc:nth-of-type(2) .about__reassurance_title { max-width: none }
    .about__reassurance_bloc:nth-of-type(3) .about__reassurance_title { max-width: 380px }
    .about__reassurance_title > span::before { left: 24px; }
    .about__reassurance_description { padding: 0 20px; margin-bottom: 0 }
}

/** -- Nos produits -- **/

.products__category { text-align: center; padding-top: 24px; margin-bottom: 30px }
.products__category_title { margin-bottom: 16px; font-size: 20px;
    padding: 0 24px 15px 12px; }
.products__category_description { font-size: 12px; margin: 0 auto 14px; 
    max-width: 390px; padding: 0 20px }
.products__bloc_container { display: flex; padding: 0 25px; gap: 25px; justify-content: space-between; }
.products__swiper { padding: 0 0 34px }
.products__swiper_slide { width: calc((100vw - 75px) / 2); }
.products__swiper_slide:first-of-type { margin-left: 25px }
.products__swiper_slide:last-of-type { margin-right: 25px }
.products__bloc { width: calc((100vw - 75px) / 2); display: inline-block; 
    cursor: pointer; text-decoration: none; color: #000}
.products__bloc_media { position: relative; height: 0; padding-bottom: 100% }
.products__bloc_img--hover { position: absolute; top: 0; height: 100%; left: 0; width: 100%; transition: opacity 250ms ease-in-out}
.products__bloc_img_container { position: absolute; top: 0; height: 100%; left: 0; width: 100%;
    display: flex; justify-content: center; align-items: center; background: #F6DBD34D; }
.products__bloc_img { max-width: 70%; max-height: 60% }
.products__bloc_media .products__bloc_img--hover { opacity: 0 }
.products__bloc:hover .products__bloc_img--hover { opacity: 1 }
.products__bloc_content { text-align: left }
.products__bloc_title { font-size: 13px; font-weight: 500; 
    text-transform: uppercase; padding: 10px 0 4px; }
.products__bloc_description { font-size: 12px; margin: 0; }

.products__category[data-category="B"] { padding-top: calc(24px + 10.256vw); position: relative;
    background: transparent url('assets/img/products/bg-m.png') no-repeat top center/cover;
    padding-bottom: calc(24px + 9.1026vw); margin-bottom: 0 }
.products__category[data-category="B"]::after { content: ''; position: absolute;
    bottom: 0; height: 9.1026vw; left: 0; width: 100%;
    background: url('assets/img/products/bg-bottom-m.png') no-repeat bottom center/cover; }
.products__category[data-category="C"] { padding-top: 22px; }
.products__category[data-category="D"] { padding-top: calc(14px + 10.256vw);
    margin-bottom: 0; padding-bottom: 58px;
    background: transparent url('assets/img/products/bg-m.png') no-repeat top center/cover; }

@media (orientation: landscape) {
    .products__category { padding-top: 64px; margin-bottom: 12px }
    .products__category_title { margin-bottom: 42px; font-size: 30px;
        padding: 0 48px 19px 32px; }
    .products__category_description { font-size: 18px; margin: 0 auto 40px; 
        max-width: 720px }
    .products__bloc_container { justify-content: center; }
    .products__bloc_container_swiper { padding: 0 25px; }
    .products__swiper_wrapper { justify-content: center; }
    .products__swiper_slide,
    .products__bloc { width: 400px}
    .products__swiper_slide:first-of-type { margin-left: 0 }
    .products__swiper_slide:last-of-type { margin-right: 0 }
    .products__bloc_title { font-size: 22px; padding: 10px 0 2px; }
    .products__bloc_description { font-size: 18px; }

    .products__category[data-category="B"] { padding-top: calc(72px + 6.5972vw);
        background: transparent url('assets/img/products/bg.png') no-repeat top center/cover;
        padding-bottom: calc(61px + 5.7043vw); margin-bottom: 0 }
    .products__category[data-category="B"]::before { content: ''; width: 102px; height: 509px;
        position: absolute; top: 50%; right: 0; transform: translateY(-42%);
        background: transparent url('assets/img/products/waves.png') no-repeat center/contain }
    .products__category[data-category="B"]::after { height: 5.7043vw; 
        background: url('assets/img/products/bg-bottom.png') no-repeat bottom center/cover; }
    .products__category[data-category="C"] { padding-top: 80px; margin-bottom: 57px }
    .products__category[data-category="D"] { padding-top: calc(72px + 6.5972vw);
        padding-bottom: 97px;
        background: transparent url('assets/img/products/bg.png') no-repeat top center/cover; }
}

/** -- Nos conseils -- **/

.posts__hero { padding: 25px 30px 50px; }
.posts__hero_container { border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0px 4px 4px 0px #F0C2B680; }
.posts__hero_content { text-align: center; padding: 35px 10px 37px; }
.posts__category { text-transform: uppercase; font-size: 13px;
    font-weight: 600; display: inline-block; letter-spacing: 0.05em;
    margin-bottom: 18px; color: #9A6B60; }
.posts__title { text-transform: uppercase; font-size: 16px;
    font-weight: 500; letter-spacing: 0; margin-bottom: 10px;}
.posts__description { padding: 0 15px; font-size: 12px;
    letter-spacing: 0;}
.posts__link { letter-spacing: 0; font-size: 14px; color: #000;}
.posts__hero_media { height: 0; padding-bottom: 66.75%; position: relative;
    background: #F6DBD3; }
.posts__hero_media_link { display: inline-block; height: 100%; width: 100% }
.posts__hero_img { position: absolute; top: 0; height: 100%; left: 0;
    width: 100%; display: inline-block; transition: opacity 250ms ease-in-out }
.posts__hero_container:hover .posts__hero_img { opacity: 0.7 }

.posts__list { padding: calc(11vw + 35px) 0 12px; 
    background: transparent url(assets/img/posts/bg-m.png) no-repeat top center/cover;}
.posts__list_container { overflow-x: auto; padding-bottom: 33px; }

.posts__swiper { padding-bottom: 24px }
.posts__swiper_wrapper { align-items: stretch; }  
.posts__swiper_slide { width: 275px; height: unset }
.posts__swiper_slide:first-of-type { margin-left: 27px }
.posts__swiper_slide:last-of-type { margin-right: 27px }
.posts__post { width: 275px; display: flex; flex-direction: column;
    border: 1px solid rgba(0, 0, 0, 0.1); background: #fff;
    box-shadow: 0px 4px 4px 0px #F0C2B680; height: 100% }
.posts__post_media { height: 0; padding-bottom: 50%; position: relative;
    background: #F6DBD3; }
.posts__post_media_link { display: inline-block; height: 100%; width: 100% }
.posts__post_img { position: absolute; top: 0; height: 100%; left: 0;
     width: 100%; opacity: 1; transition: opacity 250ms ease-in-out }
.posts__post:hover .posts__post_img { opacity: 0.7 }
.posts__post_content { padding: 21px 29px 23px; }
.posts__post_category { margin-bottom: 7px }
.posts__post_title { margin-bottom: 3px }
.posts__post_description { padding: 0; margin-bottom: 31px }

@media (orientation: landscape) {
    .posts__hero { padding: 75px 13.611vw 120px; position: relative}
    .posts__hero::after { content: ''; position: absolute; left: 0; width: 7.0833vw; 
        top: 15.6944vw; height: 35.3472vw;
        background: transparent url('assets/img/posts/waves.png') no-repeat center/cover; }
    .posts__hero_container { display: flex; flex-direction: row-reverse;
        justify-content: space-between; align-items: center; }
    .posts__hero_content { width: 36.5277vw; 
        padding: 0 20px}
    .posts__category { font-size: 13px; margin-bottom: 9px; }
    .posts__title { font-size: 22px; }
    .posts__description { font-size: 16px; }
    .posts__link { font-size: 16px; }
    .posts__hero_media { width: 34.9305vw; 
        padding-bottom: calc(34.9305vw * 0.6675)}

    .posts__list { padding: calc(6vw + 79px) 0 48px; 
        background: transparent url(assets/img/posts/bg.png) no-repeat top center/cover;}
    .posts__list_container { width: 100%; padding: 0 6.3194vw; padding-bottom: 11px; }
    .posts__swiper_wrapper { width: 100%; display: flex; 
        gap: 22px; justify-content: space-between; flex-wrap: wrap; }
     
    .posts__swiper { padding-bottom: 0 }
    .posts__swiper_slide { width: calc((100% - 22px) / 2) }
    .posts__swiper_slide:first-of-type { margin-left: 0 }
    .posts__swiper_slide:last-of-type { margin-right: 0 }
    .posts__post { width: 100%; margin-bottom: 12px  }
    .posts__post_content { padding: 32px 39px 35px; }
    .posts__post_title { margin-bottom: 10px }
    .posts__post_description { padding: 0; margin-bottom: 15px }
}

/** -- Contact -- **/

.contact__content { text-align: center; padding-top: 17px; margin-bottom: 57px }
.contact__title { max-width: 285px; padding: 0 20px 12px 14px; margin-bottom: 15px; }
.contact__description { padding: 0 25px; margin: 0 auto; }

.contact__content form { margin-bottom: 20px; }
.fieldset { text-align: left; padding: 15px 29px 2px; }
.label__txt { font-size: 15px; display: inline-block; margin-bottom: 15px }
.fieldset select { padding: 17px; width: 100%; font-size: 15px;
    border: 1px solid #F0C2B6; -moz-appearance: none; appearance: none;
    background: transparent url('assets/img/contact/arrow.svg') no-repeat right 10px center; }
.fieldset input:not([type="file"]) { padding: 21px 17px; width: 100%; font-size: 15px;
    border: 1px solid #F0C2B6; }
.fieldset textarea { padding: 21px 17px; width: 100%; height: 134px; font-size: 15px;
    border: 1px solid #F0C2B6; }
.fieldset input[type="file"] { display: none; }
.label__file .input_file { text-align: center; padding: 14px 0 10px;
    width: 156px; border: 1px solid #F0C2B6;
    cursor: pointer; display: inline-block; font-size: 12px;
    font-weight: bold; background: #F0C2B633; }
.label__checkbox { display: flex; padding: 1px 29px 0; gap: 6px; }
.label__checkbox [data-name="acceptance"] span { margin: 0; }
.label__checkbox input[type="checkbox"] { -webkit-appearance: none; appearance: none;
    background-color: var(--form-background); margin: 0; font: inherit;
    color: currentColor; width: 20px; height: 20px; border: 1px solid #000000;
    display: grid; place-content: center; padding: 0 }
.label__checkbox input[type="checkbox"]::before { content: ""; width: 12px; 
    height: 12px; transform: scale(0); transform-origin: bottom left;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
    transition: 120ms transform ease-in-out; background-color: CanvasText;
    box-shadow: inset 16px 16px var(--form-control-color); }
.label__checkbox input[type="checkbox"]:checked::before {
    transform: scale(1); }
.acceptance__txt { font-size: 15px; letter-spacing: 0; text-align: left; }
.acceptance__link { color: #000 }
.mandatory { font-size: 12px; font-style: italic; letter-spacing: 0;
    padding: 0 10px 0 29px; text-align: left; margin-bottom: 22px }
.mandatory + p { text-align: left; padding-left: 29px; }
.contact__content input[type="submit"] { background: #000; color: #fff;
    font-size: 13px; font-weight: 600; text-align: center; letter-spacing: 0;
    padding: 13px 0 9px; width: 240px }
.contact__reassurance { font-size: 15px; text-align: left;
    padding: 0 29px 0 29px; letter-spacing: 0; }

@media (orientation: landscape) {
    .contact__content { padding: 43px 30px 0; margin-bottom: 57px;
        margin: 0 auto 117px; }
    .contact__title { font-size: 30px; max-width: none; 
        padding: 0 50px 12px 30px; margin-bottom: 46px; }
    .contact__description { padding: 0 0 0 15px; font-size: 18px;
        text-align: left; letter-spacing: 0; max-width: 820px; margin: 0 auto }

    .label__txt { font-size: 24px; margin-bottom: 11px; letter-spacing: 0; }
    .fieldset { padding: 32px 0 0; max-width: 820px; margin: 0 auto 6px }
    .fieldset select, 
    .fieldset input:not([type="file"]),
    .fieldset textarea{ font-size: 24px; }
    .fieldset select { padding: 11px 60px 11px 42px }
    .fieldset > p { margin-bottom: 33px }
    .fieldset input:not([type="file"]),
    .fieldset textarea { padding: 15px 42px }
    .fieldset textarea{ height: 221px; }
    .label__file .input_file { font-size: 12px; width: 238px; padding: 12px 0 8px; }
    .fieldset + p { margin: 0 auto 21px; }
    .acceptance__txt { font-size: 18px; }
    .label__checkbox { gap: 10px; padding: 0; }
    .label__checkbox input[type="checkbox"] { padding: 0 }
    .acceptance__txt { text-align: left; }
    .mandatory { font-size: 16px; margin: 0 auto 33px; }
    .mandatory + p { margin: 0 auto; }
    .contact__reassurance { margin: 0 auto; padding-top: 20px; }
    .fieldset + p,
    .mandatory,
    .mandatory + p,
    .contact__reassurance { max-width: 1202px; margin-left: auto; margin-right: auto;
        padding-left: min(calc((100% - 820px) / 2), calc((1202px - 820px) / 2));
        font-size: 18px }
}


/** -- Product -- **/

:root {
    --swiper-navigation-size: 18px;
    --swiper-theme-color: #000;
    --swiper-pagination-bullet-size: 11px;
    --swiper-pagination-bullet-horizontal-gap: 3px;
    --swiper-pagination-bullet-inactive-color: #fff;
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-bottom: -6px;
    --swiper-scrollbar-sides-offset: 17.3%;
    --swiper-scrollbar-drag-bg-color: #000;
    --swiper-scrollbar-bg-color: #fff
}
.swiper-scrollbar { border: 1px solid #000 }

.product__header { padding: 11px 29px 0; margin-bottom: 38px; }
.product__header_media { margin-bottom: 32px; }
.product__header_swiper { width: calc(100vw - 2 * 29px); padding-bottom: 25px;
    height: calc(100vw - 2 * 29px + 25px) }
.product__header_swiper_btn_prev,
.product__header_swiper_btn_next { transform: translateY(-13px) }
.product__header_swiper .swiper-pagination-bullet { border: 1px solid #000; }
.product__header_swiper_slide { height: 0; padding-bottom: 100%; position: relative; }
.product__header_img { position: absolute; top: 0; left: 0; width: 100%; height: 100% }
.product__header_img_container { position: absolute; top: 0; left: 0; 
    width: 100%; height: 100%; background: #F6DBD34D;
    display: flex; justify-content: center; align-items: center; }
.product__header_img_packshot { max-width: 70%; max-height: 70%; }
.product__category { text-transform: uppercase; font-size: 13px;
    font-weight: 500; display: inline-block; padding: 5px 15px 4px;
    letter-spacing: 0; margin-bottom: 4px; }
.product__category--capital-beaute { background: #F7BAB8 }
.product__category--nutriments-de-la-peau { background: #8BCDCC }
.product__category--capital-soleil { background: #F7AC70 }
.product__category--capital-cheveux { background: #73A382 }
.product__title { font-size: 20px; font-weight: 500; color: #000;
    line-height: 50px; text-shadow: none; max-width: none; margin-bottom: 4px; }
.product__bullets { padding: 0 0 0 22px; margin: 0; list-style: none;
    margin-bottom: 21px; }
.product__bullet { font-size: 15px; letter-spacing: 0; position: relative }
.product__bullet::before { content: '.'; position: absolute; left: -14px; top: -20% }
.product__short_description { background: #F7BAB833; letter-spacing: 0;
    padding: 20px 22px 15px 19px; font-size: 15px; font-weight: 600; margin-bottom: 20px }

.product__header--nutriments-de-la-peau .product__short_description { background: #8BCDCC33; }
.product__header--capital-soleil .product__short_description { background: #F7AC7033; }
.product__header--capital-cheveux .product__short_description { background: #73A38233; }

.product__ideal_for { font-size: 15px; letter-spacing: 0; }
.product__ideal_for > strong { font-weight: 500 }
.product__cta { width: 100%; max-width: 294px; cursor: pointer; border: 0;
    padding: 13px 23px 12px }

.product__pictos { max-width: 250px; margin: 0 auto; display: flex; 
    flex-direction: column; margin-bottom: 29px; }
.product__picto { display: flex; align-items: center; margin-bottom: 19px; }
.product__picto_img { margin-right: 15px; width: 59px }
.product__picto_img--fishing { width: 44px; margin: 0 23px 0 8px }
.product__picto_txt { font-size: 15px; letter-spacing: 0; padding-right: 20px;}

.product__details { margin-bottom: 44px }
.product__detail { box-shadow: 0px 2px 2px 0px #00000026; }
.product__detail:nth-of-type(2n + 1) { background: #F6DAD233; }
.product__detail_title { padding: 0 11px 0 28px; text-transform: uppercase;
    font-size: 20px; font-weight: 500; position: relative; letter-spacing: 0.02em;
    color: #1E1E1E; height: 60px; display: flex; justify-content: space-between;
    align-items: center; }
.product__detail_btn { background: none; border: 0; padding: 10px; }
.product__detail_more { max-height: 0; overflow: hidden; 
    padding: 0px 27px 0 29px; letter-spacing: 0; font-size: 15px; }
.product__detail_more a { color: #000 }
.product__detail--open .product__detail_more { max-height: initial; margin-top: -9px; }
.product__detail_icon { transition: all 0.2s ease-in-out } 
.product__detail--open .product__detail_icon { transform: rotateX(180deg) } 

.product__details--nutriments-de-la-peau .product__detail_icon path { fill: #8BCDCC }
.product__details--capital-soleil .product__detail_icon path { fill: #F7AC70; }
.product__details--capital-cheveux .product__detail_icon path { fill: #73A382; }

.product__detail p { margin-bottom: 24px; }
.product__detail ul { list-style: none; padding-left: 22px; margin: 0 0 24px; }
.product__detail li { position: relative; }
.product__detail li::before { content: '.'; position: absolute; top: -5px; left: -14px; }
.product__detail_more_title { background: #EF838833; text-transform: uppercase;
    font-size: 16px; font-weight: 500; padding: 4px 17px 0px; text-align: center;
    display: inline-block; margin: 0 0 14px; }
.product__detail_more_title:first-of-type { margin-top: 8px }
.product__detail_more table { font-size: 12px; margin: -6px 0 15px; border-collapse: collapse; width: 100% }
.product__detail_more th { font-weight: 500; background: #EF838833; padding: 14px 0 10px; }
.product__detail_more th:nth-of-type(1),
.product__detail_more td:nth-of-type(1) { text-align: left; padding-left: 11px; }
.product__detail_more th:nth-of-type(2) { width: 63px; }
.product__detail_more th:nth-of-type(3) { width: 79px; }
.product__detail_more tr:nth-of-type(2n) { background: #EF83881A; }
.product__detail_more tr:nth-of-type(2n + 1) { background: #EF83880D; }

.product__details--nutriments-de-la-peau .product__detail_more th,
.product__details--nutriments-de-la-peau .product__detail_more_title { background: #8BCDCC33; }
.product__details--capital-soleil .product__detail_more th,
.product__details--capital-soleil .product__detail_more_title { background: #F7AC7033; }
.product__details--capital-cheveux .product__detail_more th,
.product__details--capital-cheveux .product__detail_more_title { background: #73A38233; }
.product__details--nutriments-de-la-peau .product__detail_more tr:nth-of-type(2n) { background: #8BCDCC1A; }
.product__details--capital-soleil .product__detail_more tr:nth-of-type(2n) { background: #F7AC701A; }
.product__details--capital-cheveux .product__detail_more tr:nth-of-type(2n) { background: #73A3821A; }
.product__details--nutriments-de-la-peau .product__detail_more tr:nth-of-type(2n + 1) { background: #8BCDCC0D; }
.product__details--capital-soleil .product__detail_more tr:nth-of-type(2n + 1) { background: #F7AC700D; }
.product__details--capital-cheveux .product__detail_more tr:nth-of-type(2n + 1) { background: #73A3820D; }
    

.product__detail_more td { padding: 14px 0 16px }
.product__detail_more td:nth-of-type(2),
.product__detail_more td:nth-of-type(3) { text-align: center }
.product__detail_mentions { font-size: 10px; }
.product__detail_advice_icon { display: none }
.product__faq { padding-bottom: 11px; }
.product__faq_item { padding: 9px 0 7px 26px; border-bottom: 1px solid #EF8388; }

.product__details--nutriments-de-la-peau .product__faq_item { border-bottom: 1px solid #8BCDCC; }
.product__details--capital-soleil .product__faq_item { border-bottom: 1px solid #F7AC70; }
.product__details--capital-cheveux .product__faq_item { border-bottom: 1px solid #73A382; }

.product__faq_item:last-of-type { border-bottom: 0 }
.product__faq_question { display: flex; justify-content: space-between;
    align-items: flex-start; font-size: 15px; font-weight: 500; }
.product__faq_btn { padding: 10px; background: none; border: 0; transform: translate(10px, -10px); }
.product__faq_icon--landscape { display: none }
.product__faq_item .product__faq_line { transition: transform 0.2s ease-in-out }
.product__faq_item--open .product__faq_line { transform: scale(0) }
.product__faq_answer { font-size: 13px; margin: 0; box-sizing: content-box;
    max-height: 0; overflow: hidden }
.product__faq_item--open .product__faq_answer { max-height: none; padding: 10px 0 7px }
.product__detail .product__faq_answer > p { margin: 0 }

.product__details--nutriments-de-la-peau .product__faq_icon--portrait rect { stroke: #8BCDCC; fill: #8BCDCC }
.product__details--capital-soleil .product__faq_icon--portrait rect { stroke: #F7AC70; fill: #F7AC70; }
.product__details--capital-cheveux .product__faq_icon--portrait rect { stroke: #73A382; fill: #73A382; }
.product__details--nutriments-de-la-peau .product__faq_icon--landscape path { fill: #8BCDCC }
.product__details--capital-soleil .product__faq_icon--landscape path { fill: #F7AC70; }
.product__details--capital-cheveux .product__faq_icon--landscape path { fill: #73A382; }

.product__posts { background: transparent url('assets/img/product/bg-posts-m.png') no-repeat top center/cover;
    position: relative; padding-top: calc(10vw + 17px); padding-bottom: calc(11.7949vw + 28px); margin-bottom: 30px }
.product__posts::before { content: ''; height: 9.7436vw; top: -13px; width: 100%; position: absolute;
    background: transparent url('assets/img/product/wave-m.svg') no-repeat center/cover }
.product__posts::after { content: ''; height: 11.7949vw; bottom: 0; width: 100%; position: absolute;
    background: transparent url('assets/img/product/bg-posts-bottom-m.png') no-repeat center/cover }
.product__posts_swiper_wrapper { padding-bottom: 35px; }
.product__posts_swiper_slide { width: 275px }
.product__posts_swiper_slide:first-of-type { margin-left: 27px }
.product__posts_swiper_slide:last-of-type { margin-right: 27px }
.product__post { width: 100%; border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0px 4px 4px 0px rgb(240, 194, 182, 0.5); background-color: #fff; }
.product__post_media { position: relative; height: 0; padding-bottom: 50%; background: #F6DBD3; }
.product__post_media_link { display: inline-block; height: 100%; width: 100% }
.product__post_img { position: absolute; top: 0; height: 100%; left: 0; width: 100%; transition: opacity 250ms ease-in-out}
.product__post:hover .product__post_img { opacity: 0.7 }
.product__post_content { padding: 22px 29px}
.product__post_category { font-size: 13px; font-weight: 600; color: #9A6B60;
    letter-spacing: 0.05em; text-transform: uppercase;
    margin-bottom: 6px; display: inline-block; }
.product__post_title { font-size: 16px; font-weight: 500;
    text-transform: uppercase; letter-spacing: 0; margin-bottom: 4px; }
.product__post_description { font-size: 12px; font-weight: 400;
    margin-bottom: 32px; letter-spacing: 0; }
.product__post_link { font-size: 14px; font-weight: 400;
    letter-spacing: 0; color: #000; }

.product__crossselling { padding-bottom: 54px; }
.product__crossselling_title {}
.product__crossselling_swiper {}
.product__crossselling_swiper_wrapper { padding-bottom: 22px; }
.product__crossselling_swiper_slide { width: 157px; }
.product__crossselling_swiper_slide:first-of-type { margin-left: 20px; }
.product__crossselling_swiper_slide:last-of-type { margin-right: 20px; }
.product__crossselling_swiper_prev { display: none }
.product__crossselling_swiper_next { display: none }
.product__crossselling_product { width: 100%; display: inline-block;
    color: #000; text-decoration: none; }
.product__crossselling_product_media { width: 100%; height: 0; padding-bottom: 100%; 
    position: relative; background: #F6DBD3; }
.product__crossselling_product_img { position: absolute; top: 0; left:0; 
    height: 100%; width: 100%; transition: opacity 250ms ease-in-out }
.product__crossselling_product:hover .product__crossselling_product_img { opacity: 0.7 }
.product__crossselling_product_content { padding-top: 10px}
.product__crossselling_product_title { font-size: 13px; font-weight: 500; margin-bottom: 4px;
    text-transform: uppercase; }
.product__crossselling_product_description { font-size: 12px; }

@media (orientation: landscape) {
    :root {
        --swiper-navigation-size: 25px;
        --swiper-pagination-bottom: 33px;
        --swiper-pagination-bullet-horizontal-gap: 5px;
        --swiper-navigation-sides-offset: 17px;
        --swiper-pagination-bullet-width: 18px;
        --swiper-pagination-bullet-height: 18px;
    }
    .product__posts_swiper_pagination .swiper-pagination-bullet { border: 1px solid #000 }
    
    body.single-produits main { position: relative }
    body.single-produits main::after { content: ''; position: absolute; width: 507px;
        height: 1112px; left: -18px; top: 3407px; 
        background: transparent url('assets/img/product/waves-left.svg') no-repeat center/cover }

    .product__header { padding: 0 47px 0 29px; display: flex; 
        justify-content: space-between; align-items: flex-start;
        max-width: 1280px; margin: 0 auto 55px; }
    .product__header_media { width: 50.5%; margin-bottom: 0; }
    .product__header_swiper { width: 100%; padding-bottom: 0;
        height: auto }
    .product__header_swiper_btn_prev,
    .product__header_swiper_btn_next { transform: translateY(-5px) }
    .product__header_swiper_pagination .swiper-pagination-bullet {
        width: 12px; height: 12px }
    .product__header_swiper_pagination.swiper-horizontal > .swiper-pagination-bullets, 
    .product__header_swiper_pagination.swiper-pagination-bullets.swiper-pagination-horizontal { bottom: 27px }
    .product__header_swiper_pagination.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, 
    .product__header_swiper_pagination.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 3px } 
    .product__header_content { width: 47%; position: relative;
        transform: translateY(17px); padding: 23px 34px 52px; }
    .product__header_content::before,
    .product__header_content::after { width: 24px; height: 24px; content: '';
        position: absolute; border-top: 2px solid #EF8388; border-left: 2px solid #EF8388}
    
    .product__header--nutriments-de-la-peau .product__header_content::before,
    .product__header--nutriments-de-la-peau .product__header_content::after { 
        border-top: 2px solid #8BCDCC; border-left: 2px solid #8BCDCC }
    .product__header--capital-soleil .product__header_content::before,
    .product__header--capital-soleil .product__header_content::after { 
        border-top: 2px solid #F7AC70; border-left: 2px solid #F7AC70 }
    .product__header--capital-cheveux .product__header_content::before,
    .product__header--capital-cheveux .product__header_content::after { 
        border-top: 2px solid #73A382; border-left: 2px solid #73A382 }
    
    .product__header_content::before { top: 0; left: 0; }
    .product__header_content::after { bottom: 0; right: 0; transform: rotate(180deg) }
    .product__category { padding: 4px 15px 1px; margin-bottom: 17px; }
    .product__title { font-size: 30px; margin-bottom: 10px; }
    .product__bullets { padding-left: 24px; margin-bottom: 27px; }
    .product__bullet { font-size: 16px; }
    .product__short_description { padding: 26px 40px 28px 25px; font-size: 16px; 
        margin-bottom: 30px; }
    .product__ideal_for { font-size: 16px; margin-bottom: 27px }
    
    .product__pictos { max-width: none; padding: 0 max(calc((100vw - 825px) / 2), 30px);
        justify-content: space-between; flex-direction: row; margin-bottom: 55px; 
        position: relative; z-index: 3; }
    .product__pictos::after { content: ''; position: absolute; width: 338px;
        height: 817px; right: 0; bottom: -547px; 
        background: transparent url('assets/img/product/waves-right.svg') no-repeat center/cover }
    .product__pictos--2 { justify-content: center; }
    .product__picto { margin-bottom: 0; width: 249px; justify-content: flex-start; }
    .product__picto_img { margin-right: 20px; }
    .product__picto_txt { font-size: 16px; padding-right: 0;}
    
    .product__details { margin-bottom: 42px; overflow-x: hidden; }
    .product__detail { box-shadow: none; display: flex; 
        padding: 48px max(30px, calc((100vw - 1050px)/2)) 20px;
        justify-content: space-between; align-items: flex-start; }
    .product__detail:nth-of-type(2n + 1) { padding-top: calc(3.616vw + 48px); position: relative; 
        padding-bottom: calc(3.5876vw + 20px);
        background: #fdf8f5 url('assets/img/product/bg-detail.jpg') no-repeat top center/contain }
    .product__detail:nth-of-type(2n + 1)::after { content: ''; background: transparent url('assets/img/product/bg-detail-bottom.png') no-repeat top center/contain;
        position: absolute; bottom: 0; left: 0; width: 100%; height: 3.5876vw }
    .product__detail:nth-of-type(4) { position: relative }
    .product__detail:nth-of-type(4)::before { content: ''; position: absolute; width: 338px;
        height: 817px; right: -19px; top: -527px; 
        background: transparent url('assets/img/product/waves-right.svg') no-repeat center/cover }
    .product__detail_title { padding: 0 42px 9px 0; font-size: 26px; 
        letter-spacing: 0.03em; color: #000; height: auto; display: inline-block;
        text-align: right; position: relative; border-bottom: 1px solid #F08489;
        width: 240px; }
    .product__detail_title::after { position: absolute; content: ''; bottom: -12px;
        right: 0; width: 18px; height: 30px; background: #F08489}

    .product__details--nutriments-de-la-peau .product__detail_title { border-bottom: 1px solid #8BCDCC; }
    .product__details--capital-soleil .product__detail_title { border-bottom: 1px solid #F7AC70; }
    .product__details--capital-cheveux .product__detail_title { border-bottom: 1px solid #73A382; }
    .product__details--nutriments-de-la-peau .product__detail_title::after { background: #8BCDCC; }
    .product__details--capital-soleil .product__detail_title::after { background: #F7AC70; }
    .product__details--capital-cheveux .product__detail_title::after { background: #73A382; }

    .product__detail_btn { display: none }
    .product__detail_more { max-height: initial; width: calc(100% - 295px);
        padding: 5px 0 0 29px; letter-spacing: 0; font-size: 16px; }
    .product__detail p { margin-bottom: 31px; max-width: 630px; }
    .product__detail ul { padding-left: 22px; margin: 0 0 36px; max-width: 608px }
    .product__detail li::before { top: -5px; left: -14px; }
    .product__detail_more_title { margin: 0 0 19px; }
    .product__detail_more_title:first-of-type { margin-top: 0 }
    .product__detail_more table { font-size: 16px; margin: 0 0 31px; }
    .product__detail_more th { padding: 14px 0 4px;  }
    .product__detail_more th:nth-of-type(1),
    .product__detail_more td:nth-of-type(1) { padding-left: 27px; }
    .product__detail_more th:nth-of-type(2) { width: 165px; }
    .product__detail_more th:nth-of-type(3) { width: 143px; }
    .product__detail_more td { padding: 13px 0 9px }
    .product__detail_mentions { font-size: 10px; }
    .product__detail_advice--with-icon { display: flex; align-items: flex-start; }
    .product__detail_advice_icon { display: inline-block; 
        width: 87px; margin-right: 95px; 
        margin-top: -41px; margin-left: 45px; }
    .product__detail_advice_icon--3 { margin-top: -71px; } 

    .product__faq { padding-left: 22px; padding-bottom: 11px; }    
    .product__faq_item { padding: 0; border-bottom: 2px solid #EF8388; }
    .product__faq_item:first-of-type { border-top: 2px solid #EF8388; }
    .product__faq_item:last-of-type { border-bottom: 2px solid #EF8388; }

    .product__details--nutriments-de-la-peau .product__faq_item { border-bottom: 2px solid #8BCDCC; }
    .product__details--capital-soleil .product__faq_item { border-bottom: 2px solid #F7AC70; }
    .product__details--capital-cheveux .product__faq_item { border-bottom: 2px solid #73A382; }
    .product__details--nutriments-de-la-peau .product__faq_item:first-of-type { border-top: 2px solid #8BCDCC; }
    .product__details--capital-soleil .product__faq_item:first-of-type { border-top: 2px solid #F7AC70; }
    .product__details--capital-cheveux .product__faq_item:first-of-type { border-top: 2px solid #73A382; }
    .product__details--nutriments-de-la-peau .product__faq_item:last-of-type { border-bottom: 2px solid #8BCDCC; }
    .product__details--capital-soleil .product__faq_item:last-of-type { border-bottom: 2px solid #F7AC70; }
    .product__details--capital-cheveux .product__faq_item:last-of-type { border-bottom: 2px solid #73A382; }
    
    .product__faq_question { padding: 20px 6px 6px 23px; font-size: 18px; }
    .product__faq_item--open .product__faq_question { background: #EF838833; }
    .product__faq_btn { cursor: pointer; transform: translate(0, -4px); }
    .product__faq_icon--portrait { display: none }
    .product__faq_icon--landscape { display: inline-block }
    .product__faq_item--open .product__faq_icon--landscape { transform: rotateX(180deg) }
    .product__faq_answer { padding: 0; font-size: 16px; }
    .product__faq_item--open .product__faq_answer { padding: 20px 26px 24px }

    .product__details--nutriments-de-la-peau .product__faq_item--open .product__faq_question { background: #8BCDCC33; }
    .product__details--capital-soleil .product__faq_item--open .product__faq_question { background: #F7AC7033; }
    .product__details--capital-cheveux .product__faq_item--open .product__faq_question { background: #73A38233; }
    
    .product__posts { background: transparent url('assets/img/product/bg-posts.jpg') no-repeat top center/cover;
        position: relative; padding-top: calc(3.7526vw + 48px); padding-bottom: 3.5876vw; margin-bottom: 81px }
    .product__posts::before { height: 3.7526vw; top: -17px;
        background: transparent url('assets/img/product/wave.svg') no-repeat center/cover }
    .product__posts::after { height: 3.5876vw;
        background: transparent url('assets/img/product/bg-posts-bottom.png') no-repeat center/cover }
    .product__posts_swiper { padding-bottom: 80px; } 
    .product__posts_swiper_wrapper { padding-bottom: 0; }
    .product__posts_swiper_scrollbar { display: none }
    .product__posts_swiper_slide { width: 100%; padding: 0 13.611vw }
    .product__posts_swiper_slide:first-of-type { margin-left: 0 }
    .product__posts_swiper_slide:last-of-type { margin-right: 0 }
    .product__post { width: 100%; box-shadow: 0px 4px 4px 0px #F0C2B680;
        display: flex; justify-content: space-between; }
    .product__post_media { height: 0; width: 35.069vw;
        padding-bottom: calc(35.069vw * 0.5) }
    .product__post_content { padding: 22px 29px; width: 36.388vw; 
        text-align: center; background: #fff; display: flex;
        flex-direction: column; justify-content: center;}
    .product__post_category { margin-bottom: 6px;  }
    .product__post_title { font-size: 22px; max-width: 79%; margin: 0 auto 10px; }
    .product__post_description { font-size: 16px; margin-bottom: 16px;  }
    .product__post_link { font-size: 16px; }
    
    .product__crossselling { text-align: center; padding-bottom: 37px; position: relative }
    .product__crossselling::before { content: ''; position: absolute; width: 100%;
        left: 0;height: 3.7526vw; top: calc(-81px + 17px - 3.7526vw);
        background: transparent url('assets/img/product/wave.svg') no-repeat center/cover }
    .product__crossselling_title { margin-bottom: 12px; }
    .product__crossselling_swiper { max-width: 85.555vw; margin: 0 auto; }
    .product__crossselling_swiper_wrapper { padding-top: 51px; padding-bottom: 0; }
    .product__crossselling_swiper_slide { width: 400px; }
    .product__crossselling_swiper_slide:first-of-type { margin-left: 0; }
    .product__crossselling_swiper_slide:last-of-type { margin-right: 0; }
    .product__crossselling_swiper_prev { top: 12px; right: 63px; left: auto; 
        width: 20px; display: inline-block }
    .product__crossselling_swiper_next { top: 12px; right: 0; 
        width: 20px; display: inline-block }
    .product__crossselling_swiper_prev::after,
    .product__crossselling_swiper_next::after { display: none }
    .product__crossselling_swiper_prev .product__crossselling_swiper_icon,
    .product__crossselling_swiper_next .product__crossselling_swiper_icon { width: 20px }
    .product__crossselling_swiper_scrollbar { display: none }
    .product__crossselling_product { width: 100% }
    .product__crossselling_product_media { width: 100%; height: 0; padding-bottom: 100%; 
        position: relative;}
    .product__crossselling_product_img { position: absolute; top: 0; left:0; height: 100%; width: 100% }
    .product__crossselling_product_content { padding-top: 12px; text-align: left }
    .product__crossselling_product_title { font-size: 22px; }
    .product__crossselling_product_description { font-size: 18px; }
}

/** -- Page -- **/

.page__content { font-size: 15px; max-width: 800px; margin: 0 auto;
    letter-spacing: 0; padding: 30px 30px 60px; }
.page__content p { margin: 0 0 22px }
.page__content strong { font-weight: 700; }
.page__content a { font-weight: 500; text-decoration: underline; 
    color: #000; overflow-wrap: break-word;}
.page__content table { border-collapse: collapse; }
.page__content caption { font-weight: bold; padding: 1em 0 }
.page__content th, 
.page__content td { border: 1px solid #000; padding: 2px; text-align: center; }
.page__content ul { list-style: none; padding-left: 22px; }
.page__content li { position: relative; }
.page__content li::before { content: '.'; position: absolute; top: -5px; left: -14px; }
.page__content h2 { font-size: 18px; font-weight: 500; margin: 0 0 25px; }
.page__content h3 { font-size: 16px; font-weight: 500; margin: 0 1em 23px; }

@media (orientation: landscape) {
    .page__content { font-size: 18px; padding-top: 17px; }
    .page__content p { margin: 0 0 26px }
    .page__content ul { padding-left: 22px; }
    .page__content li::before { top: -5px; left: -14px; }
    .page__content h2 { font-size: 26px; font-weight: 500; margin: 0 0 39px; }
    .page__content h3 { font-size: 23px; font-weight: 500; margin: 0 1em 35px; }
}

/** -- Article -- **/

.post__header { text-align: center; padding-top: 21px; }
.post__header_title { text-shadow: none; font-size: 18px;
    margin-bottom: 17px; line-height: 26.01px;
    text-align: center; color: #000; }
.post__header_description { padding: 0 30px; letter-spacing: 0;
    font-size: 15px; margin-bottom: 22px; }
.post__header_img { width: calc(100% - 60px);}

.post__part { letter-spacing: 0; margin-bottom: 31px }
.post__part1 { background: #fdf8f5 url('assets/img/post/bg-part1-m.jpg') no-repeat top center/contain;
    position: relative; padding-bottom: calc(9.1025vw + 23px); padding-top: calc(9.2307vw + 10px) }
.post__part1::after { content: ''; position: absolute; bottom: 0; 
    height: 9.1025vw; left: 0; width: 100%;
    background: #fdf8f5 url('assets/img/post/bg-part1-bottom-m.png') no-repeat top center/contain; }
.post__part h2 { font-size: 18px; font-weight: 500; margin-bottom: 17px;
    text-align: center; padding: 0 60px }
.post__part p { padding: 0 30px 5px; font-size: 15px; text-align: left; }
.post__part ol,
.post__part ul { padding: 0 30px 5px 50px; margin-left: 0; margin-right: 0 }
.post__part blockquote::before,
.post__part blockquote::after { width: 28px; height: 28px } 
.post__part blockquote::before { border-top: 3px solid #F0C2B6;
    border-left: 3px solid #F0C2B6; }
.post__part blockquote::after { border-bottom: 3px solid #F0C2B6;
    border-right: 2px solid #F0C2B6; }
.post__part blockquote { padding: 15px 1px 10px; margin-bottom: 15px;
    font-size: 16px; font-style: italic;
    font-weight: 500; line-height: 23.12px; }
.post__part blockquote p { text-align: center; }
.post__part figure { width: calc(100% - 60px); margin: 0 auto 1em; }
.post__part li { margin-bottom: 1em }
.post__part li strong { display: inline-block; margin-bottom: 1em;
    width: 100%; }

.post__part2 { padding-top: 18px }

.post__products { padding-top: calc(9.2307vw + 25px); position: relative;
    padding-bottom: calc(9.1026vw + 22px);
    background: #fdf8f5 url('assets/img/post/crosselling-top-m.jpg') no-repeat top center/contain; }
.post__products::before { height: 9.7435vw; top: -10px; left: 0; width: 100%;
    content: ''; position: absolute;
    background: transparent url('assets/img/post/crosselling-wave-m.svg') no-repeat top center/contain; }
.post__products::after { height: 9.1026vw; bottom: 0; left: 0; width: 100%;
    content: ''; position: absolute;
    background: transparent url('assets/img/post/crosselling-bottom-m.png') no-repeat top center/contain; }
.post__product_swiper_title { font-size: 20px; margin-bottom: 26px }
.post__product_swiper_wrapper { padding-bottom: 22px; }
.post__product_swiper_slide { width: 157px; }
.post__product_swiper_slide:first-of-type { margin-left: 20px; }
.post__product_swiper_slide:last-of-type { margin-right: 20px; }
.post__product_swiper_prev { display: none }
.post__product_swiper_next { display: none }
.post__product { width: 100%; display: inline-block;
    color: #000; text-decoration: none; }
.post__product_media { width: 100%; height: 0; padding-bottom: 100%; 
    position: relative; background: #F6DBD3; }
.post__product_img { position: absolute; top: 0; left:0; 
    height: 100%; width: 100%; transition: opacity 250ms ease-in-out }
.post__product:hover .post__product_img { opacity: 0.7 }
.post__product_content { padding-top: 10px}
.post__product_title { font-size: 13px; font-weight: 500; margin-bottom: 4px;
    text-transform: uppercase; }
.post__product_description { font-size: 12px; }

.post__posts { padding-top: 22px; padding-bottom: 47px; }
.post__posts_swiper_wrapper { padding-bottom: 35px; }
.post__posts_swiper_title { font-size: 25px }
.post__posts_swiper_slide { width: 275px }
.post__posts_swiper_slide:first-of-type { margin-left: 27px }
.post__posts_swiper_slide:last-of-type { margin-right: 27px }
.post__post { width: 100%; height: 100%; border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0px 4px 4px 0px rgb(240, 194, 182, 0.5); }
.post__post_media { position: relative; height: 0; padding-bottom: 50%; background: #F6DBD3; }
.post__post_media_link { display: inline-block; height: 100%; width: 100% }
.post__post_img { position: absolute; top: 0; height: 100%; left: 0; width: 100%; transition: opacity 250ms ease-in-out}
.post__post:hover .post__post_img { opacity: 0.7 }
.post__post_content { padding: 22px 29px}
.post__post_category { font-size: 13px; font-weight: 600; color: #9A6B60;
    letter-spacing: 0.05em; text-transform: uppercase;
    margin-bottom: 6px; display: inline-block; }
.post__post_title { font-size: 16px; font-weight: 500;
    text-transform: uppercase; letter-spacing: 0; margin-bottom: 4px; }
.post__post_description { font-size: 12px; font-weight: 400;
    margin-bottom: 32px; letter-spacing: 0; }
.post__post_link { font-size: 14px; font-weight: 400;
    letter-spacing: 0; color: #000; }


@media (orientation: landscape) {
    .post__header { padding-top: 26px; position: relative; margin-bottom: 30px; }
    .post__header::before { content: ''; position: absolute; top: 309px;
        height: 23.2638vw; left: 0; width: 100%;
        background: transparent url('assets/img/post/waves.png') no-repeat center/contain }
    .post__header_title { max-width: 900px; font-size: 30px;
        line-height: 43px; margin-bottom: 31px; }
    .post__header_description { max-width: 775px; margin: 0 auto 37px; }
    .post__header_img { width: 71.5277vw; position: relative; }

    .post__part { letter-spacing: 0; margin-bottom: 45px }
    .post__part1 { background: #fdf8f5 url('assets/img/post/bg-part1.jpg') no-repeat top center/contain;
        padding: calc(5.8414vw + 18px) 21.632vw calc(5.7043vw + 33px);  }
    .post__part1::after { height: 5.7043vw; 
        background: #fdf8f5 url('assets/img/post/bg-part1-bottom.png') no-repeat top center/contain; }
    
    .post__part h2 { font-size: 28px; font-weight: 500; margin-bottom: 23px;
        padding: 0 30px }
    .post__part p { padding: 0 30px 5px; font-size: 16px; margin-bottom: 28px; }
    .post__part blockquote { padding: 19px 1px 13px; max-width: 76%;
        margin: 0 auto 40px; }
    .post__part blockquote p { font-size: 20px; line-height: 29px; }
    .post__part figure { width: 100%; margin-bottom: 2em }

    .post__part2 { padding: 35px 21.632vw 0; position: relative; }
    .post__part2::before { content: ''; position: absolute; 
        top: -22.43vw; height: 30.555vw; left: 0; width: 7.743vw; z-index: 1;
        background: transparent url('assets/img/post/waves-2.png') no-repeat center/contain; }
    .post__part2::after { content: ''; position: absolute; 
        top: 260px; height: 24.062vw; right: 0; width: 4.479vw; z-index: 1;
        background: transparent url('assets/img/post/waves-3.png') no-repeat center/contain; }

    .post__products { text-align: center; padding-top: calc(3.616vw + 41px); 
        padding-bottom: calc(6.952vw + 47px);
        background: #fdf8f5 url('assets/img/post/crosselling-top.jpg') no-repeat top center/contain; }
    .post__products::before { height: 3.752vw; top: -10px; left: 0; width: 100%;
        content: ''; position: absolute;
        background: transparent url('assets/img/post/crosselling-wave.svg') no-repeat top center/contain; }
    .post__products::after { height: 6.952vw; 
        background: transparent url('assets/img/post/crosselling-bottom.png') no-repeat top center/contain; }
    .post__product_swiper_title { font-size: 30px; margin-bottom: 22px }
    .post__product_swiper { max-width: 85.555vw; margin: 0 auto; }
    .post__product_swiper_wrapper { padding-top: 51px; padding-bottom: 0; }
    .post__product_swiper_slide { width: 400px; }
    .post__product_swiper_slide:first-of-type { margin-left: 0; }
    .post__product_swiper_slide:last-of-type { margin-right: 0; }
    .post__product_swiper_prev { top: 12px; right: 63px; left: auto; 
        width: 20px; display: inline-block }
    .post__product_swiper_next { top: 12px; right: 0; 
        width: 20px; display: inline-block }
    .post__product_swiper_prev::after,
    .post__product_swiper_next::after { display: none }
    .post__product_swiper_prev .post__product_swiper_icon,
    .post__product_swiper_next .post__product_swiper_icon { width: 20px }
    .post__product_swiper_scrollbar { display: none }
    .post__product { width: 100% }
    .post__product_media { width: 100%; height: 0; padding-bottom: 100%; 
        position: relative;}
    .post__product_img { position: absolute; top: 0; left:0; height: 100%; width: 100% }
    .post__product_content { padding-top: 12px; text-align: left }
    .post__product_title { font-size: 22px; }
    .post__product_description { font-size: 18px; }

    .post__posts { text-align: center; padding-top: 30px; padding-bottom: 16px; }
    .post__posts_swiper_title { font-size: 30px; }
    .post__posts_swiper { padding-bottom: 80px; } 
    .post__posts_swiper_wrapper { padding-bottom: 0; }
    .post__posts_swiper_scrollbar { display: none }
    .post__posts_swiper.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, 
    .post__posts_swiper_pagination.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        border: 1px solid #000 }
    .post__posts_swiper_slide { width: 100%; padding: 0 13.611vw }
    .post__posts_swiper_slide:first-of-type { margin-left: 0 }
    .post__posts_swiper_slide:last-of-type { margin-right: 0 }
    .post__post { width: 100%; box-shadow: 0px 4px 4px 0px #F0C2B680;
        display: flex; justify-content: space-between; }
    .post__post_media { height: 0; width: 35.069vw;
        padding-bottom: calc(35.069vw * 0.5) }
    .post__post_content { padding: 22px 29px; width: 36.388vw; 
        text-align: center; background: #fff; display: flex;
        flex-direction: column; justify-content: center;}
    .post__post_category { margin-bottom: 6px;  }
    .post__post_title { font-size: 22px; max-width: 79%; margin: 0 auto 10px; }
    .post__post_description { font-size: 16px; margin-bottom: 16px;  }
    .post__post_link { font-size: 16px; }
}

/** -- Trouver nos produits -- **/

.iframe > iframe { width: 100%; min-height: 970px; }
.abs-in-middle{position: absolute; top: 50%;transform: translate(-50%, -50%);left: 50%;}
.bkg-saumon{background-color: #FDF8F5;}
.container_padding{padding:50px 15px;}
.justify-center{justify-content: center;}
h2.no-contour:before,.no-contour:after{display:none;}
h2.no-contour{border:none;}
.title.color-red{color:#E7223E;margin-bottom: 20px;}
.container__operations{ padding: 30px; text-align: center;}
.no-padding{padding-top: 0;}
.legal-text{ margin-top: 20px;font-size: 80%;}
.min-height-product .home__product_media{overflow: hidden;}
.min-height-product .home__product_img_hover{height: auto;top: -20%;}
@media (min-width: 768px), (orientation: landscape) {
    .container__operations{ padding: 50px 6.4583vw;}
    .min-height-product .home__product_media { padding-bottom: 70%; }
}