/* =========================================================
   SIXTEN / CHILD THEME - CUSTOM CSS
   PrestaShop 1.7 / 8.2
========================================================= */

/* BRAND
#E4032E
*/

/* TYPO
   Montserrat loaded in theme child/templates/_partials/head.tpl instead of @import
*/

:root {
    --color-brand: #e4032e;
    --color-black: #000;
    --color-white: #fff;
    --color-light: #f7f7f7;
    --color-grey: #dadada;

    --container-max: 1200px;

    --font-main: "Montserrat", sans-serif;

    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 800;

    --tracking-sm: 1px;
    --tracking-md: 2px;

    --gradient-customize: linear-gradient(135deg, #590010, #E4062E, #590010);
    --transition-fast: transform 0.2s ease;
}

/* =========================================================
   BASE
========================================================= */
body {
    font-family: var(--font-main);
    font-weight: var(--fw-medium);
}

#index #columns {
    background: var(--color-black);
}

h1,h2,h3,h4,h5,h6, .herotext {
    font-family: var(--font-main);
    margin-top: 0;
}

h1,h2,h3,h4,h5,
.page_heading, .product_name_wrap .product_name, .product-prices .current-price .price, .ajax_block_product .price, .herotext {
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    display: inline-block;
    transform: skewX(-10deg);
}

h6 {
    font-size: 1em;
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: var(--tracking-md);
}

/* Desktop */
h1, h1.page_heading, .herotext { font-size: 3em; }
h2, .product_name_wrap .product_name, .product-prices .current-price .price  { font-size: 2.0em; }
h3 { font-size: 2em; }
h4, .ajax_block_product .price { font-size: 1.4em; }

/* Tablet */
@media (max-width: 1024px) {
    h1, h1.page_heading, .herotext  { font-size: 2.2em; }
    h2, .product_name_wrap .product_name, .product-prices .current-price .price  { font-size: 1.6em; }
    h3, .ajax_block_product .price { font-size: 1.4em; }
    h4,h5, .ajax_block_product .price { font-size: 1.2em; }
}

/* Mobile */
@media (max-width: 767px) {
    h1, h1.page_heading, .herotext  { font-size: 30px; }
    h2, .product_name_wrap .product_name, .product-prices .current-price .price  { font-size: 20px; }
    h3, .ajax_block_product .price { font-size: 18px; }
    h4,h5, .ajax_block_product .price { font-size: 16px; }
}

/* =========================================================
   ALERTS
========================================================= */

.alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    color: var(--color-black) !important;
    background-color: var(--color-light) !important;
    border: 1px solid var(--color-grey) !important;
    border-radius: 0 !important;
}

.alert-success {border-left: 3px solid #008502 !important;}
.alert-info {border-left: 3px solid #0081b9 !important;}
.alert-warning {border-left: 3px solid #fe9e28 !important;}
.alert-danger {border-left: 3px solid var(--color-brand) !important;}


/* =========================================================
   BUTTONS
========================================================= */
.btn,
.shop_logo,
.ml_level_0 {
    transition: var(--transition-fast);
}

.btn {
    letter-spacing: var(--tracking-md);
    font-weight: var(--fw-semibold);
}

.btn:hover,
.shop_logo:hover,
#st_mega_menu_wrap .ma_level_0:hover {
    transform: translateY(-2px);
}

@media (min-width: 992px) {
    #st_mega_menu_wrap .ml_level_0 {
        transform: none !important;
    }
}

.icon_btn {
    display: none;
}

/* =========================================================
   HEADER
========================================================= */
#top_bar_container {
    font-size: 10px;
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: var(--tracking-md);
    color: var(--color-black) !important;
}

#header_primary_row {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#index .header-container #st_header:not(.stuck) {
    background: transparent;
}

#index .header-container #st_header.stuck {
    background: var(--color-black);
}

#st_mega_menu_wrap .ma_level_0 {
    font-weight: var(--fw-bold);
}

@media (min-width: 1200px) {
    #st_mega_menu_wrap .ma_level_0 {
        padding-left: 20px;
        padding-right: 20px;
    }
}

.cate_label {
    font-size: 10px;
    font-weight: var(--fw-bold);
    font-family: var(--font-main);
    letter-spacing: var(--tracking-md);
    text-transform: uppercase;
    height: 14px;
    line-height: 14px;
    padding: 1px 4px;
    border-radius: 100px !important;
    -webkit-border-radius: 100px !important;
    -moz-border-radius: 100px !important;
    background-image: var(--gradient-customize) !important;
    background-size: 150% 150% !important;
    animation: sc-gradient 5s ease infinite !important;
}


.st_mega_menu_container .ma_level_0 .cate_label {
    top: -2px;
}

/* Cart */
.amount_circle {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    font-size: 1em;
    border-radius: 50%;
    border: 1px solid var(--color-brand);
    background: var(--color-brand);
}

.ajax_cart_bag .amount_circle {
    border-width: 2px;
    border: 2px solid var(--color-brand);
}

span.cart_text,
span.ajax_cart_total,
span.ajax_cart_quantity {
    padding: 5px;
    font-weight: var(--fw-bold);
}

.stmenu_multi_level li a {
    border-bottom: 1px solid var(--color-grey);
}

@media (min-width: 992px) {
    .cate_label {top:6px !important}
}

.stmenu_multi_level li {
    width: 200px;
    font-size: 11px;
    font-weight: var(--fw-bold);
    text-transform: uppercase;
}

/* =========================================================
   BREADCRUMBS
========================================================= */
.breadcrumb_nav {
    text-transform: uppercase;
    letter-spacing: var(--tracking-md);
}

body#cms .breadcrumb_wrapper,
body#cms .breadcrumb_spacing {
    display: none !important;
}

/* =========================================================
   PRODUCT LIST
========================================================= */

/* Bandeau full-width 20vh */
.cat-banner,.cat-banner--empty{width:100%;height:20vh;min-height:120px;overflow:hidden}
.cat-banner picture,.cat-banner img{display:block;width:100%;height:100%}
.cat-banner img{object-fit:cover;object-position:center}
@media (max-width:767px){.cat-banner,.cat-banner--empty{height:22vh}}

/* Sous-catégories rechartées en barre noire */
.cat-brandbar{background:var(--color-black);padding:.9rem 1rem;margin:0 0 1rem}
.cat-brandbar h3{display:none}
.cat-brandbar ul{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem 1.6rem;margin:0;padding:0;list-style:none}
.cat-brandbar li{width:auto!important;flex:0 0 auto}
.cat-brandbar li .img,.cat-brandbar li img{display:none}
.cat-brandbar .s_title_block{margin:0}
.cat-brandbar .subcategory-name{color:var(--color-white);font-weight:600;font-size:.95rem;letter-spacing:.02em;text-decoration:none}
.cat-brandbar .subcategory-name:hover{opacity:.7}

div#category-description {max-width: 900px;margin: 2% auto;text-align: center;}

div#horizontal_filters {display: none;}

.product-prices .tax-shipping-delivery-label {
    font-size: 11px;
    color: var(--color-black);
    font-weight: var(--fw-semibold);
    letter-spacing: var(--tracking-md) !important;
    text-transform: uppercase;
}


.st_sticker_text {
    white-space: normal !important;
    text-transform: uppercase;
    font-weight: var(--fw-bold);
    letter-spacing: var(--tracking-sm);
}

.st_sticker_7 {
  font-weight: 600 !important;
  font-size: 10px !important;
  color: #ffffff !important;
  border: none !important;
  padding: 3px 7px !important;
  border-radius: 100px !important;
  -webkit-border-radius: 100px !important;
  -moz-border-radius: 100px !important;
  background-image: var(--gradient-customize) !important;
  background-size: 150% 150% !important;
  animation: sc-gradient 20s ease infinite !important;
}

@keyframes sc-gradient {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@media (max-width: 767px) {
    .st_sticker_7 {padding: 1px 3px !important;}
}

.product-last-items, .product-unavailable {
    color: var(--color-brand);
    text-transform: uppercase;
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: 2px;
}

div#category-additional-description {
    padding: 5%;
    background: var(--color-light);
    border-top: 1px solid var(--color-grey);
    margin-top: 3%;
}

div#category-additional-description p:last-child {
    margin-bottom: 0;
}

/* =========================================================
   PRODUCT PAGE
========================================================= */
#product .product_first_section {
    /*padding-top: 3%;*/
    padding-bottom: 3%;
}

.product_second_section {
    background-color: var(--color-light);
    padding: 5%;
    border-top: 1px solid var(--color-grey);
}

/*.product-prices .current-price .price {
    font-size: 2em;
    display: inline-block;
    font-weight: var(--fw-bold);
    transform: skewX(-10deg);
}*/

@media (min-width: 992px) {
    .product_middle_column {
        padding: 5%;
    }
    .pro_gallery_item {
        border: 1px solid var(--color-grey) !important;
    }
}

.btn-customize {
    font-weight: var(--fw-bold);
    font-size: 1em;
    color: #ffffff !important;
    border: none;
    border-radius: 100px !important;
    -webkit-border-radius: 100px !important;
    -moz-border-radius: 100px !important;
    padding: 15px 30px;
    background-image: var(--gradient-customize) !important;
    background-size: 150% 150% !important;
    animation: sc-gradient 20s ease infinite !important;
}

.product-pack {
    padding: 20px;
    background: var(--color-white);
}

.product-variants .control-label {
    font-size: 11px;
    font-weight: var(--fw-semibold);
    letter-spacing: var(--tracking-md);
    text-transform: uppercase;
}

.radio-label {
    font-size: 11px;
    text-transform: uppercase;
    background: var(--color-white);
    padding: 4px 9px;
    color: var(--color-black);
    font-weight: var(--fw-semibold);
}

.color,.radio-label {
    display: inline-block;
    border: 2px solid var(--color-grey);
}

.input-color:checked+span,.input-color:hover+span,.input-radio:checked+span,.input-radio:hover+span {
    border-color: var(--color-brand);
}

.product-available {
    font-size: 11px !important;
    font-weight: var(--fw-semibold);
    color: var(--color-black);
    text-transform: uppercase;
    letter-spacing: var(--tracking-md);
    margin-top: 20px;
}

.steasy_divider.between_detials_and_buttons {
    display: none;
}

/* Titres de la description produit : empilables, tout en gardant le style penché */
.product_second_section h2,
.product_second_section h3,
.product_second_section h4,
.product_second_section h5,
.product_second_section h6 {
    display: block;
}

.product_second_section ul, .product-description-short ul {list-style: none; padding-left: 10px;}
.product_second_section li, .product-description-short li {position: relative; padding-left: 15px;}
.product_second_section li:before, .product-description-short li::before {content: "–"; position: absolute; left: 0;}

/* =========================================================
   CHECKOUT
========================================================= */
#checkout .container,
#authentication .container {
    max-width: var(--container-max);
}

label.required::after {
    content: " *";
    color: var(--color-brand);
    font-weight: var(--fw-bold);
}

#checkout-payment-step a {
    font-weight: var(--fw-bold);
    text-decoration: underline;
}

/* =========================================================
   ACCOUNT / CUSTOMER PAGES
========================================================= */
#order-detail .single_column,
#addresses .single_column,
#address .single_column,
#history .single_column,
#identity .single_column,
#my-account .single_column {
    max-width: var(--container-max);
    margin: 3% auto;
    padding: 2%;
    background: var(--color-white);
}

#order-detail .container,
#addresses .container,
#address .container,
#history .container,
#identity .container,
#my-account .container,
body#prices-drop #body_wrapper {
    background: var(--color-light);
}

#cart .single_column {
    max-width: var(--container-max);
    margin: 40px auto;
}

.password-requirements-score, .filter-button {
    display: none;
}

/* =========================================================
   BLOG
========================================================= */
section#content.page-blog-article {
    margin: 50px auto;
    max-width: 900px;
}

/* =========================================================
   CMS
========================================================= */
.cms_content {
    padding: 5%;
}

/* =========================================================
   OTHERS
========================================================= */
.js-mailalert {
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 2px;
    font-weight: var(--fw-bold);
    color: var(--color-black);
}


input.form-control {height: 36px;}


/* =========================================================
   AFFILIATE
========================================================= */
#myaffiliateaccount {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 7% 0;
}

.nav-panel.nav-pills > li > a {
    padding: 10px;
}

/* =========================================================
   CREATIVE ELEMENTS
========================================================= */
/*.swiper-button-next .fto-right-open-3,
.swiper-button-prev .fto-left-open-3 {
    display: none;
}*/

.swiper-wrapper {
    padding-bottom: 30px;
}

/* =========================================================
   ADVANCED SEARCH
========================================================= */

.cat-facets{margin:0 0 1rem}

/* --- Bloc filtre AS5 : conteneur --- */
#PM_ASBlock_1 {border: none !important; margin-bottom: 20px; }
#PM_ASBlock_1 .card-block.card-block { padding: 0; }
.PM_ASResetSearch {display: none !important; }
.PM_ASBlockOutput.PM_ASMobileMode .PM_ASBlockTitle:after,
.PM_ASBlockOutput.PM_ASMobileMode .PM_ASearchTitle:after { display: none; }

/* Header "Filtrer" : gardé uniquement en accordéon mobile */
@media (min-width: 992px) {
  #PM_ASBlock_1 .card-header { display: none; }
}
@media (max-width: 991px) {
  #PM_ASBlock_1 .card-header {
    background-color: var(--color-black);
    border: none;
    border-radius: 0;
    /*margin: 0 1rem 1rem;*/
    padding: .75rem 1.25rem;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 2px;
  }
}
.PM_ASearchTitle { 
    font-size: 11px;
    letter-spacing: var(--tracking-md);
    color: var(--color-white); 
    padding: 5px 10px;
    border: 2px solid var(--color-white);
    border-radius: 999px;
}

/* --- Libellés de groupe (MARQUE, SIZE...) : masqués totalement --- */
.cat-facets .PM_ASCriterionsGroupTitle { display: none; }

/* --- Ligne des filtres : centrée, flex moderne, plus de grille Bootstrap --- */
.cat-facets .PM_ASCriterionsGroupList.row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.0rem;
  margin: 0;
  padding: 10px;
  background: var(--color-black);
}
.cat-facets .PM_ASCriterionsGroup {
  width: auto !important;
  max-width: 420px;
  flex: 0 0 auto;
  padding: 0 !important;
}

/* --- Select en pilule sobre --- */
.cat-facets .PM_ASCriterionGroupSelect {
  text-align: center;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: var(--color-white);
  border: none;
  border-radius: 999px;
  padding: 3px 10px;
  font-weight: 600;
  letter-spacing: 2px;
  color: var(--color-black);
  min-width: 220px;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.cat-facets .PM_ASCriterionGroupSelect:hover {background: var(--color-light); }
.cat-facets .PM_ASCriterionGroupSelect:focus {outline: none;}


/* =========================================================
   ADVANCED SEARCH
========================================================= */

div#payment-method-messaging-element.StripeElement {
    margin: 20px 0;
    padding: 10px;
    background: #fff;
    border: 1px solid var(--color-grey);
}