
:root{
  --cream:#fbf6ed;
  --paper:#fffaf2;
  --ink:#1f2519;
  --muted:#5f584c;
  --olive:#394226;
  --terra:#a6502a;
  --terra-dark:#843d20;
  --gold:#c68635;
  --line:rgba(60,52,40,.15);
  --shadow:0 14px 34px rgba(53,42,26,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,"Times New Roman",serif;line-height:1.55;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.bsf-wrap{width:min(1180px,calc(100% - 36px));margin:auto}

/* HEADER */
.bsf-header{position:sticky;top:0;z-index:50;background:rgba(251,246,237,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.bsf-header-inner{height:74px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.bsf-brand{display:flex;align-items:center;gap:12px;min-width:300px}
.bsf-logo{width:48px;height:48px;display:grid;place-items:center;color:var(--gold);font-size:34px;line-height:1}
.bsf-brand strong{display:block;font-size:25px;line-height:1.05;color:#1c2016;white-space:nowrap}
.bsf-brand em{display:block;font-style:normal;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--terra);font-weight:800;white-space:nowrap}
.bsf-nav{display:flex;gap:22px;font-size:14px;align-items:center}
.bsf-nav a{padding:25px 0;border-bottom:2px solid transparent}
.bsf-nav a:hover,.bsf-nav a.active{color:var(--terra);border-color:var(--terra)}
.bsf-head-cta,.bsf-btn,.bsf-smallbtn{background:var(--terra);color:#fff!important;border:1px solid var(--terra);border-radius:8px;padding:12px 18px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}
.bsf-btn.secondary{background:transparent;color:var(--terra)!important}
.bsf-head-cta{font-size:16px;padding:13px 20px}
.bsf-menu-toggle{display:none}

/* HERO EXACT STYLE */
.bsf-hero{min-height:610px;border-bottom:1px solid var(--line);
  background:
    linear-gradient(90deg,rgba(251,246,237,.99) 0%,rgba(251,246,237,.94) 36%,rgba(251,246,237,.18) 66%,rgba(251,246,237,.03) 100%),
    url('../images/hero-foodtruck.jpg') center right/cover no-repeat;
}
.bsf-hero-inner{min-height:610px;display:grid;grid-template-columns:minmax(330px,520px) 1fr;align-items:center}
.bsf-hero h1{font-size:clamp(50px,6vw,78px);line-height:1.05;letter-spacing:-.045em;margin:0 0 16px;color:var(--olive)}
.bsf-hero p{font-size:17px;max-width:430px;margin:7px 0;color:#332f28}
.bsf-decor,.bsf-small-decor{display:flex;align-items:center;gap:12px;color:var(--gold);margin:14px 0 20px}
.bsf-decor:before,.bsf-decor:after,.bsf-small-decor:before,.bsf-small-decor:after{content:"";height:1px;width:90px;background:var(--gold);opacity:.55}
.bsf-small-decor{justify-content:flex-start;margin:5px 0 18px}
.bsf-small-decor.center{justify-content:center}
.bsf-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}

/* HOME MENU */
.bsf-menu-preview{padding:30px 0 18px}
.bsf-menu-grid{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:start}
.bsf-menu-intro h2,.bsf-locations h2,.bsf-events h2,.bsf-about h2{font-size:25px;margin:0;letter-spacing:.02em;text-transform:uppercase}
.bsf-menu-intro p{font-size:14px;color:var(--muted);margin:0 0 20px}
.bsf-dish-row{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.bsf-dish-card{background:var(--paper);border:1px solid var(--line);padding:10px;text-align:center;min-height:265px;box-shadow:0 10px 24px rgba(53,42,26,.04)}
.bsf-dish-card img{height:95px;width:100%;object-fit:cover;margin-bottom:10px}
.bsf-dish-card h3{font-size:18px;line-height:1.08;margin:0 0 8px}
.bsf-dish-card p{font-size:12.5px;line-height:1.45;color:var(--muted);margin:0 0 12px}
.bsf-dish-card strong{display:block;border-top:1px solid var(--line);padding-top:10px;color:var(--olive)}

/* LOCATIONS */
.bsf-locations{padding:0 0 22px}
.bsf-locations h2,.bsf-events h2{text-align:center}
.bsf-location-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:12px}
.bsf-location-card{background:var(--paper);border:1px solid var(--line);min-height:160px;padding:18px 14px;text-align:center}
.bsf-icon{font-size:27px;color:var(--terra)}
.bsf-location-card h3{font-size:15px;line-height:1.12;margin:6px 0;text-transform:uppercase}
.bsf-location-card p{font-size:12.5px;color:#4f4a40;margin:0}
.bsf-art{font-size:26px;margin-top:10px;color:var(--olive)}

/* EVENTS */
.bsf-events{padding:8px 0 24px}
.bsf-events-grid{display:grid;grid-template-columns:repeat(4,1fr) 210px;gap:14px;margin-top:14px}
.bsf-event-card,.bsf-event-cta{background:var(--paper);border:1px solid var(--line);text-align:center;overflow:hidden}
.bsf-event-photo{height:105px;background-size:cover;background-position:center;display:grid;place-items:end center}
.bsf-event-photo span{display:grid;place-items:center;width:48px;height:48px;background:var(--paper);border:1px solid var(--line);border-radius:50%;transform:translateY(20px);font-size:24px}
.bsf-event-card h3{font-size:17px;margin:30px 12px 4px}
.bsf-event-card p{font-size:12.5px;color:var(--muted);margin:0 14px 16px}
.bsf-event-cta{padding:24px 18px;display:flex;flex-direction:column;justify-content:center;gap:14px;text-align:left;background-image:linear-gradient(rgba(255,250,242,.88),rgba(255,250,242,.88))}
.bsf-event-cta h3{font-size:18px;margin:0}

/* ABOUT */
.bsf-about{display:grid;grid-template-columns:360px 1fr 270px;align-items:center;background:var(--paper);border-top:1px solid var(--line);min-height:240px}
.bsf-about-photo{height:240px;overflow:hidden;background:#eadac6}
.bsf-about-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.bsf-about-text{padding:24px 34px}
.bsf-about h2{text-align:center}
.bsf-about .bsf-small-decor{justify-content:center}
.bsf-about p{font-size:13px;color:#4f4a40;margin:5px 0}
.bsf-highlight{color:var(--terra)!important;font-weight:bold}
.bsf-palms{font-size:110px;opacity:.13;filter:grayscale(1);text-align:center}

/* PAGES */
.bsf-page-section{padding:56px 0}
.bsf-page-section h1{font-size:46px;line-height:1.05;margin:0 0 12px;color:var(--olive)}
.bsf-lead{font-size:18px;color:var(--muted);max-width:760px}
.bsf-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.bsf-product-card{display:grid;grid-template-columns:120px 1fr;gap:16px;background:var(--paper);border:1px solid var(--line);padding:12px;box-shadow:var(--shadow)}
.bsf-product-card img{width:120px;height:120px;object-fit:cover}
.bsf-product-card h3{font-size:20px;margin:0}
.bsf-product-card p{font-size:13px;color:var(--muted)}
.bsf-product-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bsf-smallbtn{font-size:13px;padding:8px 12px;min-height:38px}
.bsf-order-grid{display:grid;grid-template-columns:1fr 330px;gap:22px;align-items:start}
.bsf-panel{background:var(--paper);border:1px solid var(--line);padding:22px;box-shadow:var(--shadow)}
.bsf-pickups{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.bsf-pickups button,.bsf-slots button{border:1px solid var(--line);background:#fff9f0;border-radius:10px;padding:12px;cursor:pointer;text-align:left;font:inherit}
.bsf-pickups button.active,.bsf-slots button.active{border-color:var(--terra);background:#fff2e6;box-shadow:0 0 0 3px rgba(166,80,42,.10)}
.bsf-slots{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.bsf-slots button{text-align:center;min-width:82px}
.bsf-note{background:#fff8ec;border:1px dashed rgba(166,80,42,.45);border-radius:12px;padding:14px;margin:14px 0;color:#5e4f3f}
.bsf-cart-panel{position:sticky;top:100px}

/* FOOTER */
.bsf-footer{background:#f3eadc;padding:38px 0 0;border-top:1px solid var(--line)}
.bsf-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:28px}
.bsf-footer strong{font-size:18px}
.bsf-footer p,.bsf-footer a{font-size:14px;color:var(--muted);display:block;margin:6px 0}
.bsf-socials{display:flex;gap:12px}
.bsf-socials span{width:42px;height:42px;border-radius:50%;background:var(--olive);color:#fff;display:grid;place-items:center;font-size:20px}
.bsf-copy{margin-top:28px;background:var(--olive);color:#fff;text-align:center;padding:12px;font-size:13px}

.woocommerce ul.products li.product a img{aspect-ratio:4/3;object-fit:cover}
.woocommerce-cart table.cart img{width:72px!important;height:72px!important;object-fit:cover;border-radius:10px}

/* RESPONSIVE */
@media(max-width:1100px){
  .bsf-dish-row{grid-template-columns:repeat(3,1fr)}
  .bsf-events-grid{grid-template-columns:repeat(2,1fr)}
  .bsf-event-cta{grid-column:1/-1}
  .bsf-product-grid{grid-template-columns:repeat(2,1fr)}
  .bsf-about{grid-template-columns:300px 1fr}
  .bsf-palms{display:none}
}
@media(max-width:900px){
  .bsf-header-inner{height:auto;min-height:76px;flex-wrap:wrap;padding:12px 0}
  .bsf-menu-toggle{display:inline-flex;border:1px solid var(--line);background:var(--paper);padding:10px 14px;border-radius:8px;font-weight:bold}
  .bsf-nav{display:none;order:5;width:100%;grid-template-columns:1fr 1fr;gap:8px}
  .bsf-nav.open{display:grid}
  .bsf-nav a{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:10px}
  .bsf-hero{min-height:auto;padding:330px 0 46px;background:
    linear-gradient(180deg,rgba(251,246,237,.05),rgba(251,246,237,.78) 42%,rgba(251,246,237,.98) 58%,rgba(251,246,237,1)),
    url('../images/hero-foodtruck.jpg') top center/cover no-repeat}
  .bsf-hero-inner{min-height:auto;display:block}
  .bsf-menu-grid,.bsf-order-grid{grid-template-columns:1fr}
  .bsf-cart-panel{position:relative;top:auto}
  .bsf-location-grid{grid-template-columns:repeat(2,1fr)}
  .bsf-pickups{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .bsf-wrap{width:calc(100% - 24px)}
  .bsf-brand{min-width:0}
  .bsf-brand strong{font-size:19px}
  .bsf-brand em{display:none}
  .bsf-head-cta{font-size:13px;padding:10px}
  .bsf-hero{padding-top:270px}
  .bsf-hero h1{font-size:38px}
  .bsf-actions{display:grid}
  .bsf-btn{width:100%}
  .bsf-dish-row,.bsf-location-grid,.bsf-events-grid,.bsf-product-grid,.bsf-pickups,.bsf-footer-grid{grid-template-columns:1fr}
  .bsf-dish-card{display:grid;grid-template-columns:100px 1fr;gap:12px;min-height:0;text-align:left}
  .bsf-dish-card img{height:100px;margin:0}
  .bsf-dish-card strong{border:0;padding:0}
  .bsf-about{grid-template-columns:1fr}
  .bsf-about-photo{height:260px}
  .bsf-about-text{padding:22px 18px}
  .bsf-about h2{text-align:left}
  .bsf-about .bsf-small-decor{justify-content:flex-start}
  .bsf-product-card{grid-template-columns:100px 1fr}
  .bsf-product-card img{width:100px;height:100px}
  .bsf-product-row{display:grid}
  .bsf-smallbtn{width:100%}
}



/* V201 — retour panier visible */
.bsf-floating-cart{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  background:var(--terra);
  color:#fff!important;
  border-radius:999px;
  padding:13px 18px;
  font-weight:800;
  box-shadow:0 14px 35px rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.25);
}
.bsf-floating-cart strong{
  display:inline-grid;
  place-items:center;
  min-width:24px;
  height:24px;
  margin-left:8px;
  border-radius:50%;
  background:#fff;
  color:var(--terra);
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  background:#fffaf2!important;
  border-top-color:var(--terra)!important;
  color:var(--ink)!important;
  margin:18px 0!important;
}
@media(max-width:650px){
  .bsf-floating-cart{
    left:12px;
    right:12px;
    bottom:12px;
    justify-content:center;
    text-align:center;
    border-radius:14px;
  }
}



/* V300 — pages éditables, sans verrouillage PHP */
.bsf-editable-marker{display:none!important}
.bsf-page-section > .bsf-wrap > .woocommerce,
.bsf-panel .woocommerce{width:100%}
.woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:18px!important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{
  width:auto!important;
  margin:0!important;
  float:none!important;
  background:var(--paper);
  border:1px solid var(--line);
  padding:12px!important;
  box-shadow:var(--shadow);
  min-height:100%;
}
.woocommerce ul.products li.product a img{
  height:190px!important;
  width:100%!important;
  object-fit:cover!important;
  margin:0 0 12px!important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px!important;
  color:var(--ink);
  padding:0!important;
}
.woocommerce ul.products li.product .price{
  color:var(--olive)!important;
  font-weight:bold!important;
  font-size:16px!important;
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  background:var(--terra)!important;
  color:#fff!important;
  border-radius:8px!important;
  padding:12px 16px!important;
  font-weight:800!important;
}
.bsf-floating-cart{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  background:var(--terra);
  color:#fff!important;
  border-radius:999px;
  padding:13px 18px;
  font-weight:800;
  box-shadow:0 14px 35px rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.25);
}
.bsf-floating-cart strong{
  display:inline-grid;
  place-items:center;
  min-width:24px;
  height:24px;
  margin-left:8px;
  border-radius:50%;
  background:#fff;
  color:var(--terra);
}
@media(max-width:900px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important;}
}
@media(max-width:650px){
  .woocommerce ul.products{grid-template-columns:1fr!important;}
  .bsf-floating-cart{
    left:12px;
    right:12px;
    bottom:12px;
    justify-content:center;
    text-align:center;
    border-radius:14px;
  }
}



/* V301 — produits compacts + panier latéral */
.bsf-shop-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start}
.bsf-products-panel{overflow:hidden}
.bsf-shop-layout .woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
.bsf-shop-layout .woocommerce ul.products li.product{padding:9px!important;border-radius:0!important;min-height:auto!important}
.bsf-shop-layout .woocommerce ul.products li.product a img{height:118px!important;aspect-ratio:4/3;object-fit:cover!important;margin-bottom:8px!important}
.bsf-shop-layout .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:17px!important;line-height:1.12!important;margin:0 0 4px!important}
.bsf-shop-layout .woocommerce ul.products li.product .price{font-size:15px!important;margin:0 0 8px!important}
.bsf-shop-layout .woocommerce ul.products li.product a.button,.bsf-shop-layout .woocommerce ul.products li.product .button{font-size:13px!important;padding:9px 10px!important;min-height:36px!important;border-radius:8px!important;width:100%;text-align:center}
.bsf-shop-layout .woocommerce ul.products li.product a.added_to_cart{display:block!important;margin-top:6px!important;font-size:12px!important;text-align:center!important;color:var(--terra)!important;font-weight:800!important}
.bsf-cart-panel .widget_shopping_cart_content,.bsf-cart-panel .bsf-mini-cart{font-family:Georgia,"Times New Roman",serif}
.bsf-cart-panel .woocommerce-mini-cart{list-style:none;margin:0 0 14px;padding:0}
.bsf-cart-panel .woocommerce-mini-cart-item{display:grid;grid-template-columns:56px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);position:relative}
.bsf-cart-panel .woocommerce-mini-cart-item img{width:56px!important;height:56px!important;object-fit:cover;border-radius:8px;float:none!important;margin:0!important}
.bsf-cart-panel .woocommerce-mini-cart-item a{font-weight:800}
.bsf-cart-panel .woocommerce-mini-cart-item .remove{position:absolute;right:0;top:8px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#fff1e8;color:var(--terra)!important}
.bsf-cart-panel .woocommerce-mini-cart__total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;margin-top:10px;font-size:16px}
.bsf-cart-panel .woocommerce-mini-cart__buttons{display:grid;gap:8px}
.bsf-cart-panel .woocommerce-mini-cart__buttons a{background:var(--terra)!important;color:#fff!important;border-radius:8px!important;padding:11px 12px!important;text-align:center;font-weight:800}
.bsf-cart-panel .woocommerce-mini-cart__empty-message{background:#fff8ec;border:1px dashed rgba(166,80,42,.35);border-radius:12px;padding:14px}
@media(max-width:1100px){.bsf-shop-layout{grid-template-columns:1fr}.bsf-cart-panel{position:relative;top:auto}.bsf-shop-layout .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:750px){.bsf-shop-layout .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bsf-shop-layout .woocommerce ul.products li.product a img{height:105px!important}}
@media(max-width:460px){.bsf-shop-layout .woocommerce ul.products{grid-template-columns:1fr!important}}


/* V302 — prix dynamiques accueil */
.bsf-dish-card strong .woocommerce-Price-amount{color:var(--olive);font-weight:800}
