/* BBTEK Resto : charte commune (pages publiques, espace du personnel, console) */
:root{--nuit:#1d1511;--braise:#b8431f;--safran:#e9a825;--creme:#fbf4e6;--sable:#efe2c6;--texte:#2a1f18;--doux:#7a6a58}
*{box-sizing:border-box}
body{font-family:'Work Sans',system-ui,sans-serif;background:var(--creme);color:var(--texte);margin:0;overflow-x:hidden}
h1,h2,h3,.titre{font-family:'Fraunces',Georgia,serif;font-weight:600}
a{color:var(--braise)}
.btn-braise{background:var(--braise);color:#fff;border:0;font-weight:600;border-radius:10px}
.btn-braise:hover{background:#9c3718;color:#fff}
.btn-safran{background:var(--safran);color:var(--nuit);border:0;font-weight:600;border-radius:10px}
.btn-safran:hover{background:#d49414;color:var(--nuit)}
.barre{background:var(--nuit);color:var(--creme);padding:.7rem 0}
.barre a{color:var(--creme);text-decoration:none}
.marque{font-family:'Fraunces',serif;font-weight:600;font-size:1.25rem}
.marque span{color:var(--safran)}

/* Portail */
.hero{background:linear-gradient(135deg,var(--nuit),#3a2418 60%,var(--braise));color:var(--creme);padding:3.2rem 0 4.5rem}
.hero h1{font-size:clamp(1.9rem,5vw,3.2rem);line-height:1.15}
.hero p{max-width:640px;opacity:.9}
.recherche{background:#fff;border-radius:16px;padding:1rem;margin-top:-2.6rem;box-shadow:0 14px 34px rgba(29,21,17,.16)}
.carte-resto{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:16px;overflow:hidden;color:inherit;text-decoration:none;box-shadow:0 8px 24px rgba(29,21,17,.1);transition:transform .15s}
.carte-resto:hover{transform:translateY(-4px);color:inherit}
.carte-media{aspect-ratio:16/10;background-size:cover;background-position:center;background-color:var(--sable);display:flex;align-items:flex-end}
.carte-media.sans-photo{background:linear-gradient(135deg,var(--nuit),var(--braise));align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:3rem;color:var(--safran)}
.carte-corps{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.3rem;flex:1}
.carte-corps h2{font-size:1.2rem;margin:0}
.meta{color:var(--doux);font-size:.88rem}
.puce{display:inline-block;background:var(--sable);border-radius:999px;padding:.1rem .65rem;font-size:.78rem;color:var(--nuit)}
.vide{background:#fff;border-radius:16px;padding:2rem;text-align:center;color:var(--doux)}

/* Page d'un restaurant */
.hero-resto{background-size:cover;background-position:center;background-color:var(--nuit);color:var(--creme);position:relative;padding:3rem 0 2.4rem}
.hero-resto::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,21,17,.45),rgba(29,21,17,.88))}
.hero-resto .container{position:relative}
.bandeau-table{background:var(--safran);color:var(--nuit);font-weight:600;border-radius:12px;padding:.7rem 1rem}
.bandeau-info{background:#fff;border:1px dashed #d9c9a4;border-radius:12px;padding:.7rem 1rem;color:var(--doux)}
.cat-nav{position:sticky;top:0;z-index:20;background:var(--creme);padding:.6rem 0;display:flex;gap:.5rem;overflow-x:auto;white-space:nowrap}
.cat-nav a{background:#fff;border-radius:999px;padding:.35rem .9rem;text-decoration:none;font-size:.88rem;color:var(--nuit);border:1px solid #e6d6b2}
.plat{display:flex;gap:.9rem;background:#fff;border-radius:14px;padding:.8rem;box-shadow:0 4px 14px rgba(29,21,17,.07);height:100%}
.plat img,.plat .sans-img{width:92px;height:92px;border-radius:10px;object-fit:cover;flex:none;background:var(--sable)}
.plat .corps{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}
.plat .nom{font-weight:600}
.plat .desc{color:var(--doux);font-size:.85rem}
.plat .bas{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.plat .prix{font-weight:700;color:var(--braise)}
.plat.indispo{opacity:.55}
.qte{display:inline-flex;align-items:center;gap:.4rem}
.qte button{width:34px;height:34px;border-radius:50%;border:0;background:var(--sable);font-weight:700;font-size:1.1rem;line-height:1}
.qte .n{min-width:1.4rem;text-align:center;font-weight:600}
.panier-barre{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--nuit);color:var(--creme);padding:.7rem 1rem;display:none}
.panier-barre.visible{display:block}
.panier-detail{background:#fff;color:var(--texte);border-radius:14px;padding:1rem}
.pied-bbtek{background:var(--nuit);color:var(--sable);padding:2rem 0 1.6rem;margin-top:3rem;font-size:.92rem}
.pied-bbtek a{color:var(--safran)}
.etape{display:flex;gap:.8rem;align-items:center;padding:.5rem 0;color:var(--doux)}
.etape .rond{width:26px;height:26px;border-radius:50%;background:var(--sable);display:flex;align-items:center;justify-content:center;font-size:.8rem;flex:none}
.etape.fait{color:var(--texte)}.etape.fait .rond{background:var(--safran);color:var(--nuit)}
.etape.actuelle{font-weight:700}

/* Pages à carte centrée (connexion, activation, invitation) */
body.fond-sombre{background:linear-gradient(180deg,#1d1511,#3a2418);min-height:100vh}
.carte-bbtek{background:var(--creme);border-radius:20px;padding:2rem;width:100%;max-width:440px;box-shadow:0 30px 60px rgba(0,0,0,.35);margin:2rem auto}
.carte-large{max-width:1100px}
.carte-bbtek h1{font-size:1.6rem}
.carte-bbtek .form-control,.carte-bbtek .form-select{border-radius:10px;border:1.5px solid #e2d3ad}
.petit-titre{color:var(--braise);letter-spacing:.1em;font-size:.75rem;font-weight:700;text-transform:uppercase}
.pastille{display:inline-block;width:14px;height:14px;border-radius:4px;background:var(--safran)}

/* Espace du personnel */
body.espace{background:var(--creme)}
.espace-nav{background:var(--nuit);position:sticky;top:0;z-index:40}
.espace-nav .nav-link{color:var(--sable);padding:.5rem .8rem;border-radius:8px}
.espace-nav .nav-link.actif{background:var(--braise);color:#fff}
.colonne{background:#fff;border-radius:14px;padding:.8rem;min-height:120px}
.colonne h2{font-size:1rem;display:flex;justify-content:space-between;align-items:center}
.cmd{border:1px solid #eadcb9;border-radius:12px;padding:.7rem;margin-bottom:.7rem;background:var(--creme)}
.cmd.nouvelle{border-color:var(--safran);box-shadow:0 0 0 3px rgba(233,168,37,.3)}
.cmd .ref{font-family:ui-monospace,monospace;font-size:.78rem;color:var(--doux)}
.cmd ul{margin:.4rem 0;padding-left:1.1rem}
.fiche{background:#fff;border-radius:14px;padding:1rem 1.2rem;box-shadow:0 4px 14px rgba(29,21,17,.07)}
@media (max-width:767.98px){
  .carte-bbtek{padding:1.2rem;border-radius:16px}
  .table-cartes thead{display:none}
  .table-cartes,.table-cartes tbody{display:block}
  .table-cartes tr{display:block;background:#fff;border:1px solid #e2d3ad;border-radius:12px;margin-bottom:.8rem;padding:.6rem .8rem}
  .table-cartes td{display:block;border:0;padding:.25rem 0;text-align:left!important}
  .table-cartes td[data-l]::before{content:attr(data-l);display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--doux)}
  .plat img,.plat .sans-img{width:76px;height:76px}
}
@media print{.no-print{display:none!important}body{background:#fff}}
