/* Cartes produit (image dans un cadre sombre, étiquettes, nom et prix centrés, cœur + panier), carrousel, menu. */

.grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 1100px) { .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 800px) { .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } }
@media (max-width: 440px) { .grid { grid-template-columns: 1fr; } }

.pcard { background: var(--panel); border: 1px solid var(--line); border-radius: 20px; padding: 12px; display: flex; flex-direction: column; gap: 12px; transition: border-color .15s, box-shadow .15s, transform .15s; }
.pcard:hover { border-color: var(--pink); box-shadow: 0 16px 40px -22px var(--pink); transform: translateY(-3px); }

.pc-img { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 14px; overflow: hidden; background: radial-gradient(circle at 50% 38%, #1d1d26, #0b0b10 72%); border: 1px solid rgba(255, 255, 255, .05); }
.pc-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 10px; }

.chip-type, .chip-3d, .pc-img .badge { position: absolute; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; border-radius: 999px; padding: 4px 11px; line-height: 1.2; }
.chip-type { top: 10px; left: 10px; background: rgba(8, 8, 12, .82); border: 1px solid rgba(255, 255, 255, .22); color: #fff; }
.chip-3d { top: 10px; right: 10px; background: rgba(46, 204, 113, .14); border: 1px solid rgba(46, 204, 113, .75); color: #5be39a; }
.pc-img .badge { position: absolute; top: auto; right: auto; bottom: 10px; left: 10px; text-transform: none; letter-spacing: 0; }

.pc-name { text-align: center; display: grid; gap: 2px; padding: 0 4px; }
.pc-name h3 { margin: 0; font-size: 15px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.pc-name .price { font-size: 14px; color: #d6d6de; font-weight: 600; }

.pc-actions { display: flex; gap: 8px; margin-top: auto; }
.heart { flex: 0 0 46px; height: 42px; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; line-height: 1; color: var(--text); background: rgba(255, 255, 255, .07); border: 1px solid var(--line); border-radius: 12px; cursor: pointer; transition: color .12s, border-color .12s; }
.heart:hover { border-color: var(--pink); }
.heart.on { color: var(--pink); border-color: var(--pink); }
.addcart { flex: 1; padding: 10px 12px; font-size: 14px; }

/* carrousel "Best sellers" */
.slider-wrap .cat-head { justify-content: space-between; align-items: center; margin-bottom: 14px; }
.arrows { display: flex; gap: 8px; }
.arrows button { width: 40px; height: 40px; border-radius: 50%; background: var(--panel); border: 1px solid var(--line); color: var(--text); font-size: 22px; line-height: 1; cursor: pointer; }
.arrows button:hover { border-color: var(--pink); color: var(--pink); }
.slider { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 6px 2px 14px; }
.slider::-webkit-scrollbar { display: none; }
.slider .pcard { flex: 0 0 calc(25% - 15px); scroll-snap-align: start; }
@media (max-width: 1100px) { .slider .pcard { flex-basis: calc(33.333% - 14px); } }
@media (max-width: 800px) { .slider .pcard { flex-basis: calc(50% - 10px); } }
@media (max-width: 440px) { .slider .pcard { flex-basis: 82%; } }

/* menu du haut : Home / Men / Women / Kids | catégories */
.top nav .sep { width: 1px; height: 18px; background: var(--line); align-self: center; margin: 0 6px; }
.btn.wish { gap: 6px; }
.wish-count { background: var(--pink); color: #000; border-radius: 999px; padding: 0 7px; font-size: 12px; font-weight: 700; }

.btn.acct { gap: 8px; }
.btn.acct img { border-radius: 50%; }
