@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap');
:root{--qp-navy:#0f2d52;--qp-grey:#f6f6f6;--qp-glass:rgba(255,255,255,.70); --qp-glass-1:rgba(255,255,255,.3); --qp-glass-2:rgba(255,255,255,.4); --qp-shadow:0 18px 45px rgba(0,0,0,.18);}
html,body{height:100%}
body{font-family:Quicksand,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#111;overflow-x:hidden}
#header .top-menu a[data-depth="0"]:hover, a, a:hover {
    color: var(--qp-navy);
    text-decoration: none;
}
.tabs .nav-tabs .nav-link.active, .tabs .nav-tabs .nav-link:hover {
    border: 0;
    border-bottom: var(--qp-navy) 3px solid;
}
.tabs .nav-tabs .nav-link.active {
    color: var(--qp-navy);
}
.product-images>li.thumb-container .thumb.selected, .product-images>li.thumb-container .thumb:hover {
    border: var(--qp-navy) 3px solid;
}
#product-modal .modal-content .modal-body .product-images img:hover {
    border: var(--qp-navy) 3px solid;
}
#header,#footer,.breadcrumb,.page-footer,.header-top,.header-nav,#_desktop_cart,#_desktop_user_info,#_desktop_logo,#_desktop_top_menu{display:none!important}
#wrapper{padding:0!important;min-height:100vh}
.container{max-width:100%!important;width:100%!important;padding:0!important}
body.qp-bg{background:var(--qp-bg) center/cover no-repeat fixed!important}
/*body.qp-bg::before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at center,rgba(0,0,0,.05) 0%,rgba(0,0,0,.55) 100%);pointer-events:none;z-index:0}*/
#content{position:relative;z-index:1}
#index #wrapper, #category #wrapper{background:none!important;}
.qp-topbar{position:fixed;top:24px;left:24px;right:24px;z-index:20;display:flex;align-items:center;gap:16px}
.qp-back,.qp-search{width:72px;height:72px;border-radius:999px;display:flex;align-items:center;justify-content:center;box-shadow:var(--qp-shadow);cursor:pointer;user-select:none}
.qp-back{background:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(10px)}
.qp-search{margin-left:auto;background:var(--qp-navy)}
.qp-crumbs{display:flex;gap:16px;align-items:center;flex:1;min-width:0}
.qp-pill{background:var(--qp-navy);color:#fff;border-radius:16px;padding:14px 20px;font-size:28px;letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--qp-shadow);max-width:52vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qp-pill:hover{background:var(--qp-navy);color:#fff;}
.qp-search-overlay{position:fixed;inset:0;z-index:99;display:none;align-items:flex-start;justify-content:center;padding-top:28px;background:rgba(0,0,0,.25);backdrop-filter:blur(6px)}
body.qp-search-open .qp-search-overlay{display:flex}
.qp-search-panel{width:min(980px,calc(100vw - 48px));background:var(--qp-navy);border-radius:26px;padding:22px 64px;box-shadow:var(--qp-shadow);color:#fff;position:relative}
.qp-search-close{position:absolute;top:12px;right:14px;width:46px;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;cursor:pointer}
.qp-search-panel input[type="text"]{width:100%;height:72px;border-radius:18px;border:0;padding:0 18px;font-size:26px;outline:none}
.qp-home,.qp-tiles,.qp-products{min-height:100vh;padding:120px 36px 40px}
.qp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.qp-card{border-radius:34px 34px 0px 34px;background:var(--qp-glass);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(12px);box-shadow:var(--qp-shadow);padding:34px 0px 34px 0px;min-height:310px;text-decoration:none;color:inherit}
.qp-card h2{text-align:center;font-size:40px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px;font-weight:500}
.qp-tiles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.qp-tile{position:relative;border-radius:26px;overflow:hidden;box-shadow:var(--qp-shadow);border:1px solid rgba(255,255,255,.20);min-height:260px;text-decoration:none;color:#fff}
.qp-tile-img{position:absolute;inset:0;background:#111 center/cover no-repeat;transform:scale(1.02)}
.qp-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.35) 100%)}
.qp-tile-label{position:absolute;left:22px;bottom:22px;background:var(--qp-navy);padding:14px 22px;font-size:28px;letter-spacing:.08em;text-transform:uppercase;z-index:2;box-shadow:var(--qp-shadow)}
.qp-products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.qp-product-card{border-radius:24px;/*background:rgba(255,255,255,.55);*/border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(10px);box-shadow:var(--qp-shadow);overflow:hidden;min-height:260px;text-decoration:none;color:inherit;position:relative;display:flex}
.qp-product-thumb{position:absolute;inset:0;background:center/cover no-repeat;/*opacity:.35;*/transform:scale(1.03)}
.qp-product-name{position:relative;z-index:1;width:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;font-size:38px;letter-spacing:.08em;text-transform:uppercase;font-weight:400;/*color:rgba(30,40,55,.30);*/line-height: 38px;background-color: rgba(255, 255, 255, 0.3);}
#product #content{padding:24px 36px 60px;background:rgba(255,255,255,.92);border-radius:26px;margin:120px 24px 24px;box-shadow:var(--qp-shadow)}
.qp-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px}
.btn.qp-btn{background:var(--qp-navy)!important;border:0!important;color:#fff!important;border-radius:12px!important;padding:14px 18px!important;font-weight:600}
.btn.qp-btn-outline{background:#fff!important;border:2px solid var(--qp-navy)!important;color:var(--qp-navy)!important}
.product-add-to-cart,.product-quantity,.product-actions,.add-to-cart,.btn.add-to-cart{display:none!important}
@media (max-width:1200px){.qp-products-grid{grid-template-columns:repeat(3,1fr)}.qp-grid,.qp-tiles-grid{grid-template-columns:repeat(1,1fr)}}
@media (max-width:820px){.qp-products-grid{grid-template-columns:repeat(1,1fr)}}
#search_widget {width: 100%; float:none!important;}
.qp-icon { width: 96px; height: 96px; }
.qp-icon svg { width: 100%; height: 100%; }
.qp-card .qp-icon {margin: 10px auto;}
.cls-1 {fill: var(--qp-navy)!important;}
.qp-subcats { display:inline-flex; align-items:center; border-radius:40px 0px 0px 40px; background:var(--qp-glass-1); float:right; }
.qp-subcats .qp-subcats-icon { padding: 0 10px; }
.qp-subcats .qp-subcats-content { text-transform: uppercase; border-radius:40px 0px 0px 40px; padding: 10px; background:var(--qp-glass-2); }

/* =========================
   BREADCRUMB
   ========================= */

.qp-crumbs{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.qp-sep{
  color:#ffffff;
  font-size:28px;
  opacity:.9;
  user-select:none;
}
.qp-pill{
  display:flex;
  align-items:center;
  gap:12px;
}
.qp-pill-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  line-height:1;
}
.qp-pill-icon .cls-1 {fill: #FFFFFF!important;}
@media (max-width:820px){
.qp-crumbs {
  display: none;
}
}


/* =========================
   NIVEAU 2 (Sous-catégories) - GRILLE PHOTO
   ========================= */

.qp-level2{
  min-height: 100vh;
  padding: 120px 80px 80px; /* laisse la topbar respirer */
  display: flex;
  align-items: center;
  justify-content: center;
}

.qp-tiles-grid{
  width: min(1700px, calc(100vw - 160px));
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 90px 120px; /* gros espacements comme la maquette */
  align-content: center;
}

.qp-tile{
  position: relative;
  height: 360px;              /* hauteur “carte” comme le JPG */
  border-radius: 34px 34px 0px 34px;
  overflow: hidden;
  box-shadow: 0 30px 70px rgba(0,0,0,.30);
  border: 1px solid rgba(255,255,255,.15);
  text-decoration: none;
}

.qp-tile-img{
  position: absolute;
  inset: 0;
  background: #111 center/cover no-repeat;
  transform: scale(1.02);
}

/* légère “patine” pour matcher le rendu (pas un gros gradient) */
.qp-tile::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.00) 0%, rgba(0,0,0,.18) 100%);
}

.qp-tile-label{
  position: absolute;
  left: 0px;
  bottom: 50px;
  z-index: 2;
  background: var(--qp-navy);     /* navy */
  color: #fff;
  padding: 16px 28px;
  font-size: 26px;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-radius: 0;        /* cartouche rectangulaire comme le JPG */
  box-shadow: 0 16px 40px rgba(0,0,0,.25);
}

/* interaction légère (tablette) */
.qp-tile:active{ transform: scale(.995); }

/* responsive tablette */
@media (max-width: 1300px){
  .qp-tiles-grid{ gap: 60px 70px; }
  .qp-tile{ height: 320px; }
  .qp-tile-label{ font-size: 22px; }
}
@media (max-width: 980px){
  .qp-tiles-grid{ grid-template-columns: repeat(1, 1fr); width: calc(100vw - 80px); }
  .qp-level2{ padding: 120px 40px 60px; }
}


/* =========================
   FICHE PRODUIT (Tablette)
   ========================= */

.qp-product{
  padding: 120px 80px 60px;
}

.qp-product-top{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items:start;
}

.qp-product-left .images-container{
  border-radius: 28px;
  overflow:hidden;
  box-shadow: 0 30px 70px rgba(0,0,0,.25);
}

.qp-product-right{
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(16px);
  border-radius: 28px;
  padding: 34px;
  box-shadow: 0 30px 70px rgba(0,0,0,.18);
}

.qp-product-title h1{
  font-size: 42px;
  margin: 0 0 10px;
  letter-spacing: .02em;
}

.qp-product-brand{
  font-size: 16px;
  opacity: .75;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.qp-product-actions{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin: 22px 0 8px;
}

.qp-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  height:64px;
  border-radius: 14px;
  text-decoration:none;
  font-size:18px;
  letter-spacing:.03em;
}

.qp-btn-primary{
  background:var(--qp-navy);
  color:#fff;
}
.qp-btn-primary:hover{
  background:var(--qp-navy);
  color:#fff;
}

.qp-btn-secondary{
  background: rgba(15,45,82,.12);
  color:var(--qp-navy);
  border: 1px solid rgba(15,45,82,.20);
}

.qp-product-bottom{
  margin-top: 40px;
}

.custom-checkbox input[type=checkbox]+span.color, .variant-links .color, label .color {
    width: 3rem;
    height: 3rem;
}

.product-cover img {
  margin: 0 auto;
}

.product-price {
  color:var(--qp-navy);
}

.modal {
  z-index: 1100!important;
  background-color: rgba(0,0,0,0.5);
}
.modal-dialog {
  margin: 0 auto !important;
}

.modal-content {
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(20px);
  box-shadow: 0 40px 100px rgba(0,0,0,.35);
}

.modal-backdrop {
  display:none!important;
}


/* =========================
   PDF VIEWER (Tablette)
   ========================= */

.qp-pdf-viewer{
  position: fixed;
  inset: 115px 0 0 0; /* laisse la topbar */
  background: #111;
}
.qp-pdf-iframe{
  width: 100%;
  height: 100%;
  border: 0;
  background: #fff;
}


/* =========================
   LEADS (Demande de renseignements)
   ========================= */

.qp-leads{
  padding: 120px 80px 60px;
}

.qp-leads-title{
  text-align:center;
  font-size:64px;
  margin: 0 0 40px;
}

.qp-leads-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 80px;
  align-items:start;
}

.qp-leads-h2{
  font-size:34px;
  margin: 0 0 26px;
}

.qp-leads-form{
  max-width: 720px;
}

.qp-field{ margin-bottom: 18px; }

.qp-input{
  width:100%;
  height:56px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.15);
  padding: 0 18px;
  font-size: 16px;
  background: rgba(255,255,255,.9);
}

.qp-btn-wide{
  width:100%;
  height:58px;
  margin-top: 18px;
  border:0;
  border-radius: 10px;
  font-size: 16px;
}

.qp-leads-legal{
  margin-top: 18px;
  font-size: 12px;
  opacity: .85;
}

.qp-project-card{
  display:flex;
  gap: 18px;
  align-items:center;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  padding: 16px;
  width: 100%;
  max-width: 520px;
}

.qp-project-thumb{
  width: 86px;
  height: 86px;
  border-radius: 10px;
  background: #ddd center/cover no-repeat;
}

.qp-project-name{
  font-size: 22px;
  font-weight: 600;
}

.qp-project-remove{
  display:inline-block;
  margin-top: 6px;
  color: #c40000;
  text-decoration: none;
}

@media (max-width: 1100px){
  .qp-leads-grid{ grid-template-columns: 1fr; gap: 40px; }
}
