
:root {
  --as-bg: #f4f5f7;
  --as-border: #d9dadb;
  --as-title-bg: #e8eaed;
  --as-title-hover: #dde2ea;
  --as-blue: #2a7ae2;
  --as-blue-light: #e8f0fe;
  --as-text: #202124;
  --as-subtext: #5f6368;
}

/* Bloc principal */
.PM_ASBlockOutputVertical {
  background: var(--as-bg) !important;
  border: 1px solid var(--as-border) !important;
  border-radius: 10px;
  padding: 18px;
  color: var(--as-text);
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  transition: all .25s ease-in-out;
}
.PM_ASBlockOutputVertical:hover {
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

/* Titres */
.PM_ASCriterionsGroupTitle {
  background: var(--as-title-bg) !important;
  color: var(--as-text) !important;
  padding: 10px 12px;
  border-radius: 6px;
  font-weight: 600;
  margin-bottom: 10px;
  transition: background .25s ease-in-out;
}
.PM_ASCriterionsGroupTitle:hover { background: var(--as-title-hover); }

/* Groupes */
.PM_ASCriterionsGroupList {
  background: #fff;
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  padding: 10px 12px;
  margin-bottom: 15px;
  transition: box-shadow .25s, border .25s;
}
.PM_ASCriterionsGroupList:hover {
  border-color: #cbd3e0;
  box-shadow: 0 1px 6px rgba(0,0,0,0.05);
}

/* Curseurs */
.ui-slider { background: #e0e0e0; height: 4px; border-radius: 2px; }
.ui-slider-range { background: var(--as-blue); transition: background .3s; }
.ui-slider-handle {
  background: #fff; border: 2px solid var(--as-blue);
  border-radius: 50%; width: 16px; height: 16px;
  transition: transform .2s;
}
.ui-slider-handle:hover { transform: scale(1.2); }

/* Labels / Checkbox */
.PM_ASBlockOutputVertical label {
  color: #333; font-size: 14px; 
  padding: 4px 0; border-radius: 4px;
  transition: background .25s, color .25s;
}
.PM_ASBlockOutputVertical label:hover {
  background: var(--as-blue-light); color: var(--as-blue); cursor: pointer;
}
input[type=checkbox], input[type=radio] { accent-color: var(--as-blue); }

/* Bouton "Réinitialiser" */
.PM_ASResetSearch {
  display: block; text-align: center;
  background: var(--as-title-bg); color: var(--as-text);
  padding: 8px 10px; border-radius: 6px; margin-top: 20px;
  font-weight: 500; text-decoration: none;
  transition: all .25s ease-in-out;
}
.PM_ASResetSearch:before {
  content: "\f0e2"; font-family: "FontAwesome","FontAwesomeAS4";
  padding-right: 6px;
}
.PM_ASResetSearch:hover {
  background: var(--as-blue); color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

/* Liens secondaires */
.PM_ASResetGroup, .PM_ASSkipGroup {
  font-size: 11px; color: var(--as-subtext);
  transition: color .25s;
}
.PM_ASResetGroup:hover, .PM_ASSkipGroup:hover { color: var(--as-blue); }

/* Sélections actives */
.PM_ASSelectionsBlock { padding-top: 12px; font-size: 13px; color: #555; }
.PM_ASSelections ul { list-style: none; padding-left: 0; }

/* Nombre de produits */
.PM_ASBlockNbProductValue { font-size: 75%; color: #777; }

.PM_ASBlockOutputVertical .PM_ASCriterionsGroupTitle{
 padding-top: 0.5rem !important; 
}

/* Loader */
@keyframes as4loader {
  0%,80%,100% { box-shadow: 0 2.5em 0 -1.3em var(--as-blue); }
  40% { box-shadow: 0 2.5em 0 0 #84b2ff; }
}
.as4-loader, .as4-loader:before, .as4-loader:after {
  border-radius: 50%; width: 2.5em; height: 2.5em;
  animation: as4loader 1.8s infinite ease-in-out;
}
.as4-loader { margin:auto; font-size:10px; position:relative; text-indent:-9999em; animation-delay:.16s; }
.as4-loader:before, .as4-loader:after { content:''; position:absolute; top:0; }
.as4-loader:before { left:-3.5em; }
.as4-loader:after { left:3.5em; animation-delay:.32s; }

/* Responsive */
@media (max-width:768px) {
  .PM_ASBlockOutputVertical { margin-bottom:25px; padding:14px; }
  .PM_ASCriterionsGroupTitle { font-size:14px; }
}
