/* ITR - Shop Layout : liste de produits et favoris. Les couleurs viennent des variables --itrsl-* (réglages). */

.itrsl-wrap{margin:0 0 1.5em}

.itrsl-products{
	list-style:none;margin:0 0 var(--itrsl-gap,16px);padding:0;
	display:grid!important;grid-template-columns:minmax(0,1fr);gap:var(--itrsl-gap,16px);
}
.itrsl-products::before,.itrsl-products::after{display:none!important;content:none!important}
.itrsl-products.itrsl-view-grid{grid-template-columns:repeat(var(--itrsl-cols,3),minmax(0,1fr))}

.itrsl-products li.itrsl-item{
	width:auto!important;float:none!important;margin:0!important;padding:0!important;
	clear:none!important;list-style:none;display:block;position:static;
}

.itrsl-card{
	box-sizing:border-box;height:100%;display:flex;flex-direction:column;min-height:var(--itrsl-card-h,0);
	background:var(--itrsl-card-bg,#fff);
	border:1px solid var(--itrsl-border,#e5e5e5);
	border-radius:var(--itrsl-radius,8px);
	padding:var(--itrsl-pad,16px);
	color:var(--itrsl-text,#565959);
	box-shadow:var(--itrsl-shadow,none);
}

.itrsl-card .itrsl-title{
	margin:0 0 12px;padding:0;font-size:1.15em;line-height:1.35;font-weight:600;
	color:var(--itrsl-title,#0f1111);
}
.itrsl-card .itrsl-title a{color:inherit;text-decoration:none}
.itrsl-card .itrsl-title a:hover{text-decoration:underline}
.itrsl-title-side .itrsl-body .itrsl-title{margin-bottom:4px}

.itrsl-row{display:flex;flex:1 1 auto;align-items:stretch;gap:calc(var(--itrsl-gap,16px) * 1.25)}

.itrsl-media{position:relative;align-self:flex-start;flex:0 0 var(--itrsl-img,28%);max-width:var(--itrsl-img,28%)}
.itrsl-media a{display:block}
.itrsl-media img{
	display:block;width:100%;height:var(--itrsl-img-h,auto);object-fit:var(--itrsl-fit,contain);
	margin:0;border-radius:calc(var(--itrsl-radius,8px) / 2);
}

.itrsl-badge{
	position:absolute;top:8px;left:8px;z-index:2;
	background:var(--itrsl-badge-bg,#cc0c39);color:var(--itrsl-badge-text,#fff);
	font-size:.75em;font-weight:700;line-height:1;padding:5px 8px;border-radius:4px;
}

.itrsl-body{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:8px}

.itrsl-rating{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.9em}
.itrsl-stars{display:inline-block;font-size:1.15em;letter-spacing:1px;line-height:1;white-space:nowrap}
.itrsl-stars span{
	background:linear-gradient(90deg,var(--itrsl-star,#f5a623) var(--itrsl-r,0%),#cfcfcf var(--itrsl-r,0%));
	-webkit-background-clip:text;background-clip:text;
	-webkit-text-fill-color:transparent;color:transparent;
}
.itrsl-score{font-weight:600;color:var(--itrsl-title,#0f1111)}
.itrsl-card .itrsl-count{color:var(--itrsl-text,#565959);text-decoration:none}
.itrsl-card .itrsl-count:hover{text-decoration:underline}
.itrsl-noreview{font-size:.95em;opacity:.8}

.itrsl-desc{margin:0;line-height:1.5;color:var(--itrsl-text,#565959)}

.itrsl-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.itrsl-price{font-size:1.25em;font-weight:700;color:var(--itrsl-price,#b12704)}
.itrsl-price del{opacity:.6;font-weight:400;font-size:.8em}
.itrsl-price ins{text-decoration:none}
.itrsl-stock{font-size:.9em}
.itrsl-stock--in{color:#007600}
.itrsl-stock--out{color:#b12704}

.itrsl-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto;padding-top:4px}
.itrsl-cart{display:inline-flex;flex:var(--itrsl-cart-flex,0 1 auto);flex-wrap:wrap;align-items:center;gap:8px}
.itrsl-cart .button,.itrsl-cart a.button{
	background:var(--itrsl-btn-bg,#ffd814)!important;color:var(--itrsl-btn-text,#0f1111)!important;
	border:0!important;border-radius:calc(var(--itrsl-radius,8px) * 2)!important;
	display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;
	width:var(--itrsl-cart-w,auto);min-height:var(--itrsl-btn-h,38px);
	padding:0 18px!important;font-size:var(--itrsl-btn-fs,14px)!important;font-weight:600;line-height:1.1;text-decoration:none;
	margin:0!important;cursor:pointer;
}
.itrsl-cart .button:hover{filter:brightness(.95)}
.itrsl-cart .added_to_cart{font-size:.9em;color:var(--itrsl-text,#565959)}

/* Favoris */
.itrsl-fav{
	display:inline-flex;align-items:center;gap:6px;cursor:pointer;position:relative;
	background:transparent;color:var(--itrsl-text,#565959);
	border:1px solid var(--itrsl-border,#e5e5e5);border-radius:calc(var(--itrsl-radius,8px) * 2);
	box-sizing:border-box;min-height:var(--itrsl-btn-h,38px);
	padding:0 14px;font:inherit;font-size:var(--itrsl-btn-fs,14px);line-height:1.2;
}
.itrsl-fav:hover{border-color:var(--itrsl-fav,#d63638)}
.itrsl-fav svg{width:calc(var(--itrsl-btn-fs,14px) + 5px);height:calc(var(--itrsl-btn-fs,14px) + 5px);flex:0 0 auto;fill:none;stroke:var(--itrsl-fav,#d63638);stroke-width:2;stroke-linejoin:round}
.itrsl-fav[aria-pressed="true"] svg{fill:var(--itrsl-fav,#d63638)}
.itrsl-fav--icon{padding:0 10px}
.itrsl-fav--icon .itrsl-fav-label{
	position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;
}
.itrsl-single-fav{margin:12px 0}

.itrsl-empty,.itrsl-loading{margin:1em 0}
.itrsl-login-required .button{display:inline-block}

/* Vue grille */
.itrsl-view-grid .itrsl-row{flex-direction:column}
.itrsl-view-grid .itrsl-media{flex-basis:auto;max-width:100%;width:100%}

/* Bouton Liste / Grille */
.itrsl-switch{display:flex;gap:6px;margin:0 0 var(--itrsl-gap,16px)}
.itrsl-switch button{
	background:#fff;color:#333;border:1px solid var(--itrsl-border,#ccc);border-radius:6px;
	padding:6px 12px;font:inherit;font-size:.9em;cursor:pointer;
}
.itrsl-switch button[aria-pressed="true"]{background:#333;color:#fff;border-color:#333}

/* Pagination du shortcode */
.itrsl-pagination ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.itrsl-pagination a,.itrsl-pagination span{
	display:block;min-width:36px;text-align:center;padding:7px 10px;border:1px solid var(--itrsl-border,#ccc);
	border-radius:6px;text-decoration:none;color:inherit;
}
.itrsl-pagination .current{background:#333;color:#fff;border-color:#333}

/* Message flottant */
.itrsl-toast{
	position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:999999;
	max-width:calc(100% - 32px);background:#1d2327;color:#fff;padding:12px 18px;border-radius:8px;
	font-size:.95em;line-height:1.4;box-shadow:0 4px 16px rgba(0,0,0,.25);
}
.itrsl-toast a{color:#ffd814;margin-left:10px;text-decoration:underline;white-space:nowrap}

/* ---------- Bandeau de filtres ---------- */
.itrsl-layout{
	display:grid;grid-template-columns:var(--itrsl-flt-w,260px) minmax(0,1fr);
	gap:calc(var(--itrsl-gap,16px) * 1.5);align-items:start;margin-bottom:1.5em;
}
.itrsl-results{min-width:0;transition:opacity .15s}
.itrsl-results.is-loading{opacity:.45;pointer-events:none}

.itrsl-filters{
	box-sizing:border-box;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto;
	background:var(--itrsl-card-bg,#fff);border:1px solid var(--itrsl-border,#e5e5e5);
	border-radius:var(--itrsl-radius,8px);padding:var(--itrsl-pad,16px);color:var(--itrsl-text,#565959);
}
.itrsl-filters *{box-sizing:border-box}
.itrsl-fhead{display:flex;justify-content:space-between;align-items:center;margin:0 0 4px}
.itrsl-ftitle{font-size:1.1em;color:var(--itrsl-title,#0f1111)}

.itrsl-fgroup{border-bottom:1px solid var(--itrsl-border,#e5e5e5);padding:12px 0}
.itrsl-fgroup summary{
	display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;
	font-weight:600;color:var(--itrsl-title,#0f1111);
}
.itrsl-fgroup summary::-webkit-details-marker{display:none}
.itrsl-fgroup summary::after{content:'+';font-weight:400;font-size:1.2em;line-height:1}
.itrsl-fgroup[open] summary::after{content:'–'}
.itrsl-fbody{display:flex;flex-direction:column;gap:8px;padding-top:10px}

.itrsl-opt{display:flex;align-items:center;gap:8px;margin:0;line-height:1.3;cursor:pointer}
.itrsl-opt input{margin:0;flex:0 0 auto}
.itrsl-opt .itrsl-stars{font-size:1.05em}
.itrsl-fbody select{width:100%;padding:7px 8px;border:1px solid var(--itrsl-border,#ccc);border-radius:6px;font:inherit;background:#fff;color:#222}

/* Curseur de prix à deux poignées */
.itrsl-range{position:relative;height:28px;margin:2px 8px 6px}
.itrsl-range-track{position:absolute;left:0;right:0;top:12px;height:4px;border-radius:2px;background:#d6d6d6}
.itrsl-range-fill{position:absolute;top:0;bottom:0;border-radius:2px;background:var(--itrsl-title,#0f1111)}
.itrsl-range input[type="range"]{
	position:absolute;left:0;top:0;width:100%;height:28px;margin:0;padding:0;background:none;
	pointer-events:none;-webkit-appearance:none;appearance:none;
}
.itrsl-range input[type="range"]::-webkit-slider-runnable-track{background:transparent;height:4px}
.itrsl-range input[type="range"]::-moz-range-track{background:transparent;height:4px}
.itrsl-range input[type="range"]::-webkit-slider-thumb{
	-webkit-appearance:none;pointer-events:auto;width:18px;height:18px;margin-top:-7px;border-radius:50%;
	background:#fff;border:2px solid var(--itrsl-title,#0f1111);cursor:pointer;
}
.itrsl-range input[type="range"]::-moz-range-thumb{
	pointer-events:auto;width:14px;height:14px;border-radius:50%;
	background:#fff;border:2px solid var(--itrsl-title,#0f1111);cursor:pointer;
}
.itrsl-price-fields{display:flex;align-items:center;gap:6px}
.itrsl-price-fields input{
	flex:1 1 0;min-width:0;width:100%;padding:6px 8px;border:1px solid var(--itrsl-border,#ccc);
	border-radius:6px;font:inherit;background:#fff;color:#222;
}

/* Pied du bandeau */
.itrsl-ffoot{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.itrsl-apply,.itrsl-fshow{
	background:var(--itrsl-btn-bg,#ffd814);color:var(--itrsl-btn-text,#0f1111);border:0;cursor:pointer;
	border-radius:calc(var(--itrsl-radius,8px) * 2);padding:10px 16px;font:inherit;font-weight:600;
}
.itrsl-js .itrsl-apply{display:none}
.itrsl-reset{text-align:center;font-size:.9em;color:var(--itrsl-text,#565959)}

/* Filtres actifs */
.itrsl-active{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 var(--itrsl-gap,16px)}
.itrsl-found{font-weight:600;color:var(--itrsl-title,#0f1111);margin-right:4px}
.itrsl-chip{
	display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:.85em;text-decoration:none;
	border:1px solid var(--itrsl-border,#ccc);border-radius:999px;background:var(--itrsl-card-bg,#fff);
	color:var(--itrsl-text,#565959);
}
.itrsl-chip::after{content:'×';font-size:1.2em;line-height:1}
.itrsl-chip:hover{border-color:var(--itrsl-title,#0f1111)}
.itrsl-clear{font-size:.85em;color:var(--itrsl-text,#565959)}

/* Barre mobile et tablette : entonnoir + « Trier par » (affichée par le CSS généré dans les réglages) */
.itrsl-toolbar{display:none;align-items:center;gap:10px;margin:0 0 var(--itrsl-gap,16px)}
.itrsl-ftoggle{
	position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
	width:44px;height:44px;padding:0;margin:0;cursor:pointer;
	border:1px solid var(--itrsl-border,#ccc);border-radius:999px;
	background:var(--itrsl-card-bg,#fff);color:var(--itrsl-title,#0f1111);
}
.itrsl-ftoggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.itrsl-fbadge{
	position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;
	background:var(--itrsl-badge-bg,#cc0c39);color:var(--itrsl-badge-text,#fff);
	font-size:11px;font-weight:700;line-height:18px;text-align:center;
}
.itrsl-tsort{
	flex:1 1 auto;min-width:0;max-width:280px;height:44px;margin:0;padding:0 14px;cursor:pointer;
	border:1px solid var(--itrsl-border,#ccc);border-radius:999px;
	background:var(--itrsl-card-bg,#fff);color:var(--itrsl-title,#0f1111);font:inherit;font-weight:600;
}
.itrsl-fclose{display:none;background:none;border:0;padding:0 4px;font-size:1.7em;line-height:1;cursor:pointer;color:inherit}
.itrsl-fshow{display:none}
.itrsl-filters .itrsl-ffoot{position:sticky;bottom:calc(var(--itrsl-pad,16px) * -1);background:var(--itrsl-card-bg,#fff);padding:10px 0 4px}
body.itrsl-lock{overflow:hidden}
body.itrsl-lock::after{content:'';position:fixed;inset:0;z-index:99997;background:rgba(0,0,0,.4)}
