:root {
    --color-rojo: #D90429;
    --color-rojo-oscuro: #4A0002;
    --color-negro: #111113;
    --color-gris-oscuro: #1A1A1E;
    --color-plata: #CCCCCC;
    --color-cromo: #F8F9FA;
    --color-blanco: #FFFFFF;
}
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, sans-serif; }
body {
    background-color: var(--color-rojo-oscuro);
    background-image: linear-gradient(rgba(17, 17, 19, 0.9), rgba(17, 17, 19, 0.95)), radial-gradient(var(--color-rojo) 0.5px, transparent 0.5px);
    background-size: 20px 20px; color: var(--color-cromo); padding-top: 80px; min-height: 100vh;
}
.navbar { position: fixed; top: 0; left: 0; width: 100%; height: 80px; background-color: var(--color-negro); display: flex; justify-content: space-between; align-items: center; padding: 0 5%; z-index: 1000; border-bottom: 4px solid var(--color-rojo); box-shadow: 0 4px 15px rgba(0,0,0,0.5); }
.logo-text { font-size: 24px; font-weight: bold; color: var(--color-cromo); }
.text-red { color: var(--color-rojo); }
.navbar nav ul { display: flex; list-style: none; gap: 30px; }
.navbar nav ul li a { color: var(--color-plata); text-decoration: none; font-weight: 600; }
.navbar nav ul li a:hover, .navbar nav ul li a.active { color: var(--color-rojo); }
.cart-nav-icon { position: relative; cursor: pointer; font-size: 20px; }
#cart-count { position: absolute; top: -8px; right: -10px; background-color: var(--color-rojo); color: white; font-size: 11px; padding: 2px 6px; border-radius: 50%; }
.section-container { max-width: 900px; margin: 40px auto; padding: 0 20px; }
.content-box { background-color: var(--color-gris-oscuro); border: 1px solid #2A2A2E; border-radius: 10px; padding: 35px; }
.content-box h2 { font-size: 26px; border-left: 4px solid var(--color-rojo); padding-left: 12px; margin-bottom: 20px; }
.dynamic-form { display: flex; flex-direction: column; gap: 15px; }
.form-group { display: flex; flex-direction: column; gap: 5px; }
.form-group input, .form-group select, .form-group textarea { background-color: var(--color-negro); border: 1px solid #333; color: white; padding: 10px; border-radius: 4px; }
.radio-group { display: flex; gap: 15px; }
.btn-submit { background-color: var(--color-rojo); color: white; border: none; padding: 12px; font-weight: bold; border-radius: 4px; cursor: pointer; }
.catalog-container { display: flex; max-width: 1350px; margin: 30px auto; padding: 0 20px; gap: 25px; }
.sidebar { width: 260px; background-color: var(--color-gris-oscuro); padding: 20px; border-radius: 10px; border: 1px solid #2A2A2E; height: fit-content; }
.sidebar h3 { margin-bottom: 15px; border-bottom: 2px solid var(--color-rojo); padding-bottom: 5px; }
.sidebar ul { list-style: none; }
.filter-btn { background: none; border: none; color: #999; width: 100%; text-align: left; padding: 8px 5px; cursor: pointer; }
.filter-btn:hover, .filter-btn.active { color: var(--color-rojo); font-weight: bold; }
.products-grid { flex: 1; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.product-card { background-color: var(--color-gris-oscuro); border: 1px solid #2A2A2E; border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; }
.product-img { width: 100%; height: 190px; object-fit: cover; border-bottom: 3px solid var(--color-rojo); cursor: pointer; }
.product-info { padding: 15px; display: flex; flex-direction: column; flex-grow: 1; }
.product-title { font-size: 16px; margin-bottom: 8px; }
.product-price { font-size: 18px; color: var(--color-rojo); font-weight: bold; margin-bottom: 12px; }
.btn-card-action { margin-top: auto; background-color: var(--color-negro); color: white; border: 1px solid #333; padding: 10px; border-radius: 4px; cursor: pointer; font-weight: bold; }
.btn-card-action:hover { background-color: var(--color-rojo); }
.btn-trailer { background-color: var(--color-plata); color: black; }
.modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.8); z-index: 2000; overflow-y: auto; padding: 20px; }
.modal-content { background-color: var(--color-gris-oscuro); border: 1px solid #333; max-width: 700px; margin: 30px auto; border-radius: 10px; padding: 25px; position: relative; }
.close-modal { position: absolute; top: 10px; right: 15px; font-size: 26px; cursor: pointer; }
.modal-body-layout { display: flex; gap: 20px; margin-top: 10px; }
.modal-body-layout img { width: 45%; max-height: 280px; object-fit: cover; border-radius: 6px; }
.modal-info { flex: 1; }
.modal-tag { display: inline-block; background: #333; padding: 3px 8px; border-radius: 4px; font-size: 12px; }
.modal-price-style { font-size: 22px; color: var(--color-rojo); font-weight: bold; margin: 10px 0; }
.cart-items-container { max-height: 200px; overflow-y: auto; margin: 15px 0; }
.cart-item-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid #222; }
.shipping-form { background: var(--color-negro); padding: 15px; border-radius: 6px; display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
.form-row { display: flex; gap: 10px; }
.form-row input { flex: 1; background: #111; border: 1px solid #333; color: white; padding: 8px; }
.cotizador-box { background: #222; padding: 10px; border-radius: 4px; border-left: 3px solid var(--color-rojo); margin-top: 10px; }
.btn-cotizar { display: inline-block; margin-top: 5px; background: #0056b3; color: white; text-decoration: none; padding: 6px 12px; border-radius: 4px; font-size: 13px; }
.cart-totals-box { background: var(--color-negro); padding: 12px; border-radius: 6px; margin: 15px 0; text-align: right; }
.btn-finalize { width: 100%; background: #25D366; color: white; border: none; padding: 12px; font-weight: bold; border-radius: 4px; cursor: pointer; }
.float-wpp { position: fixed; bottom: 25px; right: 25px; background: #25D366; color: white; border-radius: 50%; width: 55px; height: 55px; display: flex; justify-content: center; align-items: center; font-size: 28px; text-decoration: none; box-shadow: 0 4px 10px rgba(0,0,0,0.3); }
@media (max-width: 800px) { .catalog-container { flex-direction: column; } .sidebar { width: 100%; } .modal-body-layout { flex-direction: column; } .modal-body-layout img { width: 100%; } }