/* Fond dégradé */
body { background: linear-gradient(135deg, #f0f4ff 0%, #fafbff 100%) !important; }

/* Card sans border-radius brutal sur mobile */
@media (max-width: 480px) {
    .card { border-radius: 12px !important; }
    .card-body { padding: 20px !important; }
    .card-footer { padding: 16px 20px !important; }
}

/* Champs plus grands sur mobile pour faciliter la saisie tactile */
@media (max-width: 576px) {
    .form-control, .form-select {
        font-size: 1rem !important;
        padding: 10px 14px !important;
    }
    .btn-lg { width: 100%; }
}

/* Header produit */
.form-hint { font-size: .8rem; color: #6c757d; margin-top: 4px; }

/* Focus visible accessible */
:focus-visible {
    outline: 3px solid #0054a6 !important;
    outline-offset: 2px !important;
}

/* ── Image produit ── */
.product-image-wrapper {
    width: 100%;
    max-height: 280px;
    overflow: hidden;
    background: #f0f4ff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-image {
    width: 100%;
    height: 280px;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .3s ease;
}

.product-image:hover {
    transform: scale(1.02);
}

/* Réduit la hauteur sur mobile */
@media (max-width: 576px) {
    .product-image-wrapper { max-height: 200px; }
    .product-image { height: 200px; }
}
