/**
 * Feuille de style personnalisable — Menu du jour
 *
 * Ce fichier est copie dans le theme enfant actif pour permettre
 * la surcharge des styles du plugin sans modifier le plugin.
 *
 * Emplacement theme : /oaka/{slug}/{slug}-custom-style.css
 *
 * Toutes les classes et ID front-end du plugin sont listees
 * ci-dessous pour faciliter la personnalisation.
 */


/* ── Wrapper principal ──────────────────────────────────────── */

.oaka-menu-du-jour-wrapper {
    /* display: flex; */
    /* justify-content: center; */
    /* align-items: center; */
    /* gap: 7px; */
    /* width: 100%; */
    /* background-color: #ff8300; */
}

.oaka-menu-du-jour-wrapper.error {
    /* background-color: #ff0000; */
}


/* ── Texte d'état (rien à afficher / page d'attente) ────────── */

.oaka-menu-du-jour-wrapper .oaka-mdj-empty {
    /* color: #fff; */
    /* font-size: 16px; */
    /* font-weight: 600; */
}


/* ── En-tête (intitulé + date) ──────────────────────────────── */

.oaka-menu-du-jour-wrapper .oaka-mdj-header {
    /* display: flex; */
    /* gap: 8px; */
    /* flex-wrap: wrap; */
}

.oaka-menu-du-jour-wrapper .oaka-mdj-intitule {
    /* color: #ffffff; */
    /* font-style: italic; */
    /* font-size: 14px; */
}

.oaka-menu-du-jour-wrapper .oaka-mdj-date {
    /* color: #ffffff; */
    /* font-style: italic; */
    /* font-size: 14px; */
}


/* ── Titre du menu ──────────────────────────────────────────── */

.oaka-menu-du-jour-wrapper .oaka-mdj-titre {
    /* color: #fff; */
    /* font-size: 16px; */
    /* font-weight: 600; */
}


/* ── Blocs de menu ──────────────────────────────────────────── */

.oaka-menu-du-jour-wrapper .oaka-mdj-blocs {
    /* width: 100%; */
}

.oaka-menu-du-jour-wrapper .oaka-mdj-bloc {
    /* margin-bottom: 8px; */
    /* padding: 4px 0; */
}

.oaka-menu-du-jour-wrapper .oaka-mdj-bloc-titre {
    /* color: #fff; */
    /* font-weight: 700; */
    /* font-size: 15px; */
}

.oaka-menu-du-jour-wrapper .oaka-mdj-bloc-contenu {
    /* color: #fff; */
}

.oaka-mdj-layout-classic .oaka-mdj-bloc-contenu ul,
.oaka-mdj-layout-classic .oaka-mdj-bloc-contenu ol {
    /* listes saisies dans un bloc. En Classique avec un alignement centré ou à
       droite, l'extension force list-style-position:inside et remet les retraits
       à zéro — sans quoi les puces resteraient collées au bord gauche pendant
       que le texte se centre. À gauche, le rendu natif est conservé. */
    /* list-style-position: inside; */
    /* padding-left: 0; */
    /* margin-left: 0; */
}

.oaka-menu-du-jour-wrapper .oaka-mdj-bloc-contenu p {
    /* color: #fff; */
    /* font-size: 16px; */
    /* font-weight: 600; */
    /* padding: 5px 0 !important; */
}


.oaka-mdj-bloc-1,
.oaka-mdj-bloc-2,
.oaka-mdj-bloc-3 {
    /* chaque bloc porte en plus son numéro d'ordre (.oaka-mdj-bloc-1, -2, -3…),
       pour traiter différemment l'entrée, le plat et le dessert par exemple */
}

/* ── Navigation entre menus spéciaux ────────────────────────── */

.oaka-mdj-nav {
    /* bandeau des contrôles « précédent » / « suivant », sous les blocs.
       Masqué tant que le JS n'a pas posé .is-ready — cibler .oaka-mdj-nav.is-ready
       pour toute règle d'affichage, sinon elle sera écrasée par le display:none */
    /* margin-top: 36px; */
}

.oaka-mdj-nav.is-ready {
    /* état révélé par oaka-menu-du-jour.js */
    /* display: flex; */
    /* gap: 12px; */
    /* justify-content: space-between; */
}

.oaka-mdj-nav-link {
    /* les deux contrôles, communs */
    /* padding: 8px 16px; */
    /* border: 1px solid currentColor; */
    /* border-radius: 4px; */
    /* background: transparent; */
    /* font-size: 0.9em; */
}

.oaka-mdj-nav-prev,
.oaka-mdj-nav-next {
    /* pour distinguer les deux sens (icône, alignement, couleur) */
}

/* Placement de la navigation, réglé depuis le back-office. Ces variantes ne
   portent que sur le module Divi 5 : le shortcode reçoit son justify-content
   du CSS injecté dans wp_head. */
.oaka-mdj-nav--left {
    /* justify-content: flex-start; */
}

.oaka-mdj-nav--center {
    /* justify-content: center; */
}

.oaka-mdj-nav--right {
    /* justify-content: flex-end; */
}

/* « Aux extrémités » : un bouton solitaire reste centré, sinon space-between
   le collerait à gauche et il se lirait comme un « précédent ». */
.oaka-mdj-nav--apart.is-ready .oaka-mdj-nav-link:only-child {
    /* margin-left: auto; */
    /* margin-right: auto; */
}

.oaka-menu-du-jour-wrapper.is-loading {
    /* pendant la requête de navigation — le menu reste lisible mais inerte */
    /* opacity: .6; */
    /* pointer-events: none; */
}

/* ── Shortcodes acf="xxx" (sélecteurs directs) ──────────────── */

.oaka-menu-du-jour-wrapper > span {
    /* color: #ffffff; */
    /* font-style: italic; */
}

.oaka-menu-du-jour-wrapper > p {
    /* color: #fff; */
    /* font-size: 16px; */
    /* font-weight: 600; */
}


/* ── Images des blocs ──────────────────────────────────────── */

.oaka-mdj-bloc-image {
    /* margin-bottom: 8px; */
}

.oaka-mdj-bloc-image img {
    /* max-width: 100%; */
    /* height: auto; */
    /* display: block; */
    /* border-radius: 4px; */
}


/* ── Dispositions (classes modificatrices du wrapper) ──────── */
/* Ces classes s'ajoutent au wrapper selon la disposition choisie :
   Classique, Colonnes ou Côte à côte. */

.oaka-mdj-layout-classic .oaka-mdj-blocs {
    /* display: flex; */
    /* flex-direction: column; */
}

.oaka-mdj-layout-cols .oaka-mdj-blocs {
    /* display: grid; */
    /* grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); */
    /* gap: 20px; */
}

.oaka-mdj-layout-cols .oaka-mdj-bloc {
    /* padding: 10px; */
    /* border: 1px solid rgba(128, 128, 128, 0.25); */
    /* border-radius: 4px; */
}

.oaka-mdj-layout-side {
    /* display: grid; */
    /* grid-template-columns: 1fr 2fr; */
    /* column-gap: 20px; */
}

.oaka-mdj-layout-side .oaka-mdj-blocs {
    /* border-left: 2px solid rgba(128, 128, 128, 0.25); */
    /* padding-left: 16px; */
}

/* Note : la classe .oaka-mdj-divi est ajoutée au wrapper uniquement dans le
   rendu du module Divi 5 (piloté par l'onglet Style du module, pas par le BO). */


/* ============================================================ */
/*  CARTE DYNAMIQUE                                              */
/* ============================================================ */

.oaka-menu-du-jour-wrapper.oaka-mdj-divi {
    /* le wrapper rendu par le module Divi « Menu du jour » porte cette classe en
       plus. Les réglages de l'onglet BO s'appliquent au shortcode seul
       (:not(.oaka-mdj-divi)) : c'est ici qu'on stylise la variante Divi */
}

/* ── Ancres (bandeau de navigation par catégorie) ──────────── */

/* Doublure : conserve la place du bandeau dans le flux une fois celui-ci
   épinglé. La hauteur est posée par le JS — n'écrire ici que ce qui ne la
   contredit pas. */
.oaka_cd_ancres_ghost {
    /* height: 0; */
}

.oaka_carte_dynamique_ancres_wrapper {
    /* display: flex; */
    /* justify-content: space-evenly; */
    /* align-items: center; */
}

.oaka_carte_dynamique_term_ancre {
    /* display: flex; */
    /* width: 100%; */
    /* border-right: 2px solid #595959; */
}

.oaka_carte_dynamique_term_ancre > a {
    /* text-align: center; */
    /* padding: 20px 0; */
    /* font-size: 16px; */
    /* color: #fff; */
}

.oaka_carte_dynamique_ancres_outer {
    /* enveloppe du bandeau : porte le positionnement et les flèches */
    /* position: relative; */
}

.oaka_carte_dynamique_ancres_outer.is-sticky {
    /* bandeau épinglé en haut de page (option du back-office) */
    /* position: sticky; */
    /* top: 0; */
    /* z-index: 40; */
}

.oaka_carte_dynamique_ancres_wrapper.is-scrollable {
    /* le bandeau dépasse la largeur disponible : il défile horizontalement */
    /* justify-content: flex-start; */
}

.oaka_carte_dynamique_ancres_wrapper.is-dragging {
    /* bandeau en cours de glissement à la souris */
    /* cursor: grabbing; */
}

.oaka_cd_ancres_nav {
    /* flèches de défilement du bandeau (gauche / droite) */
    /* width: 34px; */
    /* background: rgba(0, 0, 0, 0.25); */
    /* color: #fff; */
    /* font-size: 26px; */
}

.oaka_cd_ancres_prev {
    /* flèche de gauche */
    /* left: 0; */
}

.oaka_cd_ancres_next {
    /* flèche de droite */
    /* right: 0; */
}


/* ── Filtres (menus déroulants) ────────────────────────────── */

.oaka_carte_dynamique_filters_wrapper {
    /* display: flex; */
    /* align-items: center; */
    /* justify-content: center; */
    /* gap: 30px; */
}

.oaka_carte_dynamique_list_select {
    /* width: 30%; */
    /* height: 40px; */
}

.oaka_cd_select_toggle {
    /* bouton du menu déroulant personnalisé (remplace le select natif) */
    /* height: 40px; */
    /* padding: 0 12px; */
}

.oaka_cd_select_list {
    /* liste déroulante ouverte */
    /* max-height: 280px; */
    /* box-shadow: 0 6px 24px rgba(0,0,0,.12); */
}

.oaka_cd_select_option {
    /* une ligne de la liste */
    /* padding: 9px 12px; */
}

.oaka_cd_select_option.is-selected {
    /* ligne actuellement sélectionnée */
    /* font-weight: 700; */
}

.oaka_cd_select {
    /* enveloppe du menu déroulant personnalisé */
    /* position: relative; */
}

.oaka_cd_select.is-open .oaka_cd_select_arrow {
    /* flèche retournée quand la liste est ouverte */
    /* transform: rotate(180deg); */
}

.oaka_cd_select_value {
    /* libellé de la valeur choisie, affiché dans le bouton */
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
    /* white-space: nowrap; */
}

.oaka_cd_select_arrow {
    /* petit triangle du bouton */
    /* border-top: 6px solid currentColor; */
}

.oaka_cd_select_native {
    /* select natif conservé pour l'accessibilité, masqué visuellement —
       ne pas le réafficher sans raison */
}

.oaka_cd_no_result {
    /* message affiché quand aucun plat ne correspond aux filtres */
    /* min-height: 320px; */
    /* margin: 20px 0; */
    /* padding: 24px 16px; */
    /* text-align: center; */
    /* font-style: italic; */
}


.oaka_carte_dynamique_list_select.filter_jour {
    /* sélecteur de jour, masqué tant qu'aucune happy hour n'est configurée */
    /* display: none; */
}

/* ── Liste des plats (cartes) ──────────────────────────────── */

.oaka_carte_dynamique_list_wrapper {
    /* conteneur global des résultats (grille isotope) */
}

/* Gabarit de colonne : c'est lui qui fixe le nombre de colonnes de la liste.
   100% = une colonne ; 47.25% = deux ; 31% = trois. Isotope mesure cet
   élément, il ne se règle pas depuis .oaka_carte_dynamique_list_article. */
.oaka_grid_sizer {
    /* width: 100%; */
}

/* Gouttière entre deux colonnes, mesurée de la même façon. À accorder avec la
   largeur ci-dessus : 2 × 47.25% + 5.5% = 100%. */
.oaka_gutter_sizer {
    /* width: 0px; */
}

.oaka_carte_dynamique_list_article {
    /* margin-bottom: 10px; */
    /* padding: 10px; */
    /* background-color: #f4f4f4; */
    /* transition: all 300ms ease-in; */
}

.oaka_carte_dynamique_img {
    /* width: 150px; */
    /* height: 140px; */
    /* object-fit: cover; */
}

.oaka_carte_dynamique_head {
    /* display: flex; */
    /* align-items: center; */
    /* margin-bottom: 10px; */
}

.oaka_carte_dynamique_list_headtitle {
    /* margin: 0; */
    /* padding: 0; */
}

.oaka_carte_dynamique_list_title {
    /* text-decoration: none; */
}

.oaka_points {
    /* flex: 1; */
    /* border-bottom: 2px dotted; */
    /* margin: 0 10px; */
}

.oaka_carte_dynamique_list_more {
    /* font-size: 22px; */
    /* color: #000; */
}

.oaka_carte_dynamique_list_terms_wrapper {
    /* display: flex; */
    /* gap: 5px; */
    /* margin-top: 10px; */
}

.oaka_carte_dynamique_list_term {
    /* padding: 5px 10px; */
    /* background-color: #fff; */
    /* color: #56BAA2; */
    /* font-size: 12px; */
    /* border-radius: 2px; */
}

.oaka_carte_dynamique_list_extract {
    /* padding-bottom: 2px; */
}

.oaka_carte_dynamique_list_article.is-sold-out {
    /* plat marqué « épuisé » */
    /* opacity: 0.7; */
}


.oaka_carte_dynamique_list_term_type {
    /* étiquette de famille sur une carte — s'ajoute à
       .oaka_carte_dynamique_list_term, dont elle hérite le gabarit */
}

/* ── Pastilles et prix promotionnel ─────────────────────────── */

.oaka_cd_badges {
    /* rangée de pastilles en haut de la carte */
    /* display: flex; */
    /* gap: 6px; */
    /* margin-bottom: 8px; */
}

.oaka_cd_badge {
    /* une pastille */
    /* padding: 2px 9px; */
    /* border-radius: 3px; */
    /* font-size: 12px; */
    /* font-weight: 700; */
    /* text-transform: uppercase; */
}

.oaka_cd_badge_promo {
    /* pastille « promotion » */
    /* background-color: #C2461B; */
    /* color: #ffffff; */
}

.oaka_cd_badge_hh {
    /* pastille « happy hour » */
    /* background-color: #C2461B; */
    /* color: #ffffff; */
}

.oaka_cd_badge_soldout {
    /* pastille « épuisé » */
    /* background-color: #6d6d6d; */
    /* color: #ffffff; */
}

.oaka_cd_price_old {
    /* ancien prix, barré */
    /* color: #8a8a8a; */
    /* text-decoration: line-through; */
}

.oaka_cd_price_new {
    /* prix promotionnel */
    /* color: #C2461B; */
    /* font-weight: 700; */
}

.oaka_cd_hh_notice {
    /* mention d'éligibilité happy hour, sous la description */
    /* margin: 4px 0 0; */
    /* font-size: 0.85em; */
    /* font-style: italic; */
}


/* ── Sélection (panier temporaire) ──────────────────────────── */

.oaka_cd_wish_add {
    /* bouton « Ajouter » sur chaque carte */
    /* background-color: #C2461B; */
    /* color: #fff; */
    /* border-radius: 4px; */
}

.oaka_cd_wishlist {
    /* bloc flottant (bulle + panneau) — le coin d'ancrage se règle dans le BO,
       via les classes .is-bottom-left / .is-bottom-right / .is-top-left / .is-top-right */
    /* left: 16px; */
    /* bottom: 16px; */
}

.oaka_cd_wish_toggle {
    /* bulle d'ouverture du panneau */
}

.oaka_cd_wish_panel {
    /* panneau listant la sélection */
    /* width: 320px; */
}

.oaka_cd_wish_add_icon {
    /* le « + » du bouton Ajouter */
    /* font-size: 17px; */
}

.oaka_cd_wish_count {
    /* compteur affiché sur la bulle */
    /* min-width: 24px; */
    /* height: 24px; */
    /* border-radius: 12px; */
    /* font-weight: 700; */
}

.oaka_cd_wish_panel_head {
    /* bandeau de titre du panneau */
    /* padding-bottom: 10px; */
    /* border-bottom: 1px dashed #d5d5d5; */
}

.oaka_cd_wish_close {
    /* croix de fermeture du panneau */
    /* font-size: 22px; */
}

.oaka_cd_wish_list {
    /* liste des lignes de la sélection */
    /* overflow-y: auto; */
}

.oaka_cd_wish_empty {
    /* message affiché quand la sélection est vide */
    /* padding: 18px 0; */
    /* text-align: center; */
    /* color: #777; */
}

.oaka_cd_wish_line {
    /* une ligne de la sélection (nom + prix) */
    /* display: flex; */
    /* justify-content: space-between; */
    /* gap: 12px; */
}

.oaka_cd_wish_line--sub {
    /* seconde ligne d'un article (quantité + prix unitaire) */
    /* margin-top: 6px; */
}

.oaka_cd_wish_item_name {
    /* nom de l'article dans la sélection */
    /* font-size: 14px; */
}

.oaka_cd_wish_item_price {
    /* prix de l'article dans la sélection */
    /* font-weight: 700; */
}

.oaka_cd_wish_unit {
    /* rappel du prix unitaire */
    /* font-size: 11.5px; */
    /* color: #777; */
}

.oaka_cd_wish_qty {
    /* sélecteur de quantité (− valeur +) */
    /* border: 1px solid #e2e2e2; */
    /* border-radius: 40px; */
}

.oaka_cd_wish_qty_val {
    /* quantité affichée */
    /* min-width: 26px; */
    /* font-weight: 700; */
}

.oaka_cd_wish_total {
    /* ligne de total, en bas du panneau */
    /* margin: 10px 0 12px; */
    /* padding-top: 10px; */
    /* border-top: 3px double #d5d5d5; */
}

.oaka_cd_wish_total_label {
    /* libellé « Total » */
    /* font-size: 12px; */
}

.oaka_cd_wish_total_value {
    /* montant du total */
    /* font-size: 18px; */
    /* font-weight: 700; */
}

.oaka_cd_wish_total_note {
    /* mention sous le total (sélection indicative, aucune commande) */
    /* font-size: 11px; */
    /* color: #999; */
}

.oaka_cd_wish_actions {
    /* boutons d'action du panneau */
    /* display: flex; */
    /* gap: 8px; */
}

.oaka_cd_wish_confirm {
    /* surcouche de confirmation avant de vider la sélection */
    /* z-index: 2; */
}

.oaka_cd_wish_confirm_text {
    /* question posée dans la surcouche */
    /* font-size: 15px; */
    /* font-weight: 700; */
}

.oaka_cd_wish_confirm_actions {
    /* boutons Oui / Non de la surcouche */
    /* display: flex; */
    /* gap: 8px; */
}


.oaka_cd_wishlist.is-bottom-left,
.oaka_cd_wishlist.is-bottom-right,
.oaka_cd_wishlist.is-top-left,
.oaka_cd_wishlist.is-top-right {
    /* les quatre coins d'ancrage du bloc flottant, choisis dans le BO.
       Décalage par défaut : 16px du bord. En haut, la barre d'admin décale
       à 48px via .admin-bar */
    /* left: 16px; */
    /* bottom: 16px; */
}

.oaka_cd_wish_toggle_label {
    /* intitulé posé à côté de la bulle d'ouverture */
}

.oaka_cd_wish_clear {
    /* bouton « Vider » du bandeau de titre du panneau */
}

.oaka_cd_wish_confirm_yes,
.oaka_cd_wish_confirm_no {
    /* les deux boutons de la demande de confirmation avant vidage */
    /* border-color: transparent; */
    /* background-color: #C2461B; */
    /* color: #ffffff; */
}

.oaka_cd_wish_list li.is-added {
    /* surlignage temporaire de la ligne qui vient d'être ajoutée */
    /* background-color: rgba(194, 70, 27, .10); */
    /* transition: background-color .4s ease; */
}

/* ── Titres de catégorie / sous-catégorie ───────────────────── */

.oaka_cd_group_banner {
    /* titre de catégorie avec image de fond (réglée sur la fiche catégorie) */
    /* min-height: 90px; */
    /* padding: 20px; */
    /* background-size: cover; */
    /* color: #fff; */
}

.oaka_cd_group_title_text {
    /* texte du titre, au-dessus du voile de lisibilité */
}

.oaka_cd_subgroup {
    /* titre de sous-catégorie (h3) */
    /* margin-top: 15px; */
    /* background-color: #f0f0f0; */
    /* padding: 12px 20px; */
}


/* ── Encadré « Coups de cœur » ──────────────────────────────── */

.oaka_carte_dynamique_cdc_block {
    /* encadré regroupant les coups de cœur d'une catégorie */
    /* border: 2px solid #d94452; */
    /* border-radius: 8px; */
    /* padding: 22px 14px 6px; */
    /* margin-bottom: 20px; */
}

.oaka_carte_dynamique_cdc_label {
    /* pastille de titre de l'encadré */
    /* background-color: #d94452; */
    /* color: #fff; */
    /* font-size: 13px; */
    /* border-radius: 20px; */
    /* padding: 4px 12px; */
}

.oaka_carte_dynamique_cdc_items {
    /* conteneur des cartes à l'intérieur de l'encadré */
}


.oaka_carte_dynamique_cdc_items .oaka_carte_dynamique_list_article.oaka_cdc_hidden {
    /* carte masquée dans l'encadré parce qu'elle est déjà rendue ailleurs */
    /* display: none; */
}

/* ── Carte imprimable ───────────────────────────────────────── */

.oaka_cd_print_link {
    /* lien vers la version imprimable, posé par [oaka_carte_imprimable] */
    /* display: inline-block; */
    /* padding: 8px 16px; */
    /* border-radius: 4px; */
    /* background-color: #C2461B; */
    /* color: #ffffff; */
    /* font-size: 15px; */
}

.oaka-carte-imprimable-wrapper {
    /* conteneur de la page imprimable elle-même */
    /* display: block; */
}

/* ⚠️ La page d'impression (?oaka_action=print_carte) est un document HTML
   autonome : elle n'appelle pas wp_head(), donc CETTE feuille n'y est jamais
   chargée. Ses classes .oaka-print-* ne sont volontairement pas listées ici —
   une règle écrite pour elles n'aurait aucun effet. Son style se règle depuis
   l'onglet « Canaux de distribution » du back-office. */
