/* ============================================================
   WPlusMenu — feuille de style éditable
   Variables principales injectées par PHP : --wplm-accent, --wplm-container
   Thème (clair/sombre) piloté par la classe .wplm-style-light sur .wplm-header/.wplm-drawer
   (réglage Réglages → WPlusMenu, voir includes/class-wplm-settings.php)
   ============================================================ */

:root{
	/* Accent : toujours la couleur réglée dans Réglages → WPlusMenu
	   (ou le filtre développeur wplm_accent). Ne dépend plus de la variable
	   --accent du thème, pour éviter tout conflit avec GeneratePress ou un autre plugin. */
	--wplm-accent:var(--wplm-accent-fallback, #f00075);
	--wplm-container:1200px;

	/* Fonds — thème sombre (par défaut) */
	--wplm-bg:#010318;        /* barre du haut            */
	--wplm-bg-2:#010318;      /* panel du tiroir          */
	--wplm-bg-3:#010318;      /* colonnes de sous-menus   */
	--wplm-surface:rgba(255,255,255,.05);  /* champs de recherche & petites surfaces */
	--wplm-line:rgba(255,255,255,.08);
	--wplm-hair:rgba(255,255,255,.08);      /* séparateurs / bordures fines */
	--wplm-hair-soft:rgba(255,255,255,.05); /* séparateurs très discrets (listes) */
	--wplm-chip-bg:rgba(255,255,255,.08);   /* fond des boutons fermer / retour */
	--wplm-chip-text:#ffffff;               /* icône des boutons fermer / retour */
	--wplm-text:#ffffff;      /* texte principal */
	--wplm-muted:#b8a7b0;
	--wplm-dim:#8d7d86;
	--wplm-radius:8px;
	--wplm-panel-w:340px;     /* largeur panel desktop    */
	--wplm-col-w:280px;       /* largeur d'une colonne    */
}

/* Thème clair (réglage Apparence → Style = Clair) */
.wplm-style-light{
	--wplm-bg:#ffffff;
	--wplm-bg-2:#ffffff;
	--wplm-bg-3:#f7f7f9;
	--wplm-surface:rgba(0,0,0,.035);
	--wplm-line:rgba(0,0,0,.08);
	--wplm-hair:rgba(0,0,0,.08);
	--wplm-hair-soft:rgba(0,0,0,.05);
	--wplm-chip-bg:rgba(0,0,0,.05);
	--wplm-chip-text:#14121a;
	--wplm-text:#14121a;
	--wplm-muted:#6b6470;
	--wplm-dim:#8a8290;
}

/* ---------- Conteneur général ---------- */
.wplm-header{background:var(--wplm-bg);color:var(--wplm-text);width:100%;box-sizing:border-box;font-family:inherit;}
.wplm-header *{box-sizing:border-box;}
.wplm-header a{color:inherit;text-decoration:none;}

.wplm-bar{
	display:flex;align-items:center;gap:16px;
	width:100%;max-width:var(--wplm-container,1200px);
	margin:0 auto;padding:0 20px;
}

/* Tailles d'icônes forcées (certains thèmes mettent svg{height:auto}). */
.wplm-header svg,.wplm-drawer svg{flex:0 0 auto;}
.wplm-trigger svg{width:18px;height:18px;}
.wplm-action svg{width:20px;height:20px;}
.wplm-search__icon svg,.wplm-panel__search svg{width:16px;height:16px;}
.wplm-close svg{width:20px;height:20px;stroke:currentColor;}

/* ---------- Barre supérieure ---------- */
.wplm-bar--top{min-height:64px;border-bottom:.5px solid var(--wplm-line);}
.wplm-logo{display:flex;align-items:center;flex:0 0 auto;max-width:180px;}
.wplm-logo-img{display:inline-flex;align-items:center;line-height:0;max-width:100%;}
.wplm-logo-img img{max-width:100%;max-height:46px;width:auto;height:auto;display:block;}
.wplm-logo-text{font-size:20px;font-weight:600;color:var(--wplm-accent);white-space:nowrap;}

/* Recherche : remplit l'espace dispo, fond foncé en permanence */
.wplm-search{
	flex:1 1 auto;display:flex;align-items:center;gap:8px;
	background:var(--wplm-surface);border:.5px solid var(--wplm-line);
	border-radius:999px;padding:9px 16px;min-width:0;
}
.wplm-search__icon{display:flex;color:var(--wplm-dim);}
.wplm-search input[type="search"]{
	flex:1 1 auto;font-size:14px;min-width:0;padding:0;margin:0;
	background:transparent !important;border:0 !important;outline:0 !important;
	color:var(--wplm-text) !important;box-shadow:none !important;
	-webkit-appearance:none;appearance:none;
}
.wplm-search input[type="search"]:focus,
.wplm-search input[type="search"]:hover{
	background:transparent !important;color:var(--wplm-text) !important;box-shadow:none !important;outline:0 !important;
}
.wplm-search input[type="search"]::placeholder{color:var(--wplm-dim);opacity:1;}
.wplm-search:focus-within{border-color:var(--wplm-accent);}

/* Compte / panier alignés à droite */
.wplm-actions{display:flex;align-items:center;gap:22px;flex:0 0 auto;margin-left:auto;}
.wplm-action{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:13px;position:relative;color:var(--wplm-text);transition:color .15s;}
.wplm-action:hover{color:var(--wplm-accent);}
.wplm-action--cart .wplm-cart-count{
	position:absolute;top:-7px;right:-8px;background:var(--wplm-accent);color:#fff;
	font-size:10px;line-height:1;font-weight:600;min-width:16px;height:16px;border-radius:999px;
	display:flex;align-items:center;justify-content:center;padding:0 4px;
}
.wplm-cart-count.is-empty{display:none;}

/* ---------- Barre navigation ---------- */
.wplm-bar--nav{min-height:52px;border-bottom:.5px solid var(--wplm-line);}
.wplm-trigger{
	display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;cursor:pointer;line-height:1;
	background:var(--wplm-accent);color:#fff;border:.5px solid transparent;border-radius:var(--wplm-radius);
	padding:9px 15px;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;
	transition:box-shadow .2s,filter .2s;
}
.wplm-trigger:hover{filter:brightness(1.05);box-shadow:0 0 5px var(--wplm-accent),0 0 14px var(--wplm-accent);}
.wplm-trigger__short{display:none;}

.wplm-nav ul{display:flex;align-items:center;gap:20px;list-style:none;margin:0;padding:0;}
.wplm-nav li{margin:0;padding:0;}
.wplm-nav a{font-size:1rem;color:var(--wplm-text);white-space:nowrap;transition:color .15s;}
.wplm-nav a:hover{color:var(--wplm-accent);}
.wplm-nav--left{flex:0 1 auto;}
.wplm-nav--right{flex:0 0 auto;margin-left:auto;}
.wplm-search--mobile{display:none;}

/* ---------- Overlay + tiroir ---------- */
.wplm-overlay{position:fixed;inset:0;background:rgba(5,9,17,.55);opacity:0;pointer-events:none;transition:opacity .25s;z-index:99998;}
.wplm-overlay.is-open{opacity:1;pointer-events:auto;}
.wplm-overlay[hidden]{display:block;}

.wplm-drawer{
	position:fixed;top:0;left:0;height:100%;display:flex;align-items:stretch;
	transform:translateX(-100%);transition:transform .28s ease;z-index:99999;
	font-family:inherit;color:var(--wplm-text);max-width:100vw;
	overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;
}
.wplm-drawer.is-open{transform:translateX(0);}
.wplm-drawer[hidden]{display:flex;}
.wplm-drawer a{color:inherit;text-decoration:none;}
.wplm-drawer ul{list-style:none;margin:0;padding:0;}

/* Décalage sous la barre d'admin WordPress (uniquement si connecté) */
.admin-bar .wplm-drawer{top:32px;height:calc(100% - 32px);}
.admin-bar .wplm-overlay{top:32px;}
@media screen and (max-width:782px){
	.admin-bar .wplm-drawer{top:46px;height:calc(100% - 46px);}
	.admin-bar .wplm-overlay{top:46px;}
}

.wplm-panel{
	width:var(--wplm-panel-w);max-width:90vw;height:100%;flex:0 0 auto;position:relative;
	background:var(--wplm-bg-2);border-right:.5px solid var(--wplm-hair);
	display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;
}

.wplm-panel__head{
	display:flex;align-items:center;justify-content:space-between;
	padding:16px 18px;border-bottom:.5px solid var(--wplm-line);
	position:sticky;top:0;background:var(--wplm-bg-2);z-index:2;
}
.wplm-panel__title{font-size:13px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;}
.wplm-close{
	background:var(--wplm-chip-bg);color:var(--wplm-chip-text);border:0;cursor:pointer;width:30px;height:30px;border-radius:var(--wplm-radius);
	display:flex;align-items:center;justify-content:center;transition:background .15s;
}
.wplm-close:hover{background:var(--wplm-accent);color:#fff;}

/* Recherche du tiroir */
.wplm-panel__search{
	display:flex;align-items:center;gap:8px;margin:14px 18px 6px;color:var(--wplm-dim);
	background:var(--wplm-surface);border:.5px solid var(--wplm-line);border-radius:var(--wplm-radius);padding:9px 12px;
}
.wplm-panel__search input[type="search"]{
	flex:1;font-size:13px;min-width:0;padding:0;
	background:transparent !important;border:0 !important;outline:0 !important;
	color:var(--wplm-text) !important;box-shadow:none !important;-webkit-appearance:none;appearance:none;
}
.wplm-panel__search input[type="search"]:focus,
.wplm-panel__search input[type="search"]:hover{background:transparent !important;color:var(--wplm-text) !important;box-shadow:none !important;outline:0 !important;}
.wplm-panel__search input[type="search"]::placeholder{color:var(--wplm-dim);opacity:1;}

/* Sections */
.wplm-section{padding:8px 18px;}
.wplm-section__label{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--wplm-dim);margin:10px 0 8px;}
.wplm-section--selection .wplm-section__label{color:var(--wplm-accent);}
.wplm-section--selection ul{display:flex;flex-direction:column;gap:8px;}
.wplm-section--selection a{
	display:block;background:var(--wplm-hair-soft);border:.5px solid var(--wplm-hair);border-radius:var(--wplm-radius);
	padding:11px 13px;font-size:1rem;transition:border-color .15s;
}
.wplm-section--selection a:hover{border-color:var(--wplm-accent);}

/* ---------- Liste catalogue (niveau 1, dans le panel) ---------- */
.wplm-label{
	flex:1 1 auto;min-width:0;
	white-space:normal;              /* autorise le retour à la ligne, autant de lignes que nécessaire */
	line-height:1.25;
}
.wplm-cat-list{display:flex;flex-direction:column;}
.wplm-cat-list__item{
	display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;
	padding:12px 2px;font-size:1rem;color:var(--wplm-text);cursor:pointer;
	background:none;border:0;border-bottom:.5px solid var(--wplm-hair-soft);text-align:left;font-family:inherit;
	transition:color .15s;
}
.wplm-cat-list__item:last-child{border-bottom:0;}
.wplm-cat-list__item:hover{color:var(--wplm-accent);}
.wplm-cat-list__item.is-active{color:var(--wplm-accent);font-weight:500;}
.wplm-caret{width:7px;height:7px;flex:0 0 auto;border-top:2px solid var(--wplm-dim);border-right:2px solid var(--wplm-dim);transform:rotate(45deg);}
.wplm-cat-list__item:hover .wplm-caret,.wplm-cat-list__item.is-active .wplm-caret{border-color:var(--wplm-accent);}

/* Repli de la liste source brute (avant JS / si JS off : reste lisible) */
.wplm-cat .menu .sub-menu{padding-left:14px;}
.wplm-cat .menu a{display:block;padding:10px 2px;font-size:14px;border-bottom:.5px solid var(--wplm-hair-soft);}
.wplm-js .wplm-cat > .menu{display:none;}

/* ---------- Colonnes desktop (Miller columns) ---------- */
.wplm-col{
	width:var(--wplm-col-w);max-width:80vw;height:100%;flex:0 0 auto;overflow-y:auto;
	background:var(--wplm-bg-3);border-right:.5px solid var(--wplm-hair);
	animation:wplm-col-in .2s ease;
}
@keyframes wplm-col-in{from{opacity:0;transform:translateX(-10px);}to{opacity:1;transform:translateX(0);}}
.wplm-col__head{
	display:flex;align-items:center;justify-content:space-between;gap:8px;
	padding:14px 16px 10px;position:sticky;top:0;background:var(--wplm-bg-3);
	border-bottom:.5px solid var(--wplm-line);
}
.wplm-col__title{font-size:0.8rem;letter-spacing:.6px;text-transform:uppercase;color:var(--wplm-dim);}
.wplm-viewall{font-size:0.8rem;color:var(--wplm-accent);white-space:nowrap;text-decoration:underline;}
.wplm-col-list{display:flex;flex-direction:column;padding:6px 16px 16px;}
.wplm-col-list__item{
	display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;
	padding:11px 2px;font-size:1rem;color:var(--wplm-text);cursor:pointer;
	background:none;border:0;border-bottom:.5px solid var(--wplm-hair-soft);text-align:left;font-family:inherit;
	transition:color .15s;
}
.wplm-col-list__item:last-child{border-bottom:0;}
.wplm-col-list__item:hover{color:var(--wplm-accent);}
.wplm-col-list__item.is-active{color:var(--wplm-accent);font-weight:500;}

/* ---------- Footer du tiroir ---------- */
.wplm-foot{margin-top:auto;display:flex;gap:18px;flex-wrap:wrap;padding:16px 18px;border-top:.5px solid var(--wplm-line);}
.wplm-foot a{font-size:0.9rem;color:var(--wplm-muted);}
.wplm-foot a:hover{color:var(--wplm-text);}

/* ---------- Drill-down mobile (overlay sur le panel) ---------- */
.wplm-stack{
	position:absolute;inset:0;z-index:5;background:var(--wplm-bg-2);
	display:flex;flex-direction:column;
}
.wplm-stack__head{
	display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:.5px solid var(--wplm-line);
	position:sticky;top:0;background:var(--wplm-bg-2);
}
.wplm-stack__back{
	background:var(--wplm-chip-bg);color:var(--wplm-chip-text);border:0;cursor:pointer;width:32px;height:32px;border-radius:var(--wplm-radius);
	display:flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.wplm-stack__back:hover{background:var(--wplm-accent);color:#fff;}
.wplm-stack__title{flex:1;font-size:14px;font-weight:500;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.wplm-stack__view{flex:1;overflow-y:auto;padding:6px 16px 18px;animation:wplm-view-in .22s ease;}
.wplm-stack__view.is-back{animation:wplm-view-back .22s ease;}
@keyframes wplm-view-in{from{opacity:0;transform:translateX(24px);}to{opacity:1;transform:translateX(0);}}
@keyframes wplm-view-back{from{opacity:0;transform:translateX(-24px);}to{opacity:1;transform:translateX(0);}}
.wplm-stack__view .wplm-col-list__item{font-size:15px;padding:13px 2px;}

body.wplm-locked{overflow:hidden;}

/* ============================================================
   Responsive — bascule à 1024px
   ============================================================ */
@media (max-width:1023px){
	.wplm-bar{padding:0 16px;}
	.wplm-bar--top{min-height:58px;gap:10px;}
	.wplm-actions{gap:18px;}
	.wplm-action span{display:none;}
	/* La recherche du haut passe dans la barre nav, à droite du bouton Menu */
	.wplm-bar--top .wplm-search{display:none;}
	.wplm-bar--nav{min-height:52px;gap:12px;}
	.wplm-trigger__full{display:none;}
	.wplm-trigger__short{display:inline;}
	.wplm-nav--left,.wplm-nav--right{display:none;}
	.wplm-search--mobile{display:flex;flex:1 1 auto;padding:7px 14px;}

	/* Le tiroir prend toute la largeur, les colonnes desktop sont neutralisées */
	.wplm-panel{width:100vw;max-width:100vw;}
	.wplm-col{display:none;}
}
