/* Archive produit — design dgtl v2 (port fidele categorie-sites-web.html + sous-categorie-shopify.html). */

.dgtl-shop-archive{padding-bottom:60px}
.dgtl-shop-archive .crumb{max-width:1480px;margin:18px auto 6px;padding:0 20px;display:flex;gap:8px;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0.06em;text-transform:uppercase;flex-wrap:wrap}
.dgtl-shop-archive .crumb a{color:var(--fg);border-bottom:1px solid transparent}
.dgtl-shop-archive .crumb a:hover{border-color:var(--fg)}
.dgtl-shop-archive .crumb b{color:var(--fg);font-weight:600}
.dgtl-shop-archive .crumb i{color:var(--muted);font-style:normal}

/* ---------- RAYON PARENT : cathero ---------- */
.cathero{max-width:1480px;margin:14px auto 0;padding:0 20px}
.cathero__box{border-radius:22px;background:var(--fg);color:var(--bg);padding:44px 48px;display:grid;grid-template-columns:1.3fr 1fr;gap:32px;position:relative;overflow:hidden;min-height:260px}
@media(max-width:860px){.cathero__box{grid-template-columns:1fr;padding:32px 24px}}
.cathero__box::before{content:'';position:absolute;top:-30%;right:-10%;width:50%;height:160%;background:radial-gradient(circle,color-mix(in oklch,var(--accent) 55%,transparent),transparent 60%);pointer-events:none}
.cathero__eye{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:color-mix(in oklch,var(--bg) 60%,transparent);position:relative}
.cathero h1{font-size:clamp(38px,5vw,72px);font-weight:700;letter-spacing:-0.035em;line-height:0.95;margin:14px 0 0;position:relative;text-wrap:balance;color:var(--bg)}
.cathero h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--accent)}
.cathero p{font-size:16px;line-height:1.5;color:color-mix(in oklch,var(--bg) 72%,transparent);margin:18px 0 0;position:relative;max-width:56ch}
.cathero__stats{display:flex;gap:24px;margin-top:22px;position:relative;flex-wrap:wrap}
.cathero__stats > div{border-left:2px solid var(--accent);padding-left:12px}
.cathero__stats b{display:block;font-size:22px;font-weight:700;letter-spacing:-0.02em;color:var(--bg)}
.cathero__stats span{font-family:var(--mono);font-size:10.5px;color:color-mix(in oklch,var(--bg) 60%,transparent);text-transform:uppercase;letter-spacing:0.08em}
.cathero__right{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:end}
.subcat{border:1px solid color-mix(in oklch,var(--bg) 20%,transparent);padding:12px 14px;border-radius:12px;color:var(--bg);transition:all 200ms;background:color-mix(in oklch,var(--bg) 6%,transparent);text-decoration:none}
.subcat:hover{background:var(--accent);border-color:var(--accent)}
.subcat b{display:block;font-size:14px;font-weight:600;margin-bottom:2px;color:var(--bg)}
.subcat span{font-family:var(--mono);font-size:10.5px;color:color-mix(in oklch,var(--bg) 60%,transparent);text-transform:uppercase;letter-spacing:0.06em}
.subcat:hover span{color:rgba(255,255,255,0.85)}

/* ---------- SOUS-RAYON : shero ---------- */
.shero{max-width:1480px;margin:14px auto 0;padding:0 20px}
.shero__box{border-radius:22px;background:color-mix(in oklch,var(--accent) 12%, var(--bg));padding:36px 40px;display:grid;grid-template-columns:1.4fr 1fr;gap:28px;position:relative;overflow:hidden}
@media(max-width:860px){.shero__box{grid-template-columns:1fr;padding:28px 22px}}
.shero__eye{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted)}
.shero h1{font-size:clamp(36px,4.6vw,64px);font-weight:700;letter-spacing:-0.032em;line-height:0.98;margin:10px 0 12px;color:var(--fg);text-wrap:balance}
.shero h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--accent)}
.shero p{font-size:15.5px;line-height:1.55;color:var(--fg);max-width:54ch;margin:0}
.shero__stats{display:flex;gap:20px;margin-top:18px;flex-wrap:wrap}
.shero__stats > div{border-left:2px solid var(--accent);padding-left:11px}
.shero__stats b{display:block;font-size:20px;font-weight:700;letter-spacing:-0.02em;color:var(--fg)}
.shero__stats span{font-family:var(--mono);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em}
.shero__art{border-radius:16px;overflow:hidden;background:var(--bg);aspect-ratio:4/3;align-self:center;border:1px solid var(--hairline)}
.shero__art svg{display:block;width:100%;height:100%}

/* ---------- Comparateur ---------- */
.scomp{max-width:1480px;margin:32px auto 0;padding:0 20px}
.scomp > h2{font-family:var(--mono);font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0 0 14px}
.scomptab{background:var(--surface);border:1px solid var(--hairline);border-radius:16px;overflow:hidden}
.scomptab .scroll{overflow-x:auto}
.scomptab table{width:100%;border-collapse:collapse;font-size:13.5px}
.scomptab th{background:var(--surface-2);padding:14px 16px;text-align:left;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);font-weight:600;border-bottom:1px solid var(--hairline);white-space:nowrap}
.scomptab th.pop{background:var(--fg);color:var(--bg)}
.scomptab td{padding:14px 16px;border-bottom:1px solid var(--hairline);vertical-align:middle;color:var(--fg)}
.scomptab tr:last-child td{border-bottom:0}
.scomptab td.pop{background:color-mix(in oklch,var(--accent) 6%,transparent);font-weight:600}
.scomptab td b{color:var(--fg);font-weight:600}
.scomptab .yes{color:var(--good, #2dba4a);font-weight:700}
.scomptab .no{color:var(--muted);opacity:0.5}
.scomptab .price{font-family:var(--mono);font-weight:700;font-size:14px}
.scomptab .price b{font-size:18px}
.scomptab a.btn-ghost{display:block;padding:10px;text-align:center;border:1.5px solid var(--line);border-radius:8px;font-size:13px;font-weight:600;color:var(--fg);text-decoration:none}
.scomptab a.btn-accent{display:block;padding:10px;text-align:center;background:var(--accent);color:#fff;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none}

/* ---------- Layout liste : filtres + produits ---------- */
.catlay,.sbot{max-width:1480px;margin:40px auto 0;padding:0 20px;display:grid;grid-template-columns:260px 1fr;gap:30px}
@media(max-width:980px){.catlay,.sbot{grid-template-columns:1fr}}

.fside{position:sticky;top:100px;align-self:start;background:var(--surface);border:1px solid var(--hairline);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:22px}
.fside h4{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.08em;margin:0 0 10px;color:var(--muted);font-weight:600}
.fside label{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:13.5px;cursor:pointer;color:var(--fg)}
.fside label input{accent-color:var(--accent)}
.fside label span{color:var(--muted);font-family:var(--mono);font-size:11.5px;margin-left:auto}
.fside__range{display:flex;gap:8px;align-items:center}
.fside__range input{flex:1;width:100%;padding:7px 10px;border:1.5px solid var(--hairline);border-radius:8px;font:inherit;font-size:12.5px;background:var(--bg);color:var(--fg)}
.fside__range span{color:var(--muted)}
.fside__actions{display:flex;gap:8px;margin-top:4px}
.fside__apply{flex:1;padding:10px;border:0;border-radius:8px;background:var(--fg);color:var(--bg);font-family:var(--mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;font-weight:700}
.fside__reset{flex:1;padding:10px;border:1.5px solid var(--hairline);border-radius:8px;background:var(--bg);color:var(--fg);font-family:var(--mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;text-decoration:none;text-align:center}

.catmain{min-width:0}
.cattop{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface);margin-bottom:16px;font-family:var(--mono);font-size:12px;flex-wrap:wrap;gap:12px;color:var(--muted)}
.cattop b{color:var(--fg);font-weight:700}
.cattop select,.cattop .woocommerce-ordering select{background:var(--bg);border:1.5px solid var(--hairline);border-radius:8px;padding:7px 12px;font:inherit;font-size:12px;cursor:pointer;color:var(--fg)}
.cattop__tools{display:flex;gap:10px;align-items:center}
.cattop__view{display:flex;gap:4px}
.cattop__view button{width:30px;height:30px;border:1.5px solid var(--hairline);border-radius:7px;display:grid;place-items:center;font-size:12px;background:transparent;color:var(--fg);cursor:pointer}
.cattop__view button.is-active,.cattop__view button[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}

.dgtl-shop-archive ul.products,.dgtl-shop-archive .pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin:0;padding:0;list-style:none}
.dgtl-shop-archive.is-list ul.products,.dgtl-shop-archive.is-list .pgrid{grid-template-columns:1fr}
.dgtl-shop-archive.is-list .pcard{display:grid;grid-template-columns:200px 1fr}
.dgtl-shop-archive.is-list .pcard__media{aspect-ratio:auto;height:100%}

/* Pagination */
.pager{display:flex;justify-content:center;gap:6px;margin:30px 0 60px;list-style:none;padding:0}
.pager a,.pager span,.pager .page-numbers{padding:9px 13px;border:1.5px solid var(--hairline);border-radius:8px;font-family:var(--mono);font-size:12px;font-weight:600;min-width:36px;text-align:center;color:var(--fg);display:inline-block}
.pager .page-numbers.current,.pager a.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.pager a:hover{border-color:var(--line)}

/* ---------- Guide sous-rayon ---------- */
.sguide{max-width:1480px;margin:52px auto 0;padding:0 20px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:860px){.sguide{grid-template-columns:1fr}}
.sguide__c{background:var(--surface);border:1px solid var(--hairline);border-radius:16px;padding:24px}
.sguide__c h3{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.08em;margin:0 0 14px;color:var(--muted);font-weight:600}
.sguide__c h4{font-size:22px;font-weight:600;letter-spacing:-0.02em;margin:0 0 10px;color:var(--fg)}
.sguide__c h4 em{font-family:var(--serif);font-style:italic;font-weight:400}
.sguide__c p{font-size:14px;line-height:1.55;color:var(--muted);margin:0 0 14px}
.sguide__c ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.sguide__c li{display:flex;gap:10px;font-size:13.5px;padding:8px 0;border-top:1px dashed var(--hairline);color:var(--fg)}
.sguide__c li:first-child{border-top:0}
.sguide__c li b{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:0.04em;min-width:60px;text-transform:uppercase;font-weight:600;padding-top:2px}

/* ---------- FAQ ---------- */
.faq{max-width:1480px;margin:40px auto 0;padding:0 20px}
.faq h2{font-size:clamp(24px,2.6vw,34px);font-weight:700;letter-spacing:-0.025em;margin:0 0 10px;color:var(--fg)}
.faq h2 em{font-family:var(--serif);font-style:italic;font-weight:400}
.faq details{border-bottom:1px solid var(--hairline);padding:16px 0}
.faq summary{font-weight:500;font-size:16px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;color:var(--fg)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-family:var(--mono);font-size:22px;color:var(--accent)}
.faq details[open] summary::after{content:'−'}
.faq p{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.55;max-width:80ch}

/* ---------- Empty state ---------- */
.archive-empty{padding:60px 20px;text-align:center;background:var(--surface);border:1px dashed var(--hairline);border-radius:16px;color:var(--muted)}
.archive-empty h3{font-size:22px;font-weight:700;margin:0 0 8px;color:var(--fg)}

/* ---------- AJAX loading ---------- */
.catmain__results{position:relative;min-height:200px;transition:opacity 180ms ease}
.catmain__results.is-loading{opacity:.45;pointer-events:none}
.catmain__results.is-loading::after{content:'';position:absolute;top:24px;left:50%;width:28px;height:28px;margin-left:-14px;border:2.5px solid var(--hairline);border-top-color:var(--accent);border-radius:50%;animation:dgtl-spin 720ms linear infinite;z-index:2}
@keyframes dgtl-spin{to{transform:rotate(360deg)}}

/* Pagination générée côté AJAX (paginate_links type=list). */
.catmain__results .woocommerce-pagination ul.page-numbers{list-style:none;display:flex;gap:6px;padding:0;margin:0;flex-wrap:wrap}
.catmain__results .woocommerce-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border-radius:8px;border:1.5px solid var(--hairline);background:var(--surface);font-family:var(--mono);font-size:12px;font-weight:600;color:var(--fg);text-decoration:none}
.catmain__results .woocommerce-pagination .page-numbers:hover{border-color:var(--line)}
.catmain__results .woocommerce-pagination .page-numbers.current{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.catmain__results .woocommerce-pagination .page-numbers.dots{border-color:transparent;background:transparent;color:var(--muted)}

/* Disclosure d'affiliation — mention discrète sous le CTA Fiverr en listing (DGCCRF). */
.dgtl-loop-cta__aff{display:block;margin-top:4px;font-family:var(--mono);font-size:10px;letter-spacing:0.04em;text-transform:uppercase;color:var(--muted);font-style:normal}

/* === Mobile : drawer filtres + fond solide sur la grille === */
/* Bouton "Filtres" : visible uniquement en mobile, masqué desktop */
.cattop__filter-toggle{display:none;align-items:center;gap:8px;padding:8px 14px;border:1.5px solid var(--line);border-radius:8px;background:var(--fg);color:var(--bg);font-family:var(--mono);font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;font-weight:700;cursor:pointer}
.cattop__filter-toggle:hover{background:var(--accent);border-color:var(--accent)}
.cattop__filter-toggle span{font-size:14px;line-height:1}
/* Close button du drawer : masqué desktop, visible mobile */
.fside__close{display:none;position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--hairline);background:var(--bg);font-size:22px;line-height:1;color:var(--fg);cursor:pointer;z-index:2;align-items:center;justify-content:center;padding:0}
.fside__close:hover{border-color:var(--fg);background:var(--fg);color:var(--bg)}
/* Fond solide sur la grille produits : empêche de voir le drawer derrière au scroll mobile */
.catmain__results{background:var(--bg);position:relative;z-index:1}

@media (max-width:980px){
	.cattop__filter-toggle{display:inline-flex}
	/* Le sidebar devient un bottom-sheet drawer, off-screen par défaut */
	.fside{
		position:fixed;left:0;right:0;bottom:0;top:auto;
		max-height:85vh;overflow-y:auto;-webkit-overflow-scrolling:touch;
		z-index:60;
		transform:translateY(100%);transition:transform 260ms cubic-bezier(.2,.8,.2,1);
		border-radius:16px 16px 0 0;
		border:1px solid var(--hairline);border-bottom:0;
		box-shadow:0 -10px 40px rgba(0,0,0,0.18);
		padding:48px 18px 24px;  /* padding-top plus large pour laisser place au close */
	}
	.fside.is-open{transform:translateY(0)}
	.fside__close{display:inline-flex}
	/* Backdrop sombre derrière le drawer quand ouvert */
	body.dgtl-filters-open::before{
		content:'';position:fixed;inset:0;background:rgba(10,10,10,0.55);
		z-index:59;
		animation:dgtl-filters-fade 200ms ease-out;
	}
	@keyframes dgtl-filters-fade{from{opacity:0}to{opacity:1}}
	/* Empêche le scroll du body quand le drawer est ouvert */
	body.dgtl-filters-open{overflow:hidden}
}
