/* ────────────────────────────────────────────────────────
   GEDI PRO — Catalogue Electrolux Professional v2
   Marine #041E50 · Or #C8923A · Beige #F0EBE3
──────────────────────────────────────────────────────── */
:root{
  --ge-marine:#041E50; --ge-gold:#C8923A; --ge-gold-lt:#F5EEE4;
  --ge-beige:#F0EBE3;  --ge-white:#FFFFFF;
  --ge-text:#2D3A4A;   --ge-muted:#718096;
  --ge-border:rgba(4,30,80,0.08); --ge-r:12px;
}

.ge-wrap{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ge-text);font-size:15px;line-height:1.7;}

/* ── TOOLBAR ──────────────────────────────────────────── */
.ge-toolbar{background:var(--ge-white);border:1px solid var(--ge-border);border-radius:var(--ge-r);padding:16px 20px;margin-bottom:24px;}
.ge-toolbar-top{display:flex;align-items:center;gap:14px;margin-bottom:0;}
.ge-toolbar:has(.ge-filters) .ge-toolbar-top{margin-bottom:14px;}

/* Search */
.ge-search-wrap{display:flex;align-items:center;gap:8px;background:var(--ge-beige);border:1.5px solid var(--ge-border);border-radius:8px;padding:8px 14px;flex:1;max-width:420px;transition:border-color .2s;}
.ge-search-wrap:focus-within{border-color:var(--ge-marine);}
.ge-search-wrap svg{flex-shrink:0;color:var(--ge-muted);}
.ge-search-input{background:none;border:none;outline:none;font-size:14px;color:var(--ge-text);font-family:inherit;width:100%;}
.ge-search-input::placeholder{color:var(--ge-muted);}
.ge-search-clear{background:none;border:none;cursor:pointer;color:var(--ge-muted);font-size:14px;padding:0;}

/* Filtres sous-catégorie */
.ge-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--ge-border);}
.ge-filter-btn{padding:6px 16px;border-radius:100px;font-size:12px;font-weight:500;cursor:pointer;border:1.5px solid var(--ge-border);background:var(--ge-white);color:var(--ge-muted);transition:all .18s;font-family:inherit;user-select:none;}
.ge-filter-btn:hover{border-color:var(--ge-gold);color:var(--ge-gold);}
.ge-filter-btn.active{background:var(--ge-marine);color:var(--ge-white);border-color:var(--ge-marine);}

/* Compteur */
.ge-count{margin-left:auto;font-size:13px;color:var(--ge-muted);font-weight:500;white-space:nowrap;flex-shrink:0;}

/* ── GRILLE ───────────────────────────────────────────── */
.ge-grid{display:grid;gap:20px;}
.ge-cols-2{grid-template-columns:repeat(2,1fr);}
.ge-cols-3{grid-template-columns:repeat(3,1fr);}
.ge-cols-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:960px){.ge-cols-3,.ge-cols-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:580px){.ge-cols-2,.ge-cols-3,.ge-cols-4{grid-template-columns:1fr;}.ge-toolbar-top{flex-wrap:wrap;}.ge-search-wrap{max-width:100%;}.ge-count{margin-left:0;}}

/* ── CARTE VERTICALE ──────────────────────────────────── */
.ge-card{background:var(--ge-white);border:1px solid var(--ge-border);border-radius:var(--ge-r);overflow:hidden;display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s;}
.ge-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(4,30,80,0.1);}
.ge-card.ge-hidden{display:none;}

/* Image carrée */
.ge-card-img{position:relative;width:100%;padding-top:100%;background:var(--ge-white);overflow:hidden;}
.ge-card-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--ge-border);}
.ge-card-img img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;padding:20px;background:var(--ge-white);transition:transform .3s;}
.ge-card:hover .ge-card-img img{transform:scale(1.04);}

/* Badges */
.ge-badge{position:absolute;top:10px;left:10px;z-index:1;background:var(--ge-marine);color:rgba(255,255,255,0.88);font-size:9px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:3px 8px;border-radius:4px;pointer-events:none;max-width:calc(100% - 70px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ge-ref-badge{position:absolute;top:10px;right:10px;z-index:1;background:var(--ge-gold-lt);color:var(--ge-gold);font-size:10px;font-weight:700;letter-spacing:0.06em;padding:3px 8px;border-radius:4px;pointer-events:none;}

/* Corps */
.ge-card-body{padding:18px 20px;flex:1;display:flex;flex-direction:column;background:var(--ge-white);}
.ge-card-title{font-size:14px;font-weight:600;color:var(--ge-marine);margin:0 0 7px;line-height:1.3;}
.ge-card-desc{font-size:12px;color:var(--ge-muted);line-height:1.6;margin:0 0 12px;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}

/* ── BOUTONS : Fiche + Devis UNIQUEMENT ───────────────── */
.ge-card-footer{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:12px;border-top:1px solid var(--ge-border);margin-top:auto;}
.ge-btn{display:flex;align-items:center;justify-content:center;gap:4px;padding:9px 8px;border-radius:7px;font-size:12px;font-weight:600;text-decoration:none;text-align:center;cursor:pointer;transition:all .18s;font-family:inherit;line-height:1;border:none;}
.ge-btn-fiche{background:var(--ge-beige);color:var(--ge-marine);border:1.5px solid var(--ge-border);}
.ge-btn-fiche:hover:not(.ge-btn-disabled){border-color:var(--ge-marine);background:#E8F0FB;color:var(--ge-marine);text-decoration:none;}
.ge-btn-disabled{opacity:0.4;cursor:not-allowed;pointer-events:none;}
.ge-btn-devis{background:var(--ge-gold);color:var(--ge-white);border:1.5px solid var(--ge-gold);}
.ge-btn-devis:hover{background:#b07d2e;border-color:#b07d2e;color:var(--ge-white);text-decoration:none;}

/* ── EMPTY STATE ──────────────────────────────────────── */
.ge-empty-state{grid-column:1/-1;text-align:center;padding:60px 20px;}
.ge-empty-state h3{font-size:16px;font-weight:600;color:var(--ge-marine);margin:0 0 8px;}
.ge-empty-state p{font-size:13px;color:var(--ge-muted);}
