.editable.selected:not(.editing),
.editable-date.selected:not(.editing),
.editable-select.selected:not(.editing) {
    background-color: #e3f2fd;
}

th.resizable {
    position: relative;
}

th.resizable .resizer {
    position: absolute;
    right: 0;
    top: 0;
    width: 5px;
    height: 100%;
    cursor: col-resize;
    user-select: none;
}

td, th {
    position: relative;
}

.col-resize-handle {
    position: absolute;
    top: 0;
    right: 0;
    width: 5px;
    height: 100%;
    cursor: col-resize;
    user-select: none;
    z-index: 10;
}

.stock-badge {
    bottom: -1.2rem;
    left: 0;
    font-size: 0.75rem;
}



.card {
    border-radius: 0.375rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    margin-bottom: 1.5rem;
}
.stock-zero { background-color: #ffcccc; color: #990000; font-weight: bold; }
.stock-low { background-color: #fff0cc; color: #996600; font-weight: bold; }
.stock-ok { background-color: #e6ffcc; color: #336600; }
.ingredients-group {
    border-left: 4px solid #0d6efd;
    padding-left: 10px;
    background-color: #f8f9fa;
    font-size: 1.1em;
    letter-spacing: 0.5px;
}
.print-only { display: none; }

/* Styles d'affichage */
table th, table td {
    vertical-align: middle;
}
.table-hover>tbody>tr:hover {
    background-color: rgba(13, 110, 253, 0.05);
}

/* Animations */
.badge-animated {
    animation: pulse 2s infinite;
}
@keyframes pulse {
    0% { opacity: 1; }
    50% { opacity: 0.7; }
    100% { opacity: 1; }
}

/* Styles pour l'impression */
@media print {
    .no-print { display: none !important; }
    .print-only { display: block; }
    .container { width: 100%; max-width: 100%; }
    body { font-size: 12px; }

    /* Optimiser l'impression des tableaux */
    table { border-collapse: collapse; width: 100%; }
    table, th, td { border: 1px solid #666; }
    thead { display: table-header-group; }
    tr { page-break-inside: avoid; }

    /* Styles pour les titres d'impression */
    .print-only h2 {
        font-size: 18px;
        text-align: center;
        margin-bottom: 5px;
        border-bottom: 2px solid #333;
        padding-bottom: 5px;
    }
    .print-only p {
        text-align: center;
        font-size: 14px;
        font-style: italic;
        margin-bottom: 15px;
    }
}


/* Animation pour la sélection automatique de l'unité */
@keyframes highlightSuccess {
    0% { background-color: transparent; }
    30% { background-color: rgba(25, 135, 84, 0.2); } /* Couleur verte légère */
    100% { background-color: transparent; }
}

.border-success {
    animation: highlightSuccess 1.5s ease;
}

/* index.php */
html {
    scroll-behavior: smooth;
}

/* Progress bar */
#progress-bar {
    position: fixed;
    top: 0;
    left: 0;
    height: 6px;
    background: #673a1c;
    width: 0;
    z-index: 3000;
}

/* Navbar fixed + shrink */
nav.navbar-custom.fixed-top {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 1rem;
    transition: padding .3s, box-shadow .3s;
    z-index: 2000;
}

nav.navbar-custom.fixed-top.navbar-shrink {
    padding: 0.5rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

main {
    margin-top: 0;
}

/* Hero */
#hero {
    position: relative;
    height: 100vh;
    background-image: url('assets/img/crepe_et_galette/fond/take_away-02.webp');
    background-size: auto 120%;
    background-repeat: no-repeat;
    background-position: center center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

#hero .overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

#hero .content {
    position: relative;
    z-index: 1;
    text-align: center;
}

.cookie-regular {
    font-family: 'Cookie', cursive;
}

#hero .content h1 {
    font-size: clamp(4rem, 10vw, 9rem);
    color: #ffffff;
    margin: 0;
}

#hero .content .small-text {
    font-size: clamp(1rem, 3vw, 2rem);
    position: absolute;
    top: 70%;
    right: 0;
}

#hero .content h2 {
    font-size: clamp(2rem, 6vw, 4rem);
    margin-top: 0.5rem;
}

/* Menu section */
.menu-global {
    background-color: #fff9f2;
    padding: 3rem 1rem;
    border-radius: 2rem;
    margin: 2rem;
    font-family: 'DynaPuff', cursive;
}

.menu-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 1rem;
}

/* Grille menu avec hauteur dynamique alignée */
.menu-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    justify-items: stretch;
    align-items: stretch;
}

/* Conteneur de chaque bloc */
.menu-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    align-items: stretch;
}

/* Colonne de contenu */
.menu-column {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
    width: 100%;
}

/* Icônes */
.icon-wrapper-large {
    position: relative;
    width: 130px;
    height: 130px;
    background-image: url('assets/img/menu/arriere-plan.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}

.icon-wrapper-large img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    display: block;
    transform: translate(4px, -6px);
}

/* Titres de blocs */
.menu-title {
    font-size: 2rem;
    font-weight: bold;
    text-shadow: -3px -3px 0 #fff,
    3px -3px 0 #fff,
    -3px 3px 0 #fff,
    3px 3px 0 #fff,
    0px 0px 4px #fff;
    margin-bottom: 1rem;
    text-align: center;
}

/* Couleurs personnalisées */
.menu-title.galettes {
    color: #a46842;
}

.menu-title.crepes {
    color: #e89c3d;
}

.menu-title.formules {
    color: #003f5d;
}

.menu-title.boissons {
    color: #003f5d;
}

.menu-title.fraiches {
    color: #50a9d4;
}

.menu-title.supplement {
    color: #e58686;
}

.menu-title.reduction {
    color: #777;
}

.menu-main-title {
    font-size: 3rem;
    text-align: center;
    margin-bottom: 3rem;
    color: #a35e2d;
}

/* Liste des éléments */
.menu-list li {
    position: relative;
    padding-left: 2.5rem;
    margin-bottom: 1rem;
}

.menu-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.2rem;
    width: 28px;
    height: 28px;
    background-image: url('assets/img/menu/puce-recette.png');
    background-size: contain;
    background-repeat: no-repeat;
}



/* index.php */



html {
    scroll-behavior: smooth;
}

/* Progress bar */
#progress-bar {
    position: fixed;
    top: 0;
    left: 0;
    height: 6px;
    background: #673a1c;
    width: 0;
    z-index: 3000;
}

/* Navbar fixed + shrink */
nav.navbar-custom.fixed-top {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 1rem;
    transition: padding .3s, box-shadow .3s;
    z-index: 2000;
}

nav.navbar-custom.fixed-top.navbar-shrink {
    padding: 0.5rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

main {
    margin-top: 0;
}

/* Hero */
#hero {
    position: relative;
    height: 100vh;
    background-image: url('https://lechilltruck.fr/assets/img/crepe_et_galette/fond/take_away-02.webp');
    background-size: auto 120%;
    background-repeat: no-repeat;
    background-position: center center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

#hero .overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

#hero .content {
    position: relative;
    z-index: 1;
    text-align: center;
}

.cookie-regular {
    font-family: 'Cookie', cursive;
}

#hero .content h1 {
    font-size: clamp(4rem, 10vw, 9rem);
    color: #ffffff;
    margin: 0;
}

#hero .content .small-text {
    font-size: clamp(1rem, 3vw, 2rem);
    position: absolute;
    top: 70%;
    right: 0;
}

#hero .content h2 {
    font-size: clamp(2rem, 6vw, 4rem);
    margin-top: 0.5rem;
}

/* Menu section */
.menu-global {
    background-color: #fff9f2;
    padding: 3rem 1rem;
    border-radius: 2rem;
    margin: 2rem;
    font-family: 'DynaPuff', cursive;
}

.menu-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 1rem;
}

/* Grille menu avec hauteur dynamique alignée */
.menu-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    justify-items: stretch;
    align-items: stretch;
}

/* Conteneur de chaque bloc */
.menu-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    align-items: stretch;
}

/* Colonne de contenu */
.menu-column {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
    width: 100%;
}

/* Icônes */
.icon-wrapper-large {
    position: relative;
    width: 130px;
    height: 130px;
    background-image: url('assets/img/menu/arriere-plan.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}

.icon-wrapper-large img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    display: block;
    transform: translate(4px, -6px);
}

/* Titres de blocs */
.menu-title {
    font-size: 2rem;
    font-weight: bold;
    text-shadow: -3px -3px 0 #fff,
    3px -3px 0 #fff,
    -3px 3px 0 #fff,
    3px 3px 0 #fff,
    0px 0px 4px #fff;
    margin-bottom: 1rem;
    text-align: center;
}

/* Couleurs personnalisées */
.menu-title.galettes {
    color: #a46842;
}

.menu-title.crepes {
    color: #e89c3d;
}

.menu-title.formules {
    color: #003f5d;
}

.menu-title.boissons {
    color: #003f5d;
}

.menu-title.fraiches {
    color: #50a9d4;
}

.menu-title.supplement {
    color: #e58686;
}

.menu-title.reduction {
    color: #777;
}

.menu-main-title {
    font-size: 3rem;
    text-align: center;
    margin-bottom: 3rem;
    color: #a35e2d;
}

/* Liste des éléments */
.menu-list li {
    position: relative;
    padding-left: 2.5rem;
    margin-bottom: 1rem;
}

.menu-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.2rem;
    width: 28px;
    height: 28px;
    background-image: url('assets/img/menu/puce-recette.png');
    background-size: contain;
    background-repeat: no-repeat;
}