/**
 * assets/boulangerie.css — AF Boulangerie
 * Tokens calqués sur la maquette VDF (villagefrancois.fr).
 */

/* ============================================================
   Variables — palette Bricks VDF
   ============================================================ */
:root {
    --bricks-color-slluue: #fbf8f3;
    --bricks-color-jrocjv: #f0e5d6;
    --bricks-color-ktvjic: #ceb68a;
    --bricks-color-nwdmsd: #ae976e;
    --bricks-color-sbgwkk: #dd5252;
    --bricks-color-ntqzwp: #ff7575;
    --bricks-color-pzcenw: #c74444;
    --bricks-color-tiiepc: #fce1c7;
    --bricks-color-movkob: #1e4039;
    --bricks-color-pjihep: #ffffff;
    --bricks-color-yztvai: #101010;
    --bricks-color-stzatc: rgba(0, 0, 0, 0.2);
}

/* ============================================================
   Mini Panier
   ============================================================ */
.af-mini-panier {
    background    : var(--bricks-color-pjihep);
    border        : 1px solid var(--bricks-color-jrocjv);
    border-radius : 4px;
    padding       : 1.2rem;
    box-shadow    : 0 2px 12px rgba(0,0,0,.07);
    font-family   : inherit;
}

/* Titre */
.af-minipanier-titre {
    font-size      : 10px;
    font-weight    : 800;
    letter-spacing : .14em;
    text-transform : uppercase;
    color          : var(--bricks-color-yztvai);
    padding-bottom : .5rem;
    border-bottom  : 2px solid var(--bricks-color-pzcenw);
    margin-bottom  : .8rem;
}

/* Zone lignes */
.af-minipanier-lignes {
    min-height : 40px;
}
.af-minipanier-lignes span {
    font-size: 13px;
    line-height: 1.1;
}

.af-minipanier-vide {
    font-size  : 12px;
    color      : var(--bricks-color-stzatc);
    padding    : 1rem 0;
    margin     : 0;
}
.af-minipanier-titre {
  display: block;
  font-weight:600
}
.af-minipanier-total {
  font-weight:600;
  margin-bottom:10px;
}
.af-minipanier-prix, 
.af-minipanier-sous-total {
  display:none;
}
button.bricks-button {
  width:100%;
}
/* Ligne de panier */
.af-minipanier-ligne {
    display         : flex;
    justify-content : space-between;
    align-items     : center;
    gap             : 6px;
    padding         : 10px 0;
    border-bottom: 1px solid var(--bricks-color-jrocjv);
}
.af-minipanier-ligne:last-child { border-bottom : none; }

.af-minipanier-info {
    flex        : 1;
    font-weight : 600;
    color          : var(--bricks-color-yztvai);
}

.af-minipanier-ligne-droite {
    display     : flex;
    align-items : center;
    gap         : 8px;
    white-space : nowrap;
}

.af-minipanier-sous-total {
    color          : var(--bricks-color-nwdmsd);
    font-weight : 700;
}

.af-minipanier-suppr {
    background  : none;
    border      : none;
    cursor      : pointer;
    color          : var(--bricks-color-nwdmsd);
    font-weight: bold;
    padding     : 2px 4px;
    line-height : 1;
    transition  : color .15s;
}
.af-minipanier-suppr:hover { color          : var(--bricks-color-pzcenw); }

/* Footer */
.af-minipanier-footer {
    display         : flex;
    justify-content : space-between;
    align-items     : center;
    gap             : 10px;
    flex-wrap       : wrap;
    padding-top     : 10px;
    border-top      : 2px solid var(--bricks-color-jrocjv);
}

.af-minipanier-total {
    display        : flex;
    flex-direction : column;
    gap            : 1px;
}

.af-minipanier-total-label {
    font-size      : small;
}

.af-minipanier-total-montant {
    font-size   : 1.15em;
    font-weight : 800;
    color          : var(--bricks-color-pzcenw);
    line-height: 1;
}

/* Bouton créneau */
.af-minipanier-btn-creneau {
    padding-bottom: 0.6em;
}
.af-minipanier-btn-creneau:hover:not(:disabled) {
    background   : var(--bricks-color-pzcenw);
    border-color : var(--bricks-color-pzcenw);
}
.af-minipanier-btn-creneau:disabled {
    opacity        : .38;
    pointer-events : none;
}

/* ============================================================
   Champ GF custom "Créneaux de retrait"
   Couleurs : variables Bricks du thème VDF
   ============================================================ */

/* GF insère un .ginput_container autour de notre HTML — on s'assure qu'il ne casse pas la mise en page */
.gfield--type-af_creneaux .ginput_container,
.gfield--input-type-af_creneaux .ginput_container {
    display : block !important;
    width   : 100% !important;
}

.af-creneaux-field {
    width : 100% !important;
}

.af-creneaux-grid {
    display               : grid !important;
    grid-template-columns : repeat( 3, 1fr ) !important;
    gap                   : 10px!important;
    margin                : 1.2rem 0 1.5rem!important;
    list-style            : none;
}

@media ( max-width: 700px ) {
    .af-creneaux-grid { grid-template-columns : repeat( 2, 1fr ) !important; }
}
@media ( max-width: 480px ) {
    .af-creneaux-grid { grid-template-columns : 1fr !important; }
}

.af-creneaux-empty {
    grid-column : 1 / -1;
    font-size   : 13px;
    color       : var(--bricks-color-nwdmsd);
    font-style  : italic;
    padding     : 1rem 0;
}

/* Card individuelle */
.af-creneau-card {
    display: flex !important;
    flex-direction: column !important;
    border: 2px solid var(--bricks-color-jrocjv) !important;
    padding: 20px !important;
    cursor: pointer !important;
    transition: border-color .15s, background .15s !important;
    outline: none !important;
    box-sizing: border-box !important;
    gap: 10px !important;
}
.af-creneau-card:hover         { border-color : var(--bricks-color-pzcenw) !important; }
.af-creneau-card:focus-visible { outline : 2px solid var(--bricks-color-pzcenw); outline-offset : 2px; }

/* Sélectionné */
.af-creneau-card.selected {
    border-color : var(--bricks-color-pzcenw) !important;
    background   : var(--bricks-color-pzcenw) !important;
}

/* Jour — ex : MERCREDI */
.af-creneau-card .cj {
    font-weight    : 800;
}

/* Date — ex : 22 AVRIL */
.af-creneau-card .cd {
    font-size     : 11px;
    color         : var(--bricks-color-nwdmsd);
    margin-bottom : 5px;
    display       : block;
}

/* Heure — ex : 15h – 19h */
.af-creneau-card .ch {
    font-size     : 13px;
    font-weight   : 700;
    color         : var(--bricks-color-pzcenw);
    margin-bottom : 2px;
    display       : block;
}

/* Lieu — ex : 📍 AUDAUX */
.af-creneau-card .cl {
    font-size      : 11px;
    font-weight    : 700;
    letter-spacing : .1em;
    text-transform : uppercase;
    color          : var(--bricks-color-nwdmsd);
    display        : block;
}
.af-creneau-card .ca {
    font-size      : 12px;
    display        : block;
}
/* États quand sélectionné */
.af-creneau-card.selected .cj, 
.af-creneau-card.selected .ca,
.af-creneau-card.selected .cl { color : var(--bricks-color-pjihep) !important; }
.af-creneau-card.selected .cd { color : rgba(255,255,255,.65) !important; }
.af-creneau-card.selected .ch { color : rgba(255,255,255,.9) !important; }

/* Message de validation GF sous la grille */
.af-creneaux-field .gfield_validation_message {
    margin-top  : .4rem;
    font-size   : 13px;
    color       : var(--bricks-color-pzcenw);
    font-weight : 600;
}

.gform-theme--framework:where(:not(.gform_editor)) .gfield--type-section {
    margin-top: 20px;
}