/* ========================================
   TON CSS FINAL – TOUT CORRIGÉ & FIDÈLE À L’ORIGINE
   ======================================== */
* { box-sizing: border-box; }

body {
    background-color: #646c7f;
    margin: 0;
    padding: 0;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    color: #646c7f;
    line-height: 1.5;
}

/* ======================================== TYPO ======================================== */
.titre0 { color: #ff6600; font-size: 32px; font-weight: bold; }
.titre1 { color: #ff6600; font-size: 16px; font-weight: bold; }
.titre3 { font-size: 12px; font-weight: bold; color: #00335E; }
.titre4 { font-size: 24px; color: #ff6600; font-weight: bold; text-align: center; margin-bottom: 20px; }

.textRegular { color: #636C80; font-size: 11px; }
.textBold    { color: #636C80; font-size: 12px; font-weight: bold; }

/* ======================================== LIENS ======================================== */
a:link    { color: #636C80; text-decoration: underline; }
a:visited { color: #838EAA; text-decoration: underline; }
a:hover   { color: #FFFFFF; background-color: #FF6600; text-decoration: none; }

.quickCatalogue a { color: #FFFFFF; text-decoration: none; }
.quickCatalogue a:hover { background-color: #FF6600; }

/* ======================================== LAYOUT ======================================== */
.main-container {
    max-width: 1200px;
    width: 95%;
    margin: 20px auto;
    background-color: #E8E4D4;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.banner-image {
    width: 100%;
    max-width: 1000px;
    height: auto;
    display: block;
    margin: 0 auto;
}

.content-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
}

/* ======================================== MENU PRINCIPAL (HAMBURGER) ======================================== */
.navbar {
    position: relative;
    text-align: center;
    margin: 20px 0;
}

.hamburger {
    display: none;
    cursor: pointer;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    z-mindex: 1001;
}

.hamburger .bar {
    display: block;
    width: 28px;
    height: 3px;
    margin: 6px 0;
    background: #fff;
    border-radius: 2px;
}

.nav-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

.nav-menu li a {
    display: block;
    background-color: #646c7f;
    color: #FFFFFF;
    padding: 10px 20px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
}

.nav-menu li a:hover,
.lang-btn.active { background-color: #FF6600 !important; }

.lang-selector a { padding: 8px 14px !important; font-size: 0.95rem; }

@media (max-width: 768px) {
    .hamburger { display: block; }
    .nav-menu {
        position: absolute;
        top: 100%; left: 0; right: 0;
        background: #2c3e50;
        flex-direction: column;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease-out;
        z-index: 1000;
        border-radius: 0 0 10px 10px;
        box-shadow: 0 6px 15px rgba(0,0,0,0.4);
    }
    .nav-menu.active { max-height: 500px; padding: 15px 0; }
    .nav-menu li { width: 90%; margin: 8px auto; }
    .nav-menu li a { padding: 16px; text-align: center; }
    .lang-selector { justify-content: center; gap: 15px; }
}

/* ======================================== ORDRE COLONNES ======================================== */
.nouveautes-column { flex: 2; min-width: 0; padding: 10px; }
.menu-column       { flex: 1; min-width: 220px; padding: 10px; display: flex; flex-direction: column; align-items: center; }

@media (min-width: 769px) {
    .nouveautes-column { order: 1; }
    .menu-column       { order: 2; }
}
@media (max-width: 768px) {
    .content-container { flex-direction: column; }
    .menu-column       { order: 1; width: 100%; }
    .nouveautes-column { order: 2; width: 100%; }
}

/* ======================================== MENU LATÉRAL (quickCatalogue) ======================================== */
.menu-toggle {
    display: none;
    width: 100%; max-width: 230px;
    padding: 12px;
    background:#8e96a5; color:#fff;
    font-weight:bold; text-align:center;
    border:none; border-radius:6px;
    cursor:pointer;
    margin: 0 auto 10px auto;
}
.menu-toggle:hover { background:#FF6600; }

.menu-content {
    width: 100%; max-width: 230px;
    background:#8e96a5; padding:10px;
    border-radius:6px; overflow-y:auto; max-height:70vh;
}

@media (max-width: 768px) {
    .menu-toggle { display:block; }
    .menu-content { display:none; }
    .menu-content.active { display:block; }
}
@media (min-width: 769px) {
    .menu-toggle { display:none; }
    .menu-content { display:block !important; }
}

/* ======================================== PANIER – BOUTONS COMME AVANT ======================================== */
.cart-actions {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    justify-content: center;
}

.btn-action {
    padding: 6px 10px !important;
    font-size: 12px !important;
    min-width: 30px;
}

.btn-increase { background:#4caf50; color:#fff; }
.btn-increase:hover { background:#45a049; }
.btn-decrease { background:#ff9800; color:#fff; }
.btn-decrease:hover { background:#e68900; }
.btn-remove   { background:#d32f2f; color:#fff; }
.btn-remove:hover { background:#b71c1c; }

/* ======================================== FORMULAIRES IDENTIQUES (contact + validation commande) ======================================== */
.contact-container,
.order-container,
.cart-container {
    max-width: 800px;
    margin: 30px auto;
    padding: 20px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.contact-form .form-group,
.order-form .form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
}

.contact-form label,
.order-form label {
    margin-bottom: 5px;
    font-weight: bold;
    color: #636C80;
}

.contact-form input,
.contact-form textarea,
.order-form input,
.order-form textarea {
    padding: 8px;
    font-size: 14px;
    border: 1px solid #999;
    border-radius: 5px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
}

.contact-form textarea,
.order-form textarea {
    min-height: 100px;
    resize: vertical;
}

/* Grille 2 colonnes uniquement sur la page confirmation_commande */
.order-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}
@media (max-width: 768px) {
    .order-form { grid-template-columns: 1fr; }
}

/* Bouton submit identique partout */
.btn-submit {
    display: block;
    width: 100%;
    max-width: 400px;
    margin: 20px auto 0;
    padding: 12px;
    background-color: #646c7f;
    color: #fff;
    font-weight: bold;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.3s;
}
.btn-submit:hover { background-color: #FF6600; }

/* Bouton valider commande centré */
.validate-form { text-align: center; margin-top: 20px; }

/* ======================================== TABLEAUX ======================================== */
table { border-collapse: collapse; width: 100%; }
th    { background:#8e96a5; color:#fff; padding:10px; text-align:left; }
td    { padding:10px; border-bottom:1px solid #ccc; vertical-align:middle; }

.total-row { font-weight:bold; background:#E8E4D4; }

/* ======================================== DIVERS ======================================== */
.flash {
    background:#ffebee; color:#d32f2f; padding:10px;
    border-radius:4px; text-align:center; font-weight:bold;
    margin-bottom:20px;
}

footer.textRegular {
    background:#646c7f; color:#fff; text-align:center;
    padding:20px 0; margin-top:40px;
}
footer.textRegular a { color:#fff; text-decoration:none; }
footer.textRegular a:hover { color:#FF6600; text-decoration:underline; }