
/******************
    FONTS
******************/

/*
 * Typographie KNICS
 *
 * L'ancien fichier distant etait une Neue Haas 95 Black declaree sans
 * font-weight. Le navigateur la traitait donc comme une graisse 400, ce qui
 * rendait tout le texte courant artificiellement gras. Les familles restent
 * compatibles avec la charte, mais le texte courant utilise volontairement
 * une famille distincte du nom Neue Haas configure dans IQIT. Ainsi une
 * ancienne declaration 95 Black en cache ne peut plus contaminer le body.
 */
:root {
    --knics-font-text: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --knics-font-display: "Sequel 100 Black 95", "Sequel100Black-95", "Sequel100Black95", "Inter Tight", "Arial Black", Impact, sans-serif;
}

body {
    font-family: var(--knics-font-text);
    font-weight: 400 !important;
}

button,
input,
select,
textarea {
    font-family: inherit;
}

/******************
    COMMON
******************/

#content-wrapper .page-title,
#content-wrapper .page_heading {
    color: #000;
    font-family: var(--knics-font-display);
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 125%; /* 40px */
    letter-spacing: 1px;
    text-transform: uppercase;
    padding-bottom: 1.75rem;
}

#wrapper .breadcrumb {
    margin-top: 0;
}

.btn-primary:hover {
    color: #FFF;
}

/******************
    HEADER
******************/

#desktop-header-container {
    padding: 0.75rem 0;
}

#header .header-nav {
    display: flex !important;
    justify-content: center;
    padding: 0.5rem 0;
    text-align: center;
}
#header .header-nav .download-app {
    display: flex;
    gap: 0.5rem;
}

#header .col-header-left {
    display: flex;
    align-items: center;
}

#header #desktop_logo .logo {
    max-width: 200px;
}
#mobile-header .col-mobile-logo .logo {
    max-width: 180px;
}

.col-header-right {
    padding-right: 0;
}

.col-header-right .col {
    padding-left: 0;
    padding-right: 0;
}

.col-header-right .col-search {
    align-items: center;
    display: flex;
    margin-right: 1.5rem;
}
.col-header-right .col-search .search-widget {
    width: 258px;
    margin: 0 auto;
}
.col-header-right .col-search .search-widget .input-group {
    position: relative;
    width: 100%;
    height: 44px;
    border: 1px solid #333;
    border-radius: 4px;
    background: #1b1b1b;
    transition: border-color 150ms ease, background-color 150ms ease;
}
.col-header-right .col-search .search-widget .form-search-control {
    display: block;
    width: 100%;
    min-width: 0;
    height: 42px;
    padding: 0 48px 0 16px;
    border: 0 !important;
    border-radius: 4px;
    color: #f4f4f4 !important;
    background: transparent !important;
    font-size: 16px;
    font-weight: 400;
    line-height: 42px;
    box-shadow: none !important;
}
.col-header-right .col-search .search-widget .form-search-control::placeholder,
.col-header-right .col-search .search-widget .form-search-control:hover::placeholder,
.col-header-right .col-search .search-widget .form-search-control:focus::placeholder {
    color: #818184 !important;
    opacity: 1;
}
.col-header-right .col-search .search-widget button.search-btn {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 42px;
    padding: 0;
    border: 0;
    color: #8b8b8e !important;
    background: transparent !important;
    box-shadow: none !important;
}
.col-header-right .col-search .search-widget button.search-btn i {
    font-size: 18px;
    line-height: 1;
}
.col-header-right .col-search .search-widget .input-group:hover,
.col-header-right .col-search .search-widget .input-group:focus-within {
    border-color: #444;
    background: #1e1e1e;
}
.col-header-right .col-search .search-widget button.search-btn:hover,
.col-header-right .col-search .search-widget button.search-btn:focus-visible {
    color: #b4b4b7 !important;
    outline: none;
}
#search_widget .autocomplete-suggestions {
    width: 200%;
}
#search_widget .autocomplete-suggestions .col-shop {
    display: none;
}

#header .col-header-left #language_selector {
    margin-left: 1rem;
}
#header .col-header-left #language_selector .expand-more {
    display: inline-flex;
    align-items: center;
}

#header .col-header-right .col-buttons {
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 0.75rem;
    width: auto;
}
#header .col-header-right .col-buttons .header-btn .icon {
    text-align: center;
    color: #05ca51;
    font-size: 20px;
}
#header .col-header-right .col-buttons .header-btn:hover,
#header .col-header-right .col-buttons .header-btn:hover .icon {
    color: #FFF;
}
#header .col-header-right .col-buttons .header-btn .title {
    margin-top: 0.25rem;
}
#header .col-header-right .col-buttons .header-sell-btn {
    font-family: var(--knics-font-text);
    font-weight: 600;
    border-radius: 25px;
    padding: 0.75rem 1.5rem;
}
#header .col-header-right .col-buttons .header-sell-btn:hover {
    background: #05ca51;
}

/******************
    HOME
******************/

.home-brands {
    margin-top: 48px;
    display: flex;
    justify-content: center;
}
.home-brands .elementor-icon-list-items {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}
.home-brands .elementor-icon-list-item {
    padding: 16px 24px;
    border-radius: 12px;
    background: #F0F0F4;
}

.origami-sellers .sellers-list .swiper-button-prev,
.origami-sellers .sellers-list .swiper-button-next {
    height: 56px;
    top: 40%;
    color: #FFF;
    background: none;
    opacity: 1;
}
.origami-sellers .sellers-list .swiper-button-prev {
    left: 15px;
}
.origami-sellers .sellers-list .swiper-button-next {
    right: 15px;
}
.origami-sellers .origami-seller-thumb-name {
    color: #000;
    text-align: center;
    /* font-family: Poppins; */
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 100% */
}

.tp-arr-allwrapper {
    display: none;
}

/*
 * Homepage KNICS - hero Elementor
 *
 * Le widget HTML du hero possede des marges horizontales negatives de 100px.
 * Son conteneur parent (slider Elementor) masque les debordements, ce qui
 * rogne le titre, les statistiques et le lien aux deux extremites.
 * On annule uniquement ces marges et on aligne le hero et la reassurance sur
 * la largeur disponible du slider.
 */
#index .elementor-element-rnrcis5 > .elementor-widget-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#index .elementor-element-rnrcis5 .knics-hero,
#index .elementor-element-rnrcis5 .knics-trust {
    max-width: 100%;
}

/* Toutes les grandes sections Elementor de la homepage sortent du .container
   du theme et occupent toute la largeur de la fenetre. */
#index #content > .elementor > .elementor-section {
    box-sizing: border-box;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

#index #content > .elementor > .elementor-section > .elementor-container {
    width: 100%;
    max-width: none !important;
}

/* Les blocs HTML editoriaux avaient chacun leur propre debordement negatif.
   Une fois les sections en pleine largeur, ces debordements ne sont plus
   necessaires et rogneraient de nouveau leur contenu. */
#index .elementor-element-hmujlxm > .elementor-widget-container,
#index .elementor-element-f07er5q > .elementor-widget-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Ces deux widgets sont encore places dans des colonnes avec une gouttiere
   laterale (20px pour la reassurance, 15px pour le Journal). On les fait
   sortir de cette gouttiere pour atteindre exactement les bords du viewport. */
#index .elementor-element-hmujlxm,
#index .elementor-element-f07er5q {
    box-sizing: border-box;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

#index .elementor-element-hmujlxm .knics-diff,
#index .elementor-element-hmujlxm .knics-stats,
#index .elementor-element-hmujlxm .knics-sell,
#index .elementor-element-f07er5q .knics-mag {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

#index .elementor-element-rnrcis5 .knics-hero__head {
    padding-left: clamp(16px, 4vw, 64px);
    padding-right: clamp(16px, 4vw, 64px);
}

#index .elementor-element-rnrcis5 .knics-hero__media,
#index .elementor-element-rnrcis5 .knics-trust,
#index .elementor-element-hmujlxm .knics-diff,
#index .elementor-element-hmujlxm .knics-stats,
#index .elementor-element-hmujlxm .knics-sell {
    border-radius: 0;
}

/* Finition du Journal : visuel bord a bord, titre aligne avec une gouttiere
   de lecture, lien superieur masque et raccord direct avec le footer. */
#index .elementor-element-f07er5q .knics-mag__cover {
    border-radius: 0;
}

#index .elementor-element-f07er5q .knics-mag__lede {
    padding-left: clamp(16px, 4vw, 64px);
    padding-right: clamp(16px, 4vw, 64px);
}

#index .elementor-element-f07er5q .knics-mag__all {
    display: none !important;
}

#index .elementor-element-jd6b1ch .elementor-column-wrap.elementor-element-populated {
    padding-bottom: 0;
}

#index #wrapper {
    padding-bottom: 0;
}

/*
 * Pages de contenu KNICS (CMS + SimpleBlog)
 * Pleine largeur et raccord direct entre le header, le contenu et le footer.
 * Les pages catalogue, produit, compte et commande ne sont pas ciblees.
 */
#cms #wrapper,
body[id^="module-ph_simpleblog-"] #wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

#cms #inner-wrapper,
body[id^="module-ph_simpleblog-"] #inner-wrapper {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

#cms #content,
body[id^="module-ph_simpleblog-"] #content {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Verrouille le raccord au header face aux espacements injectes par
   Elementor dans certaines pages CMS. */
#cms #content-wrapper,
#cms #main,
#cms #content > .elementor,
#cms #content > .elementor > .elementor-section,
#cms #content > .elementor > .elementor-section > .elementor-container,
#cms #content > .elementor > .elementor-section > .elementor-container > .elementor-row,
#cms #content > .elementor > .elementor-section .elementor-top-column,
#cms #content > .elementor > .elementor-section .elementor-widget-html,
#cms #content > .elementor > .elementor-section .elementor-widget-html > .elementor-widget-container {
    margin-top: 0 !important;
}

/* Sections Elementor des pages CMS : sortie du container Warehouse. */
#cms #content > .elementor > .elementor-section {
    box-sizing: border-box;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

#cms #content > .elementor > .elementor-section > .elementor-container {
    width: 100%;
    max-width: none !important;
}

#cms #content > .elementor > .elementor-section .elementor-column-wrap.elementor-element-populated {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

#cms #content .elementor-widget-html {
    box-sizing: border-box;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

#cms #content .elementor-widget-html > .elementor-widget-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Les blocs principaux des maquettes CMS arrivent exactement aux bords. */
#cms #content .elementor-widget-html > .elementor-widget-container > main,
#cms #content .elementor-widget-html > .elementor-widget-container > div {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

/* Certaines maquettes, dont « La confiance, autrement », portent l'arrondi
   sur leur element racine plutot que sur leurs sections internes. */
#cms #content .elementor-widget-html > .elementor-widget-container > main,
#cms #content .elementor-widget-html > .elementor-widget-container > div {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

#cms #content .elementor-widget-html > .elementor-widget-container > main > section,
#cms #content .elementor-widget-html > .elementor-widget-container > div > section {
    border-radius: 0;
}

/* Les listes et articles SimpleBlog n'ajoutent plus d'espace au-dessus. */
body[id^="module-ph_simpleblog-"] #content > :first-child {
    margin-top: 0 !important;
}

body[id^="module-ph_simpleblog-"] .simpleblog__listing {
    padding-bottom: 0;
}

/* FAQ (CMS 6) : hero reellement bord a bord et fin de page propre. */
#cms .page-cms-6 #knics-help-center > .knics-hero {
    width: 100%;
    margin: 0 !important;
}

#cms .page-cms-6 .elementor-widget-html > .elementor-widget-container {
    margin-bottom: 0 !important;
}

#cms .page-cms-6 #knics-help-center {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

#cms .page-cms-6 #knics-help-center > .knics-contact {
    width: auto;
    margin: 22px 20px 24px !important;
    border-radius: 18px !important;
    overflow: hidden;
}

@media (max-width: 780px) {
    #index .elementor-element-rnrcis5 .knics-hero__panel {
        padding-left: 16px;
        padding-right: 16px;
    }

    #cms .page-cms-6 #knics-help-center > .knics-contact {
        margin-right: 12px !important;
        margin-left: 12px !important;
        border-radius: 14px !important;
    }
}

/******************
    PRODUCTS LIST
******************/

#products .products-selection {
    border-top: none;
    border-bottom: none;
}
#products .products-selection .select-title,
#amazzing_filter .af_filter .af_subtitle {
    background: #F0F0F4;
    border-color: #F0F0F4;
    border-radius: 8px;
    padding: 12px 20px 12px 20px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
#amazzing_filter .af_filter .af_subtitle {
    padding: 12px 40px 12px 20px;
}
#products .products-selection .select-title .fa fa-angle-down {
    right: 20px;
}

#amazzing_filter .af_filter_content {
    border: 2px solid #F0F0F4;
}
.horizontal-layout .af_filter .af_filter_content {
    width: fit-content;
}
#amazzing_filter .af_filter label,
#amazzing_filter .af-checkbox-label,
#amazzing_filter .af-radio-label,
#amazzing_filter .af_filter_content label {
    text-wrap: nowrap;
}
#amazzing_filter .af_filter {
    width: auto;
}
#amazzing_filter.horizontal-layout .af_subtitle.toggle-content:before {
    right: 20px;
}
#amazzing_filter .af_filter .af-slider {
    min-width: 150px;
}

.products .product-miniature-default .product-thumbnail img {
    object-fit: cover;
    width: 100%;
    border-radius: 24px;
    aspect-ratio: 4 / 5;
}
.products .product-miniature .product-description .product-brand {
    display: block !important;
    color: #717298;
    /* font-family: Inter; */
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 18px */
    letter-spacing: -0.24px;
    margin-top: 0.2rem;
}
.products .product-miniature .product-description .product-title {
    color: #000;
    /* font-family: Inter; */
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%; /* 24px */
    letter-spacing: 0.32px;
}
.products .product-miniature .product-description .product-price {
    color: #000;
    text-align: right;
    /* font-family: Inter; */
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 24px */
    letter-spacing: -0.32px;
}

/******************
    PRODUCT
******************/

/* Product images */
#product .product-cover img {
    border-radius: 24px;
    margin: 0;
    object-fit: cover;
    aspect-ratio: 4 / 5;
}
#product .product-images {
    overflow: auto;
}
#product .product-images .swiper-slide {
    width: 30% !important;
}
#product .category-products .swiper-button-prev,
#product .category-products .swiper-button-next {
    background: none;
    margin-top: -122px;
    opacity: 0.8;
}
#product .category-products .swiper-button-prev:hover,
#product .category-products .swiper-button-next:hover {
    opacity: 1;
}
#product .category-products .swiper-button-prev::after,
#product .category-products .swiper-button-next::after {
    font-size: 60px;
    padding: 1rem;
}
#product .product-images img {
    border-radius: 12px;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    width: 120px;
}

/* Product infos */
#product .product-info-row .col-product-info {
    padding-left: 5rem;
}
#product .product_header_container {
    border: 0;
}
#product .product_header_container .page-title {
    border-bottom: 1px solid rgba(160, 160, 160, .25);
    padding-bottom: 1.75rem;
}
#product .product-prices {
    margin-top: 2.5rem;
}
#product .product-prices .product-price {
    color: #000;
    /* font-family: Poppins; */
    font-size: 24px;
    font-weight: 700;
}

#product .product-variants {
    display: none;
}
#product .product-variants .form-control-label {
    float: left;
    padding: 0.5rem 0;
    display: flex;
    align-items: center;
    width: 15%;
}
#product .product-add-to-cart .add-to-cart {
    border-radius: 99px;
    display: inline-flex;
    height: 50px;
    padding: 15px 20px;
    align-items: center;
    gap: 4px;
    /* font-family: Poppins; */
    font-size: 15px;
    font-weight: 600;
}
#product .product-quantity .add-to-cart:disabled {
    opacity: .25;
}
#product .product-add-to-cart .btn-iqitwishlist-add {
    border-radius: 99px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
}
#product .product-add-to-cart .btn-iqitwishlist-add .fa:before {
    flex-shrink: 0;
    font-size: 18px;
}

#product .product-additional-info {
    border-top: none;
}
#product .origami-seller-box {
    margin-top: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid rgba(160, 160, 160, .25);
    padding-bottom: 3rem;
}
#product .origami-seller-box .origami-seller-box--picture img {
    display: inline-flex;
    max-height: 35px;
    width: auto;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1/1;
}
#product .origami-seller-box--infos .origami-soldby {
    color: #717298;
    /* font-family: Poppins; */
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%; /* 18px */
    letter-spacing: -0.48px;
}
#product .origami-seller-box--infos .origami-seller-box--name {
    color: #000;
    /* font-family: Poppins; */
    font-size: 15px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%; /* 22.5px */
    letter-spacing: -0.6px;
}
#product .origami-seller-box--actions {
    margin-top: 0;
}
#product .origami-seller-box--actions .row {
    justify-content: flex-end !important;
}
#product .origami-seller-box--actions .btn {
    padding: 10px 20px;
    justify-content: center;
    align-items: center;
    border-radius: 99px;
    background: #000;
    width: 150px;
    color: #ffffff;
}

#product .iqit-accordion .product-description {
    padding-bottom: 2rem;
}
#product .iqit-accordion .title {
    color: #000;
    /* font-family: Poppins; */
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 22.5px */
    letter-spacing: -0.3px;
    padding: 1rem 0;
}
#product .iqit-accordion .title a:focus {
    text-decoration: none;
}
#product .iqit-accordion .content {
    border-bottom: none;
}

/* Product features */
.product-features>dl.data-sheet dt.name,
.product-features>dl.data-sheet dd.value {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
}
.product-features>dl.data-sheet dt.name {
    flex: 1 0 25%;
}
.product-features>dl.data-sheet dd.value {
    flex: 1 0 70%;
}

/* Product shipping options */
#product-shipping-options {
    margin-top: 1rem;
}
#product-shipping-options #delivery-country {
    background: #F0F0F4;
    border-color: #F0F0F4;
    border-radius: 8px;
    padding: 8px 20px 8px 8px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
#product-shipping-options .origami-product-infos-box-content {
    border: none;
    margin-top: 0.75rem;
    padding: 0;
}

/* Similar products */
#product .category-products .section-title {
    border-bottom: none;
    color: #000;
    /* font-family: Poppins; */
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 125%; /* 40px */
    letter-spacing: 0;
    word-spacing: 5px;
    text-transform: uppercase;
}

/* Product comments */
#product #product-comments-list-header {
    display: block;
}


/******************
    MANUFACTURER
******************/

#manufacturer #content-wrapper .page-title {
    border-bottom: none;
}

/******************
    SELLERS LIST
******************/

.sellers-list .seller-img {
    max-width: 100%;
    object-fit: cover;
    aspect-ratio: 1 / 1;
}
.sellers-list .origami-seller-thumb--name {
    font-weight: bold;
}

/******************
    SELLER PAGE
******************/

.seller-page-info .seller-profile img {
    max-width: 100%;
}
.seller-page-info .seller-details {
    padding-left: 3rem;
}
.seller-page-info .seller-contact .btn {
    background: #000;
    color: #fff;
}
.seller-page-info .seller-statistics {
    margin-top: 0;
}
.seller-page-info .seller-statistics .orders {
    margin-top: 2rem;
}
.seller-page-info .seller-page-content {
    margin-top: 3rem;
}
.seller-page-info .seller-page-content #products h2 {
    margin-bottom: 2rem;
}

/******************
    CUSTOMER
******************/

.my-account-page-content-wrapper .my-account-page-content h2 {
    margin-bottom: 1.5rem;
}
.my-account-page-content-wrapper .my-account-side-links a .link-item > i {
    padding-right: 1rem;
    width: 1.5em;
}

.origami-form .row {
    margin-right: calc(-.5 * var(--bs-gutter-x)) !important;
    margin-left: calc(-.5 * var(--bs-gutter-x)) !important;
}

/******************
    CHECKOUT
******************/

.step-title {
    font-family: var(--knics-font-display);
    letter-spacing: 1px;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 125%;
    letter-spacing: 1px;
    text-transform: uppercase;
}

#checkout-delivery-step .warehouse_title {
    font-weight: 700;
    margin-bottom: 0.5rem;
}
#checkout-delivery-step .estimated-delivery {
    font-size: smaller;
}
#checkout-delivery-step .delivery-options {
    margin-bottom: 2rem;
}
#checkout-delivery-step .delivery-options .delivery-option .sendcloud-spp {
    margin-bottom: 0;
}
#checkout-delivery-step .delivery-options .delivery-option .ori-carrier-extra-content {
    display: flex;
    justify-self: flex-end;
    margin-top: -2.5rem;
}
#checkout-delivery-step .delivery-options .delivery-option .sendcloud-spp button {
    background-color: #000;
    color: #FFF;
}

/**/
#checkout-delivery-step .delivery-options .delivery-option {
    display: inline-block;
    width: 100%;
    border-radius: 25px;
    padding: 1.5rem 2rem !important;
}
#checkout-delivery-step .delivery-options .delivery-option label {
    width: 50%;
    font-weight: bold;
    margin-bottom: 0.25rem;
}
#checkout-delivery-step .delivery-options .delivery-option .delivery-option-extra-infos {
    width: 50%;
}
#checkout-delivery-step .ori-carrier-extra-content {
    margin-top: -3rem;
    width: 50%;
    float: right;
}
#checkout-delivery-step .sendcloud-spp {
    width: 100%;
    background: #FFF;
    padding: 1rem;
    border-radius: 25px;
}
/*
#checkout-delivery-step .sendcloud-spp.hidden {
    display: none;
}
*/
#checkout-delivery-step .sendcloud-spp .sendcloud-spp__selection {
    flex-direction: column-reverse;
}
#checkout-delivery-step .sendcloud-spp .sendcloud-spp__selection-trigger {
    text-align: center;
    width: 100%;
}
#checkout-delivery-step .sendcloud-spp .sendcloud-spp__selection-trigger button {
    border-radius: 25px;
}
#checkout-delivery-step .sendcloud-spp .sendcloud-spp__selection-details {
    margin-top: 0;
    padding-bottom: 1rem;
    width: 100%;
}
#checkout-delivery-step .sendcloud-spp .sendcloud-spp__selection-details:empty {
    padding-bottom: 0;
}
/**/

/******************
    FOOTER
******************/

#footer .block-title {
    font-family: var(--knics-font-display);
    font-size: 1.2rem;
}

#footer-copyrights {
    color: rgba(255, 255, 255, 0.75);
}

/* Logo */
#footer #iqithtmlandbanners-block-5 {
    order: -1;
}
#footer #iqithtmlandbanners-block-5 .block-title {
    display: none;
}

/*
 * Harmonisation finale des zones rendues par IQIT / Elementor. Ces regles
 * sont placees en fin de feuille afin de prendre le pas sur les declarations
 * generees par les modules sans modifier leur contenu en base de donnees.
 */
#header .header-sell-btn,
#header .header-btn .title,
#footer .block-content,
#footer .block-content a,
#footer address {
    font-family: var(--knics-font-text) !important;
}

#header .header-sell-btn {
    font-weight: 600 !important;
}

#index .elementor-widget-heading .elementor-heading-title,
#footer .block-title,
#footer .block-title span {
    font-family: var(--knics-font-display) !important;
}

body#cms #knics-how,
body#cms #knics-how p {
    font-family: var(--knics-font-text) !important;
    font-weight: 400 !important;
}

body#cms #knics-how h1,
body#cms #knics-how h2,
body#cms #knics-how .kh-step-number,
body#cms #knics-how .kh-payment-index {
    font-family: var(--knics-font-display) !important;
}

body#cms #knics-how h3,
body#cms #knics-how strong,
body#cms #knics-how .kh-button,
body#cms #knics-how .kh-faq-item summary {
    font-family: var(--knics-font-text) !important;
}

/* FAQ dediee : neutralise la Neue Haas locale qui s'affiche trop grasse. */
body.cms-id-6 #knics-help-center p,
body.cms-id-6 #knics-help-center .knics-answer,
body.cms-id-6 #knics-help-center .knics-answer *,
body.cms-id-6 #knics-help-center .knics-featured-question,
body.cms-id-6 #knics-help-center .knics-question,
body.cms-id-6 #knics-help-center .knics-question-label {
    font-family: var(--knics-font-text) !important;
}

body.cms-id-6 #knics-help-center p,
body.cms-id-6 #knics-help-center .knics-answer {
    font-weight: 400 !important;
}

body.cms-id-6 #knics-help-center .knics-featured-question,
body.cms-id-6 #knics-help-center .knics-question,
body.cms-id-6 #knics-help-center .knics-question-label {
    font-weight: 500 !important;
}

/* FAQ (CMS 6) : recherche chargee depuis le theme.
 * Le script associe monte ces controles dans la FAQ existante, hors Elementor. */
body.cms-id-6 #knics-help-center .knics-tools--theme-mounted {
    padding: 72px 0 54px;
}

body.cms-id-6 #knics-help-center .knics-tools-grid {
    display: grid;
    grid-template-columns: minmax(250px, .72fr) minmax(440px, 1.28fr);
    gap: 54px;
    align-items: end;
}

body.cms-id-6 #knics-help-center .knics-search-wrap {
    position: relative;
    z-index: 20;
}

body.cms-id-6 #knics-help-center .knics-search-icon {
    position: absolute;
    top: 50%;
    left: 24px;
    width: 24px;
    height: 24px;
    color: var(--knics-black, #070707);
    transform: translateY(-50%);
    pointer-events: none;
}

body.cms-id-6 #knics-help-center .knics-search {
    width: 100%;
    height: 72px;
    padding: 0 116px 0 62px;
    border: 2px solid var(--knics-black, #070707);
    border-radius: 14px;
    outline: none;
    background: #fff;
    color: var(--knics-black, #070707);
    font-family: var(--knics-font-text) !important;
    font-size: 20px;
    font-weight: 500;
    transition: border-color .2s ease, box-shadow .2s ease;
}

body.cms-id-6 #knics-help-center .knics-search::placeholder {
    color: #7a7a75;
    opacity: 1;
}

body.cms-id-6 #knics-help-center .knics-search:focus {
    border-color: var(--knics-green, #04c950);
    box-shadow: 0 0 0 5px rgba(4, 201, 80, .14);
}

body.cms-id-6 #knics-help-center .knics-search-count {
    position: absolute;
    top: 50%;
    right: 22px;
    display: grid;
    min-width: 34px;
    height: 34px;
    padding: 0 6px;
    place-items: center;
    border-radius: 999px;
    background: var(--knics-black, #070707);
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    transform: translateY(-50%);
}

body.cms-id-6 #knics-help-center .knics-search-clear {
    position: absolute;
    top: 50%;
    right: 66px;
    display: grid;
    width: 34px;
    height: 34px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: #f1f1ee;
    color: var(--knics-black, #070707);
    font-size: 23px;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background .18s ease, transform .18s ease;
}

body.cms-id-6 #knics-help-center .knics-search-clear:hover {
    background: #e1e1dc;
    transform: translateY(-50%) scale(1.05);
}

body.cms-id-6 #knics-help-center .knics-search-clear[hidden],
body.cms-id-6 #knics-help-center .knics-search-assist[hidden],
body.cms-id-6 #knics-help-center .knics-no-results[hidden] {
    display: none !important;
}

body.cms-id-6 #knics-help-center .knics-search-assist {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    left: 0;
    overflow: hidden;
    border: 1px solid #d8d8d2;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .14);
}

body.cms-id-6 #knics-help-center .knics-search-assist-label {
    display: block;
    padding: 15px 18px 10px;
    color: #777771;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.cms-id-6 #knics-help-center .knics-search-option {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 20px;
    width: 100%;
    padding: 13px 18px;
    border: 0;
    border-top: 1px solid #ecece8;
    background: #fff;
    color: var(--knics-black, #070707);
    text-align: left;
    cursor: pointer;
    transition: background .15s ease;
}

body.cms-id-6 #knics-help-center .knics-search-option:hover,
body.cms-id-6 #knics-help-center .knics-search-option.is-selected {
    background: #e9faef;
}

body.cms-id-6 #knics-help-center .knics-search-option strong {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
}

body.cms-id-6 #knics-help-center .knics-search-option span {
    align-self: center;
    color: #73736e;
    font-size: 13px;
    white-space: nowrap;
}

body.cms-id-6 #knics-help-center .knics-search-status {
    min-height: 24px;
    margin-top: 13px;
    color: #686863;
    font-size: 14px;
    line-height: 1.45;
}

body.cms-id-6 #knics-help-center .knics-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

body.cms-id-6 #knics-help-center .knics-filter {
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid var(--knics-line, #d8d8d2);
    border-radius: 999px;
    background: #fff;
    color: var(--knics-black, #070707);
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

body.cms-id-6 #knics-help-center .knics-filter:hover {
    border-color: var(--knics-black, #070707);
    transform: translateY(-1px);
}

body.cms-id-6 #knics-help-center .knics-filter.is-active {
    border-color: var(--knics-black, #070707);
    background: var(--knics-black, #070707);
    color: #fff;
}

body.cms-id-6 #knics-help-center .knics-no-results {
    margin-top: 18px;
    padding: 30px;
    border: 1px solid var(--knics-line, #d8d8d2);
    border-radius: 14px;
    background: #fff;
    text-align: center;
}

body.cms-id-6 #knics-help-center .knics-no-results strong {
    display: block;
    margin-bottom: 7px;
    color: var(--knics-black, #070707);
    font-size: 21px;
    font-weight: 500;
}

body.cms-id-6 #knics-help-center .knics-no-results > span {
    color: var(--knics-grey, #686864);
    font-size: 16px;
}

body.cms-id-6 #knics-help-center .knics-no-results-suggestions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 18px;
}

body.cms-id-6 #knics-help-center .knics-no-results-suggestions button {
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid var(--knics-line, #d8d8d2);
    border-radius: 999px;
    background: #fff;
    color: var(--knics-black, #070707);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
}

body.cms-id-6 #knics-help-center .knics-no-results-suggestions button:hover {
    border-color: var(--knics-green, #04c950);
    background: #e9faef;
}

@media (max-width: 920px) {
    body.cms-id-6 #knics-help-center .knics-tools-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

@media (max-width: 680px) {
    body.cms-id-6 #knics-help-center .knics-tools--theme-mounted {
        padding: 52px 0 38px;
    }

    body.cms-id-6 #knics-help-center .knics-search {
        height: 64px;
        padding: 0 106px 0 54px;
        font-size: 17px;
    }

    body.cms-id-6 #knics-help-center .knics-search-icon {
        left: 19px;
    }

    body.cms-id-6 #knics-help-center .knics-filters {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
        scrollbar-width: thin;
    }

    body.cms-id-6 #knics-help-center .knics-filter {
        flex: 0 0 auto;
    }

    body.cms-id-6 #knics-help-center .knics-search-option {
        grid-template-columns: 1fr;
        gap: 3px;
    }
}

/* Les noms longs des marques mises en avant restent lisibles sans troncature. */
.knics-brand-featured-card strong {
    font-family: var(--knics-font-text) !important;
    font-weight: 700;
    letter-spacing: 0.01em;
}

/* Homepage : hierarchie typographique demandee. */
#index .knics-hero__title {
    font-family: var(--knics-font-display) !important;
    font-size: clamp(28px, 2.35vw, 32px) !important;
    font-weight: 900 !important;
}

#index .elementor-element-p3zg6m5 .elementor-heading-title,
#index .elementor-element-p3zg6m5 .elementor-heading-title a,
#index .elementor-element-lxcmaap .elementor-heading-title,
#index .elementor-element-lxcmaap .elementor-heading-title a {
    font-family: var(--knics-font-text) !important;
    font-weight: 600 !important;
}

#index .knics-btn,
#index .knics-mag__cta,
#index .knics-search__btn {
    font-family: var(--knics-font-text) !important;
    font-weight: 500 !important;
}

/* Homepage desktop : le bord haut reste fixe, le visuel grandit vers le bas. */
@media (min-width: 781px) {
    #index .knics-hero__media {
        height: 520px !important;
    }

    #index .knics-search {
        max-width: 820px !important;
    }
}

/* Copyright : conserve KNICS et retire la mention commerciale Origami. */
#footer-copyrights .copyright-txt p {
    font-size: 0 !important;
    line-height: 0 !important;
}

#footer-copyrights .copyright-txt p::before {
    content: "\00A9 2026 KNICS - Tous droits r\00E9serv\00E9s";
    font-family: var(--knics-font-text);
    font-size: 14px;
    line-height: 1.4;
}

#footer-copyrights .copyright-txt p a {
    display: none !important;
}

/******************
    RESPONSIVE FIXES
******************/

/*
 * Le conteneur du header n'a plus de gouttiere horizontale entre le point de
 * bascule desktop (992 px) et sa largeur maximale. Les marges negatives de la
 * .row sortaient donc de la fenetre de 6 a 11 px sur les petits ordinateurs.
 */
@media (min-width: 992px) and (max-width: 1290px) {
    #desktop-header-container {
        padding-left: 10.5px;
        padding-right: 10.5px;
    }
}

/* Le titre de connexion doit pouvoir revenir a la ligne sur mobile/tablette. */
@media (max-width: 991px) {
    body#authentication #content-wrapper .page-title {
        display: block;
        max-width: 100%;
        white-space: normal;
    }

    body#authentication #content-wrapper .page-title span {
        display: inline;
        max-width: 100%;
        overflow-wrap: normal;
        white-space: normal;
    }

    /* La liste alphabetique reste scrollable sans agrandir la page. */
    .knics-brands-view .knics-brands-page {
        max-width: 100%;
        overflow-x: hidden;
    }
}

@media (max-width: 575px) {
    /* Les titres Elementor de niveau 3, dont "La selection KNICS", tiennent
       dans les petits ecrans tout en conservant la police display. */
    #index .elementor-widget-heading h3.elementor-heading-title {
        max-width: 100%;
        font-size: 30px !important;
        line-height: 1.15 !important;
        overflow-wrap: normal;
    }

    /* custom.css imposait 32 px apres la regle mobile a 22 px du produit. */
    #product .category-products .section-title {
        max-width: 100%;
        font-size: 22px;
        line-height: 1.2;
        overflow-wrap: anywhere;
        word-spacing: normal;
    }

    /* Le bloc vendeur en deux colonnes ne tient pas a 320 px : on l'empile. */
    #product .origami-seller-box > .row {
        display: block;
    }

    #product .origami-seller-box > .row > .col {
        width: 100%;
        max-width: 100%;
        padding-right: 0;
        padding-left: 0;
    }

    #product .origami-seller-box > .row > .col:first-child {
        display: flex;
        align-items: center;
        gap: 12px;
        min-width: 0;
    }

    #product .origami-seller-box--picture {
        flex: 0 0 auto;
    }

    #product .origami-seller-box--infos {
        display: block;
        flex: 1 1 auto;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    #product .origami-seller-box--actions {
        margin-top: 14px;
    }

    #product .origami-seller-box--actions .row,
    #product .origami-seller-box--actions .row > div {
        width: 100%;
        max-width: 100%;
        margin-right: 0;
        margin-left: 0;
        padding-right: 0;
        padding-left: 0;
    }

    #product .origami-seller-box--actions .btn {
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 340px) {
    /* Les longs titres sans point de coupure restent dans les 296 px utiles. */
    body:not(#index):not(#product) #content-wrapper .page-title {
        max-width: 100%;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: 0.5px;
        overflow-wrap: anywhere;
    }

    /* L'input natif masque par bootstrap-filestyle gardait sa largeur native. */
    body#contact input[type="file"].filestyle {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* KNICS home ASICS : fichier confirme accessible sur le serveur. */
#index .knics-hero__media > .knics-hero__img--d,
#index .knics-hero__media > .knics-hero__img--m {
  content: url('/img/cms/knics-home-asics-v3.jpg') !important;
  object-fit: cover !important;
  object-position: 65% center !important;
}
@media (max-width: 780px) {
  #index .knics-hero__media > .knics-hero__img--m {
    object-position: 80% center !important;
  }
}


/* KNICS 2026-09-10: stabiliser le bandeau d'accueil a une seule diapositive. */
#index .elementor-element-jang1tt {
  animation: none !important;
  transition: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
#index .elementor-element-jang1tt > .elementor-container > .swiper-section-button,
#index .elementor-element-jang1tt > .elementor-container > .elementor-section-pagination {
  display: none !important;
}
#index .elementor-element-jang1tt > .elementor-container > .swiper-wrapper {
  transform: none !important;
  transition: none !important;
}

/* KNICS : espace identique autour du bandeau de telechargement. */
#index .elementor-element-hmujlxm > .elementor-widget-container { margin-bottom: 0 !important; }
#index .knics-sell { padding-bottom: 0 !important; }
