.menu-rows{display:grid!important;grid-template-columns:1fr!important;gap:22px;min-width:0}
.menu-row{min-width:0}.menu-row-head{display:flex;align-items:end;justify-content:space-between;margin:0 0 9px}.menu-row-head h3{margin:0;font-size:clamp(1.2rem,2vw,1.65rem)}
.product-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 12px;scrollbar-width:thin}
.product-track .dish-card{flex:0 0 min(330px,27vw);scroll-snap-align:start;position:relative}
.dish-card .item-badge{position:absolute;top:10px;right:10px;z-index:2;min-width:28px;height:28px;padding:0 7px;border-radius:999px;background:#ffca05;color:#053f32;display:grid;place-items:center;font-weight:900;box-shadow:0 3px 12px #0003}
.cart-fab{position:fixed;right:22px;bottom:24px;z-index:60;width:58px;height:58px;border:0;border-radius:50%;background:#00795d;color:#fff;font-size:25px;box-shadow:0 12px 30px #001b1644;cursor:pointer}.cart-fab-badge{position:absolute;right:-4px;top:-6px;min-width:23px;height:23px;padding:0 5px;border-radius:999px;background:#e51535;color:#fff;display:grid;place-items:center;font:800 12px/1 system-ui}
.cart-dialog,.options-dialog{border:0;padding:0;background:transparent;max-width:none;max-height:none}.cart-dialog::backdrop,.options-dialog::backdrop{background:#001d17aa;backdrop-filter:blur(3px)}
.cart-sheet,.options-sheet{box-sizing:border-box;width:min(540px,calc(100vw - 24px));max-height:min(84vh,760px);overflow:auto;padding:22px;background:#fff;border-radius:24px}
.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:16px}.dialog-head h2{margin:2px 0 0}.dialog-close{width:42px;height:42px;border:0;border-radius:50%;font-size:24px}
.cart-items{display:grid;gap:10px}.cart-unit{border:1px solid #d9e1dc;border-radius:14px;padding:12px;background:#fff}.cart-unit-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.cart-unit h4{margin:0;font-size:1rem}.cart-unit-options{font-size:.82rem;color:#65736d;margin-top:5px}.cart-unit-actions{display:flex;align-items:center;gap:7px}.cart-unit-actions button{width:32px;height:32px;border:1px solid #cfd9d3;border-radius:9px;background:#f5f7f5;font-weight:900}.cart-total{display:flex;justify-content:space-between;border-top:1px solid #d8e0db;margin-top:14px;padding-top:14px;font-size:1.12rem}.cart-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.option-group{border:1px solid #d8e0db;border-radius:14px;padding:14px;margin:0 0 12px}.option-group legend{font-weight:900;padding:0 5px}.option-limit{font-size:.78rem;color:#68766f;margin:0 0 8px}.option-choice{display:flex;align-items:center;gap:9px;padding:8px 0}.option-choice input{width:18px;height:18px}.customer-suggestion{margin:8px 0;padding:10px 12px;border-radius:12px;background:#fff3bd;color:#573f00}.customer-suggestion button{border:0;background:transparent;color:#006b54;text-decoration:underline;font-weight:800;cursor:pointer}.form-hint{font-size:.84rem;color:#64716c;margin:4px 0 10px}
@media(max-width:760px){.public-menu{padding-left:12px!important;padding-right:12px!important}.section-title{align-items:start;gap:8px}.section-title h2{font-size:2rem}.product-track{gap:10px}.product-track .dish-card{flex-basis:calc(50% - 5px);min-width:0}.dish-card img{height:142px!important}.dish-card .dish-body{padding:12px!important}.dish-card h3{font-size:1rem!important;line-height:1.12}.dish-card p{font-size:.8rem;line-height:1.3;margin:7px 0}.dish-card .dish-meta{font-size:.72rem}.dish-card .dish-bottom{gap:6px}.dish-card .dish-bottom strong{font-size:.86rem}.dish-card .primary{padding:9px 10px;font-size:.82rem}.cart-fab{right:14px;bottom:18px}.cart-sheet,.options-sheet{width:100vw;max-height:88vh;border-radius:22px 22px 0 0;padding:17px}.cart-dialog[open],.options-dialog[open]{display:flex;align-items:flex-end;width:100vw;height:100vh}}
@media(max-width:380px){.product-track{gap:8px}.product-track .dish-card{flex-basis:calc(50% - 4px)}.dish-card img{height:118px!important}.dish-card .dish-body{padding:9px!important}.dish-card .dish-bottom{display:grid!important;grid-template-columns:1fr}.dish-card .primary{width:100%}}
/* Le slogan principal reste sur une seule ligne, quelle que soit la largeur. */
.public-hero .hero-copy h1 {
  font-size: clamp(1.05rem, 2.75vw, 2.75rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
  white-space: nowrap;
}

.public-hero .hero-copy h1 br {
  display: none;
}

/* Sur ordinateur, le slogan occupe le haut et toute la largeur du bandeau. */
@media (min-width: 1001px) {
  .public-hero {
    position: relative;
    display: block;
    padding-top: clamp(34px, 4vw, 62px);
  }

  .public-hero .hero-copy {
    position: relative;
    z-index: 8;
    width: 100%;
  }

  .public-hero .hero-copy h1 {
    width: 100%;
    font-size: clamp(2.25rem, 4.15vw, 4.75rem);
    line-height: .98;
    letter-spacing: -0.045em;
  }

  .public-hero .hero-copy > p:not(.eyebrow) {
    max-width: 42%;
  }

  .public-hero .food-carousel {
    position: absolute;
    z-index: 3;
    top: clamp(126px, 13vw, 185px);
    right: 0;
    width: 66%;
  }
}
