/* devillesearch — menu de la barre de recherche (plan B, tâche 6 ; spec §9.3) et onglets de type
 * de la page /recherche (search_header.tpl, .dse-ptab*).
 * Chargé hors CCC par header.tpl. Toutes les règles sous le préfixe .dse-, sauf la taille du
 * champ en mobile (16 px : pas de zoom iOS ; #search_widget pour passer devant la règle
 * .dfs-nav-search .search_query de devillefreeshipping/cards.css).
 * Menu en position absolue (desktop) ou fixe (mobile), placé par dse.js : aucun décalage de page.
 * Couleurs de stock : triangle de devillestockbadge (#2ecc40 / #ff851b / #d73a49). */
.dse-panel{position:absolute;z-index:1050;box-sizing:border-box;max-height:75vh;overflow-y:auto;overscroll-behavior:contain;background:#fff;color:#222;border:1px solid #d6d6d6;border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.18);font-size:14px;line-height:1.35;text-align:left}
.dse-panel[hidden]{display:none}
.dse-panel *{box-sizing:border-box}
.dse-panel :focus-visible{outline:2px solid #49a2ce;outline-offset:-2px}
.dse-head{position:sticky;top:0;z-index:1;display:flex;align-items:stretch;background:#fff;border-bottom:1px solid #e5e5e5}
.dse-tabs{display:flex;flex:1 1 auto;min-width:0;overflow-x:auto;padding:0 6px;scrollbar-width:thin}
.dse-tabs[hidden]{display:none}
.dse-tab{flex:0 0 auto;min-height:44px;margin:0;padding:0 11px;border:0;border-bottom:3px solid transparent;background:none;color:#444;font:inherit;font-weight:600;white-space:nowrap;cursor:pointer}
.dse-tab:hover{color:#1d6f98}
.dse-tab[aria-selected="true"]{color:#1d6f98;border-bottom-color:#49a2ce}
.dse-tab__count{margin-left:4px;color:#777;font-weight:400}
.dse-close{display:none;flex:0 0 44px;min-height:44px;margin:0;padding:0;border:0;border-left:1px solid #e5e5e5;background:none;color:#444;font-size:26px;line-height:1;cursor:pointer}
.dse-note{margin:8px 12px 0;color:#555;font-style:italic}
.dse-note[hidden],.dse-empty[hidden],.dse-ask[hidden]{display:none}
.dse-ask{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 12px 0;color:#333}
.dse-askb{min-height:36px;padding:0 10px;border:1px solid #49a2ce;border-radius:18px;background:#fff;color:#1d6f98;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.dse-askb:hover,.dse-askb:focus,.dse-askb[aria-pressed="true"],.dse-askb--on{background:#49a2ce;color:#fff;text-decoration:none}
.dse-list{padding:4px 0}
.dse-item{display:flex;align-items:center;gap:12px;min-height:72px;padding:6px 12px;color:inherit;text-decoration:none}
.dse-item:hover,.dse-item:focus,.dse-active{background:#eef6fb;color:inherit;text-decoration:none}
.dse-img{flex:0 0 60px;width:60px;height:60px;object-fit:contain;background:#f4f4f4;border-radius:3px}
.dse-body{display:flex;flex:1 1 auto;flex-direction:column;gap:3px;min-width:0}
.dse-name{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600}
.dse-mark{padding:0;background:none;color:inherit;font-weight:800;text-decoration:underline;text-decoration-color:#49a2ce;text-underline-offset:2px}
.dse-axis{color:#666;font-weight:400}
.dse-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:13px}
.dse-price{color:#222;font-weight:700;white-space:nowrap}
.dse-ht{color:#666;font-size:11px;font-weight:600}
.dse-stock{display:inline-flex;align-items:center;gap:5px;color:#444}
.dse-stock::before{content:"";width:0;height:0;border-style:solid;border-width:0 11px 11px 0;border-color:transparent #d73a49 transparent transparent}
.dse-stock--1::before{border-right-color:#2ecc40}
.dse-stock--2::before{border-right-color:#ff851b}
.dse-item .dfs-miniature-badge{margin:0;padding:2px 9px;font-size:11px}
.dse-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;border-top:1px solid #eee}
.dse-group__label{margin-right:4px;color:#777;font-size:12px;letter-spacing:.03em;text-transform:uppercase}
.dse-link{display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border:1px solid #d6e6ef;border-radius:16px;color:#1d6f98;text-decoration:none}
.dse-link:hover,.dse-link.dse-active{border-color:#49a2ce;text-decoration:none}
.dse-all{display:flex;align-items:center;justify-content:center;min-height:44px;border-top:1px solid #eee;color:#1d6f98;font-weight:700;text-decoration:none}
.dse-all:hover,.dse-all.dse-active{text-decoration:underline}
.dse-empty{margin:0;padding:16px 12px;color:#666}
.dse-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* /recherche : onglets dessinés comme .dse-tab ; rendus dans le HTML, hauteur fixe : aucun décalage.
 * Sous 992 px, une ligne qui défile (barre masquée, ombre au bord tant qu'il reste des onglets). */
.dse-search-header{margin:4px 0 16px}
.dse-search-header .dse-ask{margin:0 0 8px}
.dse-search-note{margin:0 0 6px;color:#555;font-style:italic}
.dse-ptabs{border-bottom:1px solid #e5e5e5}
.dse-ptabs__list{display:flex;flex-wrap:wrap;margin:0;padding:0 2px;list-style:none}
.dse-ptabs__item{flex:0 0 auto;margin:0;padding:0}
.dse-ptab{display:flex;align-items:center;min-height:44px;padding:0 12px;border-bottom:3px solid transparent;color:#444;font-size:15px;font-weight:600;line-height:1.2;white-space:nowrap;text-decoration:none}
.dse-ptab:hover,.dse-ptab:focus{color:#1d6f98;text-decoration:none}
.dse-ptab--selected{color:#1d6f98;border-bottom-color:#49a2ce}
.dse-ptab:focus-visible{outline:2px solid #1d6f98;outline-offset:-2px}
.dse-ptab__count{margin-left:4px;color:#707070;font-weight:400}
@media (max-width:991.98px){
  #search_widget input.search_query{font-size:16px}
  .dse-panel{position:fixed;right:0;bottom:0;left:0;max-height:none;border-width:1px 0 0;border-radius:0;box-shadow:0 -2px 8px rgba(0,0,0,.12)}
  .dse-close{display:block}
  .dse-item{min-height:76px}
  .dse-link{min-height:44px}
  .dse-ptabs__list{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;background:linear-gradient(90deg,#fff 40%,rgba(255,255,255,0)) 0 0/24px 100% no-repeat local,linear-gradient(270deg,#fff 40%,rgba(255,255,255,0)) 100% 0/24px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.18),transparent) 0 0/10px 100% no-repeat,radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.18),transparent) 100% 0/10px 100% no-repeat}
  .dse-ptabs__list::-webkit-scrollbar{display:none}
}
@media (pointer:coarse){
  .dse-link{min-height:44px}
}
.dse-ghost{position:absolute;z-index:1051;display:flex;align-items:center;overflow:hidden;white-space:pre;margin:0;border-style:solid;border-color:transparent;background:none;pointer-events:none}
.dse-ghost[hidden]{display:none}
.dse-ghost__pad{visibility:hidden}
.dse-ghost__s{color:#9a9a9a;pointer-events:auto;cursor:pointer}
/* Grande fenêtre en grille (ordinateur, 24/10 : « plus aéré, plus gros, plus facile à voir ») :
 * largeur du site (1200 px au plus, placée par dse.js), catégories et marques en colonne à gauche,
 * produits en grille de 4, grandes vignettes. Mobile : liste d'origine, catégories dessous. */
.dse-side[hidden]{display:none}
@media (min-width:992px){
  .dse-panel{max-height:82vh;border-radius:8px;font-size:15px;box-shadow:0 12px 40px rgba(0,0,0,.22)}
  .dse-tab{min-height:52px;padding:0 16px;font-size:16px}
  .dse-note,.dse-ask{margin:12px 20px 0}
  .dse-list{display:grid;grid-template-columns:minmax(0,1fr);padding:0}
  .dse-list--side{grid-template-columns:220px minmax(0,1fr)}
  .dse-side{grid-column:1;grid-row:1;padding:16px 0 16px 8px;border-right:1px solid #eee}
  .dse-side .dse-group{flex-direction:column;align-items:flex-start;gap:6px;padding:4px 12px 14px;border-top:0}
  .dse-side .dse-group__label{margin:0 0 2px}
  .dse-side .dse-link{min-height:30px;padding:0 10px;border:0;border-radius:4px}
  .dse-side .dse-link:hover,.dse-side .dse-link.dse-active{background:#eef6fb}
  .dse-grid{grid-column:-2;grid-row:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:20px}
  .dse-item{flex-direction:column;align-items:stretch;gap:10px;min-height:0;padding:12px;border:1px solid #eee;border-radius:8px}
  .dse-item:hover,.dse-item:focus,.dse-active.dse-item{border-color:#49a2ce;box-shadow:0 2px 10px rgba(73,162,206,.18)}
  .dse-img{flex:none;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fff}
  .dse-img--none{background:#f4f4f4}
  .dse-name{-webkit-line-clamp:3;font-size:15px;line-height:1.3}
  .dse-meta{flex-direction:column;align-items:flex-start;gap:6px;font-size:14px}
  .dse-price{font-size:18px}
  .dse-all{grid-column:1/-1;min-height:54px;font-size:16px}
  .dse-empty{padding:24px 20px;font-size:16px}
}
