/* Identity by Father and Sons v9 — custom styles */
@import url("catalogueprive.css");
@import url('../fonts/stylesheet.css');

/** global styles */
:root {
    --font-title: 'Marcellus SC', serif;
    --font-text: 'Jost', sans-serif;
    --bs-body-font-family: var(--font-text);
    --color-text: #000000;
    --color-primary: #1E304E;
    --navy: var(--color-primary);
    --color-action: #1E71B7;
    --color-secondary: #D8A97D;
    --color-background: #192A4B;
}

body {
    font-family: var(--font-text);
    color: var(--color-text);
}

body>main#wrapper {
    min-height: calc(100vh - 600px);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex-grow: 1;
    padding-top: 0;
    background: #fff;
}

a {
    color: #1E71B7;
    text-decoration: none;
    transition: all .3s ease-in-out;
}

a:hover,
a:focus {
    color: #1E71B7;
    text-decoration: none;
}

a:active,
a:focus-visible {
    color: #1E71B7;
    text-decoration: none;
}

/** Header page: title + breadcrumb under site header */
.header-page {
    background: var(--color-primary);
    padding: 1rem 0;
    border-bottom: none;
    text-align: center;
}

.header-page .page-header {
    margin: 0 0 .75rem;
}

.header-page .page-title-section {
    margin: 0;
    color: #fff;
    font-family: var(--font-title);
    font-weight: 400;
    line-height: 1.2;
    text-transform: none;
}

.header-page .breadcrumb__wrapper {
    background: transparent;
    margin-bottom: 0;
    padding: 0;
}

.header-page .breadcrumb {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 0;
    font-size: 16px;
    line-height: 1.2;
}

.header-page .breadcrumb-link,
.breadcrumb li span,
.breadcrumb li a {
    color: white;
    text-decoration: none;
    font-family: var(--font-text);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    text-decoration: none;
}

.header-page .breadcrumb-link,
.breadcrumb li a {
    transition: all .3s ease-in-out;
    border-bottom: 1px solid rgb(255 255 255 / 0%);
}

.header-page .breadcrumb-link:hover,
.breadcrumb li a:hover {
    color: white !important;
    border-bottom: 1px solid rgb(255 255 255 / 100%);
}

.breadcrumb-item+.breadcrumb-item:before {
    color: white !important;
    padding-inline: .25rem 0 !important;
    float: none;
    content: "\e5cc" !important;
    font-family: Material Icons, sans-serif;
    font-feature-settings: "liga";
    font-size: 18px;
    font-style: normal;
    font-weight: 100 !important;
    height: .5rem;
    letter-spacing: normal;
    line-height: 1;
    text-transform: none;
    width: .5rem;
    word-wrap: normal;
    direction: ltr;
    vertical-align: middle;
    white-space: nowrap;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizelegibility;
    -moz-osx-font-smoothing: grayscale;
}

.dropdown-menu a {
    text-decoration: none;
    font-size: 16px;
    line-height: 20px;
}

.dropdown-menu a i {
    font-size: 20px;
    margin-right: .325rem;
}

@media (min-width: 0) {
    .header-page {
        margin: 0 0 1.25rem;
    }

    .header-page .breadcrumb-link,
    .breadcrumb li span,
    .breadcrumb li a {
        font-weight: 400;
        font-size: 15px;
    }
}

@media (min-width: 768px) {
    .header-page {
        margin: 0 0 2rem;
    }

    .header-page .breadcrumb-link,
    .breadcrumb li span,
    .breadcrumb li a {
        font-size: 16px;
    }
}

@media (min-width: 1200px) {
    .header-page {
        margin: 0 0 3.25rem;
    }
}

/** typography css **/
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-family: var(--font-title);
    font-weight: 400;
    line-height: 1.2;
    color: var(--color-primary);
}

p,
ul li,
ol li {
    font-family: var(--font-text);
    font-weight: 400;
    font-style: normal;
    color: var(--color-text);
}

@media (min-width: 0) {

    p,
    ul li,
    ol li {
        font-size: 16px;
        line-height: 24px;
    }

    h1,
    .h1 {
        font-size: 28px;
    }

    h2,
    .h2 {
        font-size: 24px;
    }

    h3,
    .h3 {
        font-size: 22px;
    }

    h4,
    .h4 {
        font-size: 18px;
    }

    h5,
    .h5 {
        font-size: 16px;
    }

    h6,
    .h6 {
        font-size: 16px;
    }
}

@media (min-width: 768px) {

    h1,
    .h1 {
        font-size: 30px;
    }

    h2,
    .h2 {
        font-size: 28px;
    }

    h3,
    .h3 {
        font-size: 26px;
    }

    h4,
    .h4 {
        font-size: 24px;
    }

    h5,
    .h5 {
        font-size: 20px;
    }

    h6,
    .h6 {
        font-size: 18px;
    }
}

@media (min-width: 992px) {

    h1,
    .h1 {
        font-size: 40px;
    }

    h2,
    .h2 {
        font-size: 30px;
    }

    h3,
    .h3 {
        font-size: 26px;
    }

    h4,
    .h4 {
        font-size: 24px;
    }

    h5,
    .h5 {
        font-size: 22px;
    }

    h6,
    .h6 {
        font-size: 20px;
    }

    p,
    ul li,
    ol li {
        font-size: 16px;
        line-height: 26px;
    }
}

@media (min-width: 1200px) {

    h1,
    .h1 {
        font-size: 44px;
    }

    h2,
    .h2 {
        font-size: 30px;
    }

    h3,
    .h3 {
        font-size: 28px;
    }

    h4,
    .h4 {
        font-size: 26px;
    }

    h5,
    .h5 {
        font-size: 24px;
    }

    h6,
    .h6 {
        font-size: 20px;
    }

    p,
    ul li,
    ol li {
        font-size: 18px;
        line-height: 30px;
    }
}

/** button css **/
.btn {
    font-family: var(--font-text);
    font-weight: 500;
    font-size: 20px;
    line-height: 1.2;
    text-transform: none;
    border-radius: 0;
    transition: all .3s ease;
}

.btn-primary {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;

    &:hover,
    &:focus {
        background: var(--color-action);
        border-color: var(--color-action);
        color: #fff;
    }

    &:active,
    &:focus-visible {
        background: var(--color-action);
        border-color: var(--color-action);
        color: #fff;
    }
}

.btn-outline-primary {
    background: transparent;
    border: 2px solid var(--color-primary);
    color: var(--color-primary);

    &:hover,
    &:focus {
        background: var(--color-action);
        border-color: var(--color-action);
        color: #fff;
    }

    &:active,
    &:focus-visible {
        background: var(--color-action);
        border-color: var(--color-action);
        color: #fff;
    }
}

.btn-secondary {
    background: var(--color-secondary);
    border-color: var(--color-secondary);
    color: var(--color-primary);

    &:hover,
    &:focus {
        background: var(--color-primary);
        border-color: var(--color-primary);
        color: #fff;
    }

    &:active,
    &:focus-visible {
        background: var(--color-primary);
        border-color: var(--color-primary);
        color: #fff;
    }
}

.btn-outline-secondary {
    background: transparent;
    border: 2px solid var(--color-secondary);
    color: var(--color-primary);

    &:hover,
    &:focus {
        background: var(--color-secondary);
        border-color: var(--color-secondary);
        color: var(--color-primary);
    }

    &:active,
    &:focus-visible {
        background: var(--color-secondary);
        border-color: var(--color-secondary);
        color: var(--color-primary);
    }
}

.page-loader {
    background: rgba(0, 0, 0, .15) !important;
    backdrop-filter: blur(2px) !important;
}

.page-product #product-comments-list.has-comments:empty:before,
.text-primary-emphasis {
    color: #ffffff !important;
    width: 2.75rem !important;
    height: 2.75rem !important;
    border-width: 2px !important;
}

@media (min-width: 0px) {

    .btn,
    .link {
        font-size: 16px;
        line-height: 24px;
    }
}

@media (min-width: 768px) {

    .btn,
    .link {
        font-size: 18px;
        line-height: 30px;
    }
}

@media (min-width: 992px) {

    .btn,
    .link {
        font-size: 20px;
        line-height: 30px;
    }
}

@media (min-width: 1200px) {

    .btn,
    .link {
        font-size: 24px;
        line-height: 34px;
    }
}

@media (min-width: 1600px) {

    .btn,
    .link {
        font-size: 28px;
        line-height: 40px;
    }
}

/** form css **/
.form-label,
label {
    margin-bottom: .25rem;
    font-family: var(--font-text);
    font-weight: 400;
    color: var(--color-primary);
}

.form-label.required:after,
.form-check-label.required:before {
    color: var(--color-primary) !important;
}

.form-control,
.form-select {
    border: 1px solid #C3D1DE;
    border-radius: 0;
    color: var(--color-text) !important;
    font-family: var(--font-text);
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    padding: .5rem;
    height: 50px;
}

.form-control:focus,
.form-select:focus {
    border-color: rgb(195 209 222 / 100%);
    box-shadow: 0 0 0 .25rem rgb(195 209 222 / 50%);
    outline: 0;
}

.input-group.password-field {
    position: relative;
}

.input-group.password-field .btn-transparent {
    border-radius: 0;
    width: 48px;
    height: 100%;
    border: none;
    background: transparent;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
}

.password-toggle-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    color: var(--color-primary, #1e304e);
}

.password-toggle-icon svg {
    width: 22px;
    height: auto;
}

.password-toggle-icon .password-toggle-icon__show {
    display: block;
}

.password-toggle-icon .password-toggle-icon__hide {
    display: none;
}

[data-ps-action="toggle-password"].is-password-visible .password-toggle-icon__show {
    display: none;
}

[data-ps-action="toggle-password"].is-password-visible .password-toggle-icon__hide {
    display: block;
}

.input-group.password-field [data-ps-action="toggle-password"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px !important;
    padding: 0 !important;
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    z-index: 9;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.form-group .form-text {
    display: none;
}

.form-group .form-check .form-check-input:checked {
    background-color: var(--color-action);
    border-color: var(--color-action);
}

.form-group .form-check .form-check-input:focus {
    border-color: var(--color-action);
    box-shadow: 0 0 0 .25rem rgb(30 113 183 / 50%);
}

.formgroup_id_gender {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.buttons-wrapper .btn.btn-basic {
    font-family: var(--font-text);
    font-weight: 400;
    color: var(--color-secondary);
    text-decoration: underline;
    transition: all .3s ease;
    padding: 0;

    &:hover,
    &:focus {
        color: var(--color-action);
        text-decoration: none;
    }

    &:active,
    &:focus-visible {
        color: var(--color-action);
        text-decoration: none;
    }
}

.buttons-wrapper .btn.btn-primary {
    font-family: var(--font-text);
    font-weight: 500;
    text-align: center;
    text-transform: none;
    width: 100%;
    background: var(--color-action);
    border-color: var(--color-action);
    color: #fff !important;
    border-radius: 0;
    transition: all .3s ease;
}

.buttons-wrapper .btn.btn-primary:hover,
.buttons-wrapper .btn.btn-primary:active,
.buttons-wrapper .btn.btn-primary:focus,
.buttons-wrapper .btn.btn-primary:focus-visible {
    background: var(--color-secondary);
    border-color: var(--color-secondary);
    color: var(--color-primary) !important;
}

@media (min-width: 0px) {
    .formgroup_id_gender {
        gap: 40px;
    }

    .formgroup_id_gender .form-check-inline {
        margin-right: 2.5rem;
    }

    .form-label,
    label {
        font-size: 16px;
        line-height: 1.2;
    }

    .form-check label.form-check-label>em {
        font-size: 12px;
        color: #6E8499;
        line-height: 16px !important;
        display: block;
    }

    .form-group .form-control,
    .form-group .form-select {
        height: 44px;
        font-size: 16px;
        line-height: 24px;
    }

    .input-group.password-field .btn-transparent {
        width: 44px;
        z-index: 1;
    }

    .input-group.password-field .form-control {
        padding-right: 52px;
    }

    .form-group .form-check .form-check-input {
        width: 20px;
        height: 20px;
        margin-right: .5rem;
        margin-top: 3px;
    }

    .buttons-wrapper .btn.btn-basic {
        font-size: 16px;
        line-height: 30px;
    }

    .buttons-wrapper .btn.btn-primary {
        font-size: 16px;
        line-height: 28px;
        padding: 10px 20px;
        margin: 1rem 0 1.5rem;
    }

    .progress,
    .progress-stacked {
        height: 8px;
    }

    .password-requirements p {
        font-size: 15px !important;
        line-height: 20px !important;
        align-items: start;
    }

    .password-requirements p i {
        font-size: 18px;
    }

    .form-check label.form-check-label {
        font-size: 14px;
        line-height: 24px;
    }

    .form-group:not(.formgroup_id_gender) .form-check {
        display: flex;
    }

    .password-toggle-icon svg {
        width: 20px;
        height: auto;
    }
}

@media (min-width: 576px) {
    .buttons-wrapper .btn.btn-primary {
        font-size: 18px;
        line-height: 28px;
        padding: 10px 20px;
        margin: 1rem 0 1.5rem;
    }
}

@media (min-width: 768px) {
    .formgroup_id_gender {
        gap: 60px;
    }

    .formgroup_id_gender .form-check-inline {
        margin-right: 3.325rem;
    }

    .form-group .form-control,
    .form-group .form-select {
        height: 48px;
        font-size: 16px;
        line-height: 24px;
    }

    .input-group.password-field .btn-transparent {
        width: 44px;
    }

    .input-group.password-field .form-control {
        padding-right: 56px;
    }

    /* .buttons-wrapper .btn.btn-basic {
        font-size: 18px;
        line-height: 34px;
    } */
    .buttons-wrapper .btn.btn-primary {
        font-size: 18px;
        line-height: 30px;
        padding: 10px 20px;
        margin: 1rem 0 1.5rem;
    }

    .form-check label.form-check-label {
        font-size: 16px;
        line-height: 28px;
    }

    .password-toggle-icon svg {
        width: 22px;
        height: auto;
    }
}

@media (min-width: 992px) {
    .formgroup_id_gender {
        gap: 70px;
    }

    .formgroup_id_gender .form-check-inline {
        margin-right: 4.325rem;
    }

    .form-label,
    label {
        font-size: 18px;
        line-height: 28px;
    }

    .form-group .form-control,
    .form-group .form-select {
        height: 50px;
        font-size: 18px;
        line-height: 1.2;
    }

    .input-group.password-field .btn-transparent {
        width: 50px;
    }

    .input-group.password-field .form-control {
        padding-right: 60px;
    }

    /* .buttons-wrapper .btn.btn-basic {
        font-size:  20px;
        line-height: 30px;
    } */
    .buttons-wrapper .btn.btn-primary {
        font-size: 20px;
        line-height: 30px;
        padding: 10px 12px;
        margin: 1rem 0 1.5rem;
    }

    .formgroup_id_gender .form-check label.form-check-label {
        font-size: 18px;
        line-height: 30px;
    }
}

/*** header **/
/** container-fluid **/
@media (min-width: 0px) {

    #header .container-fluid,
    #footer .container-fluid,
    .container-fluid,
    .container {
        padding-left: 15px;
        padding-right: 15px;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
        max-width: 100%;
    }

    .container-fluid,
    .container {
        max-width: 1920px !important;
        /* max-width: 100%!important; */
    }
}

@media (min-width: 1200px) {

    #header .container-fluid,
    #footer .container-fluid,
    .container-fluid,
    .container {
        /* padding-left: 2.5%;
        padding-right: 2.5%; */
        padding-left: 2rem;
        padding-right: 2rem;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
    }
}

@media (min-width: 1440px) {

    #header .container-fluid,
    #footer .container-fluid,
    .container-fluid,
    .container {
        /* padding-left: 5.5%;
        padding-right: 5.5%; */
        padding-left: 4.5rem;
        padding-right: 4.5rem;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
    }
}

/** end container-fluid **/
.header-bottom {
    border-bottom: none;
}

.header-bottom .navbar-brand .logo {
    width: auto;
    height: auto;
}

.header-bottom .navbar-brand {
    max-height: max(80px, 10vh);
    max-width: 250px;
    padding: 0;
}

@media (min-width: 0px) {
    .header-bottom__row {
        column-gap: 12px;
    }

    .header-bottom {
        padding: 15px 0 15px;
    }

    .header-bottom .navbar-brand .logo {
        max-width: 7rem;
        max-height: 3rem;
    }
}

@media (min-width: 768px) {
    .header-bottom__row {
        column-gap: 16px;
    }

    .header-bottom .navbar-brand .logo {
        max-width: 8rem;
        max-height: 3.25rem;
    }
}

@media (min-width: 992px) {
    .header-bottom__row {
        column-gap: 32px;
    }

    .header-bottom {
        padding: 20px 0 15px;
    }

    .header-bottom .navbar-brand .logo {
        max-width: 9rem;
        max-height: 4rem;
    }
}

@media (min-width: 1200px) {
    .header-bottom__row {
        column-gap: 70px;
    }

    .header-bottom {
        padding: 30px 0 15px;
    }

    .header-bottom .navbar-brand .logo {
        max-width: 11rem;
        max-height: 5rem;
    }
}

/** ets_megamenu **/
#header .ets_mm_megamenu .mm_menu_content_title {
    padding: 0;
    min-height: inherit;
}

#header .ets_mm_megamenu :not(.ybc_vertical_menu) .mm_menus_li>a,
.ets_mm_megamenu .ybc-menu-vertical-button,
.ets_mm_megamenu .mm_extra_item * {
    color: var(--color-primary) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    text-transform: none;
}

#header .layout_layout1:not(.ybc_vertical_menu) .mm_menus_li>a,
.layout_layout1 .ybc-menu-vertical-button,
.layout_layout1 .mm_extra_item * {
    color: var(--color-primary) !important;
}

#header .ets_mm_megamenu .mm_menus_li.catalog-private.btn-link a.ets_mm_url {
    background: var(--color-primary) !important;
    color: #fff !important;
    text-transform: none !important;
    padding: 7px 24px;
    border: none !important;
}

#header .ets_mm_megamenu .mm_menus_li.catalog-private.btn-link a.ets_mm_url:hover,
#header .ets_mm_megamenu .mm_menus_li.catalog-private.btn-link a.ets_mm_url:focus {
    background: var(--color-action) !important;
    color: #fff !important;
}

#header .ets_mm_megamenu .mm_menus_li.catalog-private.btn-link>a:before {
    opacity: 0 !important;
}

#header .layout_layout1 .ets_mm_block_content a,
#header .layout_layout1 .ets_mm_block_content p,
.layout_layout1.ybc_vertical_menu .mm_menus_li>a,
#header .layout_layout1.ybc_vertical_menu .mm_menus_li>a {
    color: var(--color-primary) !important;
}

#header .layout_layout1 .ets_mm_block_content a:hover,
#header .layout_layout1 .ets_mm_block_content a:focus {
    color: var(--color-action) !important;
}

#header .ets_mm_megamenu ul.mm_menus_ul ul.mm_columns_ul li.mm_blocks_li {
    margin-bottom: 8px;
}

#header .ets_mm_megamenu ul.mm_menus_ul .btn-link {
    cursor: pointer;
}

#header .ets_mm_megamenu .mm_menus_li.catalog-private.btn-link .arrow::after {
    border-right-color: #fff !important;
    border-bottom-color: #fff !important;
}

#header .ets_mm_megamenu .mm_menus_li.catalog-private.btn-link.mm_has_sub>a .mm_arrow:after {
    border-right-color: #fff !important;
    border-bottom-color: #fff !important;
}

@media (min-width: 0px) {
    #header .ets_mm_megamenu .mm_menus_li.catalog-private.btn-link a.ets_mm_url {
        padding: 10px 16px;
    }

    #header .ets_mm_megamenu :not(.ybc_vertical_menu) .mm_menus_li>a,
    .ets_mm_megamenu .ybc-menu-vertical-button,
    .ets_mm_megamenu .mm_extra_item * {
        padding: 10px 16px;
    }

    #header .ets_mm_megamenu .mm_menus_close_icon {
        font-size: 32px;
        line-height: 1;
        font-weight: 300;
        color: var(--color-primary) !important;
    }

    ul.ets_mm_categories,
    ul.ets_mm_categories li {
        list-style: none;
    }

    .layout_layout1 .ets_mm_block_content ul li a::before {
        font-size: 0 !important;
    }

    #header .layout_layout1 .ets_mm_block_content a,
    #header .layout_layout1 .ets_mm_block_content p,
    .layout_layout1.ybc_vertical_menu .mm_menus_li>a,
    #header .layout_layout1.ybc_vertical_menu .mm_menus_li>a,
    #header .ets_mm_block * {
        color: var(--color-primary);
        font-size: 16px;
        text-transform: none;
        font-weight: 400;
    }

    .ets_mm_block>.h4 {
        font-size: 16px;
        text-transform: none;
        font-weight: 400;
        line-height: 30px;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        border: none !important;
    }

    .ets_mm_megamenu .mm_columns_ul {
        background-color: #FFF;
        border: none !important;
    }

    .header-block__action-btn {
        padding: .25rem .5rem;
    }
}

@media (min-width: 768px) {
    #header .ets_mm_megamenu .mm_menus_li {
        border-right: none;
    }

    #header .ets_mm_megamenu .mm_menus_li:nth-child(2) {
        border-left: none;
    }

    #header .ets_mm_megamenu .mm_menus_li:last-child {
        border-right: none;
    }

    #header .ets_mm_megamenu .ets_mm_megamenu_content,
    #header .ets_mm_megamenu_content {
        background: transparent;
        background: transparent;
        background: transparent;
        border: none;
    }

    #header .ets_mm_megamenu .mm_menus_li>a:before {
        height: 2px;
        bottom: 0;
        top: inherit;
        background: var(--color-action);
    }

    .layout_layout1:not(.click_open_submenu) .mm_menus_li:hover>a,
    .layout_layout1.click_open_submenu .mm_menus_li.open_li>a,
    .layout_layout1 .mm_menus_li.active>a,
    #header .layout_layout1:not(.click_open_submenu) .mm_menus_li:hover>a,
    #header .layout_layout1.click_open_submenu .mm_menus_li.open_li>a,
    #header .layout_layout1 .mm_menus_li.menu_hover>a,
    .layout_layout1:hover .ybc-menu-vertical-button,
    .layout_layout1 .mm_extra_item button[type="submit"]:hover i,
    #header .layout_layout1 .mm_menus_li.active>a {
        color: var(--color-action) !important;
    }

    .layout_layout1:not(.click_open_submenu) .mm_menus_li:hover>a:before,
    .layout_layout1.click_open_submenu .mm_menus_li.open_li>a:before,
    .layout_layout1 .mm_menus_li.active>a:before,
    #header .layout_layout1:not(.click_open_submenu) .mm_menus_li:hover>a:before,
    #header .layout_layout1.click_open_submenu .mm_menus_li.open_li>a:before,
    #header .layout_layout1 .mm_menus_li.menu_hover>a:before,
    .layout_layout1:hover .ybc-menu-vertical-button:before,
    .layout_layout1 .mm_extra_item button[type="submit"]:hover i:before,
    #header .layout_layout1 .mm_menus_li.active>a:before {
        opacity: 1;
    }

    .header-block__action-btn {
        padding: .25rem .75rem;
    }
}

@media (min-width: 992px) {
    #header .ets_mm_megamenu .mm_menus_li {
        padding: 0 12px;
        position: relative;
    }

    #header .ets_mm_megamenu ul.mm_menus_ul ul.mm_columns_ul {
        max-width: 240px !important;
        left: 12px !important;
        width: 240px !important;
        box-shadow: 0 6px 20px #0000001a;
        transition-property: all;
        transform-origin: top;
        transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        transition-duration: 300ms;
        transition-delay: 150ms;
    }

    #header .ets_mm_megamenu .mm_menus_li.catalog-private.btn-link a.ets_mm_url {
        padding: 7px 24px;
    }

    #header .ets_mm_megamenu :not(.ybc_vertical_menu) .mm_menus_li>a,
    .ets_mm_megamenu .ybc-menu-vertical-button,
    .ets_mm_megamenu .mm_extra_item * {
        padding: 7px 0;
    }

    #header .ets_mm_megamenu :not(.ybc_vertical_menu) .mm_menus_li>a,
    .ets_mm_megamenu .ybc-menu-vertical-button,
    .ets_mm_megamenu .mm_extra_item * {
        font-size: 16px !important;
    }

    .ets_mm_megamenu.hook-default {
        margin-top: 0;
    }

    #header .ets_mm_megamenu ul.mm_menus_ul {
        display: flex;
        align-items: center;
    }
}

@media (min-width: 1200px) {
    #header .ets_mm_megamenu .mm_menus_li {
        padding: 0 21px;
    }

    #header .ets_mm_megamenu ul.mm_menus_ul ul.mm_columns_ul {
        left: 21px !important;
    }

    #header .ets_mm_megamenu :not(.ybc_vertical_menu) .mm_menus_li>a,
    .ets_mm_megamenu .ybc-menu-vertical-button,
    .ets_mm_megamenu .mm_extra_item * {
        font-size: 18px !important;
        padding: 7px 0;
    }
}

@media (max-width: 992px) {

    .header-block__badge {
        right: 3px;
        top: -2px;
        height: 1.25rem;
        min-width: 1.25rem;
    }

    .ets_mm_megamenu .mm_columns_ul .mm_columns_li:not(:last-child) .mm_blocks_li {
        margin-bottom: 0;
    }

    .ets_mm_megamenu.hook-default {
        background-color: transparent;
        margin-top: 0;
        padding: 0;
    }

    .layout_layout1 .ets_mm_megamenu_content {
        border-bottom: none;
        border-top: none;
    }

    .ets_mm_megamenu .container {
        background-color: #fff;
    }

    .ybc-menu-button-toggle_icon {
        margin-bottom: 0;
        margin-right: 0;
    }

    .ybc-menu-button-toggle_icon svg {
        width: 21px;
        height: 21px;
    }

    .ets_mm_megamenu .mm_menus_ul .close_menu {
        color: var(--color-text);
        float: left;
        padding: 10px 15px;
        background: #FFF;
    }

    .transition_floating .close_menu *,
    .transition_full .close_menu *,
    .ybc-menu-vertical-button .icon-bar {
        color: var(--color-text);
        fill: var(--color-text);
    }

    .mm_menus_li {
        border-top: none;
        border-bottom: 1px solid #F9F8F6;
    }

    .mm_menus_ul {
        background-color: #ffffff;
    }

    .transition_floating .mm_menus_ul {
        max-width: 320px;
    }

    .ets_mm_megamenu .mm_columns_ul {
        margin-top: 0;
    }

    .layout_layout1 .mm_menus_li .arrow {
        margin-top: 0;
    }

    .ybc-menu-toggle {
        padding: 15px 0;
    }

    #header .ets_mm_megamenu ul.mm_menus_ul ul.mm_columns_ul li.mm_blocks_li {
        margin-bottom: 0;
        padding: 8px 16px;
    }

    .layout_layout1.ets_mm_megamenu .mm_columns_ul {
        padding-left: .5rem;
        padding-bottom: .5rem;
    }

    .layout_layout1.ets_mm_megamenu li.mm_menus_li.catalog-private.btn-link .mm_columns_ul {
        padding-top: .5rem;
    }

    .mm_menus_li {
        border-bottom-color: rgb(195 209 222 / 50%);
    }
}

@media (max-width: 576px) {
    .ybc-menu-button-toggle_icon svg {
        width: 20px;
        height: 20px;
    }

    .ets_mm_megamenu .mm_menus_close_icon svg {
        width: 14px;
        height: 14px;
    }

    .ets_mm_megamenu .mm_columns_ul {
        padding-top: 0;
    }

    .mm_blocks_li {
        margin-bottom: 8px;
    }
}

/** end ets_megamenu **/
/** modal change catalog **/
#cp-change-modal .modal-content {
    background: #fff;
    border: none;
    border-radius: 0;
    padding: 2rem 2.5rem;
    text-align: center;
}

#cp-change-modal .modal-content .modal-body {
    padding: 0;
}

#cp-change-modal .modal-content .modal-body {
    font-size: 1.125rem;
    line-height: 1.5;
    color: var(--color-primary);
    font-weight: 400;
    font-family: var(--font-text);
}

#cp-change-modal .cart-content-btn .btn {
    width: calc(50% - 6px);
    font-size: 18px;
    font-weight: 500;
    text-transform: capitalize;
}

/** end modal change catalog **/
/** ps_shoppingcart **/
.header-block__badge {
    background: var(--color-primary);
    color: #fff;
    font-family: var(--font-text);
    font-weight: 400;
    font-size: 12px;
    line-height: 1;
    position: absolute;
    right: 0;
    top: 0;
    height: 1.25rem;
    min-width: 1.25rem;
}

@media (max-width: 768px) {

    #_desktop_ps_customersignin,
    #_desktop_ps_shoppingcart {
        display: none !important;
    }
}

/** end ps_shoppingcart **/
/** footer **/
.footer {
    background: #fff;
}

.footer__main {
    background: #F5F5F580;
    padding: 45px 0 56px;
}

.footer.footer__copyright {
    border-top: 1px solid #C3D1DE;
}

.copyright {
    font-size: 14px;
    line-height: 24px;
    color: var(--color-primary);
    font-weight: 400;
}

.copyright a {
    color: var(--color-primary) !important;
    text-decoration: underline;
}

.copyright a:hover,
.copyright a:focus,
.copyright a:active {
    color: var(--color-action) !important;
    text-decoration: underline;
}

@media (min-width: 768px) {
    .copyright {
        font-size: 14px;
        padding-block-start: .75rem;
        padding-block-end: .75rem;
    }
}

/** footer logo + slogan **/
.footer_logo .footer_block_logo .logo {
    max-width: 177px;
    height: auto;
    margin-bottom: 25px;
}

.footer_logo .ps-customtext {
    color: var(--color-primary);
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
}

.footer_logo .ps-customtext p {
    margin: 0;
    color: var(--color-primary);
}

.footer-block {
    margin-block-end: 0;
}

.footer_block_logo {
    max-width: 300px;
}

/** end footer logo **/
/** footer reassurance **/
.blockreassurance,
.blockreassurance--light {
    background-color: #fff;
}

.footer .blockreassurance {
    padding: 24px 0;
}

.blockreassurance--horizontal .reassurance__image {
    height: 22px;
    width: 22px;
}

.blockreassurance .reassurance {
    gap: .5rem;
}

.blockreassurance--horizontal {
    gap: 1.5rem;
    justify-content: space-between;
    padding-block: .5rem;
    flex-wrap: nowrap;
    overflow-x: scroll;
    scrollbar-width: none;
}

.blockreassurance--horizontal .reassurance {
    flex-basis: calc(20% - 1.5rem);
}

.blockreassurance--horizontal {
    max-width: 1920px !important;
}

.blockreassurance .reassurance__content,
.reassurance__title {
    font-family: var(--font-text);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5;
    color: var(--color-primary);
    white-space: nowrap;
}

/** footer blocks **/
.footer .footer-block__title,
.footer .ps-contactinfo .footer-block__title,
.footer .ps-contactinfo .ps-contactinfo__subtitle,
.footer .ps-contactinfo .footer-block__title {
    color: var(--color-primary);
    font-family: var(--font-text);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.2;
    margin-bottom: .75rem;
}

.footer-block a {
    color: var(--color-primary);
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    text-decoration: none;
}

.footer-block a:hover,
.footer-block a:focus {
    color: var(--color-action);
    text-decoration: underline;
}

.footer .ps-contactinfo__row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
    color: var(--color-primary);
    font-size: 16px;
    line-height: 1.5;
}

.footer .ps-contactinfo__row a {
    color: var(--color-primary);
    text-decoration: none;
}

.footer .ps-contactinfo__row a:hover,
.footer .ps-contactinfo__row a:focus {
    color: var(--color-action);
    text-decoration: underline;
}

.footer .ps-contactinfo__infos {
    margin: 0;
    font-style: normal;
}

.footer .ps-contactinfo__icon svg {
    display: block;
}

.footer .ps-contactinfo__row a {
    word-break: break-word;
}

@media (max-width: 1400px) {
    .footer_logo .footer_block_logo .logo {
        max-width: 144px;
    }
}

@media (max-width: 1200px) {
    .footer_logo .footer_block_logo .logo {
        max-width: 128px;
    }

    .footer__main {
        padding: 40px 0 40px;
    }
}

@media (max-width: 992px) and (min-width: 768px) {
    .footer_links .row nav.ps-linklist {
        width: auto;
        margin-bottom: 2rem;
    }

    .footer_links .row {
        flex-wrap: nowrap;
        justify-content: space-between;
    }

    .footer_contacts .ps-contactinfo {
        width: auto !important;
    }

    .footer_contacts .ps-contactinfo {
        width: auto !important;
        min-width: 210px;
    }

    .footer_contacts>.row {
        flex-wrap: nowrap;
        justify-content: space-between;
    }
}

@media (max-width: 767px) {
    .footer_logo .footer_block_logo .logo {
        max-width: 128px;
        margin-bottom: 1rem;
    }

    .footer_block_logo {
        max-width: 400px;
        margin: 0 0 .75rem;
    }

    .footer_logo .ps-customtext,
    .footer_logo .ps-customtext p {
        font-size: 15px;
    }

    .footer .footer-block__title,
    .footer .ps-contactinfo .footer-block__title,
    .footer .ps-contactinfo .ps-contactinfo__subtitle,
    .footer .ps-contactinfo .footer-block__title {
        margin-bottom: .5rem;
        margin-top: .5rem;
        border-bottom: 1px solid #C3D1DE;
        padding-bottom: .325rem;
        padding-top: .325rem;
    }

    .footer-block__title.footer-block__title--toggle i {
        font-size: 20px;
    }

    .footer .footer-block__title.ps-contactinfo__subtitle {
        border-bottom: none !important;
    }

    .footer__main {
        padding: 30px 0 24px;
    }

    .copyright {
        font-size: 14px;
        line-height: 1.2;
        padding-block-start: .75rem;
        padding-block-end: .75rem;
    }

    .blockreassurance .reassurance__content,
    .reassurance__title {
        font-size: 14px;
    }

    .footer .blockreassurance {
        padding: 1.25rem 0;
    }

    .footer.footer__copyright {
        border-top: none;
    }
}

@media (max-width: 576px) {

    .footer .footer-block__title,
    .footer .ps-contactinfo .footer-block__title,
    .footer .ps-contactinfo .ps-contactinfo__subtitle,
    .footer .ps-contactinfo .footer-block__title {
        font-size: 16px;
    }

    .footer .ps-contactinfo__row,
    .footer-block a {
        font-size: 15px;
    }
}

/** end ps_contactinfo footer **/
/** footer banner **/
section.ps-banner {
    background: var(--color-background);
}

section.ps-banner img {
    width: auto;
    max-width: 100%;
}

.oxton-logos-featured__title {
    font-weight: 400;
    text-transform: none;
    color: var(--color-primary);
    margin-bottom: 0;
}

.oxton-logos-featured__item {
    min-height: 100px;
    padding: .5rem;
}

.oxton-logos-featured__logo {
    max-width: 100%;
    max-height: 100px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: none;
    opacity: 1;
}

.oxton-logos-featured__slider {
    padding: 0;
    overflow: hidden;
}

.oxton-logos-featured__slider:not(.swiper-initialized) .swiper-wrapper {
    display: flex;
    align-items: center;
}

.oxton-logos-featured__slider:not(.swiper-initialized) .swiper-slide {
    flex-shrink: 0;
    width: 50%;
    box-sizing: border-box;
}

@media (min-width: 400px) {
    .oxton-logos-featured__slider:not(.swiper-initialized) .swiper-slide {
        width: 33.333%;
    }
}

@media (min-width: 768px) {
    .oxton-logos-featured__slider:not(.swiper-initialized) .swiper-slide {
        width: 25%;
    }
}

@media (min-width: 992px) {
    .oxton-logos-featured__slider:not(.swiper-initialized) .swiper-slide {
        width: 20%;
    }
}

.oxton-logos-featured .custom-swiper-scrollbar {
    margin-top: 1rem;
    height: 2px;
    background: #C3D1DE;
    border-radius: 4px;
    max-width: 70%;
    margin: 2rem auto 0;
}

.oxton-logos-featured .custom-swiper-scrollbar .swiper-scrollbar-drag {
    background: var(--color-primary, #1E304E);
    border-radius: 4px;
}

@media (min-width: 0px) {
    .oxton-logos-featured {
        padding-block: 1rem 1rem;
    }

    section.ps-banner {
        padding: 1.75rem 1.5rem;
    }

    section.ps-banner img {
        height: 84px;
    }

    .oxton-logos-featured__heading {
        margin-bottom: 1.25rem;
    }

    .oxton-logos-featured__title {
        font-size: 24px;
        line-height: 32px;
    }

    .oxton-logos-featured__item {
        min-height: 52px;
        padding: .25rem;
    }

    .oxton-logos-featured__logo {
        max-height: 52px;
    }
}

@media (min-width: 576px) {
    .oxton-logos-featured__title {
        font-size: 28px;
        line-height: 36px;
    }

    .oxton-logos-featured__item {
        min-height: 64px;
        padding: .325rem;
    }

    .oxton-logos-featured__logo {
        max-height: 64px;
    }
}

@media (min-width: 768px) {
    section.ps-banner img {
        height: 104px;
    }

    .oxton-logos-featured__heading {
        margin-bottom: 2rem;
    }

    .oxton-logos-featured__title {
        font-size: 30px;
        line-height: 40px;
    }
}

@media (min-width: 992px) {
    .oxton-logos-featured {
        padding-block: 2.5rem 3rem;
    }

    section.ps-banner {
        padding: 2rem 2rem;
    }

    section.ps-banner img {
        height: 124px;
    }

    .oxton-logos-featured__title {
        font-size: 40px;
        line-height: 52px;
    }

    .oxton-logos-featured__item {
        min-height: 100px;
        padding: .5rem;
    }

    .oxton-logos-featured__logo {
        max-height: 100px;
    }
}

@media (min-width: 1200px) {
    .oxton-logos-featured {
        padding-block: 3.75rem 5rem;
    }

    .oxton-logos-featured__heading {
        margin-bottom: 3.125rem;
    }

    .oxton-logos-featured__title {
        font-size: 44px;
        line-height: 55px;
    }

    section.ps-banner img {
        height: 145px;
    }
}

/*** end footer banner **/
/*** product-miniature **/
.product-miniature__image,
.product__no-image img {
    aspect-ratio: 420 / 544;
    object-fit: cover;
    width: 100%;
    height: auto;
}

.product-miniature__inner {
    box-shadow: none !important;
}

.product-miniature__inner,
.product-miniature__top {
    border-radius: 0;
}

.product-miniature__bottom {
    padding: .875rem 0;
}

.product-miniature .product-miniature__title {
    color: var(--color-primary);
    font-family: var(--font-text);
    font-weight: 400;
    text-decoration: none;
}

.product-miniature__price {
    color: var(--color-primary);
    font-family: var(--font-text);
    font-weight: 500;
}

.product-miniature__prices {
    flex-wrap: nowrap;
}

@media (min-width: 0) {
    .product-miniature .product-miniature__title {
        font-size: 15px;
        line-height: 22px;
    }

    .product-miniature__price {
        font-size: 15px;
        line-height: 22px;
    }

    .layout-full-width .products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 576px) {
    .product-miniature .product-miniature__title {
        font-size: 16px;
        line-height: 24px;
    }

    .product-miniature__price {
        font-size: 16px;
        line-height: 24px;
    }

    .layout-full-width .products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 992px) {
    .layout-full-width .products {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .product-miniature .product-miniature__title {
        font-size: 18px;
        line-height: 28px;
    }

    .product-miniature__price {
        font-size: 18px;
        line-height: 28px;
    }
}

/** products__selection **/
.products__selection {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 24px;
    width: 100%;
    margin-block-end: 4rem;
}

.products__selection:has(+ .products__selected-filters .selectedFilters:not(.hidden)) {
    margin-block-end: 0.75rem;
}

.products__selected-filters .selectedFilters:not(.hidden) {
    width: 100%;
    margin: 0 0 3rem;
    clear: both;
}

body:not(.has-compact-filter) #amazzing_filter .selectedFilters,
body:not(.has-compact-filter) .selectedFilters:has(+ #products) {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

#js-product-list-top {
    display: contents;
}

.products__count,
.pagination__number {
    font-family: var(--font-text);
    font-weight: 400;
    line-height: 1.2;
    color: var(--color-primary) !important;
    flex: 0 0 auto;
    order: 1;
}

.products__sort {
    margin-left: auto;
    flex: 0 0 auto;
    order: 3;
}

.products__sort-dropdown .products__sort-dropdown-button {
    border: none;
    background: #f2f2f2;
    border-radius: 24px;
    font-weight: 400;
    color: var(--color-primary);
    max-width: max-content;
    margin: 0 0 0 auto;
    display: flex;
    justify-content: space-between;
}

.dropdown-menu {
    border: 1px solid #f2f2f2;
    border-radius: 10px;
    background: #fff;
}

.dropdown-menu a {
    font-weight: 400;
    color: var(--color-primary);
    line-height: 20px;
}

.dropdown-item.active,
.dropdown-item:active,
.dropdown-item:hover,
.dropdown-item:focus {
    background: #f1f4f6 !important;
    color: var(--color-primary) !important;
}

.pagination__nav {
    order: 2;
}

.page-link {
    font-family: var(--font-text);
    color: var(--color-primary) !important;
    font-weight: 400 !important;
    background: transparent !important;
    padding: .25rem;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    transition: opacity .3s cubic-bezier(.645, .045, .355, 1);
    margin-inline: .325rem;
    gap: 0;
}

.active>.page-link,
.page-link.active {
    color: var(--color-primary) !important;
    border-bottom-color: var(--color-primary) !important;
}

.disabled>.page-link,
.page-link.disabled {
    opacity: .4;
}

@media (max-width: 768px) {
    .products__selection {
        flex-direction: column;
        align-items: stretch;
    }

    .products__sort {
        margin-left: 0;
    }

    .layout-full-width .products {
        gap: 1rem;
    }
}

@media (min-width: 0) {
    .page-link {
        font-size: 16px;
    }

    .dropdown-menu a {
        font-size: 15px;
    }

    .products__sort-dropdown .products__sort-dropdown-button {
        padding: 6px 16px;
        font-size: 16px;
        line-height: 22px;
    }

    .products__sort-dropdown .dropdown-toggle:after {
        font-size: 1rem;
        width: 0.75rem;
        height: 0.75rem;
    }

    .products__count,
    .pagination__number {
        font-size: 14px;
    }
}

@media (min-width: 768px) {

    .products__count,
    .pagination__number {
        font-size: 16px;
    }
}

@media (min-width: 992px) {

    .dropdown-menu a {
        font-size: 16px;
    }

    .page-link {
        font-size: 17px;
    }

    .products__sort-dropdown .products__sort-dropdown-button {
        padding: 8px 20px;
        font-size: 17px;
        line-height: 24px;
    }

    .products__sort-dropdown .dropdown-toggle:after {
        font-size: 1.25rem;
        width: 1rem;
        height: 1rem;
    }

    .products__count,
    .pagination__number {
        font-size: 17px;
    }
}

/*** end product-miniature **/
/*** products__filter **/
.products__filter {
    flex: 1 1 auto;
    order: 2;
    min-width: 0;
}

.products__filter:empty {
    display: none;
}

.horizontal-layout .af_subtitle.toggle-content {
    border-color: #f2f2f2;
    border: none;
    background: #f2f2f2;
    border-radius: 24px;
    padding: 8px 20px;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    color: var(--color-primary);
    display: flex;
    justify-content: space-between;
    text-transform: none;
}

.horizontal-layout .af_subtitle.toggle-content:before {
    border-color: var(--color-primary);
    right: 10px;
}

.horizontal-layout .af_filter_content {
    border: 1px solid #f2f2f2;
    border-radius: 10px;
    background: #fff;
    font-size: 16px;
}

.horizontal-layout .af_filter_content,
.horizontal-layout .af_filter_content label,
.horizontal-layout .af_filter_content * {
    font-size: 15px;
    line-height: 20px;
    color: var(--color-primary);
}

.af_filter .checkbox,
.af_filter .radio {
    margin: 0;
    min-height: 0;
    vertical-align: middle;
    width: 14px;
    height: 14px;
    top: 2px;
    margin-right: 2px;
    position: relative;
    flex-shrink: 0;
    -webkit-appearance: none;
    appearance: none;
    accent-color: var(--color-primary);
    border: 1px solid #c5c5c5;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    cursor: pointer;
}

.af_filter .radio {
    border-radius: 50%;
}

.af_filter .checkbox {
    border-radius: 2px;
}

.horizontal-layout .af_filter_content .count {
    font-size: 90%;
}

.horizontal-layout .h-el {
    padding: 5px;
    margin: 0;
}

.horizontal-layout .af-form {
    padding: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.horizontal-layout {
    margin: 0;
}

@media (min-width: 1200px) {
    .horizontal-layout .h-el {
        width: 20%;
    }
}

.horizontal-layout .has-selection .af_subtitle,
.horizontal-layout .has-selection .af_subtitle.toggle-content:before,
.horizontal-layout .has-selection .af_filter_content {
    border-color: rgb(30 48 78 / 25%);
}

.af_filter [type=radio]:checked,
.af_filter [type=checkbox]:checked {
    accent-color: var(--color-primary);
    border-color: var(--color-primary);
    background-color: var(--color-primary);
}

.af_filter [type=radio]:checked {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%23fff'/%3E%3C/svg%3E");
}

.af_filter [type=checkbox]:checked {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E");
}

.products__selected-filters .selectedFilters,
.selectedFilters {
    background: transparent;
    padding: .75rem 0;
}

.selectedFilters.inline .cf {
    padding: 4px 14px 6px;
    margin: 0 10px 0px 0;
    background: rgb(30 48 78 / 90%);
    color: white;
    font-size: 14px;
    border-radius: 18px;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: 0.025rem;
}

.selectedFilters.inline .cf a {
    color: white;
    font-weight: 200;
    opacity: .5;
    margin-left: 5px;
    transition: opacity .3s cubic-bezier(.645, .045, .355, 1);
}

.selectedFilters.inline .cf a.u-times:before {
    font-family: 'Jost', sans-serif !important;
    font-size: 1.25em !important;
}

.selectedFilters.inline .cf a:hover,
.selectedFilters.inline .cf a:focus {
    opacity: 1;
}

.selected-filters-label {
    margin-right: 8px;
    font-size: 17px;
    line-height: 24px;
    color: var(--color-primary);
    font-weight: 400;
}

.selectedFilters.inline .clearAll {
    float: right;
    padding: 0;
    margin-bottom: 0;
    background: transparent;
    margin-top: 6px;
    display: none;
}

.selectedFilters .clearAll a {
    color: var(--color-primary);
    display: block;
    font-size: 18px;
    font-weight: 500;
    font-family: 'Jost', sans-serif;
    padding: 8px 16px;
    background: #D8A87B7A;
    text-transform: none;
    border: none;
}

.selectedFilters .clearAll a {
    color: var(--color-primary);
    display: block;
    font-size: 18px;
    font-weight: 500;
    font-family: 'Jost', sans-serif;
    padding: 3px 0;
    background: transparent;
    text-transform: none;
    border: none;
    border-bottom: 2px solid transparent;
    transition: all .3s cubic-bezier(.645, .045, .355, 1);
    border-radius: 0;
    box-shadow: none;
    outline: none !important;
    text-decoration: none !important;
}

.selectedFilters .clearAll a:hover,
.selectedFilters .clearAll a:focus {
    border-bottom-color: var(--color-primary);
}

.selectedFilters .clearAll .txt {
    font-size: 0.75em;
    line-height: 1.2;
    margin-top: 0;
    text-transform: none;
}

@media (min-width: 768px) {
    .horizontal-layout .h-el {
        width: 20% !important;
    }
}

@media (max-width: 1200px) {
    .products__selection {
        margin-block-end: 2.5rem;
        gap: 1rem;
    }

    .horizontal-layout .af-form {
        justify-content: flex-start;
    }

    #js-product-list-top {
        display: flex;
        width: 100%;
        order: 1;
        align-items: center;
        justify-content: space-between;
    }

    #products>.selectedFilters {
        margin: 0 0 2.5rem;
    }

    .products__selected-filters .selectedFilters:not(.hidden) {
        margin: 0 0 2.5rem;
    }
}

@media (max-width: 768px) {
    .has-compact-filter #amazzing_filter .title_block {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        font-size: 18px;
        line-height: 24px;
        color: var(--color-primary);
        text-transform: none;
        background: #fff;
        border-bottom: 1px solid #E6E6E7;
        padding: 14px 48px;
        margin: 0;
        font-weight: 600;
        font-family: var(--font-text);
    }

    .af_subtitle.toggle-content {
        cursor: pointer;
        font-size: 17px;
        font-family: var(--font-text);
        font-weight: 400;
        color: var(--color-primary);
        line-height: 1.4;
    }

    .af_subtitle.toggle-content:before {
        margin-top: -4px;
        border-color: var(--color-primary);
    }

    .af_filter .checkbox,
    .af_filter .radio {
        top: 0;
    }

    .af_filter .count {
        color: rgb(30 48 78 / 60%);
        margin-left: auto;
        padding-left: 3px;
        font-size: 14px;
        font-weight: 400;
    }

    .af_filter {
        margin-bottom: 6px;
        border-bottom: 1px solid #E6E6E7;
        padding-bottom: 6px;
    }

    .products__selected-filters .selectedFilters:not(.hidden) {
        margin: 0 0 1.5rem;
    }

    .products__selection {
        margin-block-end: 1.5rem;
    }

}

/** Mobile Filtrer & Trier **/
.products__filter-sort {
    display: none;
}

.af-sort-block,
.af-panel-title-compact,
.af-view-label-compact,
.af-reset-filters {
    display: none;
}

#amazzing_filter .compact-toggle.sticky {
    display: none !important;
}

.products__filter-sort-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0;
    padding: 8px 14px;
    background: #fff;
    border: 1px solid var(--color-primary);
    border-radius: 0;
    box-shadow: none;
    color: var(--color-primary);
    font-family: var(--font-text);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
}

.products__filter-sort-btn:hover,
.products__filter-sort-btn:focus,
.products__filter-sort-btn:active {
    background: #fff;
    border-color: var(--color-primary);
    color: var(--color-primary);
    box-shadow: none;
}

.products__filter-sort-icon {
    flex-shrink: 0;
    display: block;
}

.has-compact-filter .products__filter {
    display: none !important;
}

.has-compact-filter .af-panel-title-default,
.has-compact-filter .af-view-label-default {
    display: none;
}

.has-compact-filter .af-panel-title-compact,
.has-compact-filter .af-view-label-compact {
    display: inline;
}

.has-compact-filter .af-sort-block,
.has-compact-filter .af-reset-filters {
    display: block;
}

.has-compact-filter #amazzing_filter {
    max-width: 100%;
}

.has-compact-filter .af.block .block_content {
    padding: 0 20px 140px;
}

.has-compact-filter #amazzing_filter .compact-close {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: auto;
    width: 48px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: 0;
    line-height: 0;
    color: var(--color-primary);
}

.has-compact-filter #amazzing_filter .compact-close:after {
    content: '×';
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    border: 0;
    transform: none;
    font-size: 28px;
    font-weight: 300;
    line-height: 48px;
    font-family: 'Jost', sans-serif;
    color: var(--color-primary);
}

.has-compact-filter .af-sort-block {
    padding: 16px 0 12px;
    margin: 0 0 8px;
    border-bottom: 1px solid #E6E6E7;
}

.has-compact-filter .af-sort-title {
    font-family: var(--font-text);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--color-primary);
    margin: 0 0 8px;
}

.has-compact-filter .af-sort-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.has-compact-filter .af-sort-list li {
    margin: 0;
    padding: 6px 0;
    overflow: visible;
}

.has-compact-filter .af-sort-list .af-radio-label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    cursor: pointer;
    font-weight: 400;
    color: var(--color-primary);
}

.has-compact-filter .af-sort-radio {
    margin: 0;
    min-height: 0;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #c5c5c5;
    border-radius: 50%;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 8px 8px;
    cursor: pointer;
    accent-color: var(--color-primary);
}

.has-compact-filter .af-sort-radio:checked {
    border-color: var(--color-primary);
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%231E304E'/%3E%3C/svg%3E");
}

.has-compact-filter .af-sort-list .name {
    padding-left: 0;
    font-size: 16px;
    line-height: 22px;
    color: var(--color-primary);
}

.has-compact-filter #amazzing_filter .btn-holder {
    display: flex;
    align-items: stretch;
    gap: 10px;
    background: #fff;
    border-top: 1px solid #E6E6E7;
    padding: 16px 20px calc(16px + env(safe-area-inset-bottom, 0px));
}

.has-compact-filter #amazzing_filter .btn-holder .btn {
    flex: 1 1 0;
    width: auto;
    margin: 0;
    padding: 12px 10px;
    border-radius: 0;
    box-shadow: none;
    font-family: var(--font-text);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: none;
    text-align: center;
    text-decoration: none;
}

.has-compact-filter #amazzing_filter .af-reset-filters {
    background: #fff;
    border: 1px solid var(--color-primary);
    color: var(--color-primary);
}

.has-compact-filter #amazzing_filter .btn.viewFilteredProducts {
    background: var(--color-primary);
    border: 1px solid var(--color-primary);
    color: #fff;
    position: relative;
}

.has-compact-filter #amazzing_filter .btn.viewFilteredProducts .af-total-count {
    opacity: 1;
    color: inherit;
}

.has-compact-filter .af_filter.tb ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-height: none;
    overflow: visible;
    padding: 4px 0 8px;
    margin: 0;
}

.has-compact-filter .af_filter.tb li {
    float: none;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid #c5c5c5;
    border-radius: 4px;
    background: #fff;
}

.has-compact-filter .af_filter.tb li.active {
    border-color: var(--color-primary);
    background: #fff;
}

.has-compact-filter .af_filter.tb .count {
    display: none;
}

.has-compact-filter #amazzing_filter .title_block .af-panel-title-compact {
    font-weight: 400;
    font-size: 18px;
    line-height: 28px;
    color: var(--color-primary);
    font-family: var(--font-text);
    text-transform: none;
}

@media (max-width: 767px) {
    body:has(#amazzing_filter) .products__filter-sort {
        display: flex;
        flex: 0 0 auto;
        order: 3;
        margin-left: auto;
    }

    body:has(#amazzing_filter) .products__sort {
        display: none;
    }

    body:has(#amazzing_filter) .products__filter-sort-btn {
        width: auto;
    }

    .has-compact-filter #amazzing_filter .btn-holder .btn {
        font-weight: 400;
    }
}

@media (max-width: 480px) {
    .has-compact-filter #amazzing_filter .btn-holder {
        flex-direction: column-reverse;
    }

    #js-product-list-top {
        flex-direction: column;
        justify-content: center;
        gap: .75rem;
    }

    body:has(#amazzing_filter) .products__filter-sort {
        margin-left: 0;
    }

    .has-compact-filter .af.block .block_content {
        padding: 0 20px 200px;
    }
}

/** not-found **/
.container_notfound .page-header p.display-1 {
    font-family: var(--font-title);
    font-weight: 400 !important;
    color: var(--color-primary);
}

.container_notfound h1 {
    font-family: var(--font-title);
    font-weight: 400;
    text-transform: none;
    color: var(--color-primary);
}

.container_notfound p {
    font-family: var(--font-text);
    color: var(--color-primary);
}

.container_notfound p a {
    color: var(--color-action);
    text-decoration: underline;
    transition: all .3s ease-in-out;
}

@media (min-width: 0px) {
    .container_notfound .btn.btn-primary {
        padding: 8px 20px;
        margin-top: .75rem;
    }

    .container_notfound p {
        font-size: 1rem;
        line-height: 1.4;
    }

    .container_notfound h1 {
        font-size: 24px;
        line-height: 1.4;
    }

    .container_notfound .page-header p.display-1 {
        font-size: 64px;
        line-height: 1.2;
    }

    .container_notfound {
        padding-block: 2rem 3rem;
    }
}

@media (min-width: 768px) {
    .container_notfound .btn.btn-primary {
        padding: 10px 24px;
        margin-top: 1rem;
    }

    .container_notfound p {
        font-size: 1.125rem;
        line-height: 1.4;
    }

    .container_notfound h1 {
        font-size: 30px;
        line-height: 1.4;
    }

    .container_notfound .page-header p.display-1 {
        font-size: 84px;
        line-height: 1.2;
    }

    .container_notfound {
        padding-block: 2rem 4rem;
    }
}

@media (min-width: 992px) {
    .container_notfound .btn.btn-primary {
        padding: 10px 32px;
        margin-top: 1rem;
    }

    .container_notfound p {
        font-size: 1.25rem;
        line-height: 1.4;
    }

    .container_notfound h1 {
        font-size: 36px;
        line-height: 1.4;
    }

    .container_notfound .page-header p.display-1 {
        font-size: 104px;
        line-height: 1.2;
    }

    .container_notfound {
        padding-block: 2rem 5rem;
    }
}

/** end not-found **/
/*** modal blockcart ***/
#blockcart-modal .modal-dialog,
#blockcart-modal .modal-content {
    border-radius: 0 !important;
    border: none;
}

.modal-header {
    padding: 1.25rem;
    position: relative;
}

.modal-header .blockcart-modal__title,
.modal-header .modal-title {
    width: 100%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
    font-size: 20px;
    line-height: 28px;
    font-family: var(--font-text);
    font-weight: 400;
}

.modal-header:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 2rem;
    left: 2rem;
    border-bottom: 1px solid #E5E4E4;
    width: calc(100% - 4rem);
}

#blockcart-modal .modal-header .btn-close {
    position: absolute;
    right: .75rem;
    top: .75rem;
    background: transparent;
    border: none;
    outline: 0;
    box-shadow: none;
    padding: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#blockcart-modal .modal-header .btn-close span {
    font-size: 30px;
    font-family: var(--font-text);
    font-weight: 200;
    line-height: 20px;
    display: block;
    height: 20px;
    width: 20px;
}

.blockcart-modal__product_img img {
    height: 270px;
    width: 208px;
    aspect-ratio: 208 / 270;
    object-fit: cover;
    border-radius: 0;
}

.row_custom {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 24px;
    width: 100%;
}

.row_custom .col-left {
    width: 208px;
}

.row_custom .col-right {
    width: calc(100% - 232px);
    margin-left: auto;
}

.modal-body {
    padding-inline: 40px;
    padding-block: 20px;
}

.blockcart-modal__name,
.blockcart-modal__nb-products,
.blockcart-modal__price,
.blockcart-modal__property,
.blockcart-modal__total,
.blockcart-modal__quantity {
    margin-bottom: .25rem;
    color: var(--color-primary);
    font-size: 18px;
    line-height: 30px;
    font-family: var(--font-text);
    font-weight: 400;
}

.blockcart-modal__nb-products {
    color: var(--color-primary);
    font-size: 18px;
    margin-bottom: 0.75rem;
}

.blockcart-modal__total:not(:last-child) {
    border-bottom: 1px solid #E5E4E4;
    padding: 8px 16px;
    margin: 0;
}

.blockcart-modal__summary_details {
    border: 1px solid #E5E4E4;
}

#blockcart-modal .modal-footer {
    overflow: hidden;
}

#blockcart-modal button.btn.btn-outline-primary {
    padding: 12px 12px;
    background: #EDD6C0;
    color: var(--color-primary);
    border: none;
    font-size: 16px;
    width: calc(50% - 10px);
    line-height: 26px;
}

#blockcart-modal .btn.btn-primary {
    background: var(--color-action);
    border: none;
    font-size: 16px;
    width: calc(50% - 10px);
    line-height: 26px;
    padding: 12px 12px;
    text-decoration: none;
}

#blockcart-modal .button-wrapper {
    gap: 20px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

#blockcart-modal .btn.btn-primary.shoppingcart-js {
    width: 100%;
    background: var(--color-primary);
    font-weight: 500;
}

#blockcart-modal ul.ap5_pack_product_list.ap5_pack_product_list_cart_summary li {
    font-size: 16px;
    color: var(--color-primary);
    line-height: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#blockcart-modal ul.ap5_pack_product_list.ap5_pack_product_list_cart_summary li:not(:last-child) {
    position: relative;
}

#blockcart-modal ul.ap5_pack_product_list.ap5_pack_product_list_cart_summary li:not(:last-child):after {
    content: "";
    position: absolute;
    right: -8px;
    top: 4px;
    bottom: 4px;
    height: calc(100% - 8px);
    border-right: 1px solid #E5E4E4;
}

/* ==========================================================================
   Page À propos
   /content/4-a-propos
   ========================================================================== */
.about-page {
    background: #fff;
    color: #2b2b2b;
}

body.cms-id-4 .page-header {
    display: none;
}

.about-hero img {
    display: block;
    width: 100%;
    height: auto;
}

.about-intro {
    margin: 56px auto 72px;
    text-align: center;
}

.about-intro h1,
.about-block__text h2,
.about-savoir h2 {
    font-weight: 400;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #1e3a5f;
}

.about-intro h1 {
    margin: 0 0 24px;
}

.about-intro p {
    font-size: 22px;
    line-height: 40px;
    color: #1E304E;
    margin: 0;
}

.about-block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 69px;
    align-items: center;
    margin: 0 auto 52px;
}

.about-block__media img {
    display: block;
    width: 100%;
    height: auto;
}

.about-block__text h2 {
    font-size: 26px;
    margin: 0 0 20px;
}

.about-block__text p {
    font-size: 22px;
    line-height: 40px;
    color: #1E304E;
    margin: 0 0 16px;
}

.about-btn {
    display: inline-block;
    padding: 14px 64px;
    background: #1b2a4a;
    color: #fff !important;
    text-decoration: none;
    font-size: 24px;
}

.about-savoir {
    margin: 110px auto 96px;
    text-align: center;
}

.about-savoir h1 {
    margin: 0 0 43px;
}

.about-savoir__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 30px;
}

.about-savoir__item img {
    width: 48px;
    height: 48px;
    margin-bottom: 16px;
}

.about-savoir__item h3 {
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 10px;
}

.about-savoir__item p {
    font-size: 16px;
    line-height: 28px;
    margin: 0;
}

.about-savoir__item {
    border: 2px solid #F0F0F0;
    padding: 30px 25px;
}

@media (max-width: 1400px) {
    .about-savoir__grid {
        grid-template-columns: repeat(3, 1fr);
    }

}

@media (max-width: 1200px) {

    .about-block__text p,
    .about-intro p {
        font-size: 18px;
        line-height: 30px;
    }
}

@media (max-width: 992px) {

    .about-block,
    .about-block--reverse {
        grid-template-columns: 1fr;
    }

    .about-savoir__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-block__text p,
    .about-intro p {
        font-size: 16px;
        line-height: 26px;
    }

    .about-intro {
        margin: 45px auto 45px;
    }

    .about-btn {
        padding: 14px 45px;
        font-size: 18px;
    }

    .about-block {
        gap: 45px;
        margin: 0 auto 45px;
    }

    .about-savoir {
        margin: 50px auto 60px;
    }

}

@media (max-width: 575px) {
    .about-savoir__grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Page Contact
   /nous-contacter
   ========================================================================== */

body#contact .page-header {
    display: none;
}

.contact-hero img {
    display: block;
    width: 100%;
    height: auto;
}

.contact-title {
    text-transform: uppercase;
    text-align: center;
    color: #1E304E;
    margin: 67px 0 32px;
}

.contact-infos {
    max-width: 1233px;
    margin: 0 auto;
}

.contact-form-section {
    max-width: 934px;
    margin: 84px auto;
}

.contact-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.contact-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    border: 1px solid #e5e5e5;
    padding: 24px;
    text-align: left;
}


.contact-card__text h2 {
    font-size: 20px;
    font-weight: 500;
    margin: 0 0 8px;
    font-family: 'Jost';
    text-transform: none;
}

.contact-card__text p {
    margin: 0;
    color: #1E304E;
}

.contact-card__text a {
    color: inherit;
    text-decoration: none;
}

@media (max-width: 767px) {
    .contact-cards {
        grid-template-columns: 1fr;
    }
}

.contact-form-intro {
    text-align: center;
    margin: 0 0 40px;
    color: #1E304E;
}

.contact-form .form-label {
    display: block;
    margin-bottom: 8px;
    color: #1E304E;
    font-weight: 400;
}

.contact-form .form-label.required::after,
.contact-form .form-text {
    display: none;
}

.contact-form__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px 32px;
}

.contact-form__field--full {
    grid-column: 1 / -1;
}

.contact-form .form-control,
.contact-form .form-select {
    height: 48px;
    border: 1px solid #dcdcdc;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

.contact-form textarea.form-control {
    height: auto;
    min-height: 180px;
    padding: 12px 14px;
}

/* Document joint : barre grise + bouton navy à droite */
.contact-form__file {
    position: relative;
    display: flex;
    align-items: stretch;
    width: 100%;
    min-height: 48px;
    background: #ececec;
    border: 1px solid #e0e0e0;
}

.contact-form__file-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.contact-form__file-name {
    flex: 1;
    display: flex;
    align-items: center;
    padding: 0 16px;
    color: #8a8a8a;
    background-color: #FAFAFA;
    font-size: 14px;
}

.contact-form__file-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    background: #1E304E;
    color: #fff;
    white-space: nowrap;
    font-size: 14px;
}

.contact-form__footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 28px;
}

.contact-form__submit {
    background: #4A8FBF !important;
    border: 0 !important;
    color: #fff !important;
    padding: 12px 40px;
    min-width: 140px;
    border-radius: 0;
}

.about-rdv {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 48px;
    margin: 64px auto;
}

.about-rdv__media,
.about-rdv__text {
    min-width: 0;
}

.about-rdv__media img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.about-rdv__text h2 {
    margin: 0 0 16px;
    color: #1E304E;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 0.04em;
}

.about-rdv__text p {
    color: #1E304E;
    line-height: 40px;
    font-size: 22px;
}

/* ==========================================================================
   Mon compte — /mon-compte
   ========================================================================== */

/* Bandeau titre */
body#my-account .page-header,
.page-my-account .page-header {
    background: #1E304E;
    color: #fff;
    text-align: center;
    margin-bottom: 0;
    padding: 5px 0px;

}

/* Mon compte : masquer le menu latéral + centrer le contenu */
body#my-account .account-menu--sidebar,
body#my-account .col-lg-3:has(.account-menu--sidebar) {
    display: none !important;
}

body#my-account .col-lg-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

body#my-account .account-menu--main {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

body#my-account .page-header h1,
.page-my-account .page-title,
.page-my-account .page-title-section {
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0;
}

/* Cacher le menu latéral "Mon compte" si présent */
body#my-account .account-menu:not(.account-menu--main),
body#my-account #left-column,
.page-my-account aside .account-menu {
    display: none !important;
}

body#my-account #content-wrapper,
body#my-account #content,
.page-my-account #content {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    float: none;
}

/* Grille de cartes */
.account-menu--main {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1100px;
    margin: 0 auto 40px;
    padding: 0 24px;
}

.account-menu--main .account-menu__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 160px;
    padding: 26px 26px;
    background: #fff;
    border: 1px solid #C3D1DE;
    border-radius: 0;
    text-align: center;
    text-decoration: none;
    color: #1E304E;
    gap: 12px;
}

.account-menu--main .account-menu__link:hover {
    border-color: #1E71B7;
}

.account-menu--main .account-menu__icon {
    font-size: 36px;
    color: #4A8FBF;
    margin: 0;
}

/* Déconnexion hors grille, sous une ligne */
.account-menu--main .account-menu__link--signout {
    grid-column: 1 / -1;
    min-height: auto;
    font-family: 'Jost';
    font-size: 20px;
    font-weight: 400;
    margin-top: 63px;
    padding-top: 15px;
    border: 0;
    border-radius: 0;
    border-top: 1px solid #D8A97D;
    background: transparent;
    color: #D8A97D;
    flex-direction: row;
    justify-content: center;
}

.account-menu--main .account-menu__link--signout .account-menu__icon {
    display: none;
}

/* ==========================================================================
   Page Informations
   /identite
   ========================================================================== */

body#identity .account-menu--sidebar,
body#identity #content .row>.col-lg-3 {
    display: none !important;
}

body#identity #content .row>.col-lg-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

body#identity #content,
body#identity .page-content {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px 64px;
}

body#identity .page-header {
    background: #1E304E;
    color: #fff;
    text-align: center;
    margin: 0;
    padding: 5px 0;
}

body#identity .page-header h1 {
    color: #fff !important;
    text-transform: uppercase;
    margin: 0;
}

/* Grille 2 colonnes — cible form-flex-group */
body#identity .form-flex-group {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px 24px !important;
    align-items: flex-start;
}

body#identity .form-flex-group>*,
body#identity .form-flex-group>.form-group,
body#identity .form-flex-group>.form-password-col {
    flex: 0 0 calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
    width: calc(50% - 12px) !important;
    margin: 0 !important;
}

/* Pleine largeur */
body#identity .form-flex-group>*:has([name="id_gender"]),
body#identity .form-flex-group>*:has([type="checkbox"]),
body#identity .form-flex-group>*:has([name="birthday"]),
body#identity .form-flex-group>*:has(.g-recaptcha),
body#identity .form-flex-group>*:has(textarea) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

body#identity .form-control {
    height: 48px;
    border: 1px solid #dcdcdc;
    border-radius: 0;
    box-shadow: none;
    width: 100%;
}

body#identity .form-label,
body#identity label {
    display: block;
    margin-bottom: 8px;
    color: #000000;
    font-size: 16px;
}

/* Footer : Retour + Enregistrer */
body#identity .buttons-wrapper {
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    margin-top: 32px;
    padding: 0 !important;
}

body#identity .buttons-wrapper .btn-primary,
body#identity .form-control-submit {
    background: #1E71B7 !important;
    border: 0 !important;
    padding: 12px 40px !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
}

body#identity .identity-back-link {
    color: #000000;
    text-decoration: underline;
    font-size: 16px;
}

/* Centrer page Informations — cibler #center-column */
body#identity #center-column>.row>.col-lg-3,
body#identity .center-column>.row>.col-lg-3 {
    display: none !important;
}

body#identity #center-column>.row>.col-lg-9,
body#identity .center-column>.row>.col-lg-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

body#identity #customer-form,
body#identity .js-customer-form {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

/* Icône dans un cercle gris #F5F5F5 — 42x42 (Figma) */
.account-menu--main .account-menu__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin: 0 auto 12px;
    border-radius: 50%;
    background-color: #F5F5F5;
    position: relative;
}

/* Le pictogramme (mask) au centre du cercle */
.account-menu--main .account-menu__icon::before {
    content: "";
    display: block;
    width: 22px;
    height: 22px;
    background-color: #1E304E;
    -webkit-mask: var(--icon) center / contain no-repeat;
    mask: var(--icon) center / contain no-repeat;
}

/* Hover : cercle navy + icône blanche */
.account-menu--main .account-menu__link:hover .account-menu__icon {
    background-color: #1E71B7;
}

.account-menu--main .account-menu__link:hover .account-menu__icon::before {
    background-color: #ffffff;
}

.account-menu--main .account-menu__link:hover {
    border-color: #1E71B7;
    color: #1E71B7;
}

/* Civilité : radio et label sur la même ligne */
body#identity .formgroup_id_gender .form-check-inline {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    vertical-align: middle;
}

body#identity .formgroup_id_gender .form-check-input {
    margin-top: 0 !important;
    margin-right: 0;
    position: relative;
    top: 0;
}

body#identity .formgroup_id_gender .form-check-label {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1;
    display: inline-flex;
    align-items: center;
}

/* ==========================================================================
   Page Vos adresses
   /adresses
   ========================================================================== */

body#addresses .account-menu--sidebar,
body#addresses #center-column>.row>.col-lg-3 {
    display: none !important;
}

body#addresses #center-column>.row>.col-lg-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

body#addresses #content,
body#addresses .page-content {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px 64px;
}

body#addresses .page-header {
    background: #1E304E;
    color: #fff;
    text-align: center;
    margin: 0;
    padding: 5px 0px;
}

body#addresses .page-header h1 {
    color: #fff !important;
    text-transform: uppercase;
    margin: 0;
}

.addresses__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.address-card {
    border: 1px solid #D9D9D9;
    background: #fff;
    border-radius: 0;
}

.address-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.address-card__radio {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    cursor: pointer;
}

.address-card__alias {
    font-weight: 600;
    color: #1E304E;
}

.address-card__actions {
    display: flex;
    gap: 12px;
    align-items: center;
}

.address-card__edit-icon,
.address-card__delete-icon {
    display: block;
    width: 18px;
    height: 18px;
    background-color: #1E304E;
    -webkit-mask: center / contain no-repeat;
    mask: center / contain no-repeat;
}

/* Remplace par tes SVG si tu en as */
.address-card__edit-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z'/%3E%3C/svg%3E");
}

.address-card__delete-icon {
    background-color: #1E304E;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E");
}

.address-card__body {
    font-style: normal;
    line-height: 1.6;
    color: #1E304E;
    margin: 0;
}

.addresses__create {
    margin-top: 24px;
}

.addresses__create-link {
    color: #1E71B7;
    text-decoration: none;
    font-weight: 500;
}

.addresses__actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 40px;
    gap: 50px;
}

.addresses__back {
    color: #000000;
    text-decoration: underline;
}

.addresses__save {
    background: #1E71B7 !important;
    border: 0 !important;
    width: 201px;
    height: 48px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    font-size: 20px;
}

/* ==========================================================================
   Page adresse (création / modification)
   ========================================================================== */

body#address .account-menu--sidebar,
body#address #center-column>.row>.col-lg-3 {
    display: none !important;
}

body#address #center-column>.row>.col-lg-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

body#address #content,
body#address .page-content {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px 64px;
}

/* ==========================================================================
   Radio adresses
   ========================================================================== */

body#addresses .address-card__radio,
body#addresses .address-card_radio {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    margin: 0;
}

/* Reset du radio natif */
body#addresses .address-card__radio input[type="radio"],
body#addresses .address-card_radio input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    margin: 0;
    flex-shrink: 0;
    border: 2px solid #1E71B7;
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
    position: relative;
    vertical-align: middle;
}

/* Point intérieur Figma ~10px, couleur #1E71B7 */
body#addresses .address-card__radio input[type="radio"]::after,
body#addresses .address-card_radio input[type="radio"]::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #1E71B7;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.15s ease;
}

body#addresses .address-card__radio input[type="radio"]:checked::after,
body#addresses .address-card_radio input[type="radio"]:checked::after {
    transform: translate(-50%, -50%) scale(1);
}

body#addresses .address-card__radio input[type="radio"]:checked,
body#addresses .address-card_radio input[type="radio"]:checked {
    border-color: #1E71B7;
}

body#addresses .address-card__alias,
body#addresses .address-card_alias {
    font-weight: 600;
    color: #000;
    line-height: 1;
}

/* ==========================================================================
   Page RGPD
   ========================================================================== */

body#module-psgdpr-gdpr .account-menu--sidebar,
body#module-psgdpr-gdpr #center-column>.row>.col-lg-3 {
    display: none !important;
}

body#module-psgdpr-gdpr #center-column>.row>.col-lg-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

body#module-psgdpr-gdpr #content {
    max-width: 900px;
    margin: 0 auto !important;
    padding: 0 24px 64px;
}

body#module-psgdpr-gdpr .page-header {
    background: #1E304E;
    text-align: center;
}

body#module-psgdpr-gdpr .page-header h1 {
    color: #fff !important;
    text-transform: uppercase;
    margin: 0;
}

.gdpr-card {
    border: 1px solid #e5e5e5;
    background: #fff;
    padding: 30px 30px;
    margin-bottom: 24px;
}

.gdpr-card__title {
    margin: 0 0 16px;
    font-size: 18px;
    font-weight: 600;
    font-family: 'Jost';
    color: #000000;
    text-transform: uppercase;
}

.gdpr-card__text {
    margin: 0 0 20px;
    line-height: 1.6;
    color: #000000;
}

.gdpr-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.gdpr-btn {
    background: #1E71B7 !important;
    border: 0 !important;
    color: #fff !important;
    border-radius: 0 !important;
    padding: 10px 24px !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    font-size: 18px;
}

#exportDataToCsv {
    margin-right: 0px;
    margin-left: 0px;
}

.gdpr-btn:hover {
    background: #1E304E !important;
    color: #fff !important;
}

/* Masquer le fil d'Ariane (breadcrumb) */
.page-customer-account .breadcrumb,
.page-customer-account nav[aria-label="breadcrumb"],
.header-page .breadcrumb {
    display: none !important;
}

/* ==========================================================================
   Historique des commandes
   /historique-commandes
   ========================================================================== */

body#history .account-menu--sidebar,
body#history #center-column>.row>.col-lg-3 {
    display: none !important;
}

body#history #center-column>.row>.col-lg-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

body#history #content,
body#history .page-content {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px 64px;
}

/* Bandeau */
body#history .page-header {
    background: #1E304E;
    text-align: center;
    margin-bottom: 0;
    padding: 5px 0px;
}


body#history .page-header h1,
body#history .header-page h1 {
    color: #fff !important;
    text-transform: uppercase;
    margin: 0;
}

/* Masquer breadcrumb si besoin */
body#history .breadcrumb {
    display: none !important;
}

/* Message "pas encore de commande" */
body#history .alert {
    border-radius: 0;
    border: 1px solid #e5e5e5;
    background: #f8f9fa;
    color: #1E304E;
    text-align: center;
    padding: 24px;
}

body#history .page-content>p {
    text-align: center;
    color: #1E304E;
    margin-bottom: 24px;
}

/* ==========================================================================
   Retours produit
   /suivi-commande
   ========================================================================== */

body#order-follow .account-menu--sidebar,
body#order-follow #center-column>.row>.col-lg-3 {
    display: none !important;
}

body#order-follow #center-column>.row>.col-lg-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

body#order-follow #content,
body#order-follow .page-content {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px 64px;
}

body#order-follow .page-header {
    background: #1E304E;
    text-align: center;
    margin-bottom: 0;
    padding: 5px 0px;
}

body#order-follow .page-header h1,
body#order-follow .header-page h1 {
    color: #fff !important;
    text-transform: uppercase;
    margin: 0;
}

body#order-follow .breadcrumb {
    display: none !important;
}

body#order-follow .alert {
    border-radius: 0;
    border: 1px solid #e5e5e5;
    background: #f8f9fa;
    color: #1E304E;
    text-align: center;
    padding: 24px;
}

body#order-follow .page-content>p {
    text-align: center;
    color: #1E304E;
    margin-bottom: 24px;
}

/* ==========================================================================
   Mes alertes
   /module/ps_emailalerts/account
   ========================================================================== */

body[id*="emailalerts"] .account-menu--sidebar,
body[id*="emailalerts"] #center-column>.row>.col-lg-3,
body.module-ps_emailalerts-account .account-menu--sidebar,
body.module-ps_emailalerts-account #center-column>.row>.col-lg-3 {
    display: none !important;
}

body[id*="emailalerts"] #center-column>.row>.col-lg-9,
body.module-ps_emailalerts-account #center-column>.row>.col-lg-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

body[id*="emailalerts"] #content,
body.module-ps_emailalerts-account #content {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px 64px;
}

body[id*="emailalerts"] .page-header {
    background: #1E304E;
    text-align: center;
    margin-bottom: 0;
    padding: 5px 0px;
}

body[id*="emailalerts"] .page-header h1,
body.module-ps_emailalerts-account .page-header h1 {
    color: #fff !important;
    text-transform: uppercase;
    margin: 0;
}

body[id*="emailalerts"] .breadcrumb {
    display: none !important;
}

body[id*="emailalerts"] .alert {
    border-radius: 0;
    border: 1px solid #e5e5e5;
    background: #f8f9fa;
    color: #1E304E;
    text-align: center;
    padding: 24px;
}

body[id*="emailalerts"] .page-content>p {
    text-align: center;
    color: #1E304E;
    margin-bottom: 24px;
}

/* ==========================================================================
   Avoirs
   /avoirs
   ========================================================================== */

body#order-slip .account-menu--sidebar,
body#order-slip #center-column>.row>.col-lg-3 {
    display: none !important;
}

body#order-slip #center-column>.row>.col-lg-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

body#order-slip #content,
body#order-slip .page-content {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px 64px;
}

body#order-slip .page-header {
    background: #1E304E;
    text-align: center;
    margin-bottom: 0;
    padding: 5px 0px;
}

body#order-slip .page-header h1,
body#order-slip .header-page h1 {
    color: #fff !important;
    text-transform: uppercase;
    margin: 0;
}

body#order-slip .breadcrumb {
    display: none !important;
}

body#order-slip .alert {
    border-radius: 0;
    border: 1px solid #e5e5e5;
    background: #f8f9fa;
    color: #1E304E;
    text-align: center;
    padding: 24px;
}

body#order-slip .page-content>p {
    text-align: center;
    color: #1E304E;
    margin-bottom: 24px;
}

/* ==========================================================================
   Bons de réduction
   /reduction
   ========================================================================== */

body#discount .account-menu--sidebar,
body#discount #center-column>.row>.col-lg-3 {
    display: none !important;
}

body#discount #center-column>.row>.col-lg-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

body#discount #content,
body#discount .page-content {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px 64px;
}

body#discount .page-header {
    background: #1E304E;
    text-align: center;
    margin-bottom: 0;
    padding: 5px 0px;
}

body#discount .page-header h1,
body#discount .header-page h1 {
    color: #fff !important;
    text-transform: uppercase;
    margin: 0;
}

body#discount .breadcrumb {
    display: none !important;
}

body#discount .alert {
    border-radius: 0;
    border: 1px solid #e5e5e5;
    background: #f8f9fa;
    color: #1E304E;
    text-align: center;
    padding: 24px;
}

body#discount .page-content>p {
    text-align: center;
    color: #1E304E;
    margin-bottom: 24px;
}

/* ==========================================================================
   Historique des commandes — tableau
   /historique-commandes
   ========================================================================== */

body#history #content,
body#history .page-content {
    max-width: none;
    /* plus large pour le tableau */
    margin: 0 auto;
    padding: 0 0px 64px;
}

body#history .order-history {
    width: 100%;
    overflow-x: auto;
}

body#history .order-history__inner {
    display: block !important;
    width: 100%;
}

/* On abandonne le subgrid cassé → grille explicite */
body#history .order-history__header,
body#history .order-history__row {
    display: grid !important;
    grid-column: auto !important;
    grid-template-columns:
        minmax(100px, 1.1fr)
        /* référence */
        minmax(80px, 0.8fr)
        /* date */
        minmax(70px, 0.7fr)
        /* total */
        minmax(140px, 1.8fr)
        /* paiement */
        minmax(120px, 1.4fr)
        /* état */
        minmax(60px, 0.6fr)
        /* facture */
        180px !important;
    /* actions — FIXE, pas auto */
    gap: 12px 16px !important;
    align-items: center;
    padding: 16px 0 !important;
    border-bottom: 1px solid #e5e5e5;
}

/* Optionnel : aligne aussi le texte dans chaque cellule */
body#history .order-history__header>*,
body#history .order-history__row>* {
    min-width: 0;
}

body#history .order-history__cell--actions {
    min-width: 0 !important;
    width: 100%;
}

body#history .order-history__header {
    border-bottom: 2px solid #1E304E;
    font-weight: 600;
    color: #1E304E;
    font-size: 14px;
    text-transform: uppercase;
}

body#history .order-history__cell {
    min-width: 0;
    /* autorise le wrap sans casser la grille */
    word-break: break-word;
}

body#history .order-history__cell--payment {
    font-size: 14px;
    line-height: 1.35;
    color: #000;
}

body#history .order-history__cell--date,
body#history .order-history__cell--payment {
    font-size: 14px;
    color: #000;
}

body#history .order-history__cell--status .badge,
body#history .order-history__cell--status .label,
body#history .order-history__cell--status span {
    white-space: normal;
    text-align: center;
    line-height: 1.3;
    display: inline-block;
    max-width: 100%;
}

/* Boutons Détails / Commande */
body#history .order-history__row .btn,
body#history .order-history__actions {
    white-space: nowrap;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

/* Boutons actions — Historique des commandes */
body#history .order-history__cell--actions {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 8px !important;
    min-width: 160px;
}

body#history .order-history__cell--actions .btn,
body#history .order-history__cell--actions .btn-sm,
body#history .order-history__cell--actions .btn-outline-primary {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    margin: 0 !important;
    padding: 8px 14px !important;
    font-size: 12px !important;
    font-weight: 500;
    line-height: 1.2;
    text-transform: none;
    letter-spacing: 0;
    color: #1E304E !important;
    background: #fff !important;
    border: 1px solid #1E304E !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    white-space: nowrap;
}

body#history .order-history__cell--actions .btn:hover,
body#history .order-history__cell--actions .btn-outline-primary:hover {
    color: #fff !important;
    background: #1E304E !important;
    border-color: #1E304E !important;
}

body#history .order-history__cell--actions .btn .material-icons,
body#history .order-history__cell--actions .btn i {
    font-size: 16px !important;
    line-height: 1;
}

/* ==========================================================================
   Vos devis — opartdevis
   /module/opartdevis/listquotation
   ========================================================================== */

body#module-opartdevis-listquotation .account-menu--sidebar,
body#module-opartdevis-listquotation #center-column>.row>.col-lg-3,
body[id*="opartdevis"] .account-menu--sidebar,
body[id*="opartdevis"] #center-column>.row>.col-lg-3 {
    display: none !important;
}

body#module-opartdevis-listquotation #center-column>.row>.col-lg-9,
body[id*="opartdevis"] #center-column>.row>.col-lg-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

body#module-opartdevis-listquotation .breadcrumb,
body[id*="opartdevis"] .breadcrumb {
    display: none !important;
}

body#module-opartdevis-listquotation #content,
body#module-opartdevis-listquotation .page-content,
body[id*="opartdevis"] #content {
    max-width: none;
    margin: 0 auto;
    padding: 0 0px 64px;
    color: #1E304E;
}

/* Bandeau */
body[id*="opartdevis"] .page-header {
    background: #1E304E;
    text-align: center;
    margin: 0;
    padding: 5px 0;
}

body[id*="opartdevis"] .page-header h1,
body[id*="opartdevis"] .header-page h1 {
    color: #fff !important;
    text-transform: uppercase;
    margin: 0;
}

/* Tableau */
body[id*="opartdevis"] table,
body[id*="opartdevis"] .table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}

body[id*="opartdevis"] table thead th,
body[id*="opartdevis"] .table thead th {
    color: #1E304E;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 2px solid #1E304E !important;
    padding: 14px 12px !important;
    background: transparent !important;
    vertical-align: middle;
}

body[id*="opartdevis"] table tbody td,
body[id*="opartdevis"] .table tbody td {
    padding: 16px 12px !important;
    border-bottom: 1px solid #e5e5e5 !important;
    vertical-align: middle;
    color: #1E304E;
    font-size: 14px;
}

body[id*="opartdevis"] table tbody td a {
    color: #1E304E !important;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Boutons actions : Modifier / Supprimer / Télécharger */
body[id*="opartdevis"] table .btn,
body[id*="opartdevis"] table a.btn,
body[id*="opartdevis"] table button,
body[id*="opartdevis"] td .btn,
body[id*="opartdevis"] .btn-default,
body[id*="opartdevis"] .btn-secondary,
body[id*="opartdevis"] .btn-danger,
body[id*="opartdevis"] .btn-primary,
body[id*="opartdevis"] .btn-info,
body[id*="opartdevis"] input[type="submit"],
body[id*="opartdevis"] a.button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 4px 4px 4px 0 !important;
    padding: 8px 14px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    color: #1E304E !important;
    background: #fff !important;
    border: 1px solid #1E304E !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    white-space: nowrap;
    min-height: 36px;
}

body[id*="opartdevis"] table .btn:hover,
body[id*="opartdevis"] td .btn:hover,
body[id*="opartdevis"] a.button:hover {
    color: #fff !important;
    background: #1E304E !important;
    border-color: #1E304E !important;
}

/* Supprimer = outline rouge discret */
body[id*="opartdevis"] .btn-danger,
body[id*="opartdevis"] a.btn-danger,
body[id*="opartdevis"] button.btn-danger {
    color: #b42318 !important;
    border-color: #b42318 !important;
    background: #fff !important;
}

body[id*="opartdevis"] .btn-danger:hover,
body[id*="opartdevis"] a.btn-danger:hover {
    color: #fff !important;
    background: #b42318 !important;
    border-color: #b42318 !important;
}

/* Cellule actions */
body[id*="opartdevis"] td:last-child {
    white-space: nowrap;
}

/* ==========================================================================
   Détails de la commande
   /?controller=order-detail
   ========================================================================== */

body#order-detail .account-menu--sidebar,
body#order-detail #center-column>.row>.col-lg-3 {
    display: none !important;
}

body#order-detail #center-column>.row>.col-lg-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

body#order-detail .breadcrumb {
    display: none !important;
}

body#order-detail #content,
body#order-detail .page-content {
    max-width: 1100px;
    margin: 0 auto;
    padding: 32px 24px 72px;
    color: #1E304E;
}

/* Bandeau */
body#order-detail .page-header {
    background: #1E304E;
    text-align: center;
    margin-bottom: 0;
    padding: 5px 0px;
}

body#order-detail .page-header h1 {
    color: #fff !important;
    text-transform: uppercase;
    margin: 0;
}

/* Separators */
body#order-detail .order-separator {
    border: 0;
    border-top: 1px solid #e5e5e5;
    margin: 40px 0;
}

/* ---------- Infos commande ---------- */
body#order-detail .order-infos {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
}

body#order-detail .order-infos__summary {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px 32px;
    align-items: start;
}

body#order-detail .order-infos__reference,
body#order-detail .order-infos__carrier,
body#order-detail .order-infos__payment,
body#order-detail .order-infos__recyclable {
    margin: 0 0 8px;
    color: #1E304E;
    grid-column: 1;
}

body#order-detail .order-infos__actions {
    grid-column: 2;
    grid-row: 1 / span 4;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
    margin: 0;
}

body#order-detail .order-infos__actions.buttons-wrapper--end,
body#order-detail .order-infos__actions.buttons-wrapper--split {
    justify-content: flex-start;
}

/* Boutons */
body#order-detail .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px !important;
    font-size: 16px !important;
    font-weight: 500;
    line-height: 1.2;
    text-transform: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    white-space: nowrap;
}

body#order-detail .btn-outline-primary,
body#order-detail a.btn-outline-primary {
    color: #fff !important;
    background: #1E304E !important;
    border: 1px solid #1E304E !important;
}

body#order-detail .btn-outline-primary:hover {
    background: #16243a !important;
    border-color: #16243a !important;
    color: #fff !important;
}

body#order-detail .btn-link {
    color: #1E304E !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    text-decoration: underline;
}

/* Titres */
body#order-detail h2,
body#order-detail h3,
body#order-detail .h2,
body#order-detail .h3 {
    color: #1E304E;
    text-transform: uppercase;
    font-size: 1.15rem;
    margin: 0 0 20px;
    letter-spacing: 0.03em;
    font-weight: 600;
}

/* ---------- Grid tables (statut / suivi) ---------- */
body#order-detail .grid-table,
body#order-detail .order-status__table {
    width: 100%;
    background: #fff;
}

body#order-detail .grid-table__inner {
    display: block !important;
    width: 100%;
}

body#order-detail .grid-table__inner--2 .grid-table__header,
body#order-detail .grid-table__inner--2 .grid-table__row {
    display: grid !important;
    grid-template-columns: 220px 1fr !important;
    gap: 16px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid #e5e5e5;
}

body#order-detail .grid-table__header {
    border-bottom: 2px solid #1E304E !important;
    font-weight: 600;
    text-transform: uppercase;
}

body#order-detail .grid-table__cell {
    color: #1E304E;
    min-width: 0;
}

body#order-detail .order-status__badge,
body#order-detail .badge {
    background: #1E304E !important;
    color: #fff !important;
    border-radius: 0 !important;
    padding: 12px 12px !important;
    font-size: 15px;
    font-weight: 500;
    white-space: normal;
    display: inline-block;
    max-width: 100%;
}

/* Tableaux classiques (expédition, produits) */
body#order-detail table,
body#order-detail .table {
    width: 100% !important;
    border-collapse: collapse;
    margin: 0 0 24px;
    background: #fff !important;
}

body#order-detail table thead th,
body#order-detail .table thead th {
    color: #1E304E !important;
    background: #fff !important;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    border-bottom: 2px solid #1E304E !important;
    padding: 12px 10px !important;
}

body#order-detail table tbody td,
body#order-detail .table tbody td,
body#order-detail table tfoot td {
    color: #1E304E !important;
    background: #fff !important;
    padding: 14px 10px !important;
    border-bottom: 1px solid #ececec !important;
    vertical-align: middle;
}

/* ---------- Adresses (FIX principal) ---------- */
body#order-detail .order-addresses {
    display: block !important;
    /* PAS de grid ici */
    margin: 0 0 40px;
}

body#order-detail .order-addresses>.h3 {
    display: block;
    width: 100%;
    margin: 0 0 20px;
}

body#order-detail .order-addresses__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    width: 100%;
}

body#order-detail .address-card__container {

    padding: 12px;
}

body#order-detail .address-card__alias {
    color: #1E304E;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.04em;
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e5e5e5;
}

body#order-detail .address-card__content {
    margin: 0;
    font-style: normal;
    line-height: 1.6;
}

body#order-detail .account-menu__back,
body#order-detail a.btn.account-menu__back {
    display: none !important;
}

/* Produits / formulaire */
body#order-detail .order-products img,
body#order-detail table img {
    max-width: 64px;
    height: auto;
}

body#order-detail .order-products a,
body#order-detail table td a {
    color: #1E304E !important;
    text-decoration: underline;
}

body#order-detail .form-control,
body#order-detail select,
body#order-detail textarea {
    border: 1px solid #d0d0d0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #1E304E;
    padding: 12px 14px;
}

body#order-detail label {
    color: #1E304E;
    font-weight: 500;
    margin-bottom: 8px;
}

body#order-detail button[type="submit"] {
    margin-top: 16px;
    min-width: 180px;
    color: #fff !important;
    background: #1E304E !important;
    border: 1px solid #1E304E !important;
}

body.cms-id-4 .footer__before {
    display: flex !important;
    flex-direction: column !important;
}

/* 1. Ils nous font confiance */
body.cms-id-4 .footer__before>#oxton-html-block-4,
body.cms-id-4 .footer__before>.custom_section,
body.cms-id-4 .footer__before>.section_calltoaction,
body.cms-id-4 .footer__before>.oxton-logos-featured {
    order: 1;
}

/* 2. Rendez-vous (ton bloc) */
body.cms-id-4 .footer__before>.about-boutiques-banner {
    order: 2;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
}

/* 3. Réassurance */
body.cms-id-4 .footer__before>.blockreassurance,
body.cms-id-4 .footer__before>.blockreassurance--light {
    order: 3;
}

/* Largeur contenue */
body.cms-id-4 .about-boutiques-banner .about-rdv {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 48px;
    margin: 64px 0;
    max-width: 100%;
}
#blockcart-modal .opartdevis-cart-button,
#blockcart-modal .blockcart-modal__cart-footer-extra {
  display: none !important;
}
body#identity input[name="newsletter"],
body#identity .form-group:has([name="newsletter"]) {
  display: none !important;
}
/* Masquer « Recevoir notre newsletter » — Identité + Inscription */
body#identity input[name="newsletter"],
body#identity .form-group:has([name="newsletter"]),
body#identity .form-check:has([name="newsletter"]),

body#authentication input[name="newsletter"],
body#authentication .form-group:has([name="newsletter"]),
body#authentication .form-check:has([name="newsletter"]),

body#registration input[name="newsletter"],
body#registration .form-group:has([name="newsletter"]),
body#registration .form-check:has([name="newsletter"]),

body.page-authentication input[name="newsletter"],
body.page-authentication .form-group:has([name="newsletter"]),
body.page-authentication .form-check:has([name="newsletter"]),
body.page-customer-account-create input[name="newsletter"],
body.page-customer-account-create .form-group:has([name="newsletter"]),
body.page-customer-account-create .form-check:has([name="newsletter"]) {
  display: none !important;
}
@media (max-width: 767px) {

    body#order-detail .order-infos__summary,
    body#order-detail .order-addresses__list,
    body#order-detail .grid-table__inner--2 .grid-table__header,
    body#order-detail .grid-table__inner--2 .grid-table__row {
        grid-template-columns: 1fr !important;
    }

    body#order-detail .order-infos__actions {
        grid-column: 1;
        grid-row: auto;
    }
}

@media (min-width: 992px) {
    #blockcart-modal ul.ap5_pack_product_list.ap5_pack_product_list_cart_summary {
        display: grid;
        gap: 1rem;
        grid-template-columns: 1fr 1fr 1fr minmax(0, 1fr);
        font-size: 16px;
        margin-top: .5rem;
        margin-bottom: .5rem;
    }
}

@media (max-width: 992px) {
    #blockcart-modal .modal-dialog {
        max-width: 720px;
    }

    .modal-body {
        padding-inline: 32px;
        padding-block: 20px 0;
    }

    .row_custom .col-left.col-lg-left,
    .row_custom .col-right.col-lg-right {
        width: 100%;
    }

    .modal-header .blockcart-modal__title,
    .modal-header .modal-title {
        font-size: 18px;
        line-height: 28px;
        font-weight: 500;
    }

    .modal-header {
        padding: 1rem;
    }

    #blockcart-modal ul.ap5_pack_product_list.ap5_pack_product_list_cart_summary li {
        margin: 0 0 .325rem;
        padding: 0 0 .325rem;
        border-bottom: 1px solid #e5e5e5;
    }

    .blockcart-modal__name,
    .blockcart-modal__nb-products,
    .blockcart-modal__price,
    .blockcart-modal__property,
    .blockcart-modal__total,
    .blockcart-modal__quantity {
        font-size: 16px;
        line-height: 26px;
    }

    #blockcart-modal ul.ap5_pack_product_list.ap5_pack_product_list_cart_summary li:not(:last-child):after {
        opacity: 0;
        border: none;
    }

    #blockcart-modal ul.ap5_pack_product_list.ap5_pack_product_list_cart_summary {
        margin-top: .5rem;
        margin-bottom: .75rem;
    }

    .about-rdv {
        gap: 32px;
        margin: 48px auto;
    }

    .about-rdv {
        grid-template-columns: 1fr !important;
    }

    .about-rdv__text h2 {
        font-size: 22px;
    }

    .account-menu--main {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-block,
    .about-block--reverse {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-areas: none !important;
        gap: 24px !important;
        margin-bottom: 48px !important;
    }

    /* Important : annuler le placement desktop */
    .about-block .about-block__media,
    .about-block .about-block__text,
    .about-block--reverse .about-block__media,
    .about-block--reverse .about-block__text {
        grid-column: auto !important;
        grid-row: auto !important;
        grid-area: auto !important;
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Photos seulement — pas les icônes savoir-faire */
    .about-hero img,
    .about-rdv__media img,
    .about-block__media img {
        max-height: 320px;
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    .about-savoir img,
    .about-savoir_item img,
    .about-savoir__item img {
        max-height: none !important;
        width: auto !important;
        height: auto !important;
        object-fit: initial !important;
    }

    .contact-title {
        margin: 40px 0 20px;
    }

    .contact-form-section {
        margin: 40px auto;
    }

    .account-menu--main .account-menu__link--signout {
        margin-top: 35px;
        font-size: 18px;
    }
}

@media (max-width: 768px) {
    .modal-body {
        padding-inline: 20px;
    }

    .modal-header:after {
        right: 1rem;
        left: 1rem;
        width: calc(100% - 2rem);
    }

    .about-rdv {
        grid-template-columns: 1fr !important;
        gap: 24px;
        margin: 40px auto;
    }

    .about-rdv__media,
    .about-rdv__text {
        width: 100%;
        max-width: 100%;
    }

    .about-rdv__media img {
        width: 100%;
        height: auto;
    }

    .about-rdv__text h2 {
        font-size: 20px;
        text-align: left;
    }

    .about-rdv__text p {
        font-size: 16px;
        line-height: 26px;
    }

    .about-rdv .about-btn,
    .about-rdv__btn {
        display: inline-block;
        width: auto;
    }

    body#identity .js-customer-form .row>[class*="col-"] {
        flex: 1 1 100%;
        max-width: 100%;
    }

    body#identity .form-footer {
        flex-direction: column;
        gap: 16px;
        align-items: stretch;
    }

    .about-hero img,
    .about-rdv__media img,
    .about-block__media img,
    .def-thumb img {
        max-height: 240px;
    }

    .addresses__list {
        grid-template-columns: 1fr;
    }

    .addresses__actions {
        flex-direction: column;
        gap: 16px;
        align-items: stretch;
    }

    .addresses__save {
        width: 100%;
    }

    body#identity .form-flex-group>*,
    body#identity .form-flex-group>.form-group,
    body#identity .form-flex-group>.form-password-col {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    body#identity .buttons-wrapper {
        flex-direction: column;
        gap: 16px;
        align-items: stretch;
    }

    .about-rdv {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .contact-cards,
    .contact-form__grid {
        grid-template-columns: 1fr;
    }

    .account-menu--main .account-menu__link--signout {
        margin-top: 20px;
        font-size: 18px;
    }

    body#history .order-history__header {
        display: none !important;
    }

    body#history .order-history__row {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        padding: 20px 20px !important;
    }

    body#history .order-history__cell::before {
        content: attr(data-ps-label);
        display: block;
        font-size: 14px;
        font-weight: 600;
        text-transform: uppercase;
        color: #1E304E;
        margin-bottom: 4px;
    }

    body#history .order-history__cell {
        gap: 1.5rem;
    }

    body#order-detail #order-infos,
    body#order-detail .order-infos,
    body#order-detail .order-addresses,
    body#order-detail .addresses,
    body#order-detail #order-addresses {
        grid-template-columns: 1fr;
    }

    body#order-detail table,
    body#order-detail .table {
        display: block;
        overflow-x: auto;
    }

    body#order-detail .btn {
        white-space: normal;
    }

    body[id*="opartdevis"] table,
    body[id*="opartdevis"] .table {
        display: block;
        overflow-x: auto;
    }

    body[id*="opartdevis"] td:last-child {
        white-space: normal;
    }

    body[id*="opartdevis"] table .btn {
        width: 100%;
        margin: 4px 0 !important;
    }


}

@media (max-width: 576px) {
    .blockcart-modal__product_img {
        display: none;
    }

    .row_custom .col-left {
        width: 100%;
    }

    .row_custom .col-right {
        width: 100%;
        margin-left: 0;
    }

    .row_custom {
        flex-wrap: wrap;
    }

    #blockcart-modal .button-wrapper {
        gap: 12px;
    }

    #blockcart-modal .button-wrapper {
        flex-wrap: wrap;
        flex-direction: column;
    }

    #blockcart-modal button.btn.btn-outline-primary,
    #blockcart-modal .btn.btn-primary {
        width: 100%;
    }

    #blockcart-modal .btn.btn-primary.shoppingcart-js {
        margin-top: -.25rem;
    }

    #blockcart-modal .modal-footer {
        padding-block: 1rem 0;
    }

    .modal-header .blockcart-modal__title,
    .modal-header .modal-title {
        font-size: 17px;
    }

    .account-menu--main {
        grid-template-columns: 1fr;
    }

    .about-intro {
        margin: 35px auto 35px;
    }

    .about-block,
    .about-block--reverse {
        gap: 24px !important;
        margin-bottom: 35px !important;
    }

    .about-savoir {
        margin: 35px auto 54px;
    }

    .about-savoir h1 {
        margin: 0 0 35px;
    }

    .about-savoir__item h5 {
        font-size: 20px;
    }

    .gdpr-card__actions {
        flex-direction: column;
    }

    .gdpr-btn {
        width: 100%;
        justify-content: center;
    }

    .account-menu--main .account-menu__link--signout {
        margin-top: 20px;
        font-size: 16px;
    }


}