/* ==============================
   TIENDA GARAGE LABRIN
============================== */
.shop-section { padding-top: 56px; }
.shop-toolbar { margin-bottom: 26px; }
.shop-filter-form { display: grid; grid-template-columns: minmax(0, 1fr) 280px auto auto; gap: 14px; align-items: end; }
.shop-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.shop-card { background: linear-gradient(180deg,#10161d,#161d26); border: 1px solid #28313d; border-radius: 24px; overflow: hidden; box-shadow: 0 18px 45px rgba(0,0,0,.28); display: flex; flex-direction: column; }
.shop-image { height: 190px; display: grid; place-items: center; background: radial-gradient(circle at center, rgba(229,9,20,.28), #0d1218 62%); border-bottom: 1px solid #28313d; }
.shop-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.shop-image span { width: 82px; height: 82px; border-radius: 24px; display: grid; place-items: center; background: #fff; color: #e50914; border: 3px solid #e50914; font-weight: 900; font-size: 28px; }
.shop-body { padding: 22px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.shop-category { display: inline-flex; width: fit-content; padding: 6px 10px; border-radius: 999px; background: rgba(229,9,20,.12); color: #ff6570; border: 1px solid rgba(229,9,20,.35); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.shop-body h3 { margin: 0; font-size: 20px; line-height: 1.15; }
.shop-body p { margin: 0; color: #aab4c0; line-height: 1.5; font-size: 14px; flex: 1; }
.shop-meta { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.shop-meta strong { font-size: 22px; color: #fff; }
.shop-meta small { color: #aab4c0; font-weight: 800; }
.shop-add-form { display: grid; grid-template-columns: 135px 1fr; gap: 10px; align-items: center; }
.qty-control { display: grid; grid-template-columns: 36px minmax(0, 1fr) 36px; border: 1px solid #28313d; border-radius: 14px; overflow: hidden; background: #0d1218; }
.qty-control button { border: 0; background: #202a35; color: #fff; font-weight: 900; cursor: pointer; }
.qty-control input { width: 100%; border: 0; background: #0d1218; color: #fff; text-align: center; font-weight: 900; padding: 11px 6px; }
.qty-control.compact { max-width: 135px; }
.cart-total { display: flex; justify-content: flex-end; gap: 20px; align-items: baseline; margin: 24px 0; font-size: 22px; }
.cart-total span { color: #aab4c0; font-weight: 800; }
.cart-total strong { color: #fff; font-size: 32px; }
.inline-form { display: inline-flex; }
.danger { border-color: rgba(229,9,20,.5) !important; color: #ff8b93 !important; }
.admin-checks { display: flex; flex-wrap: wrap; gap: 18px; color: #dce3ea; font-weight: 800; }
.product-admin-list { display: grid; gap: 18px; }
.product-admin-card { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 20px; padding: 20px; background: #0d1218; border: 1px solid #28313d; border-radius: 20px; }
.product-admin-image { width: 150px; height: 150px; border-radius: 18px; display: grid; place-items: center; background: radial-gradient(circle at center, rgba(229,9,20,.25), #080b0f 65%); border: 1px solid #28313d; overflow: hidden; }
.product-admin-image img { width: 100%; height: 100%; object-fit: cover; }
.product-admin-image span { color: #ff2530; font-weight: 900; font-size: 28px; }
.product-admin-fields { min-width: 0; }
.solicitudes-list { display: grid; gap: 18px; }
.solicitud-card { background: #0d1218; border: 1px solid #28313d; border-radius: 20px; padding: 22px; }
.solicitud-head { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.solicitud-head h3 { margin: 12px 0 0; font-size: 24px; }
.solicitud-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.solicitud-actions input[type="text"] { flex: 1 1 280px; min-width: 240px; padding: 12px 14px; border-radius: 14px; border: 1px solid #28313d; background: #080b0f; color: #fff; }
@media (max-width: 1200px){ .shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.shop-filter-form{grid-template-columns:1fr 240px auto;} }
@media (max-width: 900px){ .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.shop-filter-form{grid-template-columns:1fr;}.product-admin-card{grid-template-columns:1fr}.product-admin-image{width:100%;height:220px}.shop-add-form{grid-template-columns:1fr;} }
@media (max-width: 560px){ .shop-grid{grid-template-columns:1fr;}.solicitud-head{display:block}.solicitud-actions{flex-direction:column}.solicitud-actions > *{width:100%;} }
