/* CSS global para vistas públicas de la tienda */

body {
  font-family: 'Inter', sans-serif;
  background-color: #f8f9fa;
}

.shop-header {
  background: #fff;
  border-bottom: 1px solid #e9ecef;
  margin-bottom: 2rem;
}

/* Tarjetas/containers comunes */
.card-soft, .cart-content, .cart-summary {
  background: #fff;
  border-radius: 0.75rem;
  border: 1px solid #e9ecef;
  box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.card-soft .card-header, .cart-content .card-header, .cart-summary .card-header {
  background: #f9fafb;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e9ecef;
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}

.btn-checkout {
  background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
  border: none;
  padding: 0.75rem 2rem;
  font-weight: 600;
  border-radius: 0.5rem;
  transition: all 0.15s ease;
}

.btn-checkout:hover { transform: translateY(-1px); box-shadow: 0 10px 25px rgba(59,130,246,0.3); }

/* Carrito */
.cart-item-row { padding: 1rem 0; border-bottom: 1px solid #e9ecef; }
.cart-item-row:last-child { border-bottom: none; }
.product-image, .product-placeholder { width: 80px; height: 80px; object-fit: contain; background: #f8f9fa; border-radius: 8px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,0.05);} 
.product-placeholder i { font-size: 1.8rem; }
.quantity-controls { display: flex; align-items: center; gap: .5rem; }
.quantity-btn { width: 34px; height: 34px; border: 1px solid #dee2e6; background: #fff; border-radius: .25rem; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all .15s ease; }
.quantity-btn:hover { background-color: #f1f5f9; border-color: #adb5bd; }
.quantity-input { width: 60px; text-align: center; border: 1px solid #dee2e6; border-radius: .25rem; padding: .375rem .5rem; }

.empty-cart { text-align: center; padding: 4rem 2rem; color: #6b7280; background: #fff; border-radius: .75rem; border: 1px solid #e9ecef; }
.empty-cart-icon { font-size: 4rem; color: #d1d5db; margin-bottom: 1rem; }

/* Galería producto en show (contenedores principales) - detalles finos quedan en shop-show.css si hace falta */
.main-image-container { position: relative; overflow: hidden; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,.1); cursor: zoom-in; }
.main-image { width: 100%; height: 400px; object-fit: contain; background: #f8f9fa; transition: transform .3s ease-in-out; transform-origin: center center; }
.main-image-container:hover .main-image { transform: scale(1.25); }
/* Miniaturas galería */
.thumbnail { cursor: pointer; border: 2px solid transparent; transition: all .3s ease; }
.thumbnail.active { border-color: #007bff; }
.product-gallery { position: sticky; top: 20px; }

/* Utilidades */
.alert-floating { position: fixed; top: 20px; right: 20px; z-index: 9999; min-width: 300px; }

/* ===== Estilos específicos de la vista de producto (show) ===== */
.product-info { background: #fff; border-radius: 15px; box-shadow: 0 5px 20px rgba(0,0,0,0.1); padding: 30px; }
.price-section { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #fff; border-radius: 12px; padding: 20px; margin-bottom: 25px; }
.quantity-selector { border-radius: 25px; overflow: hidden; }
.btn-add-cart { background: linear-gradient(45deg, #28a745, #20c997); border: none; border-radius: 25px; padding: 15px 30px; font-weight: 600; font-size: 1.1rem; transition: all .3s ease; }
.btn-add-cart:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(40,167,69,0.4); }
.related-products .card { transition: all .3s ease; border: none; box-shadow: 0 3px 15px rgba(0,0,0,0.1); }
.related-products .card:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0,0,0,0.15); }
.badge-stock { position: absolute; top: 15px; left: 15px; z-index: 10; }
.product-features { background: #f8f9fa; border-radius: 12px; padding: 20px; margin-bottom: 25px; }

/* Estilos para ofertas en vista de detalle */
.offer-prices-detail {
  position: relative;
}

.price-original-detail {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: line-through;
  font-size: 1.2em;
  display: block;
  margin-bottom: 5px;
}

.price-offer-detail {
  color: #ff6b6b !important;
  text-shadow: 0 2px 4px rgba(255, 107, 107, 0.3);
  animation: pulse-glow 2s infinite;
}

.discount-detail {
  display: inline-block;
  background: linear-gradient(45deg, #51cf66, #69db7c);
  color: white;
  padding: 4px 12px;
  border-radius: 15px;
  font-size: 0.9em;
  font-weight: 600;
  margin-top: 8px;
  box-shadow: 0 2px 8px rgba(81, 207, 102, 0.3);
  animation: bounce-small 3s infinite;
}

@keyframes pulse-glow {
  0% { text-shadow: 0 2px 4px rgba(255, 107, 107, 0.3); }
  50% { text-shadow: 0 4px 8px rgba(255, 107, 107, 0.6), 0 0 20px rgba(255, 107, 107, 0.2); }
  100% { text-shadow: 0 2px 4px rgba(255, 107, 107, 0.3); }
}

@keyframes bounce-small {
  0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
  40% { transform: translateY(-3px); }
  60% { transform: translateY(-2px); }
}


