:root {
  --petit-red: #c8102e;
  --petit-red-dark: #7f0012;
  --petit-red-soft: #fff1f3;
  --petit-white: #ffffff;
  --petit-ink: #241316;
  --petit-muted: #715b60;
  --petit-line: #ead7db;
}

body[data-restaurant-profile="petit-dakar"] {
  --green: var(--petit-red);
  --lime: var(--petit-white);
  --cream: #fff8f9;
  --ink: var(--petit-ink);
  --muted: var(--petit-muted);
  --line: var(--petit-line);
  --accent: var(--petit-red);
  --primary: var(--petit-red);
  background: #fff8f9;
  color: var(--petit-ink);
}

body[data-restaurant-profile="petit-dakar"] header {
  height: 82px;
  border-bottom: 4px solid var(--petit-red);
  box-shadow: 0 8px 24px rgba(83,0,12,.08);
}
body[data-restaurant-profile="petit-dakar"] .brand img { width: 64px; height: 64px; object-fit: contain; }
body[data-restaurant-profile="petit-dakar"] .brand b { color: var(--petit-red-dark); font-size: 1.35rem; }
body[data-restaurant-profile="petit-dakar"] header nav { background: #fff3f5; border: 1px solid #f2d5da; }
body[data-restaurant-profile="petit-dakar"] header nav a,
body[data-restaurant-profile="petit-dakar"] header nav button { color: #5b242d; }
body[data-restaurant-profile="petit-dakar"] header nav a:hover,
body[data-restaurant-profile="petit-dakar"] header nav button:hover { background: var(--petit-red); color: white; }
body[data-restaurant-profile="petit-dakar"] .theme-picker { display: none !important; }
body[data-restaurant-profile="petit-dakar"] .live i { background: var(--petit-red); box-shadow: 0 0 0 4px rgba(200,16,46,.14); }

body[data-restaurant-profile="petit-dakar"] .public-hero {
  min-height: 590px;
  color: white;
  border-bottom: 8px solid white;
  background-color: #7f0012 !important;
  background-image: radial-gradient(circle at 82% 22%,rgba(255,255,255,.18) 0 8%,transparent 8.5%),radial-gradient(circle at 68% 78%,rgba(255,255,255,.09) 0 15%,transparent 15.5%),linear-gradient(125deg,#65000e 0%,#a30720 58%,#d10d31 100%) !important;
  background-position: center !important;
  background-size: cover !important;
}
body[data-restaurant-profile="petit-dakar"] .public-hero::after { content:""; position:absolute; inset:auto 0 0; height:8px; background:var(--petit-red); }
body[data-restaurant-profile="petit-dakar"] .public-hero .eyebrow { color: white; opacity: .88; }
body[data-restaurant-profile="petit-dakar"] .public-hero .hero-copy > p:not(.eyebrow) { color: white; max-width: 620px; }
body[data-restaurant-profile="petit-dakar"] .cta,
body[data-restaurant-profile="petit-dakar"] .primary,
body[data-restaurant-profile="petit-dakar"] .add-product-button,
body[data-restaurant-profile="petit-dakar"] .food-card footer button { background: var(--petit-red) !important; color: white !important; border: 2px solid white; box-shadow: 0 6px 0 var(--petit-red-dark); }
body[data-restaurant-profile="petit-dakar"] .cta:hover,
body[data-restaurant-profile="petit-dakar"] .primary:hover { transform: translateY(-2px); box-shadow: 0 8px 0 var(--petit-red-dark); }

body[data-restaurant-profile="petit-dakar"] .public-menu { background: #fff8f9; }
body[data-restaurant-profile="petit-dakar"] .section-title h2,
body[data-restaurant-profile="petit-dakar"] .menu-row-head h3 { color: var(--petit-red-dark); }
body[data-restaurant-profile="petit-dakar"] .filter-row button { border-color: #e6bcc4; color: #6d1e2c; }
body[data-restaurant-profile="petit-dakar"] .filter-row button.active { background: var(--petit-red); color: white; border-color: var(--petit-red); }
body[data-restaurant-profile="petit-dakar"] .food-card,
body[data-restaurant-profile="petit-dakar"] .catalog-card { border-color: #ead1d6; box-shadow: 0 12px 34px rgba(92,0,13,.08); }
body[data-restaurant-profile="petit-dakar"] .price { color: var(--petit-red); }
body[data-restaurant-profile="petit-dakar"] .cart-fab,
body[data-restaurant-profile="petit-dakar"] .shop-cart-fab { background: var(--petit-red); box-shadow: 0 12px 30px rgba(92,0,13,.3); }
body[data-restaurant-profile="petit-dakar"] .cart-fab-badge { background: white; color: var(--petit-red); border: 2px solid var(--petit-red); }
body[data-restaurant-profile="petit-dakar"] .contact-section { background: var(--petit-red-soft); border-top: 1px solid #ebc9cf; }
body[data-restaurant-profile="petit-dakar"] .contact-section form { border: 1px solid #ebc9cf; box-shadow: 0 16px 40px rgba(92,0,13,.08); }
body[data-restaurant-profile="petit-dakar"] .public-footer { background: var(--petit-red-dark); border-top: 6px solid var(--petit-red); }
body[data-restaurant-profile="petit-dakar"] .public-footer span,
body[data-restaurant-profile="petit-dakar"] .public-footer small,
body[data-restaurant-profile="petit-dakar"] .public-footer a { color: #ffe9ed; }
body[data-restaurant-profile="petit-dakar"] input:focus,
body[data-restaurant-profile="petit-dakar"] select:focus,
body[data-restaurant-profile="petit-dakar"] textarea:focus { border-color: var(--petit-red); box-shadow: 0 0 0 3px rgba(200,16,46,.13); }
body[data-restaurant-profile="petit-dakar"] dialog::backdrop { background: rgba(70,0,10,.72); }
body[data-restaurant-profile="petit-dakar"] .check { background: var(--petit-red); color: white; }

body.admin-body[data-restaurant-profile="petit-dakar"] .side { background: var(--petit-red-dark) !important; }
body.admin-body[data-restaurant-profile="petit-dakar"] .side button.active,
body.admin-body[data-restaurant-profile="petit-dakar"] .side button:hover { background: var(--petit-red) !important; color: white !important; }
body.admin-body[data-restaurant-profile="petit-dakar"] .topbar,
body.admin-body[data-restaurant-profile="petit-dakar"] .scope-banner { border-color: #e4b8c0; }
body.admin-body[data-restaurant-profile="petit-dakar"] .stat,
body.admin-body[data-restaurant-profile="petit-dakar"] .panel,
body.admin-body[data-restaurant-profile="petit-dakar"] .board { border-color: #ead1d6; }

.presence-layout { display:grid; gap:1rem; }
.presence-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.75rem; }
.presence-card { display:grid; gap:.65rem; padding:1rem; border:2px solid #e5e7eb; border-radius:18px; background:white; }
.presence-card.is-active { border-color:var(--petit-red); background:var(--petit-red-soft); }
.actor-dialog { width:min(92vw,460px); border:0; border-radius:22px; padding:0; }
.actor-dialog form { display:grid; gap:1rem; padding:1.25rem; }
.actor-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.actor-list button { min-height:64px; border:2px solid var(--petit-red); border-radius:16px; color:var(--petit-red); background:white; font-size:1rem; font-weight:800; }

@media (max-width: 900px) {
  body[data-restaurant-profile="petit-dakar"] header { height: 72px; }
  body[data-restaurant-profile="petit-dakar"] .brand img { width: 52px; height: 52px; }
  body[data-restaurant-profile="petit-dakar"] .public-hero { min-height: 520px; }
}
@media (min-width:760px) { .presence-layout { grid-template-columns:minmax(0,2fr) minmax(240px,1fr); } }
/* Accueil signature Le Petit Dakar : constellation animée de sept plats. */
body[data-restaurant-profile="petit-dakar"] .public-hero {
  grid-template-columns:minmax(380px,.88fr) minmax(520px,1.12fr) !important;
  gap:24px;
  padding:44px max(4vw,42px) !important;
  overflow:hidden;
}
body[data-restaurant-profile="petit-dakar"] .hero-copy { position:relative; z-index:3; max-width:600px; }
body[data-restaurant-profile="petit-dakar"] .hero-copy h1 { font-size:clamp(45px,5vw,72px); line-height:.98; }
body[data-restaurant-profile="petit-dakar"] .food-carousel {
  position:relative;
  display:block;
  width:min(47vw,610px);
  height:500px;
  margin-inline:auto;
  perspective:none;
  transform:none;
}
body[data-restaurant-profile="petit-dakar"] .food-carousel::before,
body[data-restaurant-profile="petit-dakar"] .food-carousel::after {
  content:"";
  position:absolute;
  inset:50%;
  translate:-50% -50%;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  pointer-events:none;
}
body[data-restaurant-profile="petit-dakar"] .food-carousel::before { width:360px; height:360px; }
body[data-restaurant-profile="petit-dakar"] .food-carousel::after { width:245px; height:245px; border-style:dashed; animation:dakarRing 22s linear infinite; }
body[data-restaurant-profile="petit-dakar"] .dakar-stage-copy {
  position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:1;
  display:grid;place-items:center;width:190px;height:190px;border-radius:50%;
  background:rgba(111,0,16,.88);border:2px solid rgba(255,255,255,.78);color:white;text-align:center;
  box-shadow:0 20px 55px rgba(45,0,7,.35);backdrop-filter:blur(8px);
}
body[data-restaurant-profile="petit-dakar"] .dakar-stage-copy small { text-transform:uppercase;letter-spacing:.18em;font-weight:900; }
body[data-restaurant-profile="petit-dakar"] .dakar-stage-copy b { font:700 27px/1.02 Georgia,serif; }
body[data-restaurant-profile="petit-dakar"] .dakar-plate {
  position:absolute;z-index:2;width:128px;height:128px;padding:0;border:4px solid white;border-radius:50%;overflow:hidden;
  background:#fff;box-shadow:0 16px 38px rgba(55,0,8,.32);transition:transform .55s ease,border-color .55s ease,filter .55s ease;animation:dakarFloat 5s ease-in-out infinite;
}
body[data-restaurant-profile="petit-dakar"] .dakar-plate img { width:100%;height:100%;object-fit:cover;display:block; }
body[data-restaurant-profile="petit-dakar"] .dakar-plate span { position:absolute;left:6px;right:6px;bottom:5px;padding:5px 6px;border-radius:999px;background:rgba(102,0,14,.86);color:white;font-size:10px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .35s; }
body[data-restaurant-profile="petit-dakar"] .dakar-plate.is-active { transform:scale(1.17);border-color:#ffccd4;filter:saturate(1.12);z-index:4; }
body[data-restaurant-profile="petit-dakar"] .dakar-plate.is-active span { opacity:1; }
body[data-restaurant-profile="petit-dakar"] .dakar-plate--1{left:4%;top:8%;animation-delay:-.6s}
body[data-restaurant-profile="petit-dakar"] .dakar-plate--2{left:38%;top:0;animation-delay:-1.3s}
body[data-restaurant-profile="petit-dakar"] .dakar-plate--3{right:2%;top:13%;animation-delay:-2s}
body[data-restaurant-profile="petit-dakar"] .dakar-plate--4{right:0;bottom:15%;animation-delay:-2.7s}
body[data-restaurant-profile="petit-dakar"] .dakar-plate--5{left:39%;bottom:0;animation-delay:-3.4s}
body[data-restaurant-profile="petit-dakar"] .dakar-plate--6{left:2%;bottom:12%;animation-delay:-4.1s}
body[data-restaurant-profile="petit-dakar"] .dakar-plate--7{left:16%;top:38%;width:105px;height:105px;animation-delay:-4.8s}
@keyframes dakarFloat{0%,100%{margin-top:0}50%{margin-top:-10px}}
@keyframes dakarRing{to{transform:rotate(360deg)}}
@media(max-width:1050px){body[data-restaurant-profile="petit-dakar"] .public-hero{grid-template-columns:1fr !important;min-height:auto;padding-bottom:28px!important}body[data-restaurant-profile="petit-dakar"] .food-carousel{width:min(92vw,600px);height:430px}}
@media(max-width:620px){body[data-restaurant-profile="petit-dakar"] .public-hero{padding:38px 20px 18px!important}body[data-restaurant-profile="petit-dakar"] .hero-copy h1{font-size:43px}body[data-restaurant-profile="petit-dakar"] .food-carousel{width:100%;height:330px;margin-top:8px}body[data-restaurant-profile="petit-dakar"] .food-carousel::before{width:260px;height:260px}body[data-restaurant-profile="petit-dakar"] .food-carousel::after{width:165px;height:165px}body[data-restaurant-profile="petit-dakar"] .dakar-stage-copy{width:135px;height:135px}body[data-restaurant-profile="petit-dakar"] .dakar-stage-copy b{font-size:20px}body[data-restaurant-profile="petit-dakar"] .dakar-plate{width:86px;height:86px;border-width:3px}body[data-restaurant-profile="petit-dakar"] .dakar-plate--7{width:72px;height:72px}}
@media(prefers-reduced-motion:reduce){body[data-restaurant-profile="petit-dakar"] .dakar-plate,body[data-restaurant-profile="petit-dakar"] .food-carousel::after{animation:none}}
/* Rééquilibrage v7 : bordeaux feutré, composition latérale et tailles variées. */
body[data-restaurant-profile="petit-dakar"]{
  --petit-red:#8f3548;
  --petit-red-dark:#5f2230;
  --petit-red-soft:#fbf2f4;
  --petit-line:#e5cfd5;
}
body[data-restaurant-profile="petit-dakar"] .public-hero{
  min-height:640px!important;
  background-color:#632331!important;
  background-image:radial-gradient(circle at 88% 18%,rgba(255,255,255,.1) 0 7%,transparent 7.4%),radial-gradient(circle at 75% 82%,rgba(255,255,255,.06) 0 16%,transparent 16.4%),linear-gradient(125deg,#55202c 0%,#773042 54%,#9b4358 100%)!important;
}
body[data-restaurant-profile="petit-dakar"] .hero-copy h1{font-size:clamp(44px,4vw,66px)!important;white-space:normal!important;max-width:720px}
body[data-restaurant-profile="petit-dakar"] .hero-copy>p:not(.eyebrow){font-size:18px;line-height:1.55;max-width:540px!important}
body[data-restaurant-profile="petit-dakar"] .hero-highlights{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
body[data-restaurant-profile="petit-dakar"] .hero-highlights span{padding:8px 12px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:12px;font-weight:800;backdrop-filter:blur(5px)}
body[data-restaurant-profile="petit-dakar"] .dakar-plate{background:#fff;border-color:#fff5f7}
body[data-restaurant-profile="petit-dakar"] .dakar-plate--1{width:152px;height:152px;left:0;top:10%}
body[data-restaurant-profile="petit-dakar"] .dakar-plate--2{width:112px;height:112px;left:39%;top:1%}
body[data-restaurant-profile="petit-dakar"] .dakar-plate--3{width:142px;height:142px;right:0;top:14%}
body[data-restaurant-profile="petit-dakar"] .dakar-plate--4{width:104px;height:104px;right:5%;bottom:7%}
body[data-restaurant-profile="petit-dakar"] .dakar-plate--5{width:132px;height:132px;left:39%;bottom:-1%}
body[data-restaurant-profile="petit-dakar"] .dakar-plate--6{width:96px;height:96px;left:5%;bottom:13%}
body[data-restaurant-profile="petit-dakar"] .dakar-plate--7{width:118px;height:118px;left:20%;top:40%}
body[data-restaurant-profile="petit-dakar"] .dakar-stage-copy{width:175px;height:175px;background:rgba(79,27,39,.88)}
@media(min-width:801px){body[data-restaurant-profile="petit-dakar"] .public-hero{position:relative!important;display:grid!important;grid-template-columns:minmax(390px,1.02fr) minmax(450px,.98fr)!important;align-items:center!important;gap:28px!important;padding:42px max(4vw,54px)!important}body[data-restaurant-profile="petit-dakar"] .hero-copy{position:relative!important;width:auto!important;max-width:700px!important}body[data-restaurant-profile="petit-dakar"] .food-carousel{position:relative!important;top:auto!important;right:auto!important;width:min(43vw,540px)!important;height:500px!important;margin:0 auto!important}}
@media(min-width:801px) and (max-width:1180px){body[data-restaurant-profile="petit-dakar"] .public-hero{grid-template-columns:minmax(350px,.95fr) minmax(390px,1.05fr)!important;padding-inline:34px!important}body[data-restaurant-profile="petit-dakar"] .food-carousel{width:430px!important;transform:scale(.88)!important}body[data-restaurant-profile="petit-dakar"] header{padding-inline:18px}body[data-restaurant-profile="petit-dakar"] .brand b{font-size:1.05rem;white-space:nowrap}body[data-restaurant-profile="petit-dakar"] header nav a,body[data-restaurant-profile="petit-dakar"] header nav button{padding:8px 9px;font-size:13px}}
@media(max-width:800px){body[data-restaurant-profile="petit-dakar"] .public-hero{display:grid!important;grid-template-columns:1fr!important;min-height:auto!important;padding:34px 22px 20px!important}body[data-restaurant-profile="petit-dakar"] .food-carousel{position:relative!important;top:auto!important;right:auto!important;width:min(94vw,500px)!important;height:410px!important;margin:8px auto 0!important;transform:scale(.9)!important}body[data-restaurant-profile="petit-dakar"] .hero-copy h1{font-size:clamp(38px,9vw,52px)!important}}
/* Cartes menu v8 : photographie pleine largeur et galerie dense. */
body[data-restaurant-profile="petit-dakar"] .public-menu{max-width:none!important;width:100%!important;padding-inline:clamp(18px,3vw,54px)!important}
body[data-restaurant-profile="petit-dakar"] .product-track{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;overflow:visible!important;padding:3px 2px 18px!important}
body[data-restaurant-profile="petit-dakar"] .product-track .dish-card{display:flex!important;flex:initial!important;min-width:0!important;width:100%!important;min-height:0!important;flex-direction:column!important;overflow:hidden!important}
body[data-restaurant-profile="petit-dakar"] .dish-card .dish-media{display:block!important;width:100%!important;height:220px!important;flex:none!important;overflow:hidden!important;background:#f4e8eb}
body[data-restaurant-profile="petit-dakar"] .dish-card .dish-media img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important}
body[data-restaurant-profile="petit-dakar"] .dish-card .dish-body{display:flex!important;flex:1!important;flex-direction:column!important;padding:16px!important}
body[data-restaurant-profile="petit-dakar"] .dish-card .dish-body h3{margin:7px 0 6px!important;font-size:1.15rem!important;line-height:1.18!important}
body[data-restaurant-profile="petit-dakar"] .dish-card .dish-body p{min-height:0!important;margin:0 0 14px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.88rem!important;line-height:1.4!important}
body[data-restaurant-profile="petit-dakar"] .dish-card .dish-bottom{margin-top:auto!important}
body[data-restaurant-profile="petit-dakar"] .dish-card .add-product-button{box-shadow:none!important;border:0!important}
@media(max-width:1250px){body[data-restaurant-profile="petit-dakar"] .product-track{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:860px){body[data-restaurant-profile="petit-dakar"] .product-track{grid-template-columns:repeat(2,minmax(0,1fr))!important}body[data-restaurant-profile="petit-dakar"] .dish-card .dish-media{height:190px!important}}
@media(max-width:520px){body[data-restaurant-profile="petit-dakar"] .product-track{grid-template-columns:1fr!important}body[data-restaurant-profile="petit-dakar"] .dish-card .dish-media{height:230px!important}}
/* Connexion ERP et centre de l’animation v9. */
body[data-restaurant-profile="petit-dakar"] .auth-page{background:#4f1b27!important}
body[data-restaurant-profile="petit-dakar"] .auth-page::after{background:linear-gradient(90deg,rgba(62,18,29,.92),rgba(104,39,55,.66),rgba(54,15,24,.9))!important}
body[data-restaurant-profile="petit-dakar"] .login-panel{width:min(430px,92vw)!important;background:rgba(86,29,43,.76)!important;border-color:rgba(255,235,240,.42)!important;box-shadow:0 28px 80px rgba(37,5,13,.48)!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .brand{color:white!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .brand img{width:72px!important;height:72px!important;border-radius:50%;background:white;padding:3px}
body[data-restaurant-profile="petit-dakar"] .login-panel .brand b{color:white!important;font-size:1.35rem!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .eyebrow{color:#f4c8d1!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .primary{background:#8f3548!important;box-shadow:0 6px 0 #4b1723!important}
body[data-restaurant-profile="petit-dakar"] .auth-food-strip figcaption{background:linear-gradient(transparent,rgba(62,18,29,.96))!important}
body[data-restaurant-profile="petit-dakar"] .dakar-stage-copy{z-index:5!important}
body[data-restaurant-profile="petit-dakar"] .dakar-plate--7{left:1%!important;top:46%!important;width:108px!important;height:108px!important}
/* Connexion compacte et responsive v10. */
body[data-restaurant-profile="petit-dakar"] .auth-page{padding:18px!important;overflow:auto!important}
body[data-restaurant-profile="petit-dakar"] .login-panel{
  width:min(380px,calc(100vw - 36px))!important;
  max-height:calc(100dvh - 36px)!important;
  overflow:auto!important;
  gap:10px!important;
  padding:22px!important;
  border-radius:20px!important;
  background:rgba(91,31,45,.96)!important;
  backdrop-filter:blur(8px)!important;
}
body[data-restaurant-profile="petit-dakar"] .login-panel .brand{margin:0 0 8px!important;gap:12px!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .brand img{width:58px!important;height:58px!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .brand b{font-size:1.15rem!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .eyebrow{margin:2px 0!important;font-size:10px!important}
body[data-restaurant-profile="petit-dakar"] .login-panel h2{margin:2px 0 10px!important;font-size:clamp(29px,5vw,40px)!important;line-height:1!important}
body[data-restaurant-profile="petit-dakar"] .login-panel label{gap:5px!important;font-size:12px!important}
body[data-restaurant-profile="petit-dakar"] .login-panel input{height:46px!important;padding:9px 12px!important;border-radius:10px!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .primary{min-height:46px!important;margin-top:5px!important;padding:10px 16px!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .auth-return{font-size:13px!important;margin:4px 0!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .text-button{min-height:40px!important;padding:8px 12px!important}
@media(max-height:720px){body[data-restaurant-profile="petit-dakar"] .login-panel{gap:7px!important;padding:16px 20px!important}body[data-restaurant-profile="petit-dakar"] .login-panel .brand img{width:46px!important;height:46px!important}body[data-restaurant-profile="petit-dakar"] .login-panel h2{font-size:28px!important;margin-bottom:5px!important}body[data-restaurant-profile="petit-dakar"] .login-panel input{height:40px!important}body[data-restaurant-profile="petit-dakar"] .login-panel .primary{min-height:42px!important}}
@media(max-width:520px){body[data-restaurant-profile="petit-dakar"] .auth-page{padding:10px!important}body[data-restaurant-profile="petit-dakar"] .login-panel{width:min(340px,calc(100vw - 20px))!important;max-height:calc(100dvh - 20px)!important;padding:16px!important;border-radius:16px!important}body[data-restaurant-profile="petit-dakar"] .login-panel .brand img{width:48px!important;height:48px!important}body[data-restaurant-profile="petit-dakar"] .login-panel h2{font-size:28px!important}}
/* Révision globale du site public v11. */
body[data-restaurant-profile="petit-dakar"] header{min-height:76px;height:auto!important;gap:18px;padding-block:8px!important}
body[data-restaurant-profile="petit-dakar"] header .brand{flex:0 0 auto;white-space:nowrap}
body[data-restaurant-profile="petit-dakar"] header nav{justify-content:center;min-width:0}
body[data-restaurant-profile="petit-dakar"] header nav a,body[data-restaurant-profile="petit-dakar"] header nav button{white-space:nowrap}
body[data-restaurant-profile="petit-dakar"] .public-menu>.section-title{align-items:center!important;gap:18px}
body[data-restaurant-profile="petit-dakar"] .menu-row{padding:4px 0 20px}
body[data-restaurant-profile="petit-dakar"] .menu-row-head{padding-inline:2px;border-bottom:1px solid #ead7db;padding-bottom:10px}
body[data-restaurant-profile="petit-dakar"] .menu-row-head small{color:#765b62}
body[data-restaurant-profile="petit-dakar"] .cms-section{padding:64px max(5vw,28px)!important;background:#fff!important;border-top:1px solid #ead7db}
body[data-restaurant-profile="petit-dakar"] .cms-section:nth-child(even){background:#fbf2f4!important}
body[data-restaurant-profile="petit-dakar"] .cms-section>div{max-width:1180px;width:100%;margin-inline:auto}
body[data-restaurant-profile="petit-dakar"] .cms-section h2{color:#5f2230;font-size:clamp(30px,3vw,46px)}
body[data-restaurant-profile="petit-dakar"] .contact-section{padding:64px max(5vw,28px)!important;align-items:start;gap:clamp(28px,5vw,72px)!important}
body[data-restaurant-profile="petit-dakar"] .contact-section>div{position:sticky;top:110px}
body[data-restaurant-profile="petit-dakar"] .contact-section form{padding:clamp(20px,3vw,32px)!important}
body[data-restaurant-profile="petit-dakar"] .public-footer{align-items:center;padding:34px max(5vw,28px)!important}
body[data-restaurant-profile="petit-dakar"] .public-footer img{width:74px;height:74px;background:white;padding:3px}
body[data-restaurant-profile="petit-dakar"] .welcome-dialog,body[data-restaurant-profile="petit-dakar"] .customer-portal-dialog,body[data-restaurant-profile="petit-dakar"] #checkoutDialog{border:1px solid #e2c5cc;box-shadow:0 28px 80px rgba(55,12,23,.28)}
body[data-restaurant-profile="petit-dakar"] .welcome-dialog{width:min(390px,calc(100vw - 24px))!important}
body[data-restaurant-profile="petit-dakar"] .welcome-dialog img{width:140px!important}
body[data-restaurant-profile="petit-dakar"] dialog form{padding:clamp(18px,3vw,28px)!important}
body[data-restaurant-profile="petit-dakar"] :focus-visible{outline:3px solid #c77b8d!important;outline-offset:3px!important}
@media(max-width:1180px){body[data-restaurant-profile="petit-dakar"] header .menu-toggle{display:block!important;order:3}body[data-restaurant-profile="petit-dakar"] header nav{display:none!important;position:absolute;top:76px;left:14px;right:14px;z-index:30;flex-direction:column;align-items:stretch!important;padding:12px!important;background:#fff!important;border:1px solid #e2c5cc!important;box-shadow:0 18px 50px rgba(55,12,23,.2)!important}body[data-restaurant-profile="petit-dakar"] header nav.open{display:flex!important}body[data-restaurant-profile="petit-dakar"] header nav a,body[data-restaurant-profile="petit-dakar"] header nav button{display:block!important;width:100%!important;text-align:left!important;padding:12px 14px!important}body[data-restaurant-profile="petit-dakar"] header .live{margin-left:auto}body[data-restaurant-profile="petit-dakar"] .brand b{font-size:1.1rem!important}}
@media(max-width:760px){body[data-restaurant-profile="petit-dakar"] header{padding-inline:12px!important}body[data-restaurant-profile="petit-dakar"] header .brand img{width:48px;height:48px}body[data-restaurant-profile="petit-dakar"] header .live{display:none!important}body[data-restaurant-profile="petit-dakar"] .public-menu>.section-title{display:grid!important;grid-template-columns:1fr!important;align-items:start!important}body[data-restaurant-profile="petit-dakar"] .menu-row-head{align-items:start!important}body[data-restaurant-profile="petit-dakar"] .menu-row-head small{display:none}body[data-restaurant-profile="petit-dakar"] .contact-section{grid-template-columns:1fr!important;padding:42px 16px!important}body[data-restaurant-profile="petit-dakar"] .contact-section>div{position:static}body[data-restaurant-profile="petit-dakar"] .public-footer{display:grid!important;grid-template-columns:70px 1fr!important;padding:28px 16px!important}body[data-restaurant-profile="petit-dakar"] .public-footer>div:last-of-type,body[data-restaurant-profile="petit-dakar"] .public-footer>small{grid-column:1/-1}body[data-restaurant-profile="petit-dakar"] .form-grid{grid-template-columns:1fr!important}}
@media(max-width:420px){body[data-restaurant-profile="petit-dakar"] .brand b{font-size:.95rem!important}body[data-restaurant-profile="petit-dakar"] .menu-toggle{font-size:20px!important;padding:7px 10px!important}body[data-restaurant-profile="petit-dakar"] .public-footer{grid-template-columns:1fr!important;text-align:center;justify-items:center}body[data-restaurant-profile="petit-dakar"] .public-footer>*{grid-column:1!important}}
/* Connexion ultra-compacte sans défilement v13. */
body[data-restaurant-profile="petit-dakar"] .auth-page{min-height:100dvh!important;padding:8px!important;overflow:hidden!important}
body[data-restaurant-profile="petit-dakar"] .login-panel{
  width:min(320px,calc(100vw - 20px))!important;
  max-height:none!important;
  overflow:visible!important;
  gap:6px!important;
  padding:14px 16px!important;
  border-radius:16px!important;
}
body[data-restaurant-profile="petit-dakar"] .login-panel .brand{margin:0 0 3px!important;gap:9px!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .brand img{width:42px!important;height:42px!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .brand b{font-size:1rem!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .eyebrow{margin:0!important;font-size:8px!important;letter-spacing:.14em!important}
body[data-restaurant-profile="petit-dakar"] .login-panel h2{margin:1px 0 5px!important;font-size:25px!important;line-height:1!important}
body[data-restaurant-profile="petit-dakar"] .login-panel label{gap:3px!important;font-size:10px!important}
body[data-restaurant-profile="petit-dakar"] .login-panel input{width:26ch!important;max-width:100%!important;height:36px!important;padding:6px 9px!important;border-radius:8px!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .primary{min-height:38px!important;margin-top:4px!important;padding:7px 12px!important;font-size:12px!important;box-shadow:0 4px 0 #4b1723!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .auth-return{margin:2px 0!important;font-size:11px!important;line-height:1.2!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .text-button{min-height:34px!important;padding:6px 9px!important;font-size:11px!important}
@media(max-height:540px){body[data-restaurant-profile="petit-dakar"] .login-panel{width:min(300px,calc(100vw - 16px))!important;gap:4px!important;padding:10px 13px!important}body[data-restaurant-profile="petit-dakar"] .login-panel .brand img{width:34px!important;height:34px!important}body[data-restaurant-profile="petit-dakar"] .login-panel h2{font-size:21px!important}body[data-restaurant-profile="petit-dakar"] .login-panel input{height:32px!important}body[data-restaurant-profile="petit-dakar"] .login-panel .primary{min-height:34px!important}}
/* Boutons de connexion proportionnés v14. */
body[data-restaurant-profile="petit-dakar"] .login-panel .primary{
  width:180px!important;
  min-width:0!important;
  max-width:100%!important;
  align-self:center!important;
  justify-self:center!important;
}
body[data-restaurant-profile="petit-dakar"] .login-panel .text-button{
  width:160px!important;
  min-width:0!important;
  max-width:100%!important;
  align-self:center!important;
  justify-self:center!important;
  border-radius:9px!important;
}
@media(max-width:360px){body[data-restaurant-profile="petit-dakar"] .login-panel .primary{width:160px!important}body[data-restaurant-profile="petit-dakar"] .login-panel .text-button{width:145px!important}}
/* Direction blanc puis rouge v15. */
body[data-restaurant-profile="petit-dakar"]{
  --petit-red:#c31332;
  --petit-red-dark:#8d0d25;
  --petit-red-soft:#fff4f6;
  --petit-ink:#2b2023;
  --petit-muted:#6f6266;
  --petit-line:#eadcdf;
  --cream:#fff;
  background:#fff!important;
}
body[data-restaurant-profile="petit-dakar"] header{background:#fff!important;border-bottom:3px solid #c31332!important}
body[data-restaurant-profile="petit-dakar"] header nav{background:#fff7f8!important;border-color:#f0dadd!important}
body[data-restaurant-profile="petit-dakar"] .public-hero{
  min-height:650px!important;
  color:#2b2023!important;
  background-color:#f8f3f1!important;
  background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 39%,rgba(255,255,255,.42) 68%,rgba(255,255,255,.12) 100%),url('/assets/petit-dakar-restaurant-interior.jpg')!important;
  background-position:center!important;
  background-size:cover!important;
  border-bottom:0!important;
}
body[data-restaurant-profile="petit-dakar"] .public-hero::after{height:4px!important;background:#c31332!important}
body[data-restaurant-profile="petit-dakar"] .hero-copy{padding:32px!important;border:1px solid rgba(195,19,50,.13);border-radius:24px;background:rgba(255,255,255,.9);box-shadow:0 20px 55px rgba(72,32,40,.1);backdrop-filter:blur(5px)}
body[data-restaurant-profile="petit-dakar"] .public-hero .eyebrow{color:#a00e29!important;opacity:1!important}
body[data-restaurant-profile="petit-dakar"] .hero-copy h1{color:#421923!important}
body[data-restaurant-profile="petit-dakar"] .public-hero .hero-copy>p:not(.eyebrow){color:#594b4f!important}
body[data-restaurant-profile="petit-dakar"] .hero-highlights span{background:#fff!important;color:#702234!important;border-color:#e3c5cc!important;backdrop-filter:none!important}
body[data-restaurant-profile="petit-dakar"] .cta,body[data-restaurant-profile="petit-dakar"] .primary{background:#c31332!important;color:#fff!important;box-shadow:0 5px 0 #8d0d25!important}
body[data-restaurant-profile="petit-dakar"] .food-carousel::before,body[data-restaurant-profile="petit-dakar"] .food-carousel::after{border-color:rgba(141,13,37,.35)!important}
body[data-restaurant-profile="petit-dakar"] .dakar-stage-copy{background:rgba(255,255,255,.94)!important;color:#7b1027!important;border-color:#c31332!important;box-shadow:0 18px 45px rgba(58,17,26,.18)!important}
body[data-restaurant-profile="petit-dakar"] .dakar-plate{border-color:#fff!important;box-shadow:0 14px 34px rgba(50,20,27,.22)!important}
body[data-restaurant-profile="petit-dakar"] .public-menu,body[data-restaurant-profile="petit-dakar"] .cms-section{background:#fff!important}
body[data-restaurant-profile="petit-dakar"] .contact-section{background:#fff8f9!important}

/* Authentification centrée sans marges, voile à 10 % et panneau presque opaque. */
body[data-restaurant-profile="petit-dakar"] .auth-page{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#3d111c url('/assets/petit-dakar-restaurant-interior.jpg') center/cover no-repeat!important;
}
body[data-restaurant-profile="petit-dakar"] .auth-page::after{background:rgba(48,8,18,.10)!important}
body[data-restaurant-profile="petit-dakar"] .login-panel{
  position:relative!important;
  inset:auto!important;
  width:min(320px,calc(100vw - 16px))!important;
  margin:0!important;
  padding:14px 16px!important;
  background:rgba(93,27,43,.96)!important;
  border:1px solid rgba(255,255,255,.34)!important;
  transform:none!important;
  justify-self:center!important;
  align-self:center!important;
}
@media(max-width:800px){body[data-restaurant-profile="petit-dakar"] .public-hero{background-image:linear-gradient(rgba(255,255,255,.88),rgba(255,255,255,.82)),url('/assets/petit-dakar-restaurant-interior.jpg')!important}body[data-restaurant-profile="petit-dakar"] .hero-copy{padding:24px!important;background:rgba(255,255,255,.92)}body[data-restaurant-profile="petit-dakar"] .food-carousel{background:rgba(255,255,255,.48);border-radius:28px}}
/* Accueil sans cadre v16. */
body[data-restaurant-profile="petit-dakar"] .hero-copy{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
@media(max-width:800px){body[data-restaurant-profile="petit-dakar"] .hero-copy{padding:0!important;background:transparent!important}}
/* Centrage géométrique exact v17. */
body.admin-body:has(#loginView:not([hidden])){margin:0!important;overflow:hidden!important}
body[data-restaurant-profile="petit-dakar"] #loginView.auth-page{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:0!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
}
body[data-restaurant-profile="petit-dakar"] #loginView .login-panel{
  position:relative!important;
  inset:auto!important;
  place-self:center!important;
  margin:0!important;
  transform:none!important;
}
body[data-restaurant-profile="petit-dakar"] .login-panel .brand{justify-content:center!important;text-align:center!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .eyebrow,body[data-restaurant-profile="petit-dakar"] .login-panel h2{text-align:center!important}
body[data-restaurant-profile="petit-dakar"] .login-panel label{width:26ch!important;max-width:100%!important;justify-self:center!important;align-self:center!important;text-align:left!important}
body[data-restaurant-profile="petit-dakar"] .login-panel .auth-return{text-align:center!important;justify-self:center!important}
/* Cadre transparent v18. */
body[data-restaurant-profile="petit-dakar"] #loginView .login-panel{
  background:rgba(77,15,30,.10)!important;
  border:1px solid rgba(255,255,255,.48)!important;
  box-shadow:0 22px 65px rgba(34,4,11,.18)!important;
  backdrop-filter:blur(12px) saturate(.9)!important;
  -webkit-backdrop-filter:blur(12px) saturate(.9)!important;
}
/* Champs harmonisés v19. */
body[data-restaurant-profile="petit-dakar"] .login-panel label{
  width:240px!important;
  max-width:calc(100vw - 48px)!important;
  gap:5px!important;
  color:rgba(255,255,255,.92)!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
}
body[data-restaurant-profile="petit-dakar"] .login-panel input{
  width:240px!important;
  max-width:100%!important;
  height:40px!important;
  padding:8px 11px!important;
  border:1px solid rgba(255,255,255,.7)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.84)!important;
  color:#3f1721!important;
  box-shadow:0 5px 16px rgba(42,4,13,.08)!important;
  font-size:13px!important;
}
body[data-restaurant-profile="petit-dakar"] .login-panel input::placeholder{color:#8a7479!important;opacity:1!important}
body[data-restaurant-profile="petit-dakar"] .login-panel input:focus{
  border-color:#fff!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 0 0 3px rgba(255,255,255,.22)!important;
  outline:0!important;
}
@media(max-width:340px){body[data-restaurant-profile="petit-dakar"] .login-panel label,body[data-restaurant-profile="petit-dakar"] .login-panel input{width:220px!important}}
/* État authentifié v29 : masquer totalement la vue inactive. */
body[data-restaurant-profile="petit-dakar"] #loginView[hidden],
body[data-restaurant-profile="petit-dakar"] #erpView[hidden]{display:none!important}
body.admin-body:has(#erpView:not([hidden])){margin:0!important;overflow:auto!important}