.w-full{width:100%}
.input{flex:1 1 0%;min-width:0;box-sizing:border-box;height:3rem;border:1px solid #e5e7eb;border-radius:.5rem;padding:.625rem .9rem;font-size:1.125rem;margin-right:0}
.input::placeholder{font-size:1.125rem}
.btn{height:2.5rem;padding:0 1rem;border:none;border-radius:.5rem;background:#003D81;color:#fff;flex:0 0 auto}
#searchForm{gap:.5rem}
.filters{display:flex;gap:.5rem;padding:.5rem 0;align-items:center;flex-wrap:wrap}
.chip-input{display:none}
.chip-check{height:2rem;display:inline-flex;align-items:center;padding:0 .75rem;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#374151;cursor:pointer}
.chip-input:checked + .chip-check{background:#003D81;color:#fff;border-color:#003D81}
.mt-2{margin-top:.5rem}
.product-item{display:flex;align-items:center;background:#fff;margin:.5rem 0;padding:.75rem;border-radius:.75rem;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.thumb{width:64px;height:64px;border-radius:.5rem;object-fit:cover;margin-right:.75rem;background:#f3f4f6}
.info{flex:1}
.product-link{display:block;flex:1;text-decoration:none;color:inherit}
.name{font-size:1rem;color:#111827;font-weight:600}
.code{font-size:.75rem;color:#6b7280;margin-top:.125rem}
.price{font-size:1rem;color:#003D81;margin-top:.25rem}
.price-list{font-size:.875rem;color:#6b7280;text-decoration:line-through;margin-right:.5rem}
.price-sale{font-weight:700;color:#003D81;font-size:1.25rem}
.badge{font-size:.875rem;color:#374151;margin-top:.25rem}
.actions{display:flex;flex-direction:column;gap:.5rem;margin-left:.75rem;width:80px}
.btn-add{height:64px;width:80px;border:none;border-radius:.25rem;background:#f97316;color:#fff;padding:0;font-size:.875rem;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;gap:.25rem}
.btn-add-icon{font-size:1.25rem;line-height:1}
.btn-add-text{font-size:.9rem;line-height:1}
.btn-secondary{height:2.5rem;border:none;border-radius:.5rem;background:#e5e7eb;color:#111827;padding:0 .75rem}
.btn-secondary.btn-search{font-size:1.1rem}
.empty{padding:1rem;color:#6b7280}
.toast{position:fixed;bottom:6rem;left:50%;transform:translateX(-50%);background:#111827;color:#fff;padding:.5rem .75rem;border-radius:.5rem;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.hidden{display:none}
@media (min-width:768px){
  .product-item{min-height:5.5rem}
}
@media (max-width:640px){
  .input{margin-right:0}
}
/* PDP */
.pdp{padding-bottom:5.5rem}
.carousel{width:100%;background:#fff}
.carousel-track{position:relative;overflow:hidden;width:100%;height:240px}
.carousel-slide{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.carousel-img{width:92%;height:92%;object-fit:cover;border-radius:.75rem}
.carousel-dots{display:flex;gap:.25rem;justify-content:center;padding:.5rem 0}
.carousel-dots .dot{width:.5rem;height:.5rem;border-radius:999px;background:#e5e7eb;cursor:pointer}
.carousel-dots .dot.active{background:#003D81}
.carousel-track{user-select:none}


.pdp-header{padding:.75rem 0}
.pdp-title{font-size:1.25rem;font-weight:700;color:#111827}
.pdp-subtitle{font-size:.875rem;color:#6b7280}

.pdp-pricing{display:flex;align-items:center;gap:.5rem;padding:.5rem 0}
.pdp-unit{font-size:.875rem;color:#6b7280}

.pdp-stock{background:#fff;border-radius:.75rem;box-shadow:0 1px 2px rgba(0,0,0,.06);padding:.75rem;margin:.5rem 0}
.stock-row{display:flex;align-items:center;justify-content:space-between;margin:.25rem 0}
.stock-label{color:#374151;font-size:1rem}
.stock-value{color:#111827;font-weight:600;font-size:1.125rem}
.stock-more{border:none;background:#003D81;color:#fff;border-radius:.5rem;padding:.375rem .75rem}
.warehouses-panel{margin-top:.5rem; background:#fff; border-radius:.75rem; box-shadow:0 1px 2px rgba(0,0,0,.06); padding:.5rem}
.wh-header{color:#6b7280;text-align:center;font-size:.875rem;margin-bottom:.25rem}
.warehouses-table{max-height:60vh; overflow-y:auto; border-radius:.5rem}
.wh-table{width:100%; border-collapse:collapse}
.wh-table tr{min-height:48px}
.wh-table tr:nth-child(odd){background:#f9fafb}
.wh-table tr:nth-child(even){background:#fff}
.wh-table td{padding:.5rem .75rem}
.wh-name{font-size:.95rem; color:#111827}
.wh-qty{font-weight:600; text-align:right; color:#111827}

.pdp-description{padding:.5rem 0}
.desc-title{font-size:1rem;color:#374151;font-weight:600;margin-bottom:.25rem}
.desc-text{font-size:.95rem;color:#111827;line-height:1.4}

.pdp-specs{margin:.75rem 0}
.spec-title{font-size:1rem;color:#374151;font-weight:600;margin-bottom:.25rem}
.spec-table{width:100%;border-collapse:collapse;background:#fff;border-radius:.5rem;overflow:hidden}
.spec-table tr:nth-child(odd){background:#f9fafb}
.spec-table td{padding:.5rem .75rem;font-size:.875rem;color:#111827}
.spec-table td:first-child{color:#6b7280;width:40%}

.pdp-sticky{position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -2px 8px rgba(0,0,0,.06);padding:.5rem .75rem;display:flex;gap:.75rem;align-items:center;z-index:80}
.qty{display:flex;align-items:center;background:#f3f4f6;border-radius:.75rem;padding:.25rem}
.btn-qty{width:44px;height:44px;border:none;background:#e5e7eb;border-radius:.5rem;color:#111827;font-size:1.25rem}
.qty-input{width:6ch;height:44px;border:none;background:#fff;border-radius:.5rem;margin:0 .25rem;text-align:center;font-size:1.25rem}
.btn-cart{flex:1;height:48px;border:none;border-radius:.75rem;background:#f97316;color:#fff;font-size:1.125rem}
.pdp-actions{display:flex;gap:.75rem;align-items:center;margin:.5rem 0;flex-wrap:wrap}
