/* ======================== */
/*      Presstora Styles    */
/* ======================== */

/*  /!\ Ce fichier est chargé via <link> dans default_head_blocks.xml */

/* === Déclaration des variables CSS ========================================================================================= */

:root {
/* === Couleurs principales === */
  --color-blue:     #1222B4;  /* Bleu principal Presstora */
  --color-green:    #12B43E;  /* Vert principal Presstora */

/* === Teintes secondaires / pastels === */
  --color-blue-85:  #3543bf; 
  --color-blue-50:  #8890d9; 
  --color-blue-35:  #acb2e5;
  --color-blue-20:  #d0d3f0;
  --color-blue-10:  #e7e9F8;
  --color-blue-5:   #f3f4fb;

  --color-green-85: #36bf5b;
  --color-green-50: #88d99e;
  --color-green-35: #ace5bc;
  --color-green-20: #d0f0d8;
  --color-green-10: #e7f8ec;
  --color-green-5:  #f3fbf5;

/* === Teintes secondaires / profondes === */
  --color-blue-dark:  #000072;
  --color-green-dark: #005a00;

/* === Couleurs fonctionnelles UI === */
  --color-danger:   #ee375a;  /* Rouge alerte */
  --color-danger-10:   #fdebee; /* Rouge alerte 10% */
  --color-warning:  #f6a52d;  /* Orange notification */
  --color-warning-10:  #fef6ea;  /* Orange notification 10% */
  --color-success:  #12B43E;  /* Vert validation (même que principal) */
  --color-info:     #3543bf;  /* Bleu info (bleu 85) */
  --color-disabled: #ced2db;  /* Gris désactivé */
  --color-disabled-20: #f5f6f8;  /* Gris désactivé 20% */

/* === Presstora – Échelle typographique (base 1rem = 15px), ration 1,200 === */

  --fs-3xl: 2.986rem; /* h1 */
  --fs-2xl: 2.488rem; /* h2 */  
  --fs-xl:  2.074rem; /* h3 */
  --fs-lg:  1.728rem; /* h4 */
  --fs-md:  1.44rem; /* h5 */
  --fs-sm:  1.2rem; /* h6 */
  --fs-base: 1rem; /* p */
  --fs-xs:  0.833rem; /* small */
  --fs-2xs: 0.694rem; /* very small */
}

/* === Uniforma - Font-face declarations ========================================================================================= */

/* Uniforma 50 Regular */
@font-face {
  font-family: 'Uniforma';
  src: url('../fonts/uniforma/KUniforma-50Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Uniforma 70 Semibold */
@font-face {
  font-family: 'Uniforma';
  src: url('../fonts/uniforma/KUniforma-70Semibold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Uniforma 80 Bold */
@font-face {
  font-family: 'Uniforma';
  src: url('../fonts/uniforma/KUniforma-80Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Uniforma 90 Black */
@font-face {
  font-family: 'Uniforma';
  src: url('../fonts/uniforma/KUniforma-90Black.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* === Global text styles ========================================================================================= */

html {
  font-size: 93.75%; /* 15px / 16px = 0.9375 → 93.75% */
}

body {
    font-size: var(--fs-base) !important;
    font-family: 'Uniforma', sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
}

h1,h2,h3,h4,h5,h6 {
    font-family: 'Uniforma', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: normal !important;
    line-height: 1.1em !important;
    color:var(--color-blue) !important;
}

h1 {font-size: var(--fs-3xl) !important; }
h2 { font-size: var(--fs-2xl) !important; }
h3 { font-size: var(--fs-xl) !important; }
h4 { font-size: var(--fs-lg) !important; }
h5 { font-size: var(--fs-md) !important; }
h6 { font-size: var(--fs-sm) !important; }

p {
    font-size: var(--fs-base);
    font-family: 'Uniforma', sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
}

a {
    font-family: 'Uniforma', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: normal !important;
    color:var(--color-blue-dark) !important;
    transition:all ease 100ms !important;
    text-decoration:none !important;
}

a:hover {
    color:var(--color-blue-85) !important;
}

strong {
    font-family: 'Uniforma', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: normal !important;
}

html .action.primary, html .btn {
    font-size: var(--fs-base);
    font-family: 'Uniforma', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: normal !important;
}

/* === Header menu styling – Porto Theme Type 20 ========================================================================================= */
/* === Menu search bar === */
.block-search .action.search:before {
    color: var(--color-green) !important;
}

.search-area .block.block-search {
    border: 2px solid var(--color-green) !important;
}

.search-category {
    border-left: 1px solid var(--color-green) !important;
    border-right: 1px solid var(--color-green) !important;
    height: 40px !important;
    line-height: 40px !important;
}

input.search-input {
    padding: 0px 17px !important;
}

.header-row .header-center {
    padding: 20px 50px !important;
}

/* === Main menu === */
.nav-sections-item-content {
    border-top: 2px solid var(--color-blue-10);
    border-bottom: 2px solid var(--color-blue-10);
}

.page-header .navigation .level0 > .level-top {
    text-transform: none !important;
    font-size: var(--fs-base) !important;
    font-family:'Uniforma', sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
}

#store\.menu > nav > ul > li > a {
    text-transform: none !important;
    font-size: var(--fs-base) !important;
    font-family:'Uniforma', sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    color:var(--color-blue) !important;
    transition:all ease 100ms !important;
}

#store\.menu > nav > ul > li > a:hover {
    color:var(--color-blue-dark) !important;
}

/* Do not display arrows for secondary menus (on Desktop) */
@media (min-width: 992px) {
    body .level-top::after {
        display:none !important;
    }
}

/* === Header Icons === */
div.header-contact a,
div.minicart-wrapper.cart-design-1.minicart-offcanvas a {
    color:var(--color-blue) !important;
    transition:all ease 100ms !important;
}

div.header-contact a:hover,
div.minicart-wrapper.cart-design-1.minicart-offcanvas a:hover {
    color:var(--color-blue-dark) !important;
}


.minicart-wrapper .action.showcart .counter.qty {
    background:var(--color-danger) !important;
}

/* First Child Menu Item — All products */
#store\.menu > nav > ul > li:nth-child(1) > a {
    font-weight: 600 !important;
}

/* === Top menu === */
.header.panel > .header.links > li {
    text-transform: none !important;
    font-family:'Uniforma', sans-serif !important;
    font-size: var(--fs-xs) !important;
    letter-spacing: normal !important;
}

.header.panel > .header.links > li > a {
    padding:0px 7px !important;
    color:var(--color-blue) !important;
    font-weight:400 !important;
    transition:all ease 100ms !important;
}

.header.panel > .header.links > li > a:hover {
    color:var(--color-blue-dark) !important;
}

.block_presstora_social_icons {
    margin-left:15px;
}

/* Language selector */
.page-header .switcher .options .action.toggle, .page-footer .switcher .options .action.toggle {
    text-transform: none !important;
    font-family:'Uniforma', sans-serif !important;
    font-weight:400 !important;
    font-size: var(--fs-xs) !important;
    letter-spacing: normal !important;
}

#switcher-language-trigger > strong {
    text-transform: none !important;
    font-family:'Uniforma', sans-serif !important;
    font-weight:400 !important;
    font-size: var(--fs-xs) !important;
    letter-spacing: normal !important;
    transition:all ease 100ms !important;
}

#switcher-language-trigger > strong:hover {
    color:var(--color-blue-dark) !important;
}

/* Language dropdown */
.page-header .switcher .options ul.dropdown, .page-footer .switcher .options ul.dropdown {
    border-radius:5px !important;
    border:1px solid #1222b4 !important;
}

.page-header .switcher .options ul.dropdown a, .page-footer .switcher .options ul.dropdown a {
    text-transform: none !important;
    font-family:'Uniforma', sans-serif !important;
    font-weight:400 !important;
    font-size: var(--fs-xs) !important;
    letter-spacing: normal !important;
    color:var(--color-blue) !important;
}

.page-header .switcher .options ul.dropdown:after, .page-footer .switcher .options ul.dropdown:after {
    border-color:transparent transparent var(--color-blue) transparent !important;
}

/* === Breadcrumbs ========================================================================================= */
/* Home icon */
body > div.page-wrapper > div.breadcrumbs > ul > li.item.home > a {
    color:var(--color-blue) !important;
    font-weight:400 !important;
    transition:all ease 100ms !important;
}

body > div.page-wrapper > div.breadcrumbs > ul > li.item.home > a:hover {
    color:var(--color-blue-dark) !important;
}

/* === Magento Product Page ========================================================================================= */
div.product-info-main {
    padding-left:25px;
}

body .columns .column.main {
    padding-bottom:0px;
}

#maincontent {
    padding-left:10px !important;
    padding-right:10px !important;
}

.message.success {
    border-radius:150px !important;
    background:var(--color-green-10) !important;
    color:var(--color-green) !important;
}

div.message-notice.message.notice {
    border-radius:150px !important;
    background:var(--color-warning-10) !important;
    color:var(--color-warning) !important;
}

.message.success > *:first-child:before {
    color:var(--color-green) !important;
    top:25px !important;
    left:4px !important;
}

div.message-notice.message.notice > *:first-child:before {
    color:var(--color-warning) !important;
    top:25px !important;
    left:4px !important;
}

/* Product name (h1) */
h1.page-title {
    margin-bottom:10px !important;
}

/* Previous/next product */
.prev-next-products a {
    border:0px !important;
    background-color:var(--color-blue-5) !important;
    color:var(--color-blue) !important;
    line-height:28px !important;
    margin-top:7px !important;
}

/* Short description */
.product-info-main .product.overview {
    font-size: var(--fs-sm) !important;
    line-height:normal !important;
}

/* Product review summary */
div.product-info-main div.product-reviews-summary {
    display: inline-block !important;
    margin-bottom:0px !important;
    color: var(--color-blue-50) !important;
}

.product-info-main .product-reviews-summary.empty .reviews-actions:before {
    color: var(--color-blue-50) !important;
}

.product-info-main .product-reviews-summary:after {
    border-top: 2px solid var(--color-blue-10) !important;
}

.rating-result > span::before {
    color:var(--color-green) !important;
}

.product-info-main .product-reviews-summary .rating-summary .rating-result:before {
    color:var(--color-green-20) !important;
}

.product-info-main .product-reviews-summary .reviews-actions a:not(:last-child)::after {
    border-left:2px solid var(--color-blue-10) !important;
}

.product-info-main .product-reviews-summary .reviews-actions a:hover {
    color:var(--color-blue-85) !important;
}

/* Product SKU & Stock */
div.product-info-main div.product-info-stock-sku {
    display: inline-block !important;
}

.product-info-main .product-info-stock-sku {
    font-size: var(--fs-xs) !important;
    letter-spacing: normal !important;
}

.product-info-main .product-info-stock-sku > * {
    margin-bottom:0px !important;
}

div.stock.available > span.label {
    font-weight:400 !important;
    letter-spacing: normal !important;
    color:var(--color-blue-50) !important
}

div.stock.available > span:nth-child(2) {
    font-weight:600 !important;
    letter-spacing: normal !important;
    color:var(--color-blue-85) !important;
}

div.product.attribute.sku > strong {
    font-weight:400 !important;
    letter-spacing: normal !important;
    color:var(--color-blue-50) !important    
}

div.product.attribute.sku > div.value {
    font-weight:600 !important;
    letter-spacing: normal !important;
    color:var(--color-blue-85) !important;
}

/* Masquer les icones de partage sur réseaux sociaux */
.product-social-links {
  display: none !important;
}

/* Product images */
/* === Image principale avec coins arrondis === */
.fotorama__stage__frame.fotorama__active {
  border-radius: 20px;
  overflow: hidden;
}

.fotorama__stage__frame.fotorama__active img.fotorama__img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  opacity: 1 !important;
  object-fit: contain;
}

.fotorama__stage__frame {
  border-radius: 20px;
  overflow: hidden;
}

.fotorama__stage__frame img.fotorama__img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 0;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  opacity: 1 !important;
}

.fotorama__stage__frame {
  border-radius: 20px;
  overflow: hidden;
  transition: border-radius 0.3s ease;
}

/* === Supprimer complètement l’image zoom invisible (évite le bug d’affichage) === */
.zoomImg {
  display: none !important;
}

/* Icons sur l'image principal */
.fotorama__wrap .fotorama__arr .fotorama__arr__arr::before {
    color: var(--color-blue);
}

.fotorama__fullscreen-icon {
    color: var(--color-blue) !important;
}

/* === Miniatures (thumbnails) arrondies === */
.fotorama__nav__frame--thumb .fotorama__thumb {
  border-radius: 20px;
  overflow: hidden;
}

.fotorama__nav__frame--thumb .fotorama__thumb img {
  border-radius: 0;
  display: block;
  width: 100%;
  height: auto;
}

/* Selecteur de la miniature */
.fotorama__thumb-border {
    border-radius: 20px !important;
    border:none !important;
    background-image:linear-gradient(to bottom right, rgba(18, 34, 180, 0.35), rgba(18, 34, 180, 0.35)) !important;
}


/* === Description longue ========================================================================================= */
/* Modification de la description longue déplacée sous la galerie via ce fichier : app/design/frontend/Smartwave/porto_child/Magento_Catalog/layout/catalog_product_view.xml */
#maincontent > div.page-main-inner > div > div > div.product.media > div.product.attribute.description {
    margin-top:60px;
    z-index:9999 !important;
}

p.description-intro {
    font-weight:600 !important;
}

.product.attribute.description ul {
  list-style-type: disc;
  list-style-position: outside;
  padding-left: 1.5em;
  margin: 1em 0;
}

.product.attribute.description ul li {
  display: list-item !important;
  list-style-type: disc !important;
  align-items: flex-start; /* évite le centrage vertical s'il reste du flex */
  line-height: 1.3;         /* plus compact mais toujours lisible */
  padding: 0.25em 0;        /* vertical = 0.25em haut/bas */
  margin: 0;
}

/* === Producer CMS Block ========================================================================================= */
div.producer_CMS_block {
    padding:20px;
    border-radius:20px;
    background-color:var(--color-blue-5);
    z-index:9999;

}

div.producer_CMS_block h6 {
    margin-bottom:5px;
}

div.producer_CMS_block p {
    margin-bottom:0px !important;
}

/* === Reviews & Stuffs ========================================================================================= */
body .product-full-width-section {
    padding:0px !important;
}

body > div.page-wrapper > div.page-main.page-main-details > div {
    background-color: var(--color-blue-5);
    border-radius:20px;
    padding:40px !important;
}

body .page-main-details .product-section-title {
    border-bottom:2px solid var(--color-blue-20);
    padding-bottom:15px;
    margin-bottom:0px;
}

.review-item {
    border-bottom:2px solid var(--color-blue-20) !important;
}

.review-toolbar {
    border-top:none !important;
}

.review-title {
    font-family:'Uniforma', sans-serif !important;
    font-weight:600 !important;
    font-size: var(--fs-sm) !important;
    letter-spacing: normal !important;
    color:var(--color-blue) !important;
}

.review-ratings {
    padding-right:40px !important;
}

.review-details {

}

.review-details p {
    font-family:'Uniforma', sans-serif !important;
    font-weight:400 !important;
    font-size: var(--fs-xs) !important;
    letter-spacing: normal !important;
    color:var(--color-blue-50) !important;
}

time.review-details-value:before {
    content:"—";
}

.rating-summary .rating-result:before {
    color:var(--color-blue-20) !important;
}

.product-full-width-section .block.review-add {
    margin-top:0px !important;
}

.review-add .block-title {
    display:inline-block !important;
}

.block .block-title {
    font-family:'Uniforma', sans-serif !important;
    font-weight:600 !important;
    font-size: var(--fs-md) !important;
    letter-spacing: normal !important;
    color:var(--color-blue) !important;
}

#review-form > fieldset.fieldset.review-fieldset > legend {
    font-family:'Uniforma', sans-serif !important;
    font-weight:400 !important;
    font-size: var(--fs-base) !important;
    letter-spacing: normal !important;
    color:var(--color-blue-50) !important;
    text-transform:none !important;
}

.fieldset > .field.required > .label:after, .fieldset > .fields > .field.required > .label:after, .fieldset > .field._required > .label:after, .fieldset > .fields > .field._required > .label:after {
    color:var(--color-danger) !important;
}

.review-control-vote label:before,
.review-control-vote:before {
    font-size:var(--fs-sm) !important;
    line-height:20px !important;
    height:20px !important;
    letter-spacing: 5px !important;
    color:var(--color-green) !important;
}

#review-form > fieldset.fieldset.review-fieldset {
    margin-bottom:0px !important;
}

#review-form > fieldset.fieldset.review-fieldset > div div input {
    border-radius: 5px !important;
    border:1px solid var(--color-blue) !important;
    background-color:var(--color-blue-10) !important;
    color:var(--color-blue) !important;
    font-size:var(--fs-base) !important;
    padding:10px 20px !important;
}

#review-form > fieldset.fieldset.review-fieldset > div div textarea {
    border-radius: 5px !important;
    border:1px solid var(--color-blue) !important;
    background-color:#fff !important;
    color:var(--color-blue) !important;
    font-size:var(--fs-base) !important;
    padding:20px 20px !important;
}

#review-form > div > div > button {
    font-weight:600 !important;
    text-transform:none !important;
    background-color:var(--color-blue) !important;
    border:1px solid var(--color-blue) !important;
    border-radius:150px !important;
    padding:0px 2em;
    transition:all ease 100ms;
}

#review-form > div > div > button:hover {
    background-color:var(--color-blue-dark) !important;
}

/* === PrintQ – Product Page – Simple Configurator ========================================================================================= */
/* === Matrix === */
.printq_matrix_app {
    margin-top:15px;
}

.matrix_layoutMain {
    padding-right:4px !important;
    padding-left:4px !important;
}

.matrix_layoutMain .matrix_table {
    box-shadow: none !important;
    border: 2px solid #e7e9F8 !important;
    border-radius: 20px !important;
    font-family: 'Uniforma', sans-serif !important;
}

.matrix_layoutMain .matrix_table .matrix_tableHeader {
    font-family: 'Uniforma', sans-serif !important;
    font-weight:600 !important;
    text-transform:none !important;
    font-size: var(--fs-sm) !important;
    border-bottom:none !important;
    margin-bottom:0px !important;
}

div.matrix_optionsTable.matrix_table div.matrix_selectOptionName,
div.matrix_selectOption div.matrix_selectOptionName,
div.matrix_layoutMain div.matrix_customerNotesValue {
    font-family: 'Uniforma', sans-serif !important;
    font-weight:600 !important;
    font-size: var(--fs-base) !important;
    letter-spacing: normal !important;
}

.matrix_selectOption .select2-container--default .select2-selection--single .select2-selection__rendered {
    font-family: 'Uniforma', sans-serif !important;
    font-weight:400 !important;
    font-size: var(--fs-xs) !important;
    letter-spacing: normal !important;
}

.matrix_selectOption span.select2-selection.select2-selection--single {
    border-radius:7.5px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color:var(--color-blue) transparent transparent transparent !important;
    top:60% !important;
}

div.matrix_quantityContainer > table > tr > th {
    font-family: 'Uniforma', sans-serif !important;
    font-weight:600 !important;
    font-size: var(--fs-base) !important;
    letter-spacing: normal !important;
}

.matrix_layoutMain .matrix_quantityContainer tr.active td {
    color:var(--color-blue) !important;
}

.matrix_layoutMain .matrix_quantityContainer tr.active {
    background-color:var(--color-green-35) !important;
}

.matrix_layoutMain .matrix_quantityContainer tr {
    border-bottom:1px solid var(--color-green-35) !important;
}

div.matrix_quantityContainer > table > tr > td {
    font-size:var(--fs-base) !important;
}

div.matrix_quantityContainer > table > tr > td:nth-child(2) {
    font-weight:600 !important;
}

.matrix_layoutMain .matrix_inputQuantity {
    margin-top:15px !important;
}

.matrix_layoutMain .matrix_inputQuantity input {
    margin-left:0px !important;
    border-radius:7.5px !important;
    padding:8px 12px !important;
    color:var(--color-blue) !important;
    font-family: 'Uniforma', sans-serif !important;
    font-weight:400 !important;
    width:50% !important;
    font-size:var(--fs-xs) !important;
    background-color: var(--color-blue-5) !important;
    letter-spacing: normal !important;
}

.matrix_layoutMain .matrix_inputQuantity input::placeholder {
    color:var(--color-blue-50) !important;
    font-size:var(--fs-xs) !important;
    letter-spacing: normal !important;
}

div.matrix_inputQuantity > div > button {
    border-radius:7.5px !important;
    background-color:var(--color-blue-85) !important;
    border:1px solid var(--color-blue-85) !important;
    box-shadow: none !important;
    transition: all ease 100ms;
}

div.matrix_inputQuantity > div > button:hover {
    background-color:var(--color-green-85) !important;
    border:1px solid var(--color-green-85) !important;
    opacity:1 !important;
}

.matrix_layoutUploadPersonalizationConfigurationContainer .matrix_uploadTable.notUploaded .matrix_tableHeader {
    display:block !important;
}

.matrix_layoutUploadPersonalizationConfigurationContainer .matrix_uploadTable.notUploaded {
    padding:20px !important;
    margin-bottom:20px !important;
}

.matrix_layoutMain .matrix_upload .vue-dropzone.dropzone {
    margin-top:10px !important;
    margin-bottom:-20px !important;
    border-radius:7.5px !important;
    background-color:var(--color-green-35) !important;
    color:var(--color-blue) !important;
}

body .matrix_layoutMain .matrix_upload .vue-dropzone.dropzone {
  border: none !important;
}

.dz-default .dz-button::before {
  content: '';
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  margin-right: 0.35em;
  margin-top:-0.35em;
  background: url('/media/wysiwyg/Presstora/Presstora_Icons/Presstota_File_Upload.svg') no-repeat center center;
  background-size: contain;
  vertical-align: middle;
}

.matrix_layoutMain .matrix_upload .vue-dropzone.dropzone:hover {
    background-color:var(--color-green-85) !important;
}

.matrix_layoutMain .dropzone .dz-message .dz-button {
    font-family: 'Uniforma', sans-serif !important;
    font-weight:600 !important;
    font-size: var(--fs-sm) !important;
    letter-spacing: normal !important;
}

.matrix_layoutMain .matrix_uploadPreflightContainer .matrix_preflightInfo .matrix_preflightInfoLabel {
    color:var(--color-blue) !important;
    font-family: 'Uniforma', sans-serif !important;
    font-weight:600 !important;
    font-size: var(--fs-base) !important;
    letter-spacing: normal !important;
}

.matrix_layoutMain .matrix_uploadPreflightContainer .matrix_preflightInfo .matrix_preflightInfoName {
    color:var(--color-blue) !important;
    font-family: 'Uniforma', sans-serif !important;
    font-weight:400 !important;
    font-size: var(--fs-base) !important;
    letter-spacing: normal !important;
}

.matrix_layoutMain .matrix_uploadPreflightContainer .matrix_preflightInfo.matrix_preflightInfoInvalid .matrix_preflightInfoMessage {
    color:var(--color-danger) !important;
    font-family: 'Uniforma', sans-serif !important;
    font-weight:400 !important;
    font-size: var(--fs-xs) !important;
    letter-spacing: normal !important;
}

.matrix_layoutMain 
.matrix_uploadPreflightContainer 
.matrix_preflightInfo.matrix_preflightInfoInvalid 
.matrix_preflightInfoIcon {
  background-image: url('/media/wysiwyg/Presstora/Presstora_Icons/Presstora_Invalid_Icon.svg') !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
  width: 1em !important;       /* ajuste selon la taille du pictogramme */
  height: 1em !important;
  display: inline-block !important;
}

.matrix_layoutMain
.matrix_uploadPreflightContainer
.matrix_preflightInfo
.matrix_preflightInfoIcon {
  background-image: url('/media/wysiwyg/Presstora/Presstora_Icons/Presstora_Valid_Icon.svg') !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
  width: 1em !important;       /* ajuste selon la taille du pictogramme */
  height: 1em !important;
  display: inline-block !important;
}

body .matrix_layoutMain .btn {
    height:auto !important;
}


.matrix_uploadActionsContainer button {
    background-color:var(--color-blue-85) !important;
    border:1px solid var(--color-blue-85) !important;
    border-radius:7.5px !important;
    transition: all ease 100ms;
}

.matrix_uploadActionsContainer button:hover {
    background-color:var(--color-blue) !important;
    border:1px solid var(--color-blue) !important;
    opacity:1 !important;
}

/* === Bouton de base === */
.matrix_layoutMain .matrix_addToCartButton button {
  font-family: 'Uniforma', sans-serif !important;
  font-weight: 600 !important;
  font-size: var(--fs-sm) !important;
  letter-spacing: normal !important;
  color: #fff !important;
  background-color: var(--color-green-85) !important;
  border: 1px solid var(--color-green-85) !important;
  transition: all ease 100ms;
  box-shadow: none !important;
  border-radius: 150px !important;
  text-shadow: none !important;

  /* structure flex */
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0.75em 1.5em;
  position: relative;
}

/* === L’icône SVG à droite === */
.matrix_layoutMain .matrix_addToCartButton button::after {
  content: '';
  display: inline-block;
  width: 0;
  height: 1.25em;
  margin-left: 0;
  background: url('/media/wysiwyg/Presstora/Presstora_Icons/Presstora_Add-to-cart_Icon.svg') no-repeat center center;
  background-size: contain;

  opacity: 0;
  transform: translateX(-0.5em);
  transition: all 0.22s ease;
}

/* === Hover : texte glisse légèrement + icône apparaît === */
.matrix_layoutMain .matrix_addToCartButton button:hover::after {
  opacity: 1;
  transform: translateX(0);
  width: 1.25em;
  margin-left:0.4em;
}

/* === Ajustement pour que texte + icône restent centrés visuellement === */
.matrix_layoutMain .matrix_addToCartButton button:hover {
  padding-right: 2.5em; /* réserve visuellement l'espace */
  background-color:var(--color-green) !important;
  border:1px solid var(--color-green) !important;
  opacity:1 !important;
}

body .matrix_quotationButton button {
  font-family: 'Uniforma', sans-serif !important;
  font-weight: 600 !important;
  font-size: var(--fs-base) !important;
  letter-spacing: normal !important;
  background-color:var(--color-blue-10) !important;
  color:var(--color-blue) !important;
  text-shadow: none !important;
  border:none;
  border-radius:150px !important;
  transition: all ease 100ms;
}

body .matrix_quotationButton button:hover {
    background-color:var(--color-blue-35) !important;
    opacity:1 !important;
}

body .matrix_loading_circle {
    border-right: .7em solid var(--color-blue) !important;
    border-bottom: .7em solid var(--color-blue) !important;
    border-left: .7em solid var(--color-blue) !important;
}

/* Customer Notes Field */
div.matrix_customerNotesTable.matrix_table input {
    border-radius:7.5px !important;
    background-color:var(--color-blue-5) !important;
    border:1px solid var(--color-blue) !important;
    color:var(--color-blue) !important;
    font-family: 'Uniforma', sans-serif !important;
    font-weight:400 !important;
    font-size:var(--fs-xs) !important;
    letter-spacing: normal !important;
}

div.matrix_customerNotesTable.matrix_table input::placeholder {
    color:var(--color-blue-50) !important;
    font-size:var(--fs-xs) !important;
    letter-spacing: normal !important;

}

/* === Category Page ========================================================================================= */
/* === Category Description === */
body > div.page-wrapper > div.category-description.no-margin {
    padding-left:10px !important;
    padding-right:10px !important;
    margin:0 auto !important;
    margin-top:40px !important;
}

@media (min-width: 1200px) {
    body > div.page-wrapper > div.category-description.no-margin {
        max-width:1236px !important;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    body > div.page-wrapper > div.category-description.no-margin {
        max-width: 960px !important;
    }
}


/* Colonne de gauche (avec image) */
.pagebuilder-column.presstora_category_columns_image {
    border-radius:20px !important;
    width:48% !important;
}

/* Colonne de froite (avec description) */
.pagebuilder-column.presstora_category_columns_description {
    padding-left:4% !important;
    width:52% !important;
}

.category_intro {
    font-weight:600 !important;
}

/* Spaces arround "Breadcrumbs" */

body.catalog-category-view > div.page-wrapper > div.breadcrumbs > ul {
    margin-top:15px !important;
}

body.catalog-category-view div.page-main {
    padding-bottom:15px !important;
}

/* === Category Filters === */

.catalog-category-view .sidebar.sidebar-main .sidebar-content,
.catalogsearch-result-index .sidebar.sidebar-main .sidebar-content {
    border-radius:20px !important;
    border:2px solid var(--color-blue-10) !important;
}

.filter-options-item,
.filter-actions {
    border-bottom:2px solid var(--color-blue-10) !important;
}

.filter-options-item:last-child {
    border-bottom:0px !important;
}

.filter-options-title {
  font-family: 'Uniforma', sans-serif !important;
  font-weight: 600 !important;
  font-size: var(--fs-base) !important;
  color:var(--color-blue) !important;
  letter-spacing: normal !important;
  text-transform:none !important;
}

.block-title {
    font-family: 'Uniforma', sans-serif !important;
  font-weight: 600 !important;
  font-size: var(--fs-sm) !important;
  color:var(--color-blue) !important;
  letter-spacing: normal !important;
  text-transform:none !important;
}

#ln_slider_price.ui-slider-horizontal {
    box-shadow:none !important;
    background:var(--color-blue-20) !important;
}

#ln_slider_price .ui-slider-handle {
    background-color:var(--color-green) !important;
    transform: translateY(3px) !important;
}

#narrow-by-list > div:nth-child(1) > div.filter-options-content {
    padding:0 0 !important;
}

.filter-options-content {
  font-family: 'Uniforma', sans-serif !important;
  font-weight: 400 !important;
  font-size: var(--fs-xs) !important;
  color:var(--color-blue) !important;
  letter-spacing: normal !important;
  text-transform:none !important;
}

.filter-options-content a {
    font-family: 'Uniforma', sans-serif !important;
  font-weight: 400 !important;
  font-size: var(--fs-xs) !important;
  color:var(--color-blue) !important;
  letter-spacing: normal !important;
  text-transform:none !important;
  transition:all ease 100ms;
  padding:1px 0!important;
}

.filter-options-content a:hover {
    color:var(--color-blue-dark) !important;
}

div.filter-options-content a span.count {
    color:var(--color-blue-50) !important;
}

body.catalog-category-view input[type="checkbox"] {
    top:-0.25px !important;
}

#layered-filter-block > div.block-content.filter-content.mageplaza-layer-disabled > div.block-actions.filter-actions > a {
  font-family: 'Uniforma', sans-serif !important;
  font-weight: 400 !important;
  font-size: var(--fs-base) !important;
  color:var(--color-blue) !important;
  letter-spacing: normal !important;
  text-transform:none !important;
  transition:all ease 100ms;
  padding-top:10px;
}

#layered-filter-block > div.block-content.filter-content.mageplaza-layer-disabled > div.block-actions.filter-actions > a:hover {
   color:var(--color-blue-dark) !important; 
}

.filter .filter-current-subtitle {
  font-family: 'Uniforma', sans-serif !important;
  font-weight: 400 !important;
  font-size: var(--fs-base) !important;
  color:var(--color-green) !important;
  letter-spacing: normal !important;
}

.filter-current .items {
    font-family: 'Uniforma', sans-serif !important;
  font-weight: 400 !important;
  font-size: var(--fs-xs) !important;
  letter-spacing: normal !important;
}

#layered-filter-block > div.block-content.filter-content.mageplaza-layer-disabled > div.filter-current > ol > li {
    padding:1px 0px !important;
}

.filter-label {
    text-transform: none !important;
    color:var(--color-blue-50) !important;
}

.filter-value {
    color:var(--color-blue) !important;
    font-weight: 600 !important;
}

.filter-current .action.remove:before {
    color:var(--color-blue-50) !important;
    transition:all ease 100ms;
}

.filter-current .action.remove:hover::before {
    color:var(--color-blue-85) !important;
}

.filter-options-title .toggle::before,
.filter-options-title .toggle::after {
    background:var(--color-blue) !important;
}

/* Toolbar selectors */

.toolbar select {
    font-size:var(--fs-xs) !important;
    color:var(--color-green) !important;
    background-color:var(--color-green-10) !important;
    border-radius:5px !important;
    border:none !important;
}

.sorter-action:before {
    color:var(--color-blue) !important;
}

.sorter-label,
.limiter .label span {
    font-size:var(--fs-xs) !important;
    color:var(--color-blue) !important;
}

.modes-mode.active, .modes-mode:hover {
    color:var(--color-blue) !important;
}

.products.wrapper ~ .toolbar {
    margin-top:25px !important;
    border-top:1px solid var(--color-blue-10) !important;
}


/* Product cards */

/*#layer-product-list > div.products.wrapper.grid.columns3.products-grid.no-padding.divider-line > ol > li > div {
    background-color:var(--color-blue-5) !important;
}*/

.products-grid.divider-line .product-item-info {
    background-color:var(--color-blue-5) !important;
    border-radius:20px 20px 20px 20px !important;
    border-top:0px !important;
    border-bottom:0px !important;
    transition:all 0.3s !important;
}

.products-grid.divider-line .product-item {
    margin-left:12.5px !important;
    margin-right:12.5px !important;
    border-left:1px solid #fff !important;
}

.products-grid.divider-line .product-item-info:hover {
    box-shadow:none !important;
    background-color:var(--color-blue-10) !important;
    border-bottom:0px !important;
}

.product-item-details {
    border-top:none !important;
    border-radius:0px 0px 20px 20px !important;
}

.grid .product-image-photo {
    border-radius:20px 20px 0px 0px !important;
}

.product-item-link {
  font-family: 'Uniforma', sans-serif !important;
  font-weight: 600 !important;
  font-size: var(--fs-sm) !important;
  color:var(--color-blue) !important;
  letter-spacing: normal !important;
}

.product-item-info.type6 .product.name {
    padding-right:30px !important;
}

.product-item-name a {
white-space: normal !important;
  overflow: visible !important;
  text-overflow: initial !important;
}

.price-box .price {
  font-family: 'Uniforma', sans-serif !important;
  font-weight: 400 !important;
  font-size: var(--fs-sm) !important;
  color:var(--color-blue-85) !important;
  letter-spacing: normal !important;
}

.product-item-info .product-item-details .price-box {
    margin-top:20px !important;
}

/*.price-box .price:before {
    content:'from';
    font-weight: 400 !important;
  font-size: var(--fs-xs) !important;
  color:var(--color-blue-50) !important;
  letter-spacing: normal !important;
  padding-right:5px !important;

}*/

/* Boutons d'actions sur la carte */
.product-item-info.type6 .product-item-actions .actions-primary .tocart::before,
.product-item-info.type6 .product-item-actions .tocompare::before {
    font-weight:400 !important;
    color:var(--color-blue) !important;
}

.product-item-info.type6 .product-item-actions .actions-primary .tocart,
.product-item-info.type6 .product-item-actions .tocompare {
    border:1px solid #fff !important;
}

.product-item-info.type6 .product-item-actions .actions-primary .tocart:hover,
.product-item-info.type6 .product-item-actions .tocompare:hover {
    background-color:var(--color-blue-10) !important;
    border:1px solid var(--color-blue-10) !important;
}

div.products.wrapper.list.products-list > ol > li > div > div.product.details.product-item-details > div.product-item-inner > div > a.action.towishlist.actions-secondary::before,
div.products.wrapper.list.products-list > ol > li > div > div.product.details.product-item-details > div.product-item-inner > div > a.action.tocompare.actions-secondary::before {
    color:var(--color-blue) !important;
}

/* List view */

.products-list .product-item-details .product-item-name a {
    font-size:var(--fs-md) !important;
}

div.products.wrapper.list.products-list .product-image-photo {
    border-radius:20px !important;
}

div.products.wrapper.list.products-list .product-item-description {
    font-size:var(--fs-base) !important;
    line-height:1.6em !important;
}

div.products.wrapper.list.products-list .action.tocart.primary {
    border-radius:150px !important;
    background-color:var(--color-green-85) !important;
    color:#fff !important;
    border:1px solid var(--color-green-85) !important;
    font-size:var(--fs-xs) !important;
    font-weight:600 !important;
    transition: all ease 100ms;
}


div.products.wrapper.list.products-list .action.tocart.primary:hover {
    background-color:var(--color-green) !important;
    padding:0 .900rem !important;
}

div.products.wrapper.list.products-list .product-item .tocart span {
    text-transform: none !important;
}

div.products.wrapper.list.products-list .product-item .tocart:before {
    font-weight:400 !important;
}

div.products.wrapper.list.products-list .product-item-actions .action.towishlist,
div.products.wrapper.list.products-list .product-item-actions .action.tocompare {
    background-color:var(--color-blue-5) !important;
    border:1px solid var(--color-blue-5) !important;
}


div.products.wrapper.list.products-list .product-item-actions .action.towishlist:hover,
div.products.wrapper.list.products-list .product-item-actions .action.tocompare:hover {
    background-color:var(--color-blue-20) !important;
    border:1px solid var(--color-blue-20) !important;
}

.product-item-info .product-item-details .product-item-actions {
    margin-bottom:0px !important;
}

div.products.wrapper.list.products-list .product-item-info .product-item-details .product-item-actions .actions-secondary {
    border-radius:150px !important;
}

/* === Footer ========================================================================================= */ 
body > div.page-wrapper > footer {
    margin-top:65px;
}