/* Ajax Attribute Filter Pro – Base CSS
 * Source: /src/ajaxaf-pro.css
 */

#ajaxaf-wrapper{--ajaxaf-rouge:#f34e47;--ajaxaf-or:#C4A86A;--ajaxaf-brun:#000;--ajaxaf-gris:#8C8070;--ajaxaf-blanc:#fff;--ajaxaf-border:#E2D9CC;--ajaxaf-bg-card:#fff;--ajaxaf-font-sans:system-ui,sans-serif;--ajaxaf-radius:5px;--ajaxaf-cols:3}
#ajaxaf-wrapper{display:flex;gap:40px;align-items:flex-start;font-family:var(--ajaxaf-font-sans);color:var(--ajaxaf-brun);width:100%}
.ajaxaf-sidebar{width:22%;min-width:180px;flex-shrink:0;position:sticky;top:100px}
.ajaxaf-sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.ajaxaf-sidebar-title{font-size:10px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--ajaxaf-gris)}
.ajaxaf-reset{font-size:11px;color:var(--ajaxaf-gris);background:none;border:none;cursor:pointer;text-decoration:underline;padding:0}
.ajaxaf-reset:hover{color:var(--ajaxaf-rouge)}
.ajaxaf-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px;min-height:4px}
.ajaxaf-tag{background:var(--ajaxaf-rouge);color:#fff;font-size:11px;padding:3px 8px 3px 10px;border-radius:20px;display:flex;align-items:center;gap:4px}
.ajaxaf-tag-x{cursor:pointer;font-size:14px;line-height:1;opacity:.7}
.ajaxaf-tag-x:hover{opacity:1}
.ajaxaf-group{margin-bottom:24px}
.ajaxaf-group-title{font-size:14px;font-weight:600;color:var(--ajaxaf-brun);padding-bottom:8px;border-bottom:1px solid var(--ajaxaf-border);display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;margin-bottom:6px}
.ajaxaf-arrow{font-size:12px;color:var(--ajaxaf-gris);transition:transform .2s}
.ajaxaf-group.closed .ajaxaf-arrow{transform:rotate(-90deg)}
.ajaxaf-list{list-style:none!important;padding:0!important;margin:0!important;overflow:hidden;max-height:500px;transition:max-height .3s ease}
.ajaxaf-group.closed .ajaxaf-list{max-height:0}
.ajaxaf-item{display:flex!important;align-items:center!important;gap:9px!important;padding:10px 0!important;border-bottom:1px solid #EDE8E0!important;cursor:pointer!important;user-select:none!important}
.ajaxaf-item:last-child{border-bottom:none!important}
.ajaxaf-item:hover .ajaxaf-cb{border-color:var(--ajaxaf-rouge)}
.ajaxaf-item:hover .ajaxaf-label{color:var(--ajaxaf-rouge)}
.ajaxaf-cb{width:14px!important;height:14px!important;min-width:14px!important;border:1.5px solid #BDB0A0!important;border-radius:var(--ajaxaf-radius)!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:background .18s,border-color .18s;position:relative!important;flex-shrink:0!important}
.ajaxaf-item.active .ajaxaf-cb{background:var(--ajaxaf-rouge)!important;border-color:var(--ajaxaf-rouge)!important}
.ajaxaf-item.active .ajaxaf-cb::after{content:""!important;width:8px!important;height:5px!important;border-left:1.5px solid #fff!important;border-bottom:1.5px solid #fff!important;transform:rotate(-45deg) translateY(-1px)!important;display:block!important}
.ajaxaf-label{font-size:13px;font-weight:300;color:#4A3828;flex:1;transition:color .15s}
.ajaxaf-item.active .ajaxaf-label{color:var(--ajaxaf-rouge);font-weight:500}
.ajaxaf-count-badge{font-size:11px;color:#fff;background:#888;padding:1px 7px;border-radius:15px}
.ajaxaf-products{flex:1;min-width:0;border-left:1px solid var(--ajaxaf-border);padding-left:40px}
.ajaxaf-products-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--ajaxaf-border)}
.ajaxaf-count-label{font-size:12px;color:var(--ajaxaf-gris);letter-spacing:.08em}
.ajaxaf-sort{font-size:12px;border:1px solid var(--ajaxaf-border);border-radius:4px;padding:4px 8px;color:var(--ajaxaf-brun);background:#fff;cursor:pointer}
.ajaxaf-grid{display:grid;grid-template-columns:repeat(var(--ajaxaf-cols),1fr);gap:20px}
.ajaxaf-card{background:var(--ajaxaf-bg-card);border:1px solid var(--ajaxaf-border);border-radius:var(--ajaxaf-radius);overflow:hidden;transition:box-shadow .2s,transform .2s;animation:ajaxafCardIn .25s ease both}
.ajaxaf-card:hover{box-shadow:0 6px 24px rgba(44,26,14,.12);transform:translateY(-2px)}
.ajaxaf-card-img{aspect-ratio:3/4;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center}
.ajaxaf-card-img img{width:100%;height:100%;object-fit:contain;object-position:center center;transition:transform .4s ease}
.ajaxaf-card-body{padding:12px 14px 14px}
.ajaxaf-card-appellation{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ajaxaf-or);margin-bottom:3px;font-weight:500}
.ajaxaf-card-name{font-size:14px;font-weight:500;margin-bottom:3px;line-height:1.3}
.ajaxaf-card-name a{color:var(--ajaxaf-brun);text-decoration:none}
.ajaxaf-card-name a:hover{color:var(--ajaxaf-rouge)}
.ajaxaf-card-meta{font-size:11px;color:var(--ajaxaf-gris);margin-bottom:10px}
.ajaxaf-card-footer{display:flex;flex-direction:column;align-items:center;gap:8px}
.ajaxaf-card-price{font-size:17px;font-weight:600;color:var(--ajaxaf-rouge)}
.ajaxaf-card-btn{font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ajaxaf-brun);border:1px solid var(--ajaxaf-brun);padding:5px 12px;border-radius:var(--ajaxaf-radius);cursor:pointer;background:none;white-space:nowrap;transition:background .18s,color .18s,border-color .18s}
.ajaxaf-card-btn:hover{background:var(--ajaxaf-brun);color:#fff}
.ajaxaf-empty{grid-column:1/-1;text-align:center;padding:60px 20px;font-size:18px;font-style:italic;color:var(--ajaxaf-gris)}
.ajaxaf-loading{grid-column:1/-1;display:flex;justify-content:center;padding:60px 0}
.ajaxaf-spinner{width:28px;height:28px;border:2px solid var(--ajaxaf-border);border-top-color:var(--ajaxaf-rouge);border-radius:50%;animation:ajaxafSpin .7s linear infinite}
@keyframes ajaxafSpin{to{transform:rotate(360deg)}}
@keyframes ajaxafCardIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){#ajaxaf-wrapper{flex-direction:column}.ajaxaf-sidebar{width:100%;position:static}.ajaxaf-products{border-left:none;padding-left:0}#ajaxaf-wrapper{--ajaxaf-cols:2}}
@media(max-width:540px){#ajaxaf-wrapper{--ajaxaf-cols:1}}
