/** Shopify CDN: Minification failed

Line 3002:18 Expected identifier but found "!"
Line 3282:1 Expected "}" to go with "{"

**/
/* =========================================================
   OPCBLEU CUSTOM CSS
   Version: 1.0
   Theme: Warehouse Shopify
   Brand Color: #003399

   MODULES:
   01 - Sitemap
   02 - Header / Drawer layering
   03 - Sticky Add To Cart
   04 - AirReviews fixes
   05 - Breadcrumb mobile
   06 - Premium buttons
   07 - Image protection
   08 - Mobile language selector
   09 - Collection styling

========================================================= */



/* =========================================================
   01 - HTML SITEMAP
========================================================= */


.opcbleu-sitemap h1{

text-align:center;
font-size:clamp(34px,5vw,52px);
font-weight:800;
color:#003399;
margin-bottom:12px;

}

.sitemap-description{

text-align:center;
color:#666;
font-size:16px;
line-height:1.7;
max-width:700px;
margin:0 auto 45px;

}


.sitemap-grid{

display:grid;
grid-template-columns:
repeat(auto-fit,minmax(340px,1fr));
gap:28px;

}


.sitemap-section{

background:#fff;
border:1px solid #e6e8ed;
border-radius:18px;
overflow:hidden;

box-shadow:
0 8px 24px rgba(0,0,0,.05);

transition:.3s;

}


.sitemap-section:hover{

transform:translateY(-6px);

border-color:#003399;

box-shadow:
0 18px 40px rgba(0,51,153,.12);

}


.sitemap-section h2{

margin:0;
padding:18px 22px;

color:#fff;

font-size:22px;
font-weight:700;

background:
linear-gradient(
135deg,
#003399,
#0059d6
);

}


.sitemap-section ul{

list-style:none;
margin:0;
padding:0;

max-height:650px;
overflow:auto;

}


.sitemap-section li{

border-bottom:1px solid #edf0f4;

}


.sitemap-section li:last-child{

border-bottom:none;

}


.sitemap-section a{

display:flex;
align-items:center;
gap:12px;

padding:14px 20px;

color:#222;
text-decoration:none;
font-weight:500;

transition:.25s;

}


.sitemap-section a::before{

content:"➜";
color:#003399;
font-weight:700;

transition:.25s;

}


.sitemap-section a:hover{

background:#f6f9ff;
color:#003399;

padding-left:28px;

}


.sitemap-section a:hover::before{

transform:translateX(4px);

}


/* Scrollbar sitemap */

.sitemap-section ul::-webkit-scrollbar{

width:8px;

}

.sitemap-section ul::-webkit-scrollbar-thumb{

background:#003399;
border-radius:999px;

}





/* =========================================================
   02 - HEADER / DRAWERS PRIORITY
========================================================= */


.shopify-section-group-header-group:has(
#mobile-menu[aria-hidden="false"]
),
.shopify-section-group-header-group:has(
#mini-cart[aria-hidden="false"]
){

z-index:99999!important;

}



iframe[src*="gstatic.com"]{

position:relative!important;
z-index:1!important;

}





/* =========================================================
   03 - STICKY ADD TO CART
========================================================= */


#opc-sticky-atc{

transition:
transform .3s ease,
opacity .3s ease,
visibility .3s ease;

}



#opc-sticky-atc.opc-sticky-hidden{

transform:translateY(120%)!important;

opacity:0!important;

visibility:hidden!important;

pointer-events:none!important;

}



/* AirReviews ouvert */

body:has(
.AirReviews-Modal__Wrapper--Open-Modal
)
#opc-sticky-atc{

transform:translateY(100%)!important;

opacity:0!important;

visibility:hidden!important;

pointer-events:none!important;

}





/* =========================================================
   04 - AIRREVIEWS
========================================================= */


.AirReviews-Testimonial__NextButton,
.AirReviews-Testimonial__PrevButton{

position:relative;
z-index:2!important;

}





/* =========================================================
   05 - MOBILE BREADCRUMB
========================================================= */


@media(max-width:768px){


.page__sub-header{

display:block!important;

margin:
15px 0!important;

padding:
0 15px!important;

}



.breadcrumb{

display:block!important;

overflow-x:auto;

white-space:nowrap;

scrollbar-width:none;

}



.breadcrumb::-webkit-scrollbar{

display:none;

}



.breadcrumb__list{

display:flex!important;

align-items:center;

gap:6px;

padding:0!important;
margin:0!important;

}



.breadcrumb__item{

display:flex!important;

align-items:center;

font-size:13px;

}



.breadcrumb__link{

font-size:13px!important;

}



.breadcrumb svg{

width:12px!important;
height:12px!important;
opacity:.5;

}



}






/* =========================================================
   06 - PREMIUM BUTTONS
========================================================= */


.button,
button.button,
input[type="submit"],
input[type="button"],
.shopify-payment-button__button,
.shopify-payment-button__more-options{


border-radius:16px!important;

transition:.25s ease;

}



.button:hover,
button.button:hover,
input[type="submit"]:hover{


transform:translateY(-2px);

}



/* Exclusion header */

.header-search,
.search-bar,
.search-modal button,
.header__search-toggle{


border-radius:initial!important;

transform:none!important;

}



/* Produit */

.product-form__add-button,
.product-form button,
.cart-recap__checkout,
.cart-drawer__checkout-button{


border-radius:16px!important;

}



/* Quick buy */

.product-item__quick-buy-button,
.product-item button{


border-radius:14px!important;

}



/* Shop Pay */

gravity-button.accelerated-checkout-button,
shopify-accelerated-checkout,
.shopify-payment-button{


border-radius:16px!important;

overflow:hidden!important;

}






/* =========================================================
   07 - IMAGE PROTECTION
========================================================= */


img{

-webkit-user-drag:none;

user-select:none;

}






/* =========================================================
   08 - MOBILE LANGUAGE SELECTOR
========================================================= */


.mobile-language-form__wrapper{

position:relative;
width:100%;

}



.mobile-language-form__select{

width:100%;

height:48px;

padding:
0 45px 0 15px;

border-radius:8px;

border:
1px solid rgba(15,23,42,.15);

background:#fff;

color:#0F172A;

font-size:15px;

font-weight:600;

appearance:none;

cursor:pointer;

}



.mobile-language-form__wrapper svg{

position:absolute;

right:15px;

top:50%;

transform:translateY(-50%);

width:12px;
height:12px;

pointer-events:none;

}






/* =========================================================
   09 - COLLECTION DESIGN
========================================================= */


.layout__section--secondary > .card,
.collection{


border-radius:18px;

overflow:hidden;

}



.collection-drawer{

border-radius:
20px 20px 0 0;

overflow:hidden;

}



.collection__filter-group-name{

border-radius:12px;

}



.collection__active-filter-item{

border-radius:20px;

}



/* Product cards hover */

.product-item{

transition:
transform .25s ease;

}



.product-item:hover{

transform:translateY(-5px);

}






/* =========================================================
   MOBILE OPTIMIZATION
========================================================= */


@media(max-width:768px){


.sitemap-grid{

grid-template-columns:1fr;

gap:20px;

}


.sitemap-section h2{

font-size:20px;

}


.sitemap-section ul{

max-height:none;

}


}
/* =========================================================
   OPCBLEU PREMIUM FAQ
   Warehouse Theme Compatible
========================================================= */


/* =========================================================
   MAIN FAQ
========================================================= */

.faq {

  margin:70px 0 110px;

}



/* =========================================================
   TITLES
========================================================= */

.faq__title,
.faq__group-title {

  text-align:center;

  position:relative;

  padding-bottom:18px;

  margin-bottom:35px;

}


.faq__title::after,
.faq__group-title::after {

  content:"";

  display:block;


  width:70px;

  height:4px;


  background:

  linear-gradient(
    90deg,
    transparent,
    #003399,
    transparent
  );


  border-radius:30px;


  position:absolute;


  bottom:0;


  left:50%;


  transform:translateX(-50%);

}



/* =========================================================
   GROUP
========================================================= */

.faq__group {

  margin-bottom:45px;

}



/* =========================================================
   FAQ CARD
========================================================= */

.faq__item {

  background:
    linear-gradient(
      135deg,
      #ffffff,
      color-mix(in srgb,#003399 7%,white)
    );

  border:1px solid var(--border-color);

  border-radius:14px;

  padding:24px 30px;

  margin-bottom:15px;

  box-shadow:
    0 8px 25px rgba(0,0,0,.06);

  transition:.25s ease;

}


.faq__item:hover {

  border-color:#003399;

  box-shadow:
    0 12px 35px rgba(0,51,153,.12);

}



/* =========================================================
   QUESTION
========================================================= */

.faq__question {

  width:100%;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:20px;

  text-align:left;

  cursor:pointer;

  font-weight:600;

}



/* =========================================================
   PLUS / MINUS BUTTON
========================================================= */

.faq__question .plus-button {

  position:relative;

  margin-left:auto;

  flex-shrink:0;

  width:34px;

  height:34px;

  border-radius:50%;

  display:flex;

  align-items:center;

  justify-content:center;

  background:#fff;

  border:1px solid #003399;

  color:#003399;

}



/* Création du + */

.faq__question .plus-button::before,
.faq__question .plus-button::after {

  content:"";

  position:absolute;

  background:#003399;

  border-radius:10px;

}


.faq__question .plus-button::before {

  width:12px;

  height:2px;

}


.faq__question .plus-button::after {

  width:2px;

  height:12px;

}



/* Ouvert = moins */

.faq__item[aria-expanded="true"] .plus-button {

  background:#003399;

}


.faq__item[aria-expanded="true"] .plus-button::before {

  background:#fff;

}


.faq__item[aria-expanded="true"] .plus-button::after {

  display:none;

}



/* =========================================================
   ANSWER
========================================================= */

.faq__answer-wrapper {

  height:0;

  overflow:hidden;

  transition:height .35s ease;

}


.faq__answer {

  margin:18px 45px 5px 0;

  text-align:left;

  line-height:1.7;

  opacity:.85;

}



/* =========================================================
   CONTACT BOX
========================================================= */

.faq__contact-info {

  min-height:160px;

  padding:30px;

  border-radius:16px;

  text-align:center;

  border:1px solid var(--border-color);

  background:
    linear-gradient(
      135deg,
      color-mix(in srgb,#003399 10%,white),
      white
    );

  display:flex;

  flex-direction:column;

  justify-content:center;

  align-items:center;

}


.faq__contact-info p,
.faq__contact-info h2,
.faq__contact-info h3 {

  margin-top:0;

}


.faq__contact-info > *:last-child {

  margin-bottom:0;

}



/* =========================================================
   DESKTOP
========================================================= */

@media screen and (min-width:641px) {


  .faq {

    margin:90px 0 130px;

  }


  .faq__item {

    padding:26px 35px;

  }

}



/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width:640px) {


  .faq {

    margin:45px 0 80px;

    padding-left:16px;

    padding-right:16px;

  }


  .faq__title,
  .faq__group-title {

    margin-bottom:30px;

  }


  .faq__item {

    padding:18px 16px;

    border-radius:14px;

  }


  .faq__question {

    gap:12px;

  }


  .faq__answer {

    margin-right:0;

  }


  .faq__question .plus-button {

    width:30px;

    height:30px;

  }


}
/* =========================================================
   OPCBLEU PREMIUM TEXT WITH ICONS
   Warehouse Theme Compatible
========================================================= */


.text-with-icons__item {

  width:100%;

  line-height:1.6;

}


.text-with-icons__title {

  margin-bottom:8px;

  font-weight:600;

}


.text-with-icons__icon-wrapper {

  margin-bottom:15px;

  display:flex;

  justify-content:center;

  align-items:center;

}


.text-with-icons__icon-wrapper svg {

  width:32px;

  height:32px;

  vertical-align:middle;

}


.text-with-icons__icon-wrapper img {

  max-width:32px;

}


.text-with-icons__content > p {

  margin-bottom:0;

}



/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width:640px){


  .text-with-icons {

    text-align:center;

    padding-bottom:28px;

  }


  .text-with-icons:after {

    content:"flickity";

    display:none;

  }


  .text-with-icons--stacked {

    padding-bottom:0;

  }


  .text-with-icons--stacked .text-with-icons__item:not(:last-child){

    margin-bottom:34px;

  }


  .text-with-icons--stacked:after {

    content:"";

  }


}



/* =========================================================
   DESKTOP
========================================================= */

@media screen and (min-width:641px){


  .text-with-icons {

    flex-wrap:wrap;

    margin:0 -40px -45px;

    display:flex;

  }


  .page__header + .text-with-icons {

    margin-top:-5px;

  }


  .text-with-icons__item {

    flex-basis:calc(50% - 90px);

    margin:0 40px 45px;

    display:flex;

    align-items:flex-start;

  }


  .text-with-icons__icon-wrapper {

    margin:.5em 18px 0 0;

    flex-shrink:0;

  }


}



/* =========================================================
   LARGE DESKTOP
========================================================= */

@media screen and (min-width:1000px){


  .text-with-icons {

    justify-content:center;

    padding:0 100px;

  }


  .text-with-icons__item {

    flex-basis:calc(50% - 140px);

  }


}



/* =========================================================
   EXTRA LARGE
========================================================= */

@media screen and (min-width:1280px){


  .text-with-icons {

    flex-wrap:nowrap;

    justify-content:space-around;

    margin:0 -35px;

    padding:0;

  }


  .text-with-icons__item {

    flex-basis:calc(25% - 70px);

    margin:0 35px;

  }


}



/* =========================================================
   BOXED VERSION
========================================================= */

.text-with-icons--boxed {

  text-align:center;

  border:1px solid var(--border-color);

  border-radius:14px;

  padding-bottom:0;

  display:block;

  overflow:hidden;

  background:#fff;

}



.text-with-icons--boxed .text-with-icons__item {

  text-align:center;

  padding:32px 25px;

  display:flex;

  flex-direction:column;

  align-items:center;

  justify-content:center;

}


.text-with-icons--boxed .text-with-icons__icon-wrapper {

  margin:0 0 18px;

}


/* séparation */

.text-with-icons--boxed .text-with-icons__item:not(:first-child){

  border-top:1px solid var(--border-color);

}



/* =========================================================
   BOXED DESKTOP
========================================================= */

@media screen and (min-width:641px){


  .text-with-icons--boxed {

    display:flex;

    flex-wrap:nowrap;

    margin:0;

    padding:0;

  }


  .text-with-icons--boxed .text-with-icons__item {

    flex:1 0 0;

    margin:0;

  }


  .text-with-icons--boxed .text-with-icons__item:not(:first-child){

    border-top:none;

    border-left:1px solid var(--border-color);

  }


}
/* =========================================================
   OPCBLEU PREMIUM MINI CART - OPTIMIZED
   Warehouse Theme Compatible
========================================================= */

.mini-cart { background: var(--secondary-background); color: var(--text-color); z-index: 9999; visibility: hidden; opacity: 0; will-change: transform; width: 100vw; height: 100vh; max-height: 0; transition: opacity .25s ease-in-out, transform .25s ease-in-out, visibility .25s ease-in-out, max-height 0s linear .25s; position: absolute; top: 100%; left: 0; transform: scale(.9); }
.mini-cart[aria-hidden="false"] { visibility: visible; opacity: 1; transition: opacity .4s cubic-bezier(0,1,.4,1), transform .4s cubic-bezier(.18,1.25,.4,1), visibility .4s linear; transform: scale(1); }

/* Triangle & Alert */
.mini-cart .icon--nav-triangle-borderless { z-index: 2; filter: drop-shadow(0 -2px 2px #0000001f); width: 18px; height: 8px; position: absolute; bottom: 100%; right: 6px; }
.mini-cart__alert-wrapper { padding-top: 20px; }
.mini-cart .alert { font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 14px)); flex-shrink: 0; margin-bottom: 0; border-radius: 12px; background: linear-gradient(135deg, #d32f2f, #b71c1c); color: #fff !important; padding: 14px 16px; font-weight: var(--text-font-bolder-weight); box-shadow: 0 8px 20px rgba(211,47,47,.18); }

/* Content & Empty State */
.mini-cart__content:not(.mini-cart__content--empty) > * { padding-left: 20px; padding-right: 20px; }
.mini-cart__content--empty { padding: 20px 25px 25px; }
.mini-cart__empty-state { text-align: center; padding: 70px 0 60px; }
.mini-cart__empty-state svg { margin-bottom: 10px; }

/* Products */
.mini-cart__line-item-list { -webkit-overflow-scrolling: touch; overscroll-behavior: none; overflow: auto; }
.mini-cart__line-item { align-items: flex-start; padding: 20px 0; display: flex; }
.mini-cart__line-item + .mini-cart__line-item { border-top: 1px solid var(--border-color); }
.mini-cart__image-wrapper { width: 80px; min-width: 80px; margin-right: 20px; }
.mini-cart__product-info { margin-bottom: 12px; }
.mini-cart__product-vendor, .mini-cart__property-list, .mini-cart__plan-allocation { line-height: 1.55; font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 12px)); margin-bottom: 7px; display: block; }
.mini-cart__product-vendor { text-transform: uppercase; }
.mini-cart__product-title {
  font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 14px));
  margin-bottom: 4px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 100%;
}
/* Pricing & Promotions */
.mini-cart__price-list > .price, .mini-cart__discount { font-weight: var(--text-font-bolder-weight); font-size: calc(var(--base-text-font-size) - (var(--default-text-font-size) - 13px)); }
.mini-cart__discount { background: rgba(var(--product-on-sale-accent-rgb),.08); color: var(--product-on-sale-accent); border-radius: 6px; padding: 3px 10px; display: inline-block; }

/* Recap */
.mini-cart__recap { border-top: 1px solid var(--border-color); padding: 15px 20px 20px; }
.mini-cart__recap-price-line { color: var(--heading-color); font-weight: var(--text-font-bolder-weight); justify-content: space-between; align-items: center; display: flex; }
.mini-cart__button-container { margin-top: 16px; }

/* =========================================================
   MEDIA QUERIES
========================================================= */

@media screen and (max-width: 640px) {
  .mini-cart { z-index: 9999; }
  .mini-cart .icon--nav-triangle-borderless { right: 24px; }
  .mini-cart__content, .mini-cart__inner, .mini-cart__content--empty { display: flex; flex-direction: column; }
  .mini-cart__inner, .mini-cart__content--empty { justify-content: space-between; height: 100%; }
  
  @supports (padding: max(0px)) {
    .mini-cart__recap, .mini-cart__content--empty { padding-bottom: max(25px, env(safe-area-inset-bottom, 0px) + 25px); }
  }
}

@media screen and (min-width: 641px) {
  .mini-cart { border-radius: 16px; width: 470px; height: auto; max-height: none; top: calc(100% + 14px); left: auto; right: 0; box-shadow: 0 15px 40px rgba(0,0,0,.12); }
  .mini-cart__content > * { padding-left: 25px; padding-right: 25px; }
  .mini-cart__line-item-list { max-height: 300px; }
  .mini-cart__item-wrapper { flex-grow: 1; justify-content: space-between; align-items: flex-start; display: flex; }
  .mini-cart__recap { padding: 15px 25px 25px; }
}

@media screen and (min-height: 700px) and (min-width: 641px) {
  .mini-cart__line-item-list { max-height: 330px; }
}

@media screen and (min-width: 1280px) {
  .mini-cart .icon--nav-triangle-borderless { right: 58px; }
}
/* =========================================================
   MINI CART DESKTOP - TITLE + REMOVE BUTTON
========================================================= */

@media screen and (min-width:641px){

  /* Empêche le titre de pousser le drawer */
  .mini-cart__item-wrapper {
    min-width:0;
  }

  .mini-cart__product-info {
    min-width:0;
    flex:1;
  }

  /* Titre comme mobile : 1 ou 2 lignes */
  .mini-cart__product-title {
    display:-webkit-box !important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:normal !important;
    line-height:1.45;
    max-height:2.9em;
  }


  /* Zone quantité + remove */
  .mini-cart__quantity-selector {
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  .mini-cart__quantity-remove,
  .mini-cart__remove {
    margin-top:8px;
    text-align:center;
    display:block;
    width:100%;
  }

}
/* =========================================================
   MINI CART - LONG PRODUCT TITLES WRAP
========================================================= */

@media screen and (min-width:641px){

.mini-cart__item-wrapper {
  flex:1 1 0;
  min-width:0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.mini-cart__product-info {
  flex:1 1 auto;
  min-width:0;
  width:0;
}

/* =========================================================
   MINI CART - LONG TITLES MULTI LINES
========================================================= */

@media screen and (min-width:641px){

  .mini-cart__item-wrapper {
    min-width:0;
    flex:1;
  }

  .mini-cart__product-info {
    flex:1;
    min-width:0;
    width:auto;
  }

  .mini-cart__product-title {
    display:block !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    line-height:1.45;
  }

}
.mini-cart__line-item {
  min-width:0;
}
/* =========================================================
   MINI CART DESKTOP - PRODUCT TITLE FIX
========================================================= */

@media screen and (min-width:641px){

  .mini-cart__line-item {
    min-width:0;
  }

  .mini-cart__item-wrapper {
    flex:1;
    min-width:0;
    display:flex;
    align-items:flex-start;
    gap:15px;
  }

  .mini-cart__product-info {
    flex:1;
    min-width:0;
  }

  .mini-cart__product-title {
    display:block !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:unset !important;
    max-height:none !important;
    line-height:1.45;
    word-wrap:break-word;
  }

}
/* =========================================================
   OPCBLEU PREMIUM PRODUCT ITEM
   Warehouse Theme Compatible
========================================================= */


.product-item {

  background:var(--secondary-background);

  white-space:normal;

  flex-shrink:0;

  min-width:0;

  padding:20px;

  position:relative;

}



/* Bordure carte */

.product-item:after {

  content:"";

  z-index:2;

  pointer-events:none;

  width:100%;

  height:100%;

  position:absolute;

  top:0;

  left:0;

  border:1px solid var(--border-color);

  border-radius:14px;

}



/* Image */

.product-item__image-wrapper {

  margin-bottom:20px;

  display:block;

}


.product-item__image-wrapper .placeholder-svg {

  height:auto;

}



/* Image secondaire */

.product-item__secondary-image {

  display:none;

}



/* Hover image */

@media screen and (any-hover:hover){


.product-item__image-wrapper--with-secondary 
.product-item__primary-image,
.product-item__image-wrapper--with-secondary 
.product-item__secondary-image {

  transition:
    opacity .35s ease-in-out,
    visibility .35s ease-in-out;

}



.product-item__image-wrapper--with-secondary 
.product-item__secondary-image {

  object-fit:contain;

  object-position:center;

  visibility:hidden;

  opacity:0;

  display:block;

}



.product-item__image-wrapper--with-secondary:hover 
.product-item__primary-image {

  opacity:0;

  visibility:hidden;

}



.product-item__image-wrapper--with-secondary:hover 
.product-item__secondary-image {

  visibility:visible;

  opacity:1;

}


}



/* Labels */

.product-item__label-list {

  z-index:3;

  font-size:0;

  position:absolute;

  top:12px;

  left:-1px;

}



.product-item__label-list > .product-label {

  border-radius:0 8px 8px 0;

  margin-bottom:5px;

  display:block;

}



/* Informations */

.product-item__info {

  min-width:0;

}



.product-item__vendor {

  font-size:
  calc(var(--base-text-font-size) - (var(--default-text-font-size) - 12px));

  text-transform:uppercase;

  letter-spacing:.4px;

  opacity:.7;

  margin-bottom:6px;

  display:block;

}



.product-item__vendor,
.product-item__title {

  line-height:1.55;

  display:block;

}



.product-item__title {

  margin-bottom:12px;

}



/* Prix */

.product-item__price-list:first-child {

  margin-bottom:10px;

}



.product-item__price-list {

  margin-top:-5px;

  margin-bottom:-5px;

}



.product-item__price-list .price {

  margin-top:5px;

  margin-bottom:5px;

  display:inline-block;

}



.product-item .price {

  font-size:
  calc(var(--base-text-font-size) - (var(--default-text-font-size) - 18px));

  color:var(--heading-color);

  font-weight:var(--text-font-bolder-weight);

}



.product-item .price--compare {

  font-size:
  calc(var(--base-text-font-size) - (var(--default-text-font-size) - 14px));

}



/* Prix soldé */

.product-item .price--highlight,
.product-item .price--on-sale {

  color:#d32f2f;

}



/* Swatch */

.product-item__swatch-list {

  white-space:nowrap;

  margin:-2px 0 12px;

  overflow:hidden;

}



/* Info prix */

.product-item__price-info {

  font-size:
  calc(var(--base-text-font-size) - (var(--default-text-font-size) - 13px));

  margin-top:10px;

  line-height:1;

}



/* Reviews */

.product-item__reviews-badge {

  margin-top:8px;

  display:block;

}



/* Stock */

.product-item__inventory {

  margin-top:10px;

  font-size:
  calc(var(--base-text-font-size) - (var(--default-text-font-size) - 13px));

}



.product-item__inventory:before {

  top:.3em;

}



/* =========================================================
   ACTION BUTTONS
========================================================= */


.product-item--vertical .product-item__action-list,
.product-item--horizontal .product-item__action-list {

  margin:20px 0 5px;

}



.product-item--vertical .product-item__action-button,
.product-item--horizontal .product-item__action-button {

  padding-left:10px;

  padding-right:10px;

}



/* =========================================================
   HORIZONTAL / LIST
========================================================= */


.product-item--horizontal,
.product-item--list {

  display:flex;

}



.product-item--horizontal .product-item__info,
.product-item--list .product-item__info {

  flex:1 0 0;

  padding:4px 0;

}



.product-item--horizontal .product-item__image-wrapper,
.product-item--list .product-item__image-wrapper {

  flex:none;

  width:120px;

  margin:0 20px 0 0;

}



/* =========================================================
   MOBILE
========================================================= */


@media screen and (max-width:640px){


.product-item {

  padding:15px;

}



.product-item:after {

  border-radius:12px;

}



.product-list--collection .product-item__label-list,
.product-list--stackable .product-item__label-list {

  left:0;

}



.product-item--horizontal,
.product-item--list {

  width:100% !important;

}



.product-item__action-list {

  margin-top:20px;

}


}



/* =========================================================
   DESKTOP
========================================================= */


@media screen and (min-width:641px){


.product-item__title {

  font-size:
  calc(var(--base-text-font-size) - (var(--default-text-font-size) - 14px));

}



.product-item--vertical .price:not(.price--compare),
.product-item--list .price:not(.price--compare){

  font-size:
  calc(var(--base-text-font-size) - (var(--default-text-font-size) - 20px));

}


}



/* =========================================================
   COMPLEMENTARY PRODUCTS
========================================================= */


.product-item--complementary {

  scroll-snap-align:start;

  scroll-snap-stop:always;

  flex-wrap:wrap;

  padding:0;

}



.product-item--complementary:after {

  display:none;

}
/* =========================
HEADER
========================= */
.page__title {

    font-size:42px !important;

    line-height:1.15 !important;

    font-weight:900 !important;

    letter-spacing:-1px;

    color:var(--heading-color) !important;

    margin:0 !important;

    position:relative;

}



.page__title::after {

    content:"";

    display:block;

    width:70px;

    height:4px;


    margin:18px auto 0;


    border-radius:30px;


    background:

    linear-gradient(
        90deg,
        transparent,
        var(--accent-color),
        transparent
    );


}
/* =====================================
   OPCBLEU CART PAGE TITLE LEFT LINE
===================================== */

[data-section-type="cart"] .page__title::after{

    content:"";

    display:block;

    width:70px;

    height:4px;

    margin-top:12px;

    margin-left:0!important;

    margin-right:auto!important;

    border-radius:30px;

    background:

    linear-gradient(
        90deg,
        var(--accent-color),
        transparent
    );

}

/* =========================================================
   OPCBLEU PREMIUM COLLECTION LIST
   Warehouse Theme Compatible
   ========================================================= */



/* =========================
   SECTION RESET
========================= */


.opcbleu-collections {

    padding-top:0;
    padding-bottom:80px;

}


.opcbleu-collections .breadcrumb {

    margin-bottom:35px;

}



/* =========================
   HEADER
========================= */


.opcbleu-collections-header {

    text-align:center;
    margin-bottom:45px;
    position:relative;

}



.opcbleu-collections-header .page__title {

    position:relative;

    margin:0;

    font-weight:900;

}



/* Signature OPCbleu */

.opcbleu-collections-header .page__title::after {

    content:"";

    display:block;

    width:55px;

    height:3px;

    background:#003399;

    border-radius:20px;

    margin:18px auto 0;

}



/* =========================
   GRID
========================= */


.opcbleu-collections-grid {

    display:grid;

    grid-template-columns:
    repeat(3,minmax(0,1fr));

    gap:26px;

}



/* =========================
   CARD
========================= */


.opcbleu-collection-card {

    position:relative;

    min-width:0;

}



.opcbleu-collection-link {

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    height:260px;

    overflow:hidden;

    border-radius:22px;

    background:#fff;

    isolation:isolate;

    box-shadow:
    0 15px 40px
    rgba(0,51,153,.12);

    transition:
    transform .35s ease,
    box-shadow .35s ease;

}



.opcbleu-collection-link:hover {

    transform:
    translateY(-7px);

    box-shadow:
    0 25px 60px
    rgba(0,51,153,.25);

}



/* =========================
   IMAGE
========================= */


.opcbleu-collection-image {

    position:absolute;

    inset:0;

    z-index:1;

}



.opcbleu-collection-img {

    width:100%;

    height:100%;

    object-fit:cover;

    transition:
    transform .5s ease;

}



.opcbleu-collection-link:hover 
.opcbleu-collection-img {

    transform:
    scale(1.08);

}



/* =========================
   DARK OVERLAY
========================= */


.opcbleu-collection-link::before {

    content:"";

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        0deg,
        rgba(0,0,0,.75),
        rgba(0,0,0,.15)
    );

    z-index:2;

}



/* Glow bleu */

.opcbleu-collection-link::after {

    content:"";

    position:absolute;

    inset:-20px;

    background:
    radial-gradient(
        circle,
        rgba(0,51,153,.35),
        transparent 65%
    );

    filter:blur(25px);

    opacity:0;

    transition:.35s ease;

    z-index:0;

}



.opcbleu-collection-link:hover::after {

    opacity:.7;

}



/* =========================
   TITLE
========================= */


.opcbleu-collection-content {

    position:relative;

    z-index:5;

    width:100%;

    padding:20px;

    text-align:center;

}



.opcbleu-collection-title {

    margin:0;

    color:white;

    font-size:24px;

    line-height:1.2;

    font-weight:900;

    text-shadow:
    0 3px 15px rgba(0,0,0,.9);

}



/* =========================
   PLACEHOLDER
========================= */


.opcbleu-collection-placeholder {

    height:100%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

    font-weight:900;

    color:#003399;

    background:
    linear-gradient(
    135deg,
    #fff,
    rgba(0,51,153,.08)
    );

}



/* =========================
   TABLET
========================= */


@media(max-width:1000px){


.opcbleu-collections-grid {

    grid-template-columns:
    repeat(2,minmax(0,1fr));

    gap:20px;

}


.opcbleu-collection-link {

    height:220px;

}


.opcbleu-collection-title {

    font-size:20px;

}


}



/* =========================
   MOBILE
========================= */


@media(max-width:700px){


.opcbleu-collections {

    padding-bottom:50px;

}



.opcbleu-collections .breadcrumb {

    margin-top:10px;

    margin-bottom:20px;

}



.opcbleu-collections-header {

    margin-bottom:30px;

}



.opcbleu-collections-grid {

    grid-template-columns:
    repeat(2,minmax(0,1fr));

    gap:14px;

}



.opcbleu-collection-link {

    height:165px;

    border-radius:18px;

}



.opcbleu-collection-title {

    font-size:16px;

}



.opcbleu-collection-content {

    padding:10px;

}


}



/* =========================
   SMALL MOBILE
========================= */


@media(max-width:380px){


.opcbleu-collection-link {

    height:145px;

}



.opcbleu-collection-title {

    font-size:14px;

}


}
/* =========================================================
   OPCBLEU SHIPPING POLICY
   Google Merchant Center Optimized
========================================================= */


.opc-shipping {

  max-width:950px;

  margin:0 auto;

  color:#111;

  line-height:1.7;

}


/* Title */

.opc-shipping h1 {

  text-align:center;

  font-size:clamp(32px,5vw,44px);

  font-weight:900;

  letter-spacing:-.5px;

  margin-bottom:12px;

  color:#003399;

}


.opc-shipping > p:first-of-type {

  text-align:center;

  color:#666;

  margin-bottom:45px;

}



/* Hero */

.opc-shipping .hero {

  background:
  linear-gradient(
    135deg,
    #003399,
    #0059d6
  );

  color:white;

  padding:40px 30px;

  border-radius:22px;

  text-align:center;

  margin-bottom:35px;

  box-shadow:
  0 15px 40px rgba(0,51,153,.2);

}


.opc-shipping .hero h2 {

  color:white;

  font-size:28px;

  font-weight:900;

  margin-bottom:12px;

}


.opc-shipping .hero p {

  max-width:700px;

  margin:auto;

  font-size:17px;

}



/* Information cards */

.opc-shipping .grid {

  display:grid;

  grid-template-columns:
  repeat(2,minmax(0,1fr));

  gap:22px;

  margin:40px 0;

}


.opc-shipping .card {

  background:white;

  border:1px solid #e5e8ef;

  border-radius:18px;

  padding:28px;

  box-shadow:
  0 8px 25px rgba(0,0,0,.05);

  transition:.25s ease;

}


.opc-shipping .card:hover {

  transform:translateY(-4px);

  border-color:#003399;

  box-shadow:
  0 15px 35px rgba(0,51,153,.12);

}


.opc-shipping .card h3 {

  color:#003399;

  font-size:20px;

  margin-top:0;

}



/* Sections */

.opc-shipping h2 {

  margin-top:45px;

  margin-bottom:18px;

  font-size:26px;

  font-weight:800;

  color:#111;

  position:relative;

}


.opc-shipping h2:after {

  content:"";

  display:block;

  width:55px;

  height:3px;

  background:#003399;

  border-radius:20px;

  margin-top:10px;

}



.opc-shipping ul {

  padding-left:25px;

}


.opc-shipping li {

  margin-bottom:8px;

}



/* Important shipping information */

.opc-shipping strong {

  color:#003399;

}



/* Contact */

.opc-shipping .contact {

  margin-top:50px;

  background:#f5f8ff;

  border:1px solid #dbe5ff;

  padding:30px;

  border-radius:18px;

  text-align:center;

}


.opc-shipping .contact h2 {

  margin-top:0;

}


.opc-shipping a {

  color:#003399;

  font-weight:600;

}



/* Mobile */

@media(max-width:768px){


.opc-shipping {

  padding:0 15px;

}


.opc-shipping .hero {

  padding:30px 20px;

  border-radius:18px;

}


.opc-shipping .hero h2 {

  font-size:22px;

}


.opc-shipping .grid {

  grid-template-columns:1fr;

  gap:16px;

}


.opc-shipping .card {

  padding:22px;

}


.opc-shipping h2 {

  font-size:22px;

}


}
.opc-shipping {
display:block!important;
visibility:visible!important;
opacity:1!important;
}

.opc-shipping h2,
.opc-shipping p,
.opc-shipping li {
display:block!important;
visibility:visible!important;
}
.shopify-policy__title {
  display:none!important;
}

.shopify-policy__body {
  margin-top:20px;!important;
}
/* =========================================================
   OPCBLEU POLICY PAGES
   Shipping / Returns / Privacy
========================================================= */

.opc-policy {

max-width:900px;
margin:0 auto;
color:#111;
line-height:1.75;

}


.opc-policy h1 {

text-align:center;
font-size:clamp(32px,5vw,44px);
font-weight:900;
color:#003399;
margin-bottom:40px;

}


.opc-policy h2 {

font-size:26px;
font-weight:800;
margin-top:45px;
margin-bottom:15px;
color:#111;

}


.opc-policy h2:after {

content:"";
display:block;
width:55px;
height:3px;
background:#003399;
border-radius:20px;
margin-top:10px;

}


.opc-policy p {

margin-bottom:18px;

}


.opc-policy ul {

padding-left:25px;
margin-bottom:25px;

}


.opc-policy li {

margin-bottom:8px;

}


.opc-policy strong {

color:#003399;

}


.opc-policy a {

color:#003399;
font-weight:600;

}



@media(max-width:768px){

.opc-policy {

padding:0 15px;

}


.opc-policy h1 {

font-size:32px;

}


.opc-policy h2 {

font-size:22px;

}

}
/* =========================================================
   OPCBLEU - Mobile Header Fix
   Align logo + icons on same line
========================================================= */

@media screen and (max-width: 640px) {

  .header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 60px;
  }

  /* Logo */
  .header__logo {
    flex: 0 1 auto;
    margin: 0;
  }

  .header__logo-image {
    max-width: 85px !important;
  }

  /* Actions icons */
  .header__action-list {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 2px;
    margin-left: auto;
  }

  .header__action-item {
    padding: 0;
    margin: 0;
    flex-shrink: 0;
  }

  .header__action-item-link,
  .header__account-icon {
    width: 34px;
    height: 34px;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .header__action-item-link svg,
  .header__account-icon svg {
    width: 20px;
    height: 20px;
  }

  /* Wishlist + panier */
  .header__cart-icon,
  .header__cart-icon svg {
    width: 20px;
    height: 20px;
  }

  .header__cart-count {
    font-size: 10px;
    min-width: 15px;
    height: 15px;
    line-height: 15px;
  }

}
/* =========================================================
   OPCBLEU - Extra Small Mobile Header
========================================================= */

@media screen and (max-width: 360px) {

  .header__inner {
    min-height: 50px;
    height: 50px;
  }

  .header__logo-image {
    max-width: 78px !important;
  }

  .header__action-list {
    gap: 0;
  }

  .header__action-item-link,
  .header__account-icon {
    width: 29px;
    height: 29px;
    padding: 3px;
  }

  .header__action-item-link svg,
  .header__account-icon svg,
  .header__cart-icon svg {
    width: 18px;
    height: 18px;
  }

  .header__cart-count {
    font-size: 9px;
    min-width: 13px;
    height: 13px;
    line-height: 13px;
  }

  .search-bar__input {
    font-size: 13px;
  }

}
/* =========================================================
   OPCBLEU - Header FR Desktop Fix
========================================================= */

@media screen and (min-width: 1000px) {

  .header__action-list {
    gap: 12px;
    white-space: nowrap;
  }

  .header__action-item {
    flex-shrink: 0;
  }

  .header__action-item-link {
    white-space: nowrap;
  }

}
/* =========================================================
   OPCBLEU - Prevent header wrapping on tiny screens
========================================================= */

@media screen and (max-width: 360px) {

  .header__inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow: hidden;
  }

  .header__logo {
    flex: 0 1 auto;
    min-width: 0;
  }

  .header__logo-image {
    max-width: 75px !important;
  }

  .header__action-list {
    flex: 0 0 auto;
    display: flex !important;
    flex-wrap: nowrap !important;
    margin-left: auto;
  }

  .header__action-item {
    flex-shrink: 0;
  }

}