/* Auto-split from style.css. Shared/ambiguous rules live in global.css. */
html,
body {
    overflow-x: hidden;
    max-width: 100%;
}

/* --- Custom brand scrollbar -------------------------------------------- */
/* Firefox */
html {
    scrollbar-width: thin;
    scrollbar-color: #889FC1 rgba(136, 159, 193, 0.12);
}
/* Chrome, Edge, Safari & other WebKit/Blink browsers */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
::-webkit-scrollbar-track {
    background: rgba(136, 159, 193, 0.12);
}
::-webkit-scrollbar-thumb {
    background-color: #889FC1;
    border-radius: 10px;
    border: 2px solid transparent;
    background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover {
    background-color: #76889f;
}

/* --- Secure forms: honeypot + status messages -------------------------- */
/* Honeypot: off-screen (not display:none, which many bots skip) so humans
   never see it but bots fill it and get silently rejected. */
.hp-field {
    position: absolute !important;
    left: -10000px !important;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
/* Status pill — readable on both the blue and cream form backgrounds. */
.form-status {
    display: block;
    text-align: center;
    margin: 22px auto 15px;
    padding: 12px 18px;
    border-radius: 4px;
    font-family: "Hero New Light";
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
}
.form-status:empty {
    display: none;
    padding: 0;
    margin: 0;
}
.form-status.is-success {
    background: #e7f4e8;
    color: #236b2a;
    border: 1px solid #b6dcb9;
}
.form-status.is-error {
    background: #fdeaea;
    color: #a5281b;
    border: 1px solid #f2c2bd;
}
.content-btn.is-loading,
.form-btn.is-loading {
    opacity: 0.6;
    pointer-events: none;
    cursor: default;
}

/* Invisible CAPTCHA — hidden token fields, never shown to the user. */
.js-captcha {
    display: none !important;
}
body {
    margin: 0;
    padding: 0;
    font-size: 15px;
    line-height: 30px;
}
a,
a:active,
a:hover,
a:focus {
    text-decoration: none;
    color: #000000;
}
a:visited {
    text-decoration: none;
    /*color: #000000;*/
}
.navbar a {
    color: #000000;
}
ul {
    padding: 0;
    margin: 0;
}
ul li {
    list-style-type: none;
}
.color-white {
    color: #FFFFFF!important;
}
.color-black {
    color: #000000!important;
}
.bg-blue {
    background-color: #889FC1;
}
.page-wrapper {
    position: relative;
}
.navbar-collapse {
     flex-grow: unset;
}
.section-header {
    text-align: center;
}
.font-hero {
    font-family: "Hero New Light";
}
.font-freightBig-pro {
    font-family: "FreightBig Pro";
}
.section-header .subtitle {
    font-family: "Hero New Light";
    font-size: 16px;
    line-height: 25px;
    font-weight: 300;
    letter-spacing: 4px;
    color: #D3D9E5;
    text-transform: uppercase;
}
.content-btn {
    display: inline-block;
    font-family: "Hero New Light";
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 4px;
    text-transform: uppercase;
    padding: 34px 84px;
    cursor: pointer;
}
.text-italic {
    font-style: italic;
}
.font-italic {
    font-family: "FreightBig Pro Italic";
}
/*
* Modal
*/
.modal-content {
    border: none;
    border-radius: 0;
    outline: 0;
}
.modal-header {
    border-bottom: none;
    padding: 29px 27px;
}
.modal-header .btn-close {
    background-color: #D3D9E5;
    background-image: none;
    border-radius: 50%;
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 4px;
    font-weight: 300;
    padding: 0;
    color: #818181;
    width: 32px;
    height: 32px;
    cursor: pointer;
}
.modal-header .btn-close .symbol {
    margin-left: 3px;
}
.modal-body {
    padding: 26px 106px 116px 105px;
}
.modal-body .prod-img {
    padding-right: 28px;
}
.modal-body .prod-img img {
    width: 100%;
    height: auto;
}
.modal-body .modal-title {
    display: block;
    text-align: center;
    font-size: 70px;
    line-height: 88px;
    letter-spacing: 0px;
    font-weight: 300;
    color: #889FC1;
    margin-bottom: 60px;
}
.modal-body .modal-btns {
    padding: 0 37px;
}
.modal-body .btns-wrap {
    display: flex;
    flex-direction: column;
}
.modal-body .btns-wrap .close-btn {
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 4px;
    font-weight: 300;
    color: #000000;
    background-color: #FFFFFF;
    padding: 26px 10px;
    margin-top: 24px;
    border: 1px solid #000000;
}
.modal-body .btns-wrap .panier-btn {
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 4px;
    font-weight: 300;
    color: #FFFFFF;
    background-color: #889FC1;
    padding: 26px 85px;
    margin-top: 24px;
}
@media (min-width: 767px) {
    .modal-xl {
        --bs-modal-width: 720px;
    }
}
@media (min-width: 992px) {
    .modal-xl {
        --bs-modal-width: 940px;
    }
}
@media (min-width: 1100px) {
    .modal-xl {
        --bs-modal-width: 1050px;
    }
}
@media (min-width: 1200px) {
    .modal-xl {
        --bs-modal-width: 1170px;
    }
}
@media (min-width: 1400px) {
    .modal-xl {
        --bs-modal-width: 1350px;
    }
}
@media (max-width: 1399px) {
    .modal-body .btns-wrap .close-btn {
        font-size: 14px;
        padding: 26px 10px;
    }
    .modal-body .btns-wrap .panier-btn {
        font-size: 14px;
        padding: 26px 62px;
    }
    .modal-body .product-price .price {
        font-size: 30px;
        line-height: 40px;
    }
}
@media (max-width: 1199px) {
    .modal-body .modal-title {
        font-size: 62px;
        line-height: 75px;
        margin-bottom: 52px;
    }
    .modal-body .prod-category {
        font-size: 12px;
        line-height: 22px;
        letter-spacing: 3px;
        margin-bottom: 30px;
    }
    .modal-body .prod-name {
        font-size: 16px;
        line-height: 29px;
        letter-spacing: 2px;
        padding-bottom: 30px;
        margin-bottom: 30px;
    }
    .modal-body .product-price .qty-info {
        font-size: 11px;
        line-height: 23px;
        letter-spacing: 1.5px;
    }
    .modal-body .product-price .price {
        font-size: 22px;
        line-height: 30px;
    }
    .modal-body .btns-wrap .close-btn {
        font-size: 13px;
        padding: 23px 10px;
        letter-spacing: 3px;
        margin-top: 0;
    }
    .modal-body .btns-wrap .panier-btn {
        font-size: 13px;
        padding: 23px 50px;
        letter-spacing: 3px;
        margin-top: 20px;
    }
}
@media (max-width: 1099px) {
    .modal-body {
        padding: 26px 98px 116px 98px;
    }
    .modal-body .modal-title {
        font-size: 52px;
        line-height: 66px;
        margin-bottom: 48px;
    }
    .modal-body .prod-category {
        font-size: 11px;
        line-height: 18px;
        letter-spacing: 2px;
        margin-bottom: 25px;
    }
    .modal-body .prod-name {
        font-size: 15px;
        line-height: 25px;
        letter-spacing: 1px;
        padding-bottom: 25px;
        margin-bottom: 25px;
    }
    .modal-body .product-price .qty-info {
        letter-spacing: 1px;
        line-height: 30px;
    }
    .modal-body .product-price .price {
        font-size: 19px;
        line-height: 26px;
    }
    .modal-body .btns-wrap .close-btn {
        font-size: 13px;
        padding: 20px 10px;
        letter-spacing: 1px;
        margin-top: 0;
    }
    .modal-body .btns-wrap .panier-btn {
        font-size: 13px;
        padding: 20px 32px;
        letter-spacing: 3px;
        margin-top: 15px;
    }
}
@media (max-width: 991px) {
    .modal-body {
        padding: 10px 34px 50px 34px;
    }
    .modal-body .modal-row {
        position: relative;
    }
    .modal-body .btns-wrap .close-btn {
        margin-top: 35px;
    }
    .modal-body .prod-category {
        position: absolute;
        top: -30px;
    }
    .modal-body .modal-title {
        font-size: 47px;
        line-height: 60px;
        margin-bottom: 60px;
    }
    .modal-body .prod-name {
        margin-top: 10px;
    }
    .modal-body .btns-wrap .panier-btn {
        text-align: center;
    }
    .modal-body .prod-img {
        padding-right: 12px;
    }
}
@media (max-width: 575px) {
    .modal-body .modal-title {
        font-size: 36px;
        line-height: 40px;
        margin-bottom: 65px;
    }
    .modal-body .modal-btns {
        padding: 0 12px;
    }
}
/*
* Header
*/
.page-wrapper header {
    position: absolute;
    padding: 0 60px;
    width: 100%;
}
header .header-container {
    position: relative;
}
.page-wrapper header .navbar {
    padding: 45px 20px 35px 0;
}
.page-wrapper header .navbar .main-navigation .navigation-box {
    display: flex;
    font-family: "Hero New Light";
    padding: 0;
}
.page-wrapper header .navbar .main-navigation .navigation-box li {
    font-size: 15px;
    line-height: 24px;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    padding: 0 31px;
    color: #000000!important;
    cursor: pointer;
}
.page-wrapper header .navbar .main-navigation .navigation-box li.nav-item .nav-link {
    position: relative;
    padding: 10px 0;
}
.page-wrapper header .navbar .right-side-box {
    position: relative;
    bottom: 43px;
}
.page-wrapper header .navbar .right-side-box .right-navigation {
    display: flex;
}
.page-wrapper header .navbar .right-side-box .right-navigation li a,
.page-wrapper header .navbar .right-side-box .right-navigation li .right-nav-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 1.56px;
    padding: 0 20px;
    color: #000000;
    cursor: pointer;
}
.page-wrapper header .navbar .right-side-box .right-navigation li:not(:last-child) {
    border-right: 1px solid #bababa;
}
.page-wrapper header .navbar .right-side-box .right-navigation li .right-nav-icon {
    margin-bottom: 4px;
}
.page-wrapper header .navbar .main-navigation .navigation-box li.nav-item .nav-link.active,
.page-wrapper header .navbar .main-navigation .navigation-box li.nav-item:hover .nav-link {
    color: #889FC1!important;
}
.page-wrapper header .navbar .main-navigation .navigation-box li.nav-item .nav-link.active:after,
.page-wrapper header .navbar .main-navigation .navigation-box li.nav-item:hover .nav-link:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 36px;
    height: 3px;
    background-color: #889FC1!important;
}
.page-wrapper header .social-links {
    width: 60px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    top: 0;
    right: 0;
    background-color: #889FC1;
    padding-top: 20px;
    padding-bottom: 25px;
}
.page-wrapper header .social-links .soc-links-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}
.page-wrapper header .social-links .soc-links-list .soc-links-item {
    width: 100%;
    text-align: center;
    cursor: pointer;
}
/*
* Sticky header — pinned to the top once the page is scrolled (all devices).
* JS (theme.js) toggles .header-fixed past an ~80px scroll threshold.
*/
.page-wrapper header.site-header {
    transition: background-color .3s ease, box-shadow .3s ease;
}
.page-wrapper header.site-header.header-fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    background-color: #ffffff;
    box-shadow: 0 6px 22px rgba(20, 30, 55, 0.10);
    animation: headerDrop .4s ease;
    /* the 60px right gutter held the (now-hidden) social bar — reclaim it */
    padding-right: 8px;
}
@keyframes headerDrop {
    from { transform: translateY(-100%); }
    to   { transform: translateY(0); }
}
.page-wrapper header.site-header.header-fixed .navbar {
    padding-top: 16px;
    padding-bottom: 12px;
    padding-right: 0;
}
.page-wrapper header.site-header.header-fixed .desktop-header-logo {
    width: 150px;
    height: auto;
}
.page-wrapper header.site-header.header-fixed .navbar .right-side-box {
    bottom: 0;
}
/* Social icons are not wanted in the condensed sticky bar. */
.page-wrapper header.site-header.header-fixed .social-links {
    display: none;
}
/*
* Mobile / tablet menu = left off-canvas drawer with a close button + overlay.
* These are the shared (cross-breakpoint) pieces; the drawer panel itself is
* styled in the <=1199px block below.
*/
.menu-close {
    display: none;
}
/* Logo at the top-left of the open drawer (revealed in the <=1199px block) */
.menu-logo {
    display: none;
}
.menu-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(15, 23, 42, 0.45);
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s ease, visibility .35s ease;
    z-index: 1150;
}
.menu-overlay.is-visible {
    opacity: 1;
    visibility: visible;
}
/* Lock the page scroll while the drawer is open. The scroller is the root
   element, so html must be locked too — body alone is not enough. */
html.menu-open,
body.menu-open {
    overflow: hidden;
}
/* "Mon compte" / "Connexion" entry lives in the nav list but is only meant for
   the mobile/tablet drawer — hidden in the desktop horizontal nav. */
.nav-account-only {
    display: none;
}
/* Cart count badge — overlaid on the cart icon. Hidden everywhere except the
   mobile icon-only sticky bar (revealed in the <=767px block). */
.page-wrapper header .right-side-box .right-navigation li .right-nav-icon {
    position: relative;
}
/* Inline SVG header icons (account / cart) — crisp at any DPI, inherit link colour */
.page-wrapper header .right-side-box .right-navigation li .right-nav-icon .nav-svg {
    display: block;
    width: 22px;
    height: 22px;
}
.cart-badge {
    display: none;
    position: absolute;
    top: -7px;
    right: -9px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    font-family: "Hero New Light";
    font-size: 10px;
    line-height: 1;
    color: #ffffff;
    background-color: #889FC1;
    border-radius: 999px;
}
@media(max-width:1740px) {
    .page-wrapper header .navbar .main-navigation .navigation-box li {
        padding: 0 20px;
    }
}
@media(max-width:1199px) {
    /* Off-canvas drawer: the nav panel is pinned full-height to the left edge
       and slides in via .is-open (toggled by theme.js). display:block !important
       overrides Bootstrap's .collapse{display:none} so it can transition. */
    .page-wrapper header .navbar .main-navigation,
    header .header-container .main-navigation {
        display: block !important;
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        height: 100%;
        width: 320px;
        max-width: 84vw;
        background-color: #ffffff;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        padding: 80px 0 30px;
        border-radius: 0;
        transform: translateX(-100%);
        transition: transform .35s ease;
        z-index: 1200;
        overflow-y: auto;
    }
    /* shadow only while open — a closed (off-screen) drawer must not bleed its
       shadow onto the left edge of the page */
    .page-wrapper header .navbar .main-navigation.is-open {
        transform: translateX(0);
        box-shadow: 8px 0 40px rgba(20, 30, 55, 0.18);
    }
    /* stack the links vertically inside the drawer */
    .page-wrapper header .navbar .main-navigation.navbar-collapse .navigation-box {
        display: block;
    }
    .page-wrapper header .navbar .main-navigation.navbar-collapse .navigation-box li {
        padding: 0;
        border-bottom: 1px solid #eef1f6;
    }
    .page-wrapper header .navbar .main-navigation.navbar-collapse .navigation-box li.nav-item .nav-link {
        display: block;
        padding: 16px 30px;
        font-size: 14px;
    }
    /* reveal the account entry inside the drawer */
    .page-wrapper header .navbar .main-navigation.navbar-collapse .navigation-box li.nav-account-only {
        display: block;
    }
    /* underline indicator sits under the label, not the full row width */
    .page-wrapper header .navbar .main-navigation.navbar-collapse .navigation-box li.nav-item .nav-link.active:after,
    .page-wrapper header .navbar .main-navigation.navbar-collapse .navigation-box li.nav-item:hover .nav-link:after {
        left: 30px;
        bottom: 8px;
    }
    /* close (x) button, top-right of the drawer */
    .menu-close {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 16px;
        right: 16px;
        width: 40px;
        height: 40px;
        padding: 0;
        font-size: 22px;
        line-height: 1;
        color: #2a2f3a;
        background-color: transparent;
        border: none;
        cursor: pointer;
        z-index: 2;
    }
    .menu-close:hover {
        color: #889FC1;
    }
    /* logo, top-left of the drawer (mirrors the close button on the right) */
    .menu-logo {
        display: block;
        position: absolute;
        top: 16px;
        left: 26px;
        z-index: 2;
    }
    .menu-logo img {
        display: block;
        width: 116px;
        height: auto;
    }
    /* ── Sticky bar layout for tablet/mobile ─────────────────────────────────
       logo on the LEFT, then cart + menu button on the RIGHT. (Desktop keeps
       its full horizontal nav — these rules are scoped to <=1199px.) The flex
       parent is Bootstrap's .navbar > .container-fluid, so `order` reorders the
       items: logo (0), cart cluster (1), menu button (2). */
    .page-wrapper header.site-header.header-fixed .navbar .logo-box {
        display: block;
        order: 0;
        margin: 0;
    }
    .page-wrapper header.site-header.header-fixed .navbar .logo-box .navbar-brand {
        margin: 0;
        padding: 0;
    }
    /* the centered mobile logo is replaced by the left logo in the sticky bar */
    .page-wrapper header.site-header.header-fixed .mobile-logo {
        display: none;
    }
    /* keep the bar on one row so the menu button doesn't wrap below */
    .page-wrapper header.site-header.header-fixed .navbar > .container-fluid {
        flex-wrap: nowrap;
    }
    /* Tablet + mobile sticky bar = icon-only row: account · cart+badge · menu,
       no labels, equal spacing, vertically centred. Same gap to the menu button
       as between the icons. */
    .page-wrapper header.site-header.header-fixed .navbar .right-side-box {
        order: 1;
        margin-left: auto;
        margin-right: 30px;
    }
    .page-wrapper header.site-header.header-fixed .navbar .right-side-box .right-nav-text,
    .page-wrapper header.site-header.header-fixed .navbar .navbar-toggler .navbar-toggler-text {
        display: none;
    }
    .page-wrapper header.site-header.header-fixed .navbar .right-side-box .right-navigation {
        align-items: center;
        gap: 22px;
    }
    .page-wrapper header.site-header.header-fixed .navbar .right-side-box .right-navigation li a,
    .page-wrapper header.site-header.header-fixed .navbar .right-side-box .right-navigation li .right-nav-btn {
        padding: 0;
    }
    .page-wrapper header.site-header.header-fixed .navbar .right-side-box .right-navigation li:not(:last-child) {
        border-right: none;
    }
    .page-wrapper header.site-header.header-fixed .navbar .right-side-box .right-navigation li .right-nav-icon {
        margin-bottom: 0;
    }
    .page-wrapper header.site-header.header-fixed .navbar .right-side-box .right-navigation li .right-nav-icon .nav-svg {
        width: 24px;
        height: 24px;
    }
    /* the account glyph fills less of its box, so render it a touch larger to
       read as the same visual size as the cart */
    .page-wrapper header.site-header.header-fixed .navbar .right-side-box .right-navigation li .right-nav-icon .nav-svg-account {
        width: 27px;
        height: 27px;
    }
    .page-wrapper header.site-header.header-fixed .cart-badge {
        display: flex;
    }
    .page-wrapper header.site-header.header-fixed .navbar .navbar-toggler {
        order: 2;
        flex: 0 0 auto;
        justify-content: center;
    }
    .page-wrapper header.site-header.header-fixed .navbar .navbar-toggler .menu-toggler-icon {
        width: 28px;
    }
}
@media(max-width:767px) {
    /* Mobile only: the drawer expands to a full-screen popup (tablet keeps the
       320px side drawer). */
    .page-wrapper header .navbar .main-navigation,
    header .header-container .main-navigation {
        width: 100%;
        max-width: 100%;
    }
    /* Mobile only: the non-sticky top header's account/cart get the same
       icon-only treatment as the sticky bar — bigger icons, no labels, cart
       badge. (The MENU button keeps its own label.) */
    .page-wrapper header .navbar .right-side-box .right-nav-text {
        display: none;
    }
    .page-wrapper header .navbar .right-side-box .right-navigation {
        align-items: center;
        gap: 0px;
    }
    .page-wrapper header .navbar .right-side-box .right-navigation li a,
    .page-wrapper header .navbar .right-side-box .right-navigation li .right-nav-btn {
        padding: 0;
    }
    .page-wrapper header .navbar .right-side-box .right-navigation li:not(:last-child) {
        border-right: none;
    }
    .page-wrapper header .navbar .right-side-box .right-navigation li .right-nav-icon {
        margin-bottom: 0;
    }
    .page-wrapper header.site-header .navbar .right-side-box .right-navigation li .right-nav-icon .nav-svg {
        width: 24px;
        height: 24px;
    }
    .page-wrapper header.site-header .navbar .right-side-box .right-navigation li .right-nav-icon .nav-svg-account {
        width: 27px;
        height: 27px;
    }
    .cart-badge {
        display: flex;
    }
}
@media(max-width:1625px) {
    .page-wrapper header .navbar .main-navigation .navigation-box li {
        padding: 0 20px;
    }
}
@media(max-width:1585px) {
    .page-wrapper header .navbar .main-navigation .navigation-box li {
        padding: 0 15px;
    }
}
@media(max-width:1515px) {
    .page-wrapper header .navbar .main-navigation .navigation-box li {
        padding: 0 15px;
        font-size: 13px;
    }
}
@media(max-width:1470px) {
    .page-wrapper header .navbar .right-side-box .right-navigation li a,
    .page-wrapper header .navbar .right-side-box .right-navigation li .right-nav-btn {
        letter-spacing: 1px;
        padding: 0 15px;
    }
}
@media(max-width:1412px) {
    .page-wrapper header .navbar .main-navigation .navigation-box li {
        padding: 0 10px;
        font-size: 12px;
    }
}
@media(max-width:1390px) {
    .page-wrapper header .social-links {
        padding-top: 20px;
        padding-bottom: 17px;
    }
    .page-wrapper header .navbar {
        padding-right: 0;
    }
}
@media(max-width:1290px) {
    .page-wrapper header {
        padding-left: 30px;
    }
    .page-wrapper header .navbar .main-navigation .navigation-box li {
        padding: 0 10px;
    }
}
@media(max-width:1255px) {
    .page-wrapper header .navbar .main-navigation .navigation-box li {
        padding: 0 8px;
        font-size: 11px;
    }
}
@media(max-width:1199px) {
    .page-wrapper header {
        padding-left: 11px;
    }
    .page-wrapper header .navbar {
        padding: 12px 20px 35px 0;
    }
    .page-wrapper header .navbar .logo-box {
        display: none;
    }
    /* Account + cart buttons stay visible on mobile: reset the desktop offset
       and clear the 60px social bar pinned to the right edge. */
    .page-wrapper header .navbar .right-side-box {
        display: block;
        position: static;
        bottom: auto;
        margin-left: auto;    /* push to the right, away from the MENU toggle */
        margin-right: 10px;   /* clear the 60px social bar pinned right */
    }
    .page-wrapper header .navbar .right-side-box .right-navigation li a,
    .page-wrapper header .navbar .right-side-box .right-navigation li .right-nav-btn {
        padding: 0 12px;
        font-size: 10px;
        letter-spacing: 0.5px;
    }
    .page-wrapper header .navbar .right-side-box .right-navigation li .right-nav-icon {
        margin-bottom: 4px;
    }
    .page-wrapper header .navbar .right-side-box .right-navigation li .right-nav-icon img,
    .page-wrapper header .navbar .right-side-box .right-navigation li .right-nav-icon .nav-svg {
        width: 20px;
        height: 20px;
    }
    .page-wrapper header .social-links {
        height: 176px;
    }
    .page-wrapper header .navbar-toggler {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        padding: 0;
        line-height: 1;
        color: #000000;
        background-color: transparent;
        border: none;
        border-radius: none;
        transition: none;
    }
    .page-wrapper header .navbar .navbar-toggler .menu-toggler-icon .menu-line {
        width: 100%;
        height: 2px;
        background-color: #000000;
        margin-bottom: 5px;
    }
    .page-wrapper header .navbar .navbar-toggler .menu-toggler-icon {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        width: 26px;
    }
    .page-wrapper header .navbar .navbar-toggler .navbar-toggler-text {
        letter-spacing: 1.2px;
        color: #000000;
        font-size: 10px;
        line-height: 16px;
        letter-spacing: 0.9px;
        text-transform: uppercase;
    }
    .page-wrapper header .navbar .navbar-toggler:focus {
        text-decoration: none;
        outline: 0;
        box-shadow: none;
    }
}
@media(max-width:576px) {
    .section-header .subtitle {
        font-size: 12px;
        line-height: 19px;
        letter-spacing: 3px;
    }
}
.section-header .subtitle {
    display: inline-block;
    text-align: center;
    margin-bottom: 38px;
}
@media(max-width:1699px) {
    .section-header .subtitle {
        font-size: 15px;
        margin-bottom: 28px;
    }
}
@media(max-width:1574px) {
    .section-header .subtitle {
        font-size: 14px;
        margin-bottom: 25px;
    }
}
@media(max-width:1509px) {
    .section-header .subtitle {
        font-size: 13px;
        margin-bottom: 20px;
    }
}
@media(max-width:1370px) {
    .section-header .subtitle {
        font-size: 12px;
    }
}
@media(max-width: 1199px) {
    .section-header .subtitle {
        letter-spacing: 3px;
        line-height: 19px;
    }
    .section-header .subtitle {
        font-size: 14px;
        letter-spacing: 3px;
        line-height: 19px;
    }
}
@media(max-width: 575px) {
    .section-header .subtitle {
        font-size: 12px;
        margin-bottom: 9px;
    }
    .page-wrapper header.site-header.header-fixed .desktop-header-logo {
        width: 120px;
    }
}
/*
* newsletter
*/
.newsletter {
    padding: 115px 94px 116px;
    position: relative;
    background-color: #FFFBF4;
}
.newsletter .section-header .subtitle {
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 4px;
    font-weight: 300;
    color: #000000;
    margin-bottom: 27px;
}
.newsletter .section-header .title {
    font-size: 73px;
    line-height: 91px;
    letter-spacing: 0;
    font-weight: 300;
    color: #000000;
    margin-bottom: 90px;
}
.newsletter .form {
    width: 670px;
    margin: 0 auto;
}
.newsletter .form .form-input {
    display: block;
    margin: 40px auto;
    outline: none;
    border: none;
    border-bottom: 1px solid #818181;
    background-color: transparent;
    width: 100%;
    padding: 13px;
    color: #818181;
    font-size: 25px;
    line-height: 32px;
}
.newsletter .form .form-checkbox {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 45px;
    margin-top: 8px;
    background-color: transparent!important;
    border: 1px solid #707070;
    cursor: pointer;
}
.newsletter .form .checkbox-wrap {
    display: flex;
    padding-left: 65px;
}
.newsletter .form .accept-label {
    display: inline-block;
    color: #000000;
    font-size: 20px;
    line-height: 32px;
    letter-spacing: 0;
    width: 555px;
}
.newsletter .form .form-btn {
    display: block;
    margin: 50px auto;
    background-color: transparent;
    border: 1px solid #000000;
    padding: 33px 82px;
}
@media(max-width: 860px) {
    .newsletter .form {
        width: 100%;
        margin: 0 auto;
    }
    .newsletter .section-header .title {
        font-size: 62px;
        line-height: 81px;
    }
}
@media(max-width: 767px) {
    .newsletter .section-header .title {
        font-size: 42px;
        line-height: 55px;
        margin-bottom: 46px;
    }
    .newsletter {
        padding: 80px 70px 50px;
    }
    .newsletter .form .form-checkbox {
        margin-right: 20px;
        margin-top: 5px;
    }
}
@media(max-width: 575px) {
    .newsletter {
        padding: 46px 30px 50px;
    }
    .newsletter .section-header .title {
        font-size: 40px;
        line-height: 50px;
        margin-bottom: 36px;
    }
    .newsletter .section-header .subtitle {
        font-size: 12px;
        line-height: 19px;
        letter-spacing: 3px;
        margin-bottom: 18px;
    }
    .newsletter .form .form-input {
        margin: 28px auto;
        padding: 0 17.5px 14.7px;
        font-size: 20px;
        line-height: 25px;
    }
    .newsletter .form .accept-label {
        font-size: 15px;
        width: auto;
    }
    .newsletter .form .form-btn {
        font-size: 12px;
        line-height: 19px;
        margin: 28px auto 0;
        padding: 24px 53px;
    }
    .newsletter .form .checkbox-wrap {
        display: flex;
        padding-left: 40px;
    }
}
@media(max-width: 430px) {
    .newsletter .form .accept-label {
        line-height: 25px;
    }
}
/*
* info-service Section
*/
.info-service {
    padding: 138px 285px 133px 315px;
}
.info-service .info-service-wrap {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
/* Explicit, even 4-up distribution (the markup's col-xs-12 isn't valid in
   Bootstrap 5, which left the first item uneven at some widths). */
.info-service .info-service-wrap .info-service-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 0 0 25%;
    max-width: 25%;
}
.info-service .info-service-item .info-service-icon {
    margin-bottom: 38px;
}
.info-service .info-service-item .info-service-name {
    letter-spacing: 4px;
    font-size: 16px;
    line-height: 40px;
    color: #404040;
}
.info-service .info-service-item .info-service-text {
    letter-spacing: 1.6px;
    font-size: 16px;
    line-height: 40px;
    color: #404040;
}
@media (max-width: 1717px) {
    .info-service {
        padding: 138px 200px 133px 250px;
    }
}
@media (max-width: 1568px) {
    .info-service {
        padding: 138px 150px 133px 200px;
    }
}
@media (max-width: 1473px) {
    .info-service {
        padding: 170px 125px 133px 125px;
    }
}
@media (max-width: 1368px) {
    .info-service {
        padding: 100px 90px 110px 100px;
    }
    .info-service .info-service-item .info-service-text {
        letter-spacing: 0.6px;
    }
}
@media (max-width: 1199px) {
    .info-service .info-service-wrap .info-service-item {
        flex: 0 0 50%;
        max-width: 50%;
        margin-bottom: 85px;
    }
}
@media (max-width: 991px) {
    .info-service .info-service-item {
        margin-bottom: 70px;
    }
    .info-service .info-service-wrap {
        padding: 0;
    }
}
@media (max-width: 767px) {
    .info-service {
        padding: 100px 25px;
    }
    .info-service .info-service-item .info-service-text {
        letter-spacing: 0.119rem;
        font-size: 14px;
        text-align: center;
    }
}
@media (max-width: 575px) {
    .info-service {
        padding: 46px 139px;
    }
    .info-service .info-service-wrap .info-service-item {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 20px;
    }
    .info-service .info-service-item .info-service-name {
        letter-spacing: 3px;
        font-size: 12px;
        line-height: 30px;
        color: #404040;
    }
    .info-service .info-service-item .info-service-text {
        letter-spacing: 0.2px;
        font-size: 12px;
        line-height: 30px;
        text-align: center;
    }
    .info-service .info-service-item .info-service-icon {
        margin-bottom: 27px;
    }
    .info-service .info-service-item {
        margin-bottom: 20px;
    }
}
@media (max-width: 479px) {
    .info-service {
        padding: 46px 65px;
    }
}
/*
* Footer site-footer
*/
.site-footer {
    background-color: #889FC1;
    padding: 191px 200px 32px 182px;
}
/* Render the footer logo in white on the blue background. */
.site-footer .footer-logo {
    filter: brightness(0) invert(1);
}

/* --- Services list: loading / empty / pagination ----------------------- */
.service-list.is-loading {
    opacity: 0.45;
    transition: opacity 0.2s ease;
}
.service-list .no-result {
    text-align: center;
    padding: 60px 20px;
    color: #818181;
}
.site-footer .footer-content {
    padding: 0 3px 111px;
    border-bottom: 1px solid #FFFFFF;
    width: 100%;
}
.site-footer .footer-content .col-name {
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 4px;
    color: #D3D9E5;
    text-transform: uppercase;
}
.site-footer .footer-content .link-list li {
    font-size: 16px;
    line-height: 32px;
    letter-spacing: 0px;
    color: #FFFFFF;
    list-style-type: none;
    padding: 0;
}
.site-footer .footer-content .link-list li a {
    color: inherit!important;
}
.site-footer .footer-bottom {
    padding-top: 32px;
    text-align: center;
}
.site-footer .footer-bottom .footer-bottom-text {
    font-size: 14px;
    line-height: 23px;
    letter-spacing: 3.5px;
    color: #D3D9E5;
    text-transform: uppercase;
}
@media (max-width: 1665px) {
    .site-footer {
        padding: 191px 140px 32px;
    }
}
@media (max-width: 1565px) {
    .site-footer {
        padding: 191px 100px 32px;
    }
}
@media (max-width: 1499px) {
    .site-footer {
        padding: 140px 70px 32px;
    }
    .site-footer .footer-content .col-name {
        font-size: 15px;
        line-height: 25px;
        letter-spacing: 3px;
    }
    .site-footer .footer-content .link-list li {
        font-size: 14px;
    }
}
@media (max-width: 1286px) {
    .site-footer .footer-content .col-name {
        font-size: 14px;
        line-height: 23px;
        letter-spacing: 2px;
    }
}
@media (max-width: 1199px) {
    .site-footer {
        padding: 140px 0 32px 50px;
    }
    .site-footer .footer-content .col-name {
        font-size: 14px;
        line-height: 23px;
        letter-spacing: 2px;
    }
    .site-footer .footer-content .link-list li {
        font-size: 13px;
        line-height: 28px;
    }
}
@media (max-width: 1058px) {
    .site-footer {
        padding: 108px 0 32px 20px;
    }
    .footer-content div {
        padding-left: 0;
    }
}
@media (max-width: 991px) {
    .site-footer {
        padding: 66px 20px 5px;
    }
    .site-footer .footer-content {
        text-align: center;
        padding: 0 3px 50px;
        margin: 0;
    }
    .footer-content div {
        padding-left: 12px;
        margin-bottom: 40px;
    }
    .footer-content div:first-child {
        margin-bottom: 55px;
    }
    .site-footer .footer-content .col-name {
        font-size: 16px;
        line-height: 25px;
        letter-spacing: 4px;
    }
    .site-footer .footer-content .link-list li {
        font-size: 16px;
        line-height: 32px;
    }
    .site-footer .footer-bottom {
        padding-top: 15px;
        padding-bottom: 12px;
    }
    .site-footer .footer-bottom .footer-bottom-text {
        font-size: 11px;
        line-height: 17px;
        letter-spacing: 2.75px;
        color: #D3D9E5;
        text-transform: uppercase;
    }
}
/*
* breadcrumbs-section
*/
.breadcrumbs-section {
    padding: 194px 78px 25px;
}
.breadcrumbs-section .breadcrumbs {
    padding-left: 0;
    display: flex;
}
.breadcrumbs-section .breadcrumbs li {
    font-family: "Hero New Light";
    list-style-type: none;
    font-size: 12px;
    line-height: 12px;
    letter-spacing: 1.8px;
    color: #818181;
}
.breadcrumbs-section .breadcrumbs li a {
    color: inherit!important;
    padding: 0 5px;
}
.breadcrumbs-section .breadcrumbs li.last {
    font-weight: 600;
}
.breadcrumbs-section .breadcrumbs li:not(:last-child) {
    border-right: 1px solid #818181;
}
/*
* Timeline
*/
.timeline-section {
    padding: 0px 141px 80px 126px;
}
.timeline-section .block-title .title,
.forme-page .block-title .title {
    font-size: 70px;
    line-height: 88px;
    letter-spacing: 8.4px;
    color: #889FC1;
    text-transform: uppercase;
    margin-bottom: 30px;
}
.timeline-section .block-title .block-title__text,
.forme-page .block-title .block-title__text {
    font-size: 16px;
    line-height: 32px;
    letter-spacing: 0.27px;
    color: #818181;
    width: 69%;
    display: inline-block;
}
.timeline-section .order-2,
.timeline-section .order-1 {
    padding-bottom: 80px;
}
.timeline-section .order-2 {
    border-left: 1px solid #D3D9E5;
}
.timeline-section .t-image.order-1 {
    padding-right: 126px;
    padding-left: 0;
}
.timeline-section .t-image.order-2 {
    padding-left: 126px;
    padding-right: 0;
}
.timeline-section .t-content.order-2 {
    padding-left: 116px;
    padding-top: 95px;
}
.timeline-section .t-content.order-1 {
    padding-right: 123px;
    padding-top: 95px;
    text-align: right;
}
.timeline-section .t-content.order-1 .t-content-wrap {
    padding-right: 112px;
    padding-top: 50px;
}
.timeline-section .t-content.order-2 .t-content-wrap {
    padding-left: 112px;
    padding-top: 50px;
}
.timeline-section .t-content.order-1 .t-content-wrap .t-content-subtitle {
    text-align: center!important;
    color: #a0b1ce;
}
.timeline-section .t-content.order-1 .t-content-wrap .t-content-text {
    text-align: right;
}
.timeline-section .t-content.order-1 .t-content-wrap .t-content-btn {
    text-align: center;
    margin-right: 48px;
}
.timeline-section .t-content {
    position: relative;
}
.timeline-section .t-content h3,
.timeline-section .t-content .title {
    font-family: "FreightBig Pro";
    font-size: 99px;
    color: #889FC1;
    line-height: 72px;
}
.timeline-section .t-content h3 span.italic,
.timeline-section .t-content .title span.italic {
    font-family: "FreightBig Pro Italic";
}
.timeline-section .t-content .t-content-wrap .t-content-subtitle {
    font-family: "Hero New Light";
    display: block;
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 4px;
    color: #889FC1;
    text-transform: uppercase;
    opacity: 1;
    margin-bottom: 25px;
}
.timeline-section .t-content .t-content-wrap .t-content-text {
    font-family: "Hero New Light";
    font-size: 16px;
    letter-spacing: 0.27px;
    line-height: 32px;
    color: #818181;
    opacity: 1;
    margin-bottom: 0;
}
.timeline-section .t-content .t-content-wrap .t-content-btn {
    font-family: "Hero New Light";
    display: inline-block;
    font-size: 14px;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: 400;
    color: #818181!important;
    padding: 19.5px 61px;
    border: 1px solid #8e8e8e!important;
    margin-top: 24px;
}
.timeline-section .t-content .t-number svg {
    font-family: "FreightBig Pro";
}
.timeline-section .t-content.order-2 .t-number {
    position: absolute;
    left: -100px;
    bottom: 160px;
    z-index: -1;
}
.timeline-section .t-image.order-2 img {
    width: 100%;
    height: auto;
}
.timeline-section .t-image.order-1 img {
    position: relative;
    z-index: 10;
    width: 100%;
    height: auto;
}
.timeline-section .t-content.order-1 .t-number {
    position: absolute;
    right: -60px;
    bottom: 127px;
    z-index: -1;
}
.site-header .mobile-logo {
    display: none;
}
@media (max-width: 1893px) {
    .timeline-section .t-content h3,
    .timeline-section .t-content .title {
        font-size: 80px;
    }
}
@media (max-width: 1750px) {
    .timeline-section .t-content .t-content-wrap .t-content-btn {
        font-size: 13px;
        letter-spacing: 2px;
        padding: 19.5px 61px;
    }
    .timeline-section .t-content .t-number svg text {
        font-size: 750px!important;
    }
    .timeline-section .t-content.order-1 .t-number {
        right: -100px;
        bottom: 179px;
    }
    .timeline-section .t-content .t-content-wrap .t-content-subtitle {
        font-size: 13px;
        letter-spacing: 1px;
        margin-bottom: 20px;
    }
    .timeline-section .t-content .t-content-wrap .t-content-text {
        font-size: 14px;
        line-height: 28px;
    }
}
@media (max-width: 1626px) {
    .timeline-section .t-content h3,
    .timeline-section .t-content .title {
        font-size: 70px;
    }
}
@media (max-width: 1526px) {
    .timeline-section .t-content h3,
    .timeline-section .t-content .title {
        font-size: 60px;
    }
    .timeline-section .t-content.order-1 .t-number {
        bottom: 178px;
    }
    .timeline-section .t-content.order-2 .t-number {
        bottom: 0;
    }
    .timeline-section .t-content .t-number svg text {
        font-size: 700px!important;
    }
    .timeline-section .t-content h3,
    .timeline-section .t-content .title {
        font-size: 70px;
    }
    .timeline-section {
        padding: 0px 100px 80px;
    }
    .timeline-section .t-content.order-2 .t-content-wrap {
        padding-left: 70px;
        padding-top: 50px;
    }
    .timeline-section .t-content.order-2 {
        padding-left: 100px;
        padding-top: 50px;
    }
    .timeline-section .t-content.order-1 {
        padding-right: 100px;
        padding-top: 50px;
    }
}
@media (max-width: 1486px) {
    .timeline-section .t-content h3,
    .timeline-section .t-content .title {
        font-size: 50px;
    }
    .timeline-section .t-image img {
        width: 100%;
        height: auto;
    }
    .timeline-section .t-content .t-number svg text {
        font-size: 800px!important;
    }
    .timeline-section .t-content.order-1 .t-number {
        right: -100px;
        bottom: 160px;
    }
    .timeline-section .t-content .t-number svg text {
        font-size: 700px!important;
    }
}
@media (max-width: 1299px) {
    .timeline-section .t-content .t-number svg text {
        font-size: 650px!important;
    }
    .timeline-section .t-content.order-1 .t-number {
        right: -115px;
        bottom: 200px;
    }
    .timeline-section .t-content .t-content-wrap .t-content-text {
        font-size: 13px;
        line-height: 25px;
    }
}
@media (max-width: 1199px) {
    .page-wrapper header.no-banner .navbar {
        padding: 12px 3px 10px 0;
    }
    .breadcrumbs-section {
        display: none;
    }
    .timeline-section {
        padding: 150px 100px 80px;
    }
    .timeline-section .t-content .t-number svg text {
        font-size: 650px!important;
    }
    .timeline-section .t-content.order-1 .t-number {
        right: -115px;
        bottom: 175px;
    }
    .timeline-section .t-content.order-2 {
        padding-left: 40px;
        padding-top: 20px;
    }
    .timeline-section .t-content.order-2 .t-content-wrap {
        padding-left: 75px;
        padding-top: 40px;
    }
    .timeline-section .t-content.order-1 {
        padding-right: 40px;
        padding-top: 20px;
    }
    .timeline-section .t-content.order-1 .t-content-wrap {
        padding-right: 75px;
        padding-top: 40px;
    }
    .timeline-section .t-content.order-2 .t-number {
        left: -135px;
        bottom: 71px;
    }
    .timeline-section .t-content.order-1 .t-number {
        right: -185px;
        bottom: 96px;
    }
    .timeline-section .block-title .title,
    .forme-page .block-title .title {
        font-size: 45px;
        line-height: 56px;
        letter-spacing: 5.4px;
    }
    .timeline-section .block-title .block-title__text,
    .forme-page .block-title .block-title__text {
        width: 100%;
    }
    .site-header .mobile-logo {
        display: block;
    }
    .site-header .mobile-logo img {
        display: block;
        width: 180px;
        height: auto;
        margin: 0 auto;
    }
}
@media (max-width: 1099px) {
    .timeline-section {
        padding: 150px 50px 80px;
    }
}
@media (max-width: 991px) {
    .timeline-section .order-1 {
        padding-bottom: 0;
    }
    .timeline-section .order-2, .timeline-section .order-1 {
        padding-bottom: 0px;
    }
    .timeline-section .t-content.order-2 {
        padding-left: 0!important;
        padding-right: 0!important;
        padding-top: 0!important;
    }
    .timeline-section .t-content.order-1 {
        padding-right: 0!important;
        padding-left: 0!important;
        padding-top: 20px;
        text-align: center;
    }
    .timeline-section .t-content.order-1 .t-content-wrap .t-content-subtitle {
        text-align: left!important;
    }
    .timeline-section .t-content.order-1 .t-content-wrap {
        padding-right: 0;
        padding-top: 0;
    }
    .timeline-section .t-content.order-2 .t-content-wrap {
        padding-left: 0;
        padding-top: 0;
        text-align: center;
    }
    .timeline-section .t-content .t-content-wrap .t-content-text {
        text-align: left!important;
    }
    .timeline-section .t-content .t-content-wrap .t-content-subtitle {
        text-align: left!important;
    }
    .timeline-section .t-image.order-1 img {
        z-index: 0;
    }
    .timeline-section .t-content h3,
    .timeline-section .t-content .title {
        position: absolute;
        font-weight: 500;
    }
    .timeline-section .t-content .t-number svg {
        width: 280px;
    }
    .timeline-section .t-content .t-number svg text {
        font-size: 800px!important;
    }
    .timeline-section .order-2 {
        border-left: none;
        order: unset!important;
        position: unset;
        padding-left: 0!important;
    }
    .timeline-section .order-1 {
        order: unset!important;
        position: unset;
        padding-right: 0!important;
    }
    .timeline-section .t-row {
        position: relative;
        margin-bottom: 200px;
    }
    .timeline-section .t-row:last-child {
        margin-bottom: 0px;
    }
    .timeline-section .t-content.order-2 h3,
    .timeline-section .t-content.order-2 .title {
        top: -120px;
        left: 0;
    }
    .timeline-section .t-content.order-1 h3,
    .timeline-section .t-content.order-1 .title {
        top: -120px;
        right: 0;
    }
    .timeline-section .t-content.order-2 .t-number {
        top: -150px;
        right: 0px;
        left: unset;
        z-index: 10;
    }
    .timeline-section .t-content.order-1 .t-number {
        top: -239px;
        left: 6px;
        right: unset;
        z-index: 10;
    }
    .timeline-section .t-content.order-1 .t-content-wrap .t-content-btn {
        margin-right: 0px;
    }
}
@media (max-width: 899px) {
    .timeline-section .t-content.order-2 .t-number {
        right: -10px;
    }
    .timeline-section .t-content.order-1 .t-number {
        top: -244px;
        left: 3px;
    }
}
@media (max-width: 767px) {
    .timeline-section .t-content .t-number svg text {
        font-size: 650px!important;
    }
    .timeline-section .t-content.order-2 .t-number {
        right: 8px;
        top: -230px;
    }
    .timeline-section .t-content.order-1 .t-number {
        top: -305px;
        left: 13px;
    }
    .timeline-section .t-content h3,
    .timeline-section .t-content .title {
        font-size: 50px;
        line-height: 50px;
    }
    .timeline-section .t-content .t-number svg {
        width: 150px;
    }
}
@media (max-width: 600px) {
    .timeline-section .t-content .t-number svg text {
        font-size: 500px!important;
    }
    .timeline-section .t-content.order-1 .t-number {
        top: -346px;
        left: 7px;
    }
    .timeline-section .t-content.order-2 .t-number {
        right: 25px;
        top: -265px;
    }
}
@media (max-width: 575px) {
    .timeline-section {
        padding: 170px 30px 80px;
    }
    .timeline-section .t-content .t-number svg {
        width: 170px;
    }
    .timeline-section .t-content .t-number svg text {
        font-size: 600px!important;
    }
    .timeline-section .t-row {
        margin-bottom: 120px;
    }
    .timeline-section .t-content h3,
    .timeline-section .t-content .title {
        font-size: 50px;
        line-height: 63px;
    }
    .timeline-section .t-content.order-2 h3,
    .timeline-section .t-content.order-2 .title {
        top: -85px;
        left: 0;
    }
    .timeline-section .t-content.order-1 h3
    .timeline-section .t-content.order-1 .title {
        top: -85px;
        right: 0;
    }
    .timeline-section .t-image.order-2 {
        padding-left: 110px;
    }
    .timeline-section .t-image.order-1 {
        padding-right: 110px;
    }
    .timeline-section .t-content.order-1 .t-number {
        top: -348px;
        left: 10px;
    }
    .timeline-section .t-content.order-2 .t-number {
        right: -7px;
        top: -244px;
    }
    .mobile-logo {
        position: relative;
        bottom: -10px;
    }
}
@media (max-width: 390px) {
    .timeline-section .t-content h3,
    .timeline-section .t-content .title {
        font-size: 46px;
    }
}
input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    pointer-events: all;
    width: 21px;
    height: 21px;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px #889FC1;
    cursor: pointer;
}
input[type=range]::-moz-range-thumb {
    -webkit-appearance: none;
    pointer-events: all;
    width: 21px;
    height: 21px;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px #889FC1;
    cursor: pointer;
}
input[type=range]::-webkit-slider-thumb:hover {
    background: #ffffff;
}
input[type=range]::-webkit-slider-thumb:active {
    box-shadow: inset 0 0 3px #387bbe, 0 0 9px #387bbe;
    -webkit-box-shadow: inset 0 0 3px #387bbe, 0 0 9px #387bbe;
}
input[type="number"] {
    color: #8a8383;
    width: 50px;
    height: 30px;
    font-size: 20px;
    border: none;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    opacity: 1;
}
.p-image {
    position: relative;
    padding-left: 0;
    padding-right: 0;
}
.p-image img {
    width: 100%;
    height: auto;
}
.p-image .img-badge,
.p-image .like {
    position: absolute;
}
/* Favorite heart — clickable, with a filled (is-fav) and a loading (is-busy) state.
   Shared by the service cards (/soins-massages) and the service detail page. */
.p-image .like { cursor: pointer; transition: background-color .15s ease; padding: 3px 10px 5px 10px;}
.p-image .like.is-busy { opacity: .55; pointer-events: none; }
/* Add-to-cart button while the request is in flight. */
.js-add-to-cart.is-busy { opacity: .55; pointer-events: none; }
.p-image .like.is-fav { background-color: #889FC1 !important; }
.p-image .like.is-fav img { filter: brightness(0) invert(1) !important; }

/* Star rating display — inline SVG (no Font Awesome -> no webfont→svg swap flash).
   Shared by service cards, the detail page rating, and the reviews lists.
   Size via the parent's font-size (each star is 1em). Output by stars_html(). */
.stars { display: inline-flex; gap: 2px; vertical-align: middle; line-height: 1; margin-left: 5px;}
.stars .star-svg { width: 1em; height: 1em; display: block; flex: none; }
.stars .star-svg path { fill: #d8d8d8; }            /* empty star */
.stars .star-svg.is-full path { fill: #d9a441; }    /* filled star (gold) */

/* "Connectez-vous…" toast — shown when a guest clicks a heart (or a session expires). */
.ebox-toast {
    position: fixed;
    left: 50%;
    bottom: 28px;
    transform: translate(-50%, 18px);
    z-index: 9999;
    display: flex;
    align-items: center;
    gap: 18px;
    max-width: calc(100% - 40px);
    padding: 15px 18px;
    background-color: #4a4a4a;
    color: #ffffff;
    font-family: "Hero New Light";
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.2px;
    border-radius: 2px;
    box-shadow: 0 16px 40px rgba(20, 30, 55, 0.22);
    opacity: 0;
    transition: opacity 0.25s ease, transform 0.25s ease;
}
.ebox-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.ebox-toast-msg { color: #ffffff; }
.ebox-toast-action {
    flex: 0 0 auto;
    color: #ffffff;
    font-family: "Hero New";
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 12px;
    white-space: nowrap;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6);
    padding-bottom: 1px;
}
.ebox-toast-action:hover { color: #ffffff; border-bottom-color: #ffffff; }
.ebox-toast-close {
    flex: 0 0 auto;
    background: none;
    border: 0;
    color: #ffffff;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    padding: 0 2px;
    opacity: 0.75;
}
.ebox-toast-close:hover { opacity: 1; }
@media (max-width: 575px) {
    .ebox-toast { bottom: 16px; gap: 12px; font-size: 13px; padding: 13px 14px; width: calc(100% - 32px); }
}
@media (max-width: 1199px) {
    .forme-page .block-title {
        padding: 150px 100px 80px;
    }
}
@media (max-width: 1099px) {
    .forme-page .block-title {
        padding: 150px 50px 80px!important;
    }
}
@media (max-width: 991px) {
    .forme-page .timeline-section .block-title {
        margin-bottom: 0px;
    }
    .timeline-section .t-content.order-1 h3, .timeline-section .t-content.order-1 .title {
        top: -80px;
        right: 0;
    }
}
@media (max-width: 575px) {
    .forme-page .block-title .block-title__text {
        font-size: 12px;
        line-height: 25px;
        letter-spacing: 0.2px;
    }
    .forme-page .block-title {
        padding: 150px 30px 80px!important;
    }
}
/*
* offer-section
*/
.offer-section {
    /*padding: 82px 20px 67px;
    background-color: #889FC1;*/
    text-align: center;
    margin-bottom: 67px;
}
.offer-section .title {
    font-size: 100px;
    line-height: 126px;
    color: #889FC1;
    margin-bottom: 30px;
}
@media (max-width: 878px) {
    .offer-section .title {
        font-size: 80px;
    }
}
@media (max-width: 710px) {
    .offer-section .title {
        font-size: 63px;
        line-height: 100px;
    }
}
@media (max-width: 575px) {
    .offer-section .title {
        font-size: 46px;
        line-height: 80px;
    }
}
@media (max-width: 430px) {
    .offer-section .title {
        font-size: 46px;
        line-height: 80px;
    }
    .offer-section {
        padding: 50px 20px;
        margin-bottom: 0px;
    }
    .offer-section {
        padding: 50px 20px;
        margin-bottom: 0px;
    }
    .offer-section .title {
        font-size: 46px;
        line-height: 50px;
    }
    .section-header .subtitle {
        margin-bottom: 20px;
    }
}
/*
* contact-form
*/
.contact-form {
    padding: 0;
}
.contact-form .contact-form-wrap {
    background-color: #889FC1;
    padding: 107px 20px 106px;
}
.contact-form .form {
    width: 650px;
    margin: 0 auto;
}
.contact-form .section-header .subtitle {
    color: #D3D9E5;
}
.contact-form .section-header .title {
    font-family: "FreightBig Pro";
    font-size: 150px;
    font-weight: 300;
    letter-spacing: 0px;
    color: #FFFFFF;
    line-height: 188px;
    margin-bottom: 40px;
}
.contact-form ::-webkit-input-placeholder { /* Edge */
    color: #FFFFFF;
}
.contact-form :-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #FFFFFF;
}
.contact-form ::placeholder {
    color: #FFFFFF;
}
.contact-form .form .form-input {
    font-family: "Hero New Light";
    display: block;
    margin: 0 auto 30px;
    outline: none;
    border: none;
    border: 1px solid #FFFFFF;
    background-color: transparent;
    width: 100%;
    padding: 25px 45px 24px;
    color: #FFFFFF;
    font-size: 12px;
    line-height: 19px;
    letter-spacing: 3px;
}
.contact-form .form textarea {
    width: 100%;
    outline: none;
    background-color: transparent;
    padding: 23px 45px 24px;
    color: #FFFFFF;
    font-size: 12px;
    line-height: 19px;
    letter-spacing: 3px;
    border: 1px solid #FFFFFF;
    margin: 0 auto 30px;
}
.contact-form .form .checkbox-wrap {
    display: flex;
    margin-bottom: 36px;
    position: relative;
}
/*.contact-form .form .form-checkbox {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 20px;
    margin-top: 8px;
    background-color: transparent!important;
    border: 1px solid #FFFFFF;
    cursor: pointer;
    outline: none;
}*/
/* Customize the label (the container) */
.checkbox-wrap {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 22px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
/* Hide the browser's default checkbox */
.checkbox-wrap input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
/* Create a custom checkbox */
.checkmark {
    position: absolute;
    top: 6px;
    left: 0;
    height: 20px;
    width: 20px;
    background-color: transparent;
    border: 1px solid #FFFFFF;
}
#newsletter-form .checkmark {
    border: 1px solid #707070;
    height: 24px;
    width: 24px;
    margin-right: 45px;
}
#newsletter-form .checkbox-wrap .checkmark:after {
    left: 8px;
    top: 5px;
}
/* On mouse-over, add a grey background color */
.checkbox-wrap:hover input ~ .checkmark {
    background-color: transparent;
}
/* When the checkbox is checked, add a blue background */
.checkbox-wrap input:checked ~ .checkmark {
    background-color: #818181;
}
/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}
/* Show the checkmark when checked */
.checkbox-wrap input:checked ~ .checkmark:after {
    display: block;
}
/* Style the checkmark/indicator */
.checkbox-wrap .checkmark:after {
    left: 6px;
    top: 3px;
    width: 6px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.contact-form .form .accept-label {
    display: inline-block;
    color: #FFFFFF;
    font-size: 20px;
    line-height: 32px;
    letter-spacing: 0;
    width: 600px;
}
.contact-form .form .btn-wrap {
    width: 100%;
    text-align: center;
}
.contact-form .form .form-btn {
    display: inline-block;
    margin: 0 auto;
    background-color: #818181;
    border: 1px solid #FFFFFF;
    padding: 27px 75px 26px;
    color: #FFFFFF;
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 3.25px;
}
@media (max-width: 1199px) {
    .contact-form {
        padding: 229px 0 106px;
    }
    .contact-form .section-header .title {
        font-size: 100px;
        line-height: 150px;
    }
    .contact-form .contact-form-wrap {
        position: relative;
        background-color: #889FC1;
        padding: 50px 20px;
    }
    .contact-form .form .form-btn {
        margin: 0 auto;
    }
    .contact-form .form .checkbox-wrap {
         margin-bottom: 0;
    }
    .contact-form  .info-service {
        padding: 120px 90px 110px 100px;
    }
    .contact-form .form .btn-wrap {
       margin-top: 30px;
    }
}
@media (max-width: 767px) {
    .contact-form .section-header .title {
        font-size: 80px;
        line-height: 120px;
    }
    .contact-form .contact-form-wrap {
        padding: 50px 60px;
    }
    .contact-form .form {
        width: 100%;
    }
}
@media (max-width: 575px) {
    .contact-form .contact-form-wrap {
        padding: 45px 26px 26px 25px;
    }
    .contact-form .section-header .title {
        font-size: 50px;
        line-height: 62px;
        margin-bottom: 23px;
    }
    .contact-form .form .form-input {
        padding: 23px 20px 24px 105px;
        font-size: 13px;
        line-height: 21px;
        letter-spacing: 3.25px;
        margin: 0 auto 8px;
    }
    .contact-form .form textarea {
        padding: 23px 20px 24px 105px;
        font-size: 13px;
        line-height: 21px;
        letter-spacing: 3.25px;
        margin: 0 auto 15px;
    }
    .contact-form .form .form-checkbox {
        width: 20px;
        height: 20px;
        margin-right: 33px;
        margin-top: 0;
    }
    .contact-form .form .accept-label {
         width: unset;
    }
    .contact-form .content-btn {
        font-size: 13px;
        line-height: 21px;
        letter-spacing: 3.25px;
        padding: 32px 71px 31px;
    }
}
@media (max-width: 430px) {
    .contact-form .form .form-input {
        padding: 23px 20px 24px 40px;
        font-size: 12px;
        letter-spacing: 2px;
    }
    .contact-form .form textarea {
        padding: 23px 20px 24px 40px;
        font-size: 12px;
        letter-spacing: 2px;
    }
    .contact-form .form .accept-label {
        font-size: 18px;
        line-height: 25px;
    }
}
@media (max-width: 1099px) {
    .section-header .subtitle {
        font-size: 13px;
    }
}
.panier-finish .left-panier .steps-passed .step.paiement-step .step-wrap .step-content .info-wrap .select-pay-method.active {
    border: 1px solid #000000;
    background-color: #dff7e8;
}
@media (max-width: 575px) {
    .section-header .subtitle {
        font-size: 12px;
        line-height: 17px;
        letter-spacing: 2px;
        margin-bottom: 36px;
    }
}
/*
* #paymentModalToggle modal
*/
#paymentModalToggle .modal-wrap {
    display: flex;
}
#paymentModalToggle .modal-body {
    padding: 0!important;
}
#paymentModalToggle .modal-wrap .transaction-info {
    padding: 93px 57px 112px;
    background-color: #889FC1;
    width: 40%;
    color: #FFFFFF;
}
#paymentModalToggle .modal-wrap .transaction-info .transaction-title {
    font-size: 50px;
    line-height: 62px;
    font-weight: 300;
    padding-left: 20px;
    margin-bottom: 65px;
    display: block;
}
#paymentModalToggle .modal-wrap .transaction-info .trans-info-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 68px;
}
#paymentModalToggle .modal-wrap .transaction-info .trans-info-item .trans-info-text {
    display: flex;
    flex-direction: column;
    padding-left: 30px;
}
#paymentModalToggle .modal-wrap .transaction-info .trans-info-item .trans-info-text .trans-info-label {
    font-size: 20px;
    line-height: 28px;
    font-weight: 300;
    letter-spacing: 5px;
    margin-bottom: 20px;
}
#paymentModalToggle .modal-wrap .transaction-info .trans-info-item .trans-info-text .trans-info-value {
    font-size: 25px;
    line-height: 35px;
    font-weight: 600;
    letter-spacing: 0px;
}
.transaction-info .security-text-wrap {
    padding-top: 71px;
    border-top: 1px solid #ffffff;
    margin-bottom: 45px;
}
.transaction-info .logos-wrap {
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.transaction-info .security-text-wrap .security-text-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 23px;
}
.transaction-info .security-text-wrap .security-text {
    font-size: 14px;
    line-height: 20px;
    font-weight: 300;
    letter-spacing: 0.24px;
    display: inline-block;
}
.transaction-info .security-text-wrap .security-text-head > span{
    font-size: 25px;
    line-height: 35px;
    font-weight: 600;
    letter-spacing: 0px;
}
#paymentModalToggle .modal-wrap .payment-form {
    padding: 76px 123px 76px 133px;
    width: 60%;
}
#paymentModalToggle .modal-wrap .payment-form .logo-wrap {
    padding-bottom: 47px;
}
#paymentModalToggle .modal-wrap .payment-form .CBForm {
    padding: 47px 0;
    border-bottom: 1px solid #eaeaea;
    border-top: 1px solid #eaeaea;
}
#paymentModalToggle .modal-wrap .payment-form .CBForm .form-row {
    margin-bottom: 64px;
}
#paymentModalToggle .modal-wrap .payment-form .CBForm .form-row label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 29px;
}
#paymentModalToggle .modal-wrap .payment-form .CBForm .form-row .label {
    font-size: 16px;
    line-height: 23px;
    font-weight: 300;
    letter-spacing: 4px;
    color: #818181;
}
#paymentModalToggle .modal-wrap .payment-form .CBForm .form-row input {
    padding: 20px 32px;
    width: 100%;
    font-size: 13px;
    line-height: 18px;
    font-weight: 300;
    letter-spacing: 3.25px;
    color: #818181;
    border: 1px solid #81818182;
    padding-left: 85px;
}
#paymentModalToggle .modal-wrap .payment-form .CBForm .form-row input.noCard {
    background: url(../images/icons/credit-card.png) no-repeat scroll 30px 14px;
    background-size: 30px;
}
#paymentModalToggle .modal-wrap .payment-form .CBForm .form-row input.expiredDate {
    background: url(../images/icons/calendar.png) no-repeat scroll 30px 18px;
    background-size: 22px;
}
#paymentModalToggle .modal-wrap .payment-form .CBForm .form-row input.cvv {
    background: url(../images/icons/padlock2.png) no-repeat scroll 30px 19px;
    background-size: 20px;
}
#paymentModalToggle .modal-wrap .payment-form .CBForm .form-row.btn-row {
    text-align: center;
}
#paymentModalToggle .modal-wrap .payment-form .payment-img-wrap img {
    width: 100%;
    height: auto;
}
@media (max-width: 1199px) {
    #paymentModalToggle .modal-wrap .payment-form {
        padding: 76px 80px 76px 90px;
    }
    #paymentModalToggle .modal-wrap .transaction-info {
        padding: 75px 43px 80px;
    }
    #paymentModalToggle .modal-wrap .transaction-info .trans-info-item .trans-info-text .trans-info-label {
        letter-spacing: 4px;
    }
}
@media (max-width: 1099px) {
    #paymentModalToggle .modal-wrap .payment-form {
        padding: 65px 60px 65px 72px;
    }
    #paymentModalToggle .modal-wrap .transaction-info {
        padding: 75px 43px 80px;
    }
    #paymentModalToggle .modal-wrap .transaction-info .trans-info-item .trans-info-text .trans-info-label {
        letter-spacing: 4px;
    }
    #paymentModalToggle .modal-wrap .payment-form .CBForm .form-row .label {
        letter-spacing: 3px;
    }
    #paymentModalToggle .modal-wrap .transaction-info .transaction-title {
        font-size: 43px;
        line-height: 43px;
        margin-bottom: 60px;
    }
    #paymentModalToggle .modal-wrap .transaction-info .trans-info-item .trans-info-text .trans-info-label {
        letter-spacing: 2px;
        font-size: 19px;
    }
}
@media (max-width: 991px) {
    #paymentModalToggle .modal-wrap {
        flex-direction: column-reverse;
    }
    #paymentModalToggle .modal-wrap .payment-form {
        padding: 76px 100px;
        width: 100%;
    }
    #paymentModalToggle .modal-wrap .transaction-info {
        padding: 93px 100px;
        width: 100%;
    }
    #paymentModalToggle .modal-wrap .payment-form .logo-wrap {
        text-align: center;
    }
    #paymentModalToggle .modal-wrap .payment-form .CBForm .form-row {
        margin-bottom: 50px;
    }
    #paymentModalToggle .modal-wrap .transaction-info .transaction-title {
        text-align: center;
    }
    #paymentModalToggle .modal-wrap .payment-form .CBForm .form-row .mobile-margin-bottom {
        margin-bottom: 30px;
    }
    #paymentModalToggle .modal-wrap .payment-form .CBForm .form-row {
        margin-bottom: 30px;
    }
    #paymentModalToggle .modal-wrap .payment-form .CBForm .form-row label {
        margin-bottom: 20px;
    }
}

/* ============================================================
 * Per-field form validation (rendered by forms.js from the
 * server's field error map) + required-field markers. Global —
 * applies to every .js-secure-form (contact, contact-sport,
 * newsletter, …).
 * ============================================================ */
.field-error {
    display: block;
    color: #a5281b;
    font-family: "Hero New Light";
    font-size: 13px;
    line-height: 17px;
    letter-spacing: 0.4px;
    text-transform: none;
    margin-top: 7px;
}
.checkbox-wrap + .field-error,
.checkbox-wrap .field-error { margin-top: 10px; }

.form-input.is-invalid,
textarea.is-invalid,
input.is-invalid {
    border-color: #a5281b !important;
}
/* consent checkbox: tint its box when invalid */
.checkbox-wrap input.is-invalid ~ .checkmark { border: 1px solid #a5281b; box-shadow: 0 0 0 1px #a5281b; }

/* "* champs obligatoires" legend + required asterisks */
.required-note {
    display: block;
    color: #818181;
    font-family: "Hero New Light";
    font-size: 13px;
    line-height: 18px;
    letter-spacing: 1px;
    margin: 6px 0 18px;
}
.required-note .req-star,
.req-star { color: #a5281b; }

/* Sale price — the regular price shown struck through next to the reduced one.
 * Shared: service list cards + service detail (and order recap). */
.price-regular {
    margin-left: 8px;
    font-size: 0.72em;
    font-weight: 400;
    color: #b0b0b0;
    text-decoration: line-through;
    white-space: nowrap;
}
.price.is-sale,
.product-price.is-sale .price-number { color: #6fae8e; }
/*
* Legal pages (CGV, Mentions légales) — shared long-form legal layout.
* Brand blue (#889FC1) FreightBig titles, grey (#818181) Hero body, square bullets.
*/
.legal-page .legal-section {
    padding: 10px 100px 30px;
}
.legal-page .legal-head {
    max-width: 820px;
    margin: 0 auto 70px;
}
.legal-page .legal-head .subtitle {
    color: #a0b1ce;
    margin-bottom: 22px;
}
.legal-page .legal-head .title {
    font-size: 54px;
    line-height: 64px;
    letter-spacing: 4px;
    color: #889FC1;
    text-transform: uppercase;
    margin-bottom: 22px;
}
.legal-page .legal-updated {
    font-family: "Hero New Light";
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #a0b1ce;
}
.legal-page .legal-content {
    max-width: 860px;
    margin: 0 auto;
}
.legal-page .legal-article {
    padding-top: 40px;
    margin-top: 40px;
    border-top: 1px solid #ececec;
}
.legal-page .legal-article:first-child {
    padding-top: 0;
    margin-top: 0;
    border-top: none;
}
.legal-page .legal-article-title {
    font-size: 27px;
    line-height: 36px;
    letter-spacing: 1px;
    color: #889FC1;
    margin-bottom: 22px;
}
.legal-page .legal-text {
    font-family: "Hero New Light";
    font-size: 15px;
    line-height: 30px;
    letter-spacing: 0.27px;
    color: #818181;
    margin-bottom: 18px;
}
.legal-page .legal-text:last-child {
    margin-bottom: 0;
}
.legal-page .legal-text a {
    color: #889FC1;
    text-decoration: underline;
}
/* bulleted list with a brand-blue square marker (no rounded shapes) */
.legal-page .legal-list {
    list-style: none;
    padding-left: 0;
    margin: 0 0 18px;
}
.legal-page .legal-list li {
    position: relative;
    padding-left: 26px;
    font-family: "Hero New Light";
    font-size: 15px;
    line-height: 30px;
    letter-spacing: 0.27px;
    color: #818181;
    margin-bottom: 8px;
}
.legal-page .legal-list li::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 12px;
    width: 6px;
    height: 6px;
    background-color: #889FC1;
}
@media (max-width: 1199px) {
    /* breadcrumbs are hidden < 1200px -> add top clearance under the header */
    .legal-page .legal-section {
        padding: 160px 60px 30px;
    }
    .legal-page .legal-head .title {
        font-size: 46px;
        line-height: 56px;
    }
}
@media (max-width: 767px) {
    .legal-page .legal-section {
        padding: 150px 25px 20px;
    }
    .legal-page .legal-head {
        margin-bottom: 55px;
    }
    .legal-page .legal-head .title {
        font-size: 36px;
        line-height: 44px;
        letter-spacing: 3px;
    }
    .legal-page .legal-article {
        padding-top: 34px;
        margin-top: 34px;
    }
    .legal-page .legal-article-title {
        font-size: 23px;
        line-height: 30px;
    }
}
@media (max-width: 575px) {
    .legal-page .legal-head .title {
        font-size: 30px;
        line-height: 38px;
    }
}

/* ===== Search overlay (header) ============================================ */
/* Search trigger is a <button> but must look exactly like the nav-link <a>s
   (the layout/font come from the grouped .right-navigation rules above; this
   only strips the native button chrome). */
.right-nav-btn { background: none; border: none; font-family: inherit; }
.search-overlay { position: fixed; inset: 0; z-index: 1100; background: rgba(20, 30, 28, 0); visibility: hidden; transition: background .3s ease, visibility 0s linear .3s; }
.search-overlay.is-open { visibility: visible; background: rgba(20, 30, 28, 0.35); transition: background .3s ease; }
.search-overlay-bar { background: #fff; box-shadow: 0 14px 40px rgba(0, 0, 0, 0.10); border-bottom: 1px solid #ececec; transform: translateY(-100%); transition: transform .3s ease; }
.search-overlay.is-open .search-overlay-bar { transform: translateY(0); }
.search-overlay-inner { max-width: 1280px; margin: 0 auto; padding: 0 28px; }
.search-form { display: flex; align-items: center; gap: 14px; min-height: 84px; }
.search-submit, .search-close { background: none; border: none; cursor: pointer; color: #1d3c34; display: flex; align-items: center; justify-content: center; padding: 6px; flex: none; }
.search-submit:hover, .search-close:hover { color: #889FC1; }
.search-input { flex: 1 1 auto; min-width: 0; border: none; outline: none; font-family: "FreightBig Pro"; font-size: 22px; color: #1d3c34; background: transparent; -webkit-appearance: none; appearance: none; }
.search-input::placeholder { color: #b2b2b2; }
/* Hide the browser's native search "clear" (×) so only our close button shows. */
.search-input::-webkit-search-cancel-button,
.search-input::-webkit-search-decoration { -webkit-appearance: none; appearance: none; display: none; }
.search-suggest { list-style: none; margin: 0; padding: 0 0 6px; max-height: 60vh; overflow-y: auto; border-top: 1px solid #f0f0f0; display: none; }
.search-suggest.is-shown { display: block; }
.search-suggest a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 6px; font-family: "Hero New Light"; font-size: 16px; color: #3f3f3f; text-decoration: none; border-bottom: 1px solid #f4f4f4; }
.search-suggest a:hover, .search-suggest li.is-active a { background: #f7f8fa; color: #1d3c34; }
.search-suggest-count { color: #b0b0b0; font-size: 13px; flex: none; }
.search-suggest mark { background: none; color: #889FC1; font-weight: 600; }
@media (max-width: 575px) {
    .search-overlay-inner { padding: 0 16px; }
    .search-form { min-height: 68px; }
    .search-input { font-size: 18px; }
}

/* ===== Header fit ========================================================= */
/* The right side keeps its icon + label (Rechercher / Mon compte / Panier); the
   nav fits on one line now that L'ESTHÉTIQUE was removed. These just stop items
   from breaking mid-word ("LE SPA", "SOINS & MASSAGES", "Mon compte"). */
.page-wrapper header .navbar .main-navigation .navigation-box li .nav-link { white-space: nowrap; }
.page-wrapper header .right-side-box .right-nav-text { white-space: nowrap; }