body {
  font-family: 'Segoe UI', sans-serif;
}
.card-title {
  color: #b06b00;
}
/* --- Styles pour les marqueurs croissant 🥐 --- */
.croissant-icon {
  transition: transform 0.25s ease-in-out;
}

.croissant-icon:hover {
  transform: scale(1.3) translateY(-4px);
}

.croissant-wrap {
  animation: popIn 0.4s ease forwards;
  transform-origin: center;
}

@keyframes popIn {
  0% { transform: scale(0) rotate(0deg); opacity: 0; }
  70% { transform: scale(1.2) rotate(10deg); opacity: 1; }
  100% { transform: scale(1) rotate(var(--rotation, 0deg)); }
}

/* --- Overlay --- */
.overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 1040;
  pointer-events: none;
}
.overlay.visible {
  opacity: 1;
  pointer-events: all;
}

/* --- Panneau latéral --- */
.bakery-panel {
  position: fixed;
  top: 0;
  right: -500px;
  width: 400px;
  height: 100%;
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(5px);
  box-shadow: -3px 0 12px rgba(0,0,0,0.3);
  transition: right 0.4s ease;
  z-index: 2000;
  overflow-y: auto;
  border-radius: 12px 0 0 12px;
}
.bakery-panel.visible {
  right: 0;
}
.btn-close {
  position: absolute;
  top: 10px;
  right: 10px;
  background: none;
  border: none;
  font-size: 1.6em;
  color: #555;
  cursor: pointer;
  transition: transform 0.2s;
}
.btn-close:hover {
  transform: scale(1.2);
}
.btn-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 28px;
  height: 28px;
  background: none !important;
  color: #333 !important;
  font-size: 1.6rem;
  cursor: pointer;
  border: none;
  z-index: 10;
}
.btn-close::after {
  content: '✕';
  color: #333;
  font-weight: bold;
}
.btn-close:hover::after {
  color: #d77a28;
  transform: scale(1.2);
}

.bakery-panel {
  transform: translateX(0);
  transition: right 0.45s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.bakery-panel:not(.visible) {
  right: -500px;
  transform: translateX(20px);
}

/* --- Vidéo plein écran --- */
#bg-video {
  position: fixed;
  top: 0; left: 0;
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  z-index: -2;
}

/* --- Overlay sombre --- */
.video-overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: -1;
}

/* --- Contenu centré au milieu --- */
.hero-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  padding: 0 15px;
}

/* --- Footer fixé en bas --- */
.footer-fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(0,0,0,0.4);
  backdrop-filter: blur(4px);
  font-size: 0.9rem;
}

html, body {
  margin: 0;
}

html { min-height: 100%; }

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  flex: 1 0 auto;
  position: relative;
  overflow: hidden;
}

.site-footer {
  flex-shrink: 0;
  background: rgba(0,0,0,0.4) !important;
  border-top: 1px solid rgba(0,0,0,0.8) !important;
}

/* Navbar visible au-dessus de la vidéo */
.navbar {
  z-index: 2000;
}

/* Héros centré sur la vidéo */
.hero-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  padding: 0 15px;
  z-index: 10;
}



.navbar .dropdown-menu {
  min-width: 180px;
  font-size: 0.95rem;
}
.navbar .dropdown-item i {
  margin-right: 6px;
}

/* === Navbar personnalisée === */
.custom-navbar {
  /*border-bottom: 1px solid #eee;*/
  font-size: 1.05rem;
  padding: 0.6rem 1rem;
}

.custom-navbar .navbar-brand img {
  max-height: 50px;
}

.custom-navbar .nav-link.custom-btn {
  background-color: #fff;
  color: #333;
  border-radius: 20px;
  font-weight: 600;
  padding: 8px 16px;
  margin-left: 10px;
  /*border: 1px solid #ddd;*/
  transition: all 0.2s ease-in-out;
}

.custom-navbar .nav-link.custom-btn:hover,
.custom-navbar .nav-link.custom-btn:focus {
  background-color: #444;
  color: #fff !important;
  border-color: #444;
  text-decoration: none;
  transform: translateY(-1px);
}

.custom-navbar .nav-link i {
  margin-right: 6px;
}

/* Menu déroulant utilisateur */
.navbar .dropdown-menu {
  font-size: 0.95rem;
  border-radius: 12px;
  /*border: 1px solid #eee;*/
}

.navbar .dropdown-item i {
  margin-right: 6px;
}

/* === NAVBAR JAUNE PERSONNALISÉE === */
.custom-navbar-yellow {
  font-size: 0.9rem;
  font-weight: 500;
  padding: 0.6rem 1rem;
}

.custom-navbar-yellow .nav-link.custom-btn-yellow {
  background-color: #fff;
  color: #333 !important;
  border-radius: 20px;
  font-weight: 600;
  padding: 8px 16px;
  margin-left: 10px;
  /*border: 1px solid rgba(0, 0, 0, 0.1);*/
  transition: all 0.5s ease-in-out;
}

.custom-navbar-yellow .nav-link.custom-btn-yellow:hover,
.custom-navbar-yellow .nav-link.custom-btn-yellow:focus {
  background-color: #444;
  color: #fff !important;
  border-color: #444;
  /*transform: translateY(-1px);*/
  text-decoration: none;
}

.custom-navbar-yellow .nav-link i {
  margin-right: 6px;
}

.custom-navbar-yellow .dropdown-menu {
  font-size: 0.95rem;
  border-radius: 12px;
  /*border: 1px solid #eee;*/
  margin-top: 8px;
}

.custom-navbar-yellow .dropdown-item i {
  margin-right: 6px;
}

/* Exploration des boulangeries */
:root { --lbc-ink:#25221e; --lbc-muted:#756f66; --lbc-cream:#fffaf0; --lbc-gold:#ffbd19; --lbc-orange:#e78a00; }
.explore-page { background:#f6f4ef; min-height:calc(100vh - 80px); overflow:visible; color:var(--lbc-ink); }
.explore-header { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; padding:2rem clamp(1.25rem,4vw,4rem) 1.5rem; background:linear-gradient(120deg,#fffaf0 0%,#fff 55%,#fff5d6 100%); border-bottom:1px solid #e8e3d9; }
.explore-eyebrow,.results-heading span:first-child,.bakery-type,.popup-label { color:#b86c00; font-size:.73rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.explore-header h1 { margin:.3rem 0 .25rem; max-width:650px; font-size:clamp(1.65rem,3vw,2.55rem); font-weight:800; letter-spacing:-.04em; }
.explore-header p { color:var(--lbc-muted); margin:0; }
.explore-search { display:flex; align-items:stretch; gap:.55rem; min-width:min(100%,650px); }
.search-field { position:relative; display:flex; align-items:center; flex:1; min-width:260px; background:#fff; border:1px solid #dcd7ce; border-radius:14px; box-shadow:0 7px 22px rgba(55,43,20,.07); }
.search-field>i { padding-left:1rem; color:#9b9388; font-size:1.1rem; }
.search-field input { width:100%; padding:.9rem 1rem .9rem .65rem; border:0; outline:0; background:transparent; }
.search-submit,.nearby-button { border:0; border-radius:14px; padding:0 1.25rem; font-weight:750; white-space:nowrap; }
.search-submit { color:#2b251b; background:var(--lbc-gold); box-shadow:0 7px 18px rgba(230,154,0,.22); }
.search-submit:hover { background:#ffc936; }
.nearby-button { color:#554d42; background:#fff; border:1px solid #dcd7ce; }
.nearby-button:hover { border-color:var(--lbc-gold); color:#a55f00; }
.nearby-button i { margin-right:.35rem; }
.nearby-button.is-loading { opacity:.55; pointer-events:none; }
.search-suggestions { position:absolute; z-index:1200; top:calc(100% + 7px); left:0; right:0; padding:.4rem; background:white; border:1px solid #e4dfd6; border-radius:13px; box-shadow:0 15px 40px rgba(44,35,20,.16); }
.search-suggestions button { display:block; width:100%; padding:.65rem .8rem; text-align:left; border:0; border-radius:9px; background:transparent; }
.search-suggestions button:hover { background:#fff5d8; }
.explore-layout { display:grid; grid-template-columns:minmax(370px,42%) 1fr; height:calc(100vh - 238px); min-height:560px; }
.results-panel { display:flex; flex-direction:column; min-width:0; padding:1.5rem clamp(1rem,2.5vw,2.25rem); background:#f6f4ef; overflow:hidden; border-right:1px solid #ddd8cf; }
.results-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1rem; }
.results-heading h2 { margin:.15rem 0 0; font-size:1.35rem; font-weight:800; }
.results-count { padding:.4rem .7rem; color:#756d61!important; background:#ebe7df; border-radius:999px; font-size:.78rem!important; font-weight:700!important; letter-spacing:0!important; text-transform:none!important; white-space:nowrap; }
.bakery-results { display:flex; flex-direction:column; gap:.75rem; overflow:auto; padding:.15rem .4rem 1.2rem .1rem; scrollbar-color:#c7bfb0 transparent; }
.bakery-results.is-loading { opacity:.45; }
.bakery-card { position:relative; display:grid; grid-template-columns:58px minmax(0,1fr) 38px; gap:1rem; align-items:center; padding:1rem; background:#fff; border:1px solid #e5e0d7; border-radius:17px; cursor:pointer; box-shadow:0 3px 12px rgba(49,39,22,.035); transition:.2s ease; }
.bakery-card:hover,.bakery-card:focus,.bakery-card.is-active { transform:translateY(-2px); border-color:#efb62e; box-shadow:0 9px 24px rgba(80,55,10,.1); outline:0; }
.bakery-card-icon { display:grid; place-items:center; width:58px; height:58px; background:#fff4d5; border-radius:15px; font-size:1.65rem; }
.bakery-card-content { min-width:0; }
.bakery-card h3 { margin:.1rem 0 .4rem; overflow:hidden; color:#2c2822; font-size:1.04rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.bakery-card p { display:flex; gap:.35rem; margin:0 0 .45rem; color:#706a61; font-size:.82rem; line-height:1.35; }
.bakery-card p i { color:#bc770d; }
.bakery-meta { display:flex; align-items:center; flex-wrap:wrap; gap:.35rem; font-size:.78rem; }
.bakery-meta strong { font-size:.8rem; }.bakery-meta>span:last-child { color:#898277; }
.stars { color:#f3ab00; letter-spacing:.05em; white-space:nowrap; }.stars span { color:#ddd7cc; }
.card-arrow { display:grid; place-items:center; width:36px; height:36px; color:#8b8174; background:#f5f2ec; border:0; border-radius:50%; transition:.2s; }
.card-arrow:hover { color:#fff; background:#d98200; transform:translateX(2px); }
.results-status { display:flex; flex-direction:column; align-items:center; justify-content:center; flex:1; gap:.4rem; color:#8a8277; text-align:center; }
.results-status i { font-size:2rem; }.results-status strong { color:#403b34; }
.results-limit-note { margin:.25rem 0; padding:1rem; color:#746d63; background:#ede9e1; border-radius:13px; font-size:.8rem; text-align:center; }
.results-pagination { display:grid; grid-template-columns:38px 1fr 38px; align-items:center; gap:.6rem; padding:.8rem .35rem .1rem; border-top:1px solid #ddd7cd; }
.results-pagination[hidden] { display:none; }
.results-pagination button { display:grid; place-items:center; width:38px; height:38px; color:#3b342b; background:#fff; border:1px solid #d8d1c6; border-radius:10px; transition:.18s; }.results-pagination button:hover:not(:disabled) { color:#2d2518; background:#ffbd16; border-color:#ffbd16; }.results-pagination button:disabled { cursor:not-allowed; opacity:.35; }
.results-pagination>span { color:#7c7469; font-size:.76rem; text-align:center; }.results-pagination>span strong { color:#332d26; }.results-pagination small { display:block; margin-top:.1rem; color:#9a9287; font-size:.63rem; }
.map-panel { position:relative; min-width:0; }.map-panel #map { width:100%; height:100%; background:#e8e5dd; }
.map-action,.map-legend { position:absolute; z-index:500; background:rgba(255,255,255,.94); backdrop-filter:blur(7px); border:1px solid rgba(90,70,30,.13); box-shadow:0 5px 18px rgba(44,35,20,.12); }
.map-action { top:1rem; left:50%; transform:translateX(-50%); padding:.6rem .9rem; border-radius:11px; font-size:.8rem; font-weight:750; }
.map-legend { left:1rem; bottom:1rem; padding:.48rem .7rem; border-radius:10px; color:#6d665c; font-size:.73rem; }.map-legend span { display:inline-block; width:9px; height:9px; margin-right:.3rem; background:#ef9f00; border-radius:50%; }
.bakery-marker { background:transparent; border:0; }.bakery-pin { display:grid; place-items:center; width:42px; height:42px; background:#fff; border:3px solid #f0a500; border-radius:50% 50% 50% 8px; box-shadow:0 5px 14px rgba(75,48,0,.28); transform:rotate(-45deg); transition:.2s; }.bakery-pin span { font-size:20px; transform:rotate(45deg); }.bakery-pin:hover { transform:rotate(-45deg) scale(1.12) translateY(-2px); }
.bakery-cluster { background:transparent!important; }.bakery-cluster div { display:grid; place-items:center; width:100%; height:100%; color:#fff; background:linear-gradient(135deg,#f4ae0c,#d97900); border:4px solid rgba(255,255,255,.9); border-radius:50%; box-shadow:0 5px 18px rgba(91,52,0,.3); font-weight:850; }.bakery-cluster-large div { background:linear-gradient(135deg,#df8b00,#aa5100); }
.leaflet-popup-content-wrapper { border-radius:16px; box-shadow:0 10px 35px rgba(45,34,15,.2); }.map-popup { min-width:220px; }.map-popup h3 { margin:.2rem 0 .45rem; font-size:1.05rem; font-weight:800; }.map-popup p { color:#746d62; line-height:1.4; }.popup-rating { display:flex; align-items:center; gap:.45rem; }.map-popup button { width:100%; margin-top:.8rem; padding:.6rem; color:#342a18; background:var(--lbc-gold); border:0; border-radius:10px; font-weight:750; }

@media (max-width:991px) { .explore-header { align-items:stretch; flex-direction:column; gap:1rem; }.explore-layout { height:auto; min-height:0; grid-template-columns:1fr; }.map-panel { grid-row:1; height:55vh; min-height:420px; }.results-panel { max-height:none; overflow:visible; }.bakery-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; } }
@media (max-width:650px) { .explore-header { padding:1.25rem 1rem; }.explore-header p { font-size:.9rem; }.explore-search { display:grid; grid-template-columns:1fr auto; }.search-field { grid-column:1/-1; min-width:0; }.search-submit,.nearby-button { padding:.75rem .9rem; }.explore-layout { display:flex; flex-direction:column; }.map-panel { height:48vh; min-height:360px; }.bakery-results { grid-template-columns:1fr; }.results-panel { padding:1.25rem 1rem; }.bakery-card { grid-template-columns:50px minmax(0,1fr) 34px; gap:.7rem; }.bakery-card-icon { width:50px; height:50px; }.map-legend { display:none; }.bakery-panel { width:100%; border-radius:0; } }

/* Navigation globale */
.site-navbar { height:76px; padding:0; background:#ffbd16; box-shadow:0 3px 14px rgba(58,40,0,.12); z-index:2050; }
.navbar-spacer { height:76px; flex:0 0 76px; }
.site-navbar .navbar-brand img { display:block; max-width:190px; height:auto; }
.site-navbar-actions { display:flex; align-items:center; gap:.7rem; }
.navbar-map-link,.menu-trigger { align-items:center; height:44px; border-radius:999px; font-size:.88rem; font-weight:750; text-decoration:none; }
.navbar-map-link { gap:.35rem; padding:0 1.1rem; color:#28231b; background:#fff; }
.menu-trigger { display:flex; gap:.75rem; padding:0 1rem 0 1.15rem; color:#fff; background:#24211d; border:0; }
.menu-lines { display:flex; flex-direction:column; gap:5px; width:20px; }.menu-lines b { display:block; width:20px; height:2px; background:currentColor; transition:.2s; }.menu-trigger:hover .menu-lines b:first-child { transform:translateX(3px); }.menu-trigger:hover .menu-lines b:last-child { transform:translateX(-3px); }
.menu-is-open { overflow:hidden!important; }
.fullscreen-menu { position:fixed; inset:0; display:flex; align-items:center; justify-content:center; visibility:hidden; z-index:5000; color:#fff; background:#090909; opacity:0; transform:scale(1.015); transition:opacity .35s ease,transform .45s cubic-bezier(.2,.8,.2,1),visibility .35s; }
.fullscreen-menu.is-open { visibility:visible; opacity:1; transform:scale(1); }
.menu-brand { position:absolute; top:28px; left:36px; }.menu-brand img { max-width:190px; height:auto; }
.menu-close { position:absolute; top:25px; right:34px; width:52px; height:52px; background:#ffbd16; border:0; border-radius:50%; }.menu-close span { position:absolute; left:15px; top:25px; width:22px; height:2px; background:#17130e; transform:rotate(45deg); }.menu-close span:last-child { transform:rotate(-45deg); }
.fullscreen-nav { display:flex; flex-direction:column; align-items:center; max-height:75vh; overflow:auto; text-align:center; }
.fullscreen-nav a { display:flex; align-items:baseline; gap:1rem; padding:.14rem 1rem; color:#fff; text-decoration:none; transition:.2s; }.fullscreen-nav small { color:#8b8479; font-size:.65rem; }.fullscreen-nav span { font-size:clamp(1.7rem,4vw,3.5rem); font-weight:750; letter-spacing:-.045em; }.fullscreen-nav a:hover { color:#ffbd16; transform:translateX(7px); }
.menu-footer { position:absolute; left:36px; right:36px; bottom:27px; display:flex; justify-content:space-between; color:#847e75; font-size:.75rem; }.menu-footer a { color:#fff; }

/* Bloc éditorial et footer */
.site-presentation { display:grid; grid-template-columns:1fr 1fr; min-height:650px; background:#f2eee5; }
.presentation-image { min-height:520px; overflow:hidden; }.presentation-image img { width:100%; height:100%; object-fit:cover; }
.presentation-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(3rem,7vw,7rem); }
.section-kicker { color:#b66a00; font-size:.7rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.presentation-copy h2,.content-page h2 { margin:.65rem 0 1rem; font-size:clamp(2rem,4vw,3.6rem); font-weight:800; letter-spacing:-.05em; line-height:1.04; }
.presentation-copy>p { max-width:650px; color:#6e675d; font-size:1.03rem; line-height:1.7; }
.presentation-points { margin:1.4rem 0 1.8rem; border-top:1px solid #d9d1c4; }.presentation-points>div { display:flex; gap:1.2rem; padding:.85rem 0; border-bottom:1px solid #d9d1c4; }.presentation-points strong { color:#c57700; }.presentation-points span { display:flex; gap:.3rem; color:#655e54; }
.presentation-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.2rem; }
.button-gold,.button-dark { display:inline-flex; align-items:center; justify-content:center; gap:.65rem; padding:.9rem 1.15rem; border-radius:11px; font-weight:800; text-decoration:none; transition:.2s; }.button-gold { color:#272017; background:#ffbd16; }.button-dark { color:#fff; background:#191714; }.button-gold:hover,.button-dark:hover { color:inherit; transform:translateY(-2px); box-shadow:0 8px 20px rgba(40,30,10,.15); }.button-text { color:#38322a; font-weight:750; text-underline-offset:4px; }
.site-footer { position:static; color:#eee9df; background:#11100e!important; border:0!important; }
.footer-main { display:grid; grid-template-columns:1.4fr .7fr .9fr 1.25fr; gap:clamp(2rem,5vw,5rem); padding:clamp(3rem,6vw,6rem) clamp(1.25rem,5vw,5rem); }
.footer-identity img { max-width:210px; }.footer-identity p,.footer-news p { max-width:300px; margin-top:1rem; color:#8f8a82; line-height:1.6; }.footer-main h3 { margin-bottom:1.15rem; color:#fff; font-size:.83rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }.footer-links { display:flex; flex-direction:column; align-items:flex-start; }.footer-links a,.footer-news a { margin:.35rem 0; color:#aaa49b; text-decoration:none; }.footer-links a:hover,.footer-news a:hover { color:#ffbd16; }.footer-news h3 { max-width:280px; font-size:1.35rem; line-height:1.25; text-transform:none; letter-spacing:-.02em; }
.footer-bottom { display:flex; justify-content:space-between; gap:1rem; padding:1.15rem clamp(1.25rem,5vw,5rem); color:#77736d; border-top:1px solid #292724; font-size:.72rem; }.footer-bottom a { color:#aaa49b; }

/* Pages projet et mentions */
.content-page { overflow:visible; background:#faf8f3; color:#28241f; }
.content-hero { padding:clamp(4rem,9vw,9rem) clamp(1.25rem,8vw,8rem); background:radial-gradient(circle at 80% 20%,#fff0ba,transparent 30%),#faf8f3; }
.content-hero h1 { max-width:950px; margin:.8rem 0 1.5rem; font-size:clamp(2.8rem,7vw,6.5rem); font-weight:850; line-height:.95; letter-spacing:-.065em; }.content-hero p { max-width:700px; color:#686157; font-size:1.15rem; line-height:1.7; }.content-hero .button-gold { margin-top:1rem; }
.project-intro { display:grid; grid-template-columns:1fr 1.4fr; gap:5rem; padding:clamp(4rem,8vw,8rem); background:#fff; }.big-number { color:#e8a500; font-size:4rem; font-weight:300; }.project-intro h2 { max-width:420px; }.project-text { padding-top:3rem; color:#615b52; font-size:1.15rem; line-height:1.8; }
.project-values { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#d9d2c6; }.project-values article { padding:clamp(2.5rem,5vw,5rem); background:#f0ece4; }.project-values i { color:#c57700; font-size:2rem; }.project-values h3 { margin:1.5rem 0 .7rem; font-size:1.5rem; font-weight:800; }.project-values p { color:#70695f; line-height:1.65; }
.label-section { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:clamp(3rem,8vw,8rem); padding:clamp(4rem,9vw,9rem); color:#eee9df; background:#151310; }.label-section h2 { color:#fff; }.label-section p,.label-section li { color:#aba49a; line-height:1.7; }.label-section li { margin:.5rem 0; }.label-mark { display:flex; flex-direction:column; align-items:center; justify-content:center; aspect-ratio:1; max-width:440px; padding:2rem; color:#ffbd16; border:2px solid #ffbd16; border-radius:50%; text-align:center; transform:rotate(-5deg); }.label-mark span { letter-spacing:.35em; }.label-mark strong { font-size:clamp(2rem,4vw,4rem); line-height:1; }.label-mark small { margin-top:1rem; padding-top:1rem; border-top:1px solid currentColor; text-transform:uppercase; letter-spacing:.12em; }
.pro-cta { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:clamp(3rem,7vw,7rem) clamp(1.25rem,8vw,8rem); background:#ffbd16; }.pro-cta .section-kicker { color:#5b4200; }.pro-cta h2 { margin:.5rem 0; }.pro-cta p { max-width:650px; margin:0; }
.legal-header { padding:clamp(4rem,8vw,8rem); color:#fff; background:#171512; }.legal-header h1 { margin:.5rem 0; font-size:clamp(3rem,7vw,6rem); font-weight:850; letter-spacing:-.06em; }.legal-header p { color:#8f8980; }
.legal-layout { display:grid; grid-template-columns:250px minmax(0,760px); justify-content:center; gap:clamp(3rem,8vw,8rem); padding:clamp(3rem,7vw,7rem) 1.25rem; }.legal-layout aside { position:sticky; top:110px; display:flex; flex-direction:column; align-self:start; border-left:1px solid #d8d1c5; }.legal-layout aside a { padding:.45rem 1rem; color:#746d63; text-decoration:none; }.legal-layout aside a:hover { color:#b66a00; }.legal-layout article section { padding:0 0 3rem; margin-bottom:3rem; border-bottom:1px solid #ded8ce; scroll-margin-top:110px; }.legal-layout article section>span { color:#bd7609; font-size:.75rem; font-weight:800; }.legal-layout h2 { margin:.25rem 0 1rem; font-size:2rem; }.legal-layout p { color:#655f56; line-height:1.75; }.legal-layout a { color:#a66000; }.legal-notice { margin:1.5rem 0; padding:1.2rem; background:#fff2ca; border-left:4px solid #eba900; line-height:1.6; }

@media(max-width:900px){.site-presentation,.project-intro,.label-section{grid-template-columns:1fr}.presentation-image{min-height:420px}.footer-main{grid-template-columns:1fr 1fr}.project-values{grid-template-columns:1fr}.label-mark{max-width:350px;margin:auto}.legal-layout{grid-template-columns:1fr}.legal-layout aside{position:static;display:none}.pro-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.menu-brand{top:24px;left:20px}.menu-brand img{max-width:155px}.menu-close{top:17px;right:18px}.menu-footer{left:20px;right:20px}.menu-footer span{display:none}.fullscreen-nav span{font-size:1.65rem}.site-presentation{min-height:0}.presentation-image{min-height:330px}.presentation-copy{padding:3rem 1.25rem}.footer-main{grid-template-columns:1fr;padding:3rem 1.25rem}.footer-bottom{align-items:flex-start;flex-direction:column}.project-intro,.label-section{padding:4rem 1.25rem}.project-intro{gap:1rem}.project-text{padding-top:0}.content-hero{padding:4rem 1.25rem}.pro-cta{padding:3rem 1.25rem}}

/* Ajustements éditoriaux : échelle plus fine et sections contenues */
.fullscreen-menu { background:rgba(0,0,0,.7); backdrop-filter:blur(10px); }
.fullscreen-nav { gap:.12rem; }
.fullscreen-nav a { padding:.08rem 1rem; }
.fullscreen-nav span { font-size:clamp(1.35rem,2.5vw,2.35rem); font-weight:700; letter-spacing:-.035em; }
.fullscreen-nav small { font-size:.58rem; }
.boxed-section { width:calc(100% - clamp(2rem,8vw,8rem)); max-width:1380px; margin:clamp(2rem,5vw,5rem) auto; border-radius:22px; overflow:hidden; }
.project-page { padding-bottom:clamp(2rem,5vw,5rem); background:#eae5db; }
.project-page h2,.home-intro h2 { font-size:clamp(1.75rem,3vw,2.75rem); line-height:1.08; }
.project-video-hero { position:relative; display:flex; align-items:center; min-height:clamp(520px,72vh,760px); padding:clamp(3rem,7vw,7rem) max(clamp(1.5rem,9vw,9rem),calc((100vw - 1380px)/2)); overflow:hidden; color:#fff; background:#15120f; }
.project-video-hero>video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.project-video-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.42) 58%,rgba(0,0,0,.2)); }
.project-hero-content { position:relative; z-index:1; max-width:820px; }
.project-video-hero h1 { margin:.7rem 0 1.2rem; color:#fff; font-size:clamp(2.4rem,5vw,4.7rem); font-weight:800; line-height:.98; letter-spacing:-.055em; }
.project-video-hero p { max-width:650px; color:rgba(255,255,255,.78); font-size:1.03rem; line-height:1.65; }
.project-intro { padding:clamp(3rem,6vw,6rem); }
.project-text { padding-top:1.5rem; font-size:1.02rem; }
.project-values { gap:1px; background:#d5cec2; }
.project-values article { padding:clamp(2rem,4vw,4rem); }
.project-values h3 { font-size:1.3rem; }
.label-section { padding:clamp(3rem,6vw,6rem); }
.label-section h2 { font-size:clamp(1.9rem,3.3vw,3rem); }
.label-mark { max-width:360px; }
.label-mark strong { font-size:clamp(1.75rem,3.3vw,3.15rem); }
.pro-cta { padding:clamp(2.5rem,5vw,5rem); }

/* Accueil vidéo et recherche directe */
.home-page { overflow:visible; background:#f4f0e8; }
.home-hero { position:relative; display:flex; align-items:center; justify-content:center; min-height:calc(100vh - 76px); overflow:hidden; color:#fff; text-align:center; }
.home-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.home-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.65)); }
.home-content { position:relative; z-index:1; width:min(760px,calc(100% - 2rem)); }
.home-content>img { max-width:240px; height:auto; }
.home-content h1 { margin:1.2rem 0 .75rem; font-size:clamp(2.1rem,4.4vw,4rem); font-weight:800; line-height:1.02; letter-spacing:-.05em; }
.home-content>p { max-width:650px; margin:0 auto 1.7rem; color:rgba(255,255,255,.82); font-size:1.03rem; }
.home-search { position:relative; display:grid; grid-template-columns:auto 1fr auto; align-items:center; max-width:680px; margin:auto; padding:.42rem; background:#fff; border-radius:15px; box-shadow:0 15px 45px rgba(0,0,0,.25); }
.home-search>i { padding-left:.8rem; color:#80786c; font-size:1.15rem; }.home-search input { min-width:0; padding:.75rem; border:0; outline:0; }.home-search>button { padding:.78rem 1.15rem; color:#282117; background:#ffbd16; border:0; border-radius:10px; font-weight:800; }
.home-suggestions { position:absolute; top:calc(100% + 7px); left:0; right:0; padding:.4rem; background:#fff; border-radius:12px; box-shadow:0 12px 35px rgba(0,0,0,.2); }.home-suggestions button { display:block; width:100%; padding:.65rem .8rem; color:#37312a; background:transparent; border:0; border-radius:8px; text-align:left; }.home-suggestions button:hover { background:#fff2ca; }
.home-map-link { display:inline-block; margin-top:1.15rem; color:#fff; font-size:.88rem; font-weight:700; text-underline-offset:4px; }.home-map-link:hover { color:#ffbd16; }
.home-scroll { position:absolute; z-index:1; right:2rem; bottom:1.5rem; display:flex; align-items:center; gap:.7rem; color:rgba(255,255,255,.72); font-size:.72rem; text-decoration:none; }.home-scroll i { display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(255,255,255,.45); border-radius:50%; }
.home-intro { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,7vw,7rem); padding:clamp(3rem,6vw,6rem); background:#fff; }.home-intro h2 { margin:.6rem 0 0; }.home-intro p { color:#696259; line-height:1.75; }

@media(max-width:900px){.boxed-section{width:calc(100% - 2rem);margin:1rem auto;border-radius:16px}.project-video-hero{min-height:600px;padding:4rem 1.5rem}.project-intro{grid-template-columns:1fr}.project-values{grid-template-columns:1fr}.label-section{grid-template-columns:1fr}.home-intro{grid-template-columns:1fr}.fullscreen-nav span{font-size:1.55rem}}
@media(max-width:600px){.project-video-hero h1{font-size:2.45rem}.project-intro,.label-section,.pro-cta,.home-intro{padding:2.5rem 1.25rem}.home-content>img{max-width:190px}.home-search{grid-template-columns:auto 1fr}.home-search>button{grid-column:1/-1;width:100%}.home-scroll{display:none}.fullscreen-nav span{font-size:1.35rem}}

/* Respirations internes des sections et de leurs colonnes */
.site-presentation { min-height:760px; }
.presentation-copy { padding:clamp(4.5rem,7vw,7.5rem) clamp(3rem,7vw,7.5rem); }
.presentation-copy h2 { max-width:720px; font-size:clamp(1.9rem,3.2vw,3.15rem); }
.presentation-copy>p { margin-bottom:.6rem; }
.presentation-points { margin-top:1.65rem; margin-bottom:2rem; }
.presentation-actions { margin-top:.25rem; padding-bottom:1rem; }
.home-intro>div,.project-intro>div,.label-section>div,.pro-cta>div { min-width:0; }
.home-intro>div:last-child,.project-intro>div:last-child { padding-block:.75rem; }
.label-section>div:last-child { padding:clamp(.5rem,2vw,1.5rem) 0; }
.pro-cta>.button-dark { flex:0 0 auto; margin-block:1rem; }
.project-values article { display:flex; flex-direction:column; justify-content:center; min-height:270px; }

@media(max-width:900px){.site-presentation{min-height:0}.presentation-copy{padding:4.5rem clamp(2rem,7vw,4rem)}.presentation-actions{padding-bottom:.5rem}.project-values article{min-height:220px}}
@media(max-width:600px){.presentation-copy{padding:3.5rem 1.5rem 4rem}.presentation-points{margin-bottom:1.75rem}.presentation-actions{align-items:stretch;flex-direction:column;padding-bottom:0}.presentation-actions .button-gold,.presentation-actions .button-text{width:100%;text-align:center}.presentation-actions .button-text{padding:.65rem}}

/* Accès compte dans le header */
.auth-icon-button,.account-icon-link { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; height:44px; min-width:44px; padding:0 .75rem; color:#2b251d; background:rgba(255,255,255,.88); border:1px solid rgba(45,35,10,.08); border-radius:999px; text-decoration:none; font-size:.84rem; font-weight:750; transition:.2s; }
.auth-icon-button i,.account-icon-link i { font-size:1.12rem; }.auth-icon-button:hover,.account-icon-link:hover { color:#fff; background:#24211d; transform:translateY(-1px); }.auth-icon-register { color:#fff; background:#24211d; }.auth-icon-register:hover { background:#4a4032; }

/* Modales connexion / inscription */
.auth-is-open { overflow:hidden!important; }.auth-modal { position:fixed; inset:0; display:grid; place-items:center; visibility:hidden; z-index:6000; padding:1rem; opacity:0; transition:.25s; }.auth-modal.is-open { visibility:visible; opacity:1; }.auth-backdrop { position:absolute; inset:0; background:rgba(8,7,6,.72); backdrop-filter:blur(8px); }
.auth-dialog { position:relative; display:grid; grid-template-columns:.8fr 1.2fr; width:min(900px,100%); max-height:calc(100vh - 2rem); overflow:auto; background:#fff; border-radius:22px; box-shadow:0 30px 90px rgba(0,0,0,.38); transform:translateY(18px) scale(.985); transition:.35s cubic-bezier(.2,.8,.2,1); }.auth-modal.is-open .auth-dialog { transform:none; }
.auth-close { position:absolute; z-index:2; top:1rem; right:1rem; display:grid; place-items:center; width:38px; height:38px; color:#383129; background:#eeeae3; border:0; border-radius:50%; }.auth-side { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-height:570px; padding:2.25rem; overflow:hidden; color:#fff; background:linear-gradient(165deg,rgba(17,14,10,.52),rgba(17,14,10,.93)),url('../../img/croissant.jpg') center/cover; border-radius:22px 0 0 22px; }.auth-side img { max-width:180px; }.auth-side span { color:#ffbd16; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }.auth-side h2 { margin:.6rem 0 0; font-size:1.85rem; font-weight:800; line-height:1.08; letter-spacing:-.04em; }
.auth-content { display:flex; align-items:center; padding:clamp(2rem,5vw,4.5rem); }.auth-content>section { width:100%; }.auth-content h2 { margin:.35rem 0 .25rem; font-size:2rem; font-weight:800; letter-spacing:-.04em; }.auth-content section>p { margin-bottom:1.4rem; color:#777067; font-size:.9rem; }.auth-content form,.account-forms form { display:flex; flex-direction:column; gap:.9rem; }.auth-content label,.account-forms label { display:flex; flex-direction:column; gap:.35rem; color:#5d564d; font-size:.76rem; font-weight:750; }.auth-content input:not([type=checkbox]),.account-forms input { width:100%; padding:.78rem .85rem; color:#29251f; background:#f7f5f1; border:1px solid #ded9d0; border-radius:10px; outline:0; }.auth-content input:focus,.account-forms input:focus { border-color:#e6a200; box-shadow:0 0 0 3px rgba(255,189,22,.16); }.auth-name-row { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }.auth-check { display:flex!important; align-items:center; flex-direction:row!important; font-weight:500!important; }.auth-submit { display:flex; align-items:center; justify-content:center; gap:.55rem; padding:.82rem 1rem; color:#2a2318; background:#ffbd16; border:0; border-radius:10px; font-weight:800; }.auth-submit:hover { background:#ffc936; }.auth-submit.is-loading { opacity:.55; }.auth-switch { display:block; margin:1rem auto 0; color:#716a61; background:none; border:0; font-size:.78rem; }.auth-switch strong { color:#9f5e00; }.auth-message { min-height:0; font-size:.78rem; }.auth-message.error { padding:.6rem .7rem; color:#9f2e24; background:#fff0ed; border-radius:8px; }.auth-message.success { padding:.6rem .7rem; color:#27653a; background:#eaf8ee; border-radius:8px; }

/* Espace personnel */
.account-page { overflow:visible; padding:clamp(3rem,7vw,7rem) clamp(1rem,7vw,7rem); background:#efebe3; }.account-page>header { max-width:1280px; margin:0 auto 2.5rem; }.account-page>header h1 { margin:.4rem 0; font-size:clamp(2.3rem,5vw,4.3rem); font-weight:820; letter-spacing:-.055em; }.account-page>header p { color:#70695f; }.account-grid { display:grid; grid-template-columns:300px 1fr; gap:1.5rem; max-width:1280px; margin:auto; }.account-grid aside,.account-forms section { padding:clamp(1.5rem,3vw,2.5rem); background:#fff; border-radius:18px; }.account-grid aside { align-self:start; text-align:center; }.account-avatar { display:grid; place-items:center; width:76px; height:76px; margin:0 auto 1rem; color:#3b2d12; background:#ffbd16; border-radius:50%; font-size:1.4rem; font-weight:850; }.account-grid aside h2 { margin:0; font-size:1.3rem; }.account-grid aside>p { color:#7a7369; font-size:.82rem; }.account-stat { display:flex; flex-direction:column; margin:1.5rem 0; padding:1rem; background:#f6f2ea; border-radius:12px; }.account-stat strong { font-size:1.6rem; }.account-stat span { color:#766f65; font-size:.72rem; }.account-grid aside>a { display:flex; gap:.5rem; padding:.65rem .3rem; color:#554e45; border-bottom:1px solid #eee9e1; text-decoration:none; font-size:.84rem; }.account-grid aside>a:hover { color:#ac6500; }.account-grid aside>a.logout { margin-top:.6rem; color:#a33b31; border:0; }.account-forms { display:grid; gap:1.5rem; }.account-forms section h2 { margin:0 0 1.4rem; font-size:1.4rem; font-weight:800; }.account-alert { max-width:1280px; margin:0 auto 1rem; padding:1rem; border-radius:12px; }.account-alert.success { color:#246237; background:#e6f5e9; }.account-alert.error { color:#9b3027; background:#fbe8e5; }

@media(max-width:800px){.auth-dialog{display:block;width:min(520px,100%)}.auth-side{display:none}.auth-content{padding:3.5rem 1.5rem 2rem}.account-grid{grid-template-columns:1fr}.site-navbar-actions{gap:.4rem}.navbar-map-link{display:none!important}}
@media(max-width:520px){.site-navbar .navbar-brand img{max-width:145px}.auth-icon-button,.account-icon-link{height:40px;min-width:40px;padding:0}.auth-icon-register{display:none}.menu-trigger{height:40px;padding:0 .8rem}.menu-trigger>span{display:none}.auth-name-row{grid-template-columns:1fr}.auth-content h2{font-size:1.65rem}}

/* Fiche boulangerie au-dessus du header */
.overlay { z-index:5600; }
.bakery-panel { right:-680px; width:min(600px,calc(100vw - 24px)); z-index:5700; border-radius:18px 0 0 18px; box-shadow:-12px 0 45px rgba(0,0,0,.25); }
.bakery-panel:not(.visible) { right:-680px; }
.bakery-panel .p-4 { padding:clamp(1.5rem,4vw,2.5rem)!important; }
.bakery-panel h3 { padding-right:2rem; font-size:clamp(1.45rem,3vw,2rem); }
.fullscreen-menu,.fullscreen-nav { overflow-x:hidden; }
.fullscreen-nav { width:min(100%,760px); padding-inline:1rem; }
.fullscreen-nav a { position:relative; max-width:100%; transform:none!important; }
.fullscreen-nav a::after { position:absolute; right:1rem; bottom:0; left:1rem; height:1px; background:currentColor; content:''; transform:scaleX(0); transition:transform .25s; }
.fullscreen-nav a:hover::after { transform:scaleX(1); }
@media(max-width:650px){.bakery-panel{right:-100vw;width:100vw;border-radius:0}.bakery-panel:not(.visible){right:-100vw}}

/* Sticky footer fiable : le body peut grandir avec le contenu sur mobile. */
body > main { flex:1 0 auto; }
body > .site-presentation,body > .site-footer { flex:0 0 auto; }
@media(max-width:900px){.footer-main{row-gap:3rem;padding:3.5rem 2.5rem}.footer-bottom{padding-inline:2.5rem}}
@media(max-width:600px){.footer-main{row-gap:2.5rem;padding:3rem 1.25rem}.footer-bottom{gap:1.25rem;padding:1.35rem 1.25rem 1.6rem}.footer-identity p,.footer-news p{max-width:none}}

/* Connexion rapide Google */
.google-auth-button { display:flex; align-items:center; justify-content:center; gap:.7rem; width:100%; margin:.9rem 0; padding:.76rem 1rem; color:#302c27; background:#fff; border:1px solid #d9d5ce; border-radius:10px; text-decoration:none; font-size:.82rem; font-weight:750; transition:.2s; }
.google-auth-button:hover { color:#171512; border-color:#aaa49b; background:#faf9f7; box-shadow:0 4px 14px rgba(35,30,24,.08); }
.google-mark { display:grid; place-items:center; width:21px; height:21px; color:#4285f4; font:900 1rem Arial,sans-serif; }
.auth-divider { display:flex; align-items:center; gap:.7rem; margin:.85rem 0; color:#918a81; font-size:.68rem; }
.auth-divider::before,.auth-divider::after { flex:1; height:1px; background:#e6e1da; content:''; }

/* Nouvelle fiche boulangerie */
.bakery-panel { background:#f7f4ee; }
.bakery-panel>.btn-close { position:fixed; top:18px; right:18px; display:grid; place-items:center; width:42px; height:42px; padding:0; background:rgba(255,255,255,.92)!important; border-radius:50%; box-shadow:0 5px 18px rgba(0,0,0,.16); opacity:1; }
.bakery-panel>.btn-close::after { font-size:1.05rem; }
.bakery-cover { position:relative; height:260px; overflow:hidden; background:#2c251c; }
.bakery-cover::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.5)); content:''; }
.bakery-cover img { width:100%; height:100%; object-fit:cover; }
.bakery-photo-placeholder { position:absolute; z-index:1; right:1.5rem; bottom:1.1rem; display:flex; align-items:center; gap:.45rem; padding:.45rem .7rem; color:rgba(255,255,255,.88); background:rgba(20,16,10,.48); border:1px solid rgba(255,255,255,.25); border-radius:999px; backdrop-filter:blur(6px); font-size:.7rem; }
.bakery-sheet { padding:clamp(1.5rem,4vw,2.5rem); }
.bakery-sheet-kicker,.sheet-section-title span,.review-form-section>span { color:#aa6500; font-size:.68rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.bakery-sheet>h2 { margin:.3rem 0 1.1rem; padding:0; font-size:clamp(1.65rem,3vw,2.2rem); font-weight:830; letter-spacing:-.045em; }
.bakery-score { display:flex; align-items:center; gap:.8rem; margin-bottom:1.25rem; }.score-number { display:grid; place-items:center; width:58px; height:58px; color:#2c2418; background:#ffbd16; border-radius:14px; font-size:1.3rem; font-weight:850; }.sheet-stars { color:#efa900; letter-spacing:.08em; }.sheet-stars span,.review-rating span { color:#d8d2c8; }.bakery-score small { color:#746d63; }
.bakery-info { display:grid; gap:.1rem; padding:1rem 0; border-top:1px solid #dbd4c9; border-bottom:1px solid #dbd4c9; }.bakery-info>div { display:flex; align-items:flex-start; gap:.75rem; padding:.55rem 0; color:#615b52; font-size:.86rem; }.bakery-info>div>i { color:#bd7506; font-size:1rem; }.bakery-info a { color:#4d4740; text-underline-offset:3px; }
.bakery-actions { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin:1rem 0 2rem; }.bakery-actions a { display:flex; align-items:center; justify-content:center; gap:.45rem; padding:.75rem; color:#4b443a; background:#fff; border:1px solid #d9d2c7; border-radius:10px; font-size:.8rem; font-weight:780; text-decoration:none; }.bakery-actions a.primary { color:#292116; background:#ffbd16; border-color:#ffbd16; }
.reviews-section { margin-top:1rem; }.sheet-section-title { display:flex; align-items:end; justify-content:space-between; margin-bottom:1rem; }.sheet-section-title h3,.review-form-section h3 { margin:.2rem 0 0; font-size:1.25rem; font-weight:820; }.sheet-section-title>strong { display:grid; place-items:center; width:34px; height:34px; background:#e9e3d9; border-radius:50%; font-size:.78rem; }
.empty-reviews { padding:2rem 1rem; color:#706960; background:#fff; border:1px dashed #d3cbc0; border-radius:14px; text-align:center; }.empty-reviews>i { display:block; margin-bottom:.6rem; color:#d68b16; font-size:1.7rem; }.empty-reviews strong { display:block; color:#3e3831; }.empty-reviews p { margin:.3rem 0 0; font-size:.8rem; }
.review-item { padding:1rem 0; border-bottom:1px solid #ddd6cb; }.review-head { display:grid; grid-template-columns:38px 1fr auto; gap:.7rem; align-items:center; }.review-avatar { display:grid; place-items:center; width:38px; height:38px; color:#59400c; background:#ffdf86; border-radius:50%; font-weight:850; }.review-head strong,.review-head small { display:block; }.review-head small { color:#8b8378; font-size:.68rem; }.review-rating { color:#eea600; font-size:.72rem; }.review-item>p { margin:.75rem 0 0 3rem; color:#5f584f; font-size:.85rem; line-height:1.6; }
.review-form-section { margin-top:2rem; padding:1.4rem; background:#fff; border-radius:15px; }.review-form-section form { margin-top:1rem; }.rating-stars { display:flex; gap:.3rem; margin-bottom:.8rem; }.rating-stars input { display:none; }.rating-stars label { color:#d7d1c8; font-size:1.65rem; cursor:pointer; transition:.15s; }.rating-stars label:hover,.rating-stars label.hovered,.rating-stars label.selected { color:#f1a900; transform:translateY(-2px); }.review-form-section textarea { width:100%; padding:.8rem; resize:vertical; background:#f7f5f1; border:1px solid #ded8cf; border-radius:10px; outline:0; }.review-form-section button { display:flex; align-items:center; justify-content:center; gap:.5rem; width:100%; margin-top:.7rem; padding:.75rem; background:#ffbd16; border:0; border-radius:10px; font-weight:800; }
.login-review { display:grid; grid-template-columns:42px 1fr auto; gap:.75rem; align-items:center; margin-top:1.5rem; padding:1rem; background:#29251f; border-radius:14px; color:#fff; }.login-review>i { display:grid; place-items:center; width:42px; height:42px; color:#2d2518; background:#ffbd16; border-radius:50%; }.login-review strong,.login-review span { display:block; }.login-review span { color:#aaa39a; font-size:.72rem; }.login-review button { padding:.55rem .7rem; color:#29251f; background:#fff; border:0; border-radius:8px; font-size:.75rem; font-weight:800; }
@media(max-width:650px){.bakery-cover{height:220px}.bakery-sheet{padding:1.4rem}.login-review{grid-template-columns:38px 1fr}.login-review button{grid-column:1/-1;width:100%}}

/* Fiche boulangerie — version plus fine */
.bakery-panel { right:-620px; width:min(540px,calc(100vw - 24px)); border-radius:14px 0 0 14px; }
.bakery-panel:not(.visible) { right:-620px; }
.bakery-panel>.btn-close { top:14px; right:14px; width:36px; height:36px; box-shadow:0 3px 12px rgba(0,0,0,.13); }
.bakery-cover { height:210px; }
.bakery-photo-placeholder { right:1rem; bottom:.8rem; padding:.35rem .55rem; font-size:.62rem; }
.bakery-sheet { padding:2rem 2.1rem 2.5rem; }
.bakery-sheet-kicker,.sheet-section-title span,.review-form-section>span { font-size:.61rem; letter-spacing:.11em; }
.bakery-sheet>h2 { margin:.22rem 0 .85rem; font-size:1.68rem; letter-spacing:-.035em; }
.bakery-score { gap:.7rem; margin-bottom:1rem; }.score-number { width:48px; height:48px; border-radius:11px; font-size:1.05rem; }.sheet-stars { font-size:.78rem; }.bakery-score small { font-size:.72rem; }
.bakery-info { padding:.75rem 0; }.bakery-info>div { gap:.65rem; padding:.42rem 0; font-size:.77rem; }.bakery-info>div>i { font-size:.9rem; }
.bakery-actions { gap:.5rem; margin:.85rem 0 1.6rem; }.bakery-actions a { padding:.62rem .7rem; border-radius:8px; font-size:.72rem; }
.reviews-section { margin-top:.5rem; }.sheet-section-title { margin-bottom:.75rem; }.sheet-section-title h3,.review-form-section h3 { font-size:1.08rem; }.sheet-section-title>strong { width:29px; height:29px; font-size:.68rem; }
.empty-reviews { padding:1.5rem .9rem; border-radius:11px; }.empty-reviews>i { margin-bottom:.45rem; font-size:1.4rem; }.empty-reviews strong { font-size:.8rem; }.empty-reviews p { font-size:.71rem; }
.review-item { padding:.8rem 0; }.review-head { grid-template-columns:32px 1fr auto; gap:.55rem; }.review-avatar { width:32px; height:32px; font-size:.72rem; }.review-head strong { font-size:.76rem; }.review-head small { font-size:.61rem; }.review-rating { font-size:.65rem; }.review-item>p { margin:.6rem 0 0 2.6rem; font-size:.77rem; }
.review-form-section { margin-top:1.4rem; padding:1.1rem; border-radius:11px; }.rating-stars { margin-bottom:.6rem; }.rating-stars label { font-size:1.4rem; }.review-form-section textarea { padding:.7rem; border-radius:8px; font-size:.76rem; }.review-form-section button { margin-top:.55rem; padding:.62rem; border-radius:8px; font-size:.74rem; }
.review-form-section button { min-height:44px; margin-top:.75rem; padding:.72rem 1rem; font-size:.8rem; box-shadow:0 5px 14px rgba(210,145,0,.16); }
.login-review { grid-template-columns:34px 1fr auto; gap:.65rem; margin-top:1.1rem; padding:.8rem; border-radius:10px; }.login-review>i { width:34px; height:34px; font-size:.8rem; }.login-review strong { font-size:.75rem; }.login-review span { font-size:.63rem; }.login-review button { padding:.45rem .6rem; border-radius:7px; font-size:.67rem; }
@media(max-width:650px){.bakery-panel{right:-100vw;width:100vw}.bakery-panel:not(.visible){right:-100vw}.bakery-cover{height:190px}.bakery-sheet{padding:1.5rem}.bakery-sheet>h2{font-size:1.5rem}}

/* Pages indexables des établissements */
.bakery-seo-link{color:inherit;text-decoration:none}.bakery-seo-link:hover{color:#a75f00}
.seo-bakery-page{overflow:visible;padding:clamp(1.5rem,4vw,4rem) clamp(1rem,6vw,6rem);background:#f2eee6}.seo-breadcrumb{display:flex;align-items:center;gap:.45rem;max-width:1320px;margin:0 auto 1.2rem;color:#8b8378;font-size:.68rem}.seo-breadcrumb a{color:#71695f;text-decoration:none}.seo-breadcrumb i{font-size:.55rem}
.seo-bakery-hero{display:grid;grid-template-columns:1.15fr .85fr;max-width:1320px;min-height:420px;margin:auto;overflow:hidden;background:#fff;border-radius:22px}.seo-bakery-hero>div:first-child{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,6vw,5rem)}.seo-bakery-hero h1{margin:.5rem 0 .7rem;font-size:clamp(2.3rem,5vw,4.8rem);font-weight:840;line-height:.95;letter-spacing:-.06em}.seo-bakery-hero p{color:#71695f}.seo-bakery-image{position:relative;min-height:350px}.seo-bakery-image img{width:100%;height:100%;object-fit:cover}.seo-bakery-image small{position:absolute;right:1rem;bottom:1rem;padding:.35rem .55rem;color:#fff;background:rgba(0,0,0,.5);border-radius:999px;font-size:.6rem}.seo-rating{display:flex;align-items:center;gap:.8rem;margin-top:1rem}.seo-rating>strong{display:grid;place-items:center;width:60px;height:60px;background:#ffbd16;border-radius:14px;font-size:1.35rem}.seo-rating div span{display:block;color:#e99f00;letter-spacing:.08em}.seo-rating div span i{color:#d8d1c7;font-style:normal}.seo-rating small{color:#7f776c;font-size:.72rem}
.seo-bakery-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.2rem;max-width:1320px;margin:1.2rem auto}.seo-bakery-grid>article>section,.seo-local-card{margin-bottom:1.2rem;padding:clamp(1.5rem,4vw,3rem);background:#fff;border-radius:18px}.seo-bakery-grid h2{margin:.35rem 0 1rem;font-size:clamp(1.5rem,2.5vw,2.2rem);font-weight:820;letter-spacing:-.04em}.seo-bakery-grid section>p{color:#655e54;line-height:1.75}.seo-details{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1.5rem}.seo-details>div{display:flex;gap:.65rem;padding:1rem;background:#f5f2ec;border-radius:11px;color:#625b52;font-size:.76rem}.seo-details i{color:#b96f00}.seo-details strong{display:block;margin-bottom:.2rem;color:#342f29}.seo-details a{color:#8e5500}.seo-local-card{position:sticky;top:95px;padding:1.4rem}.seo-local-card h2{font-size:1.05rem}.seo-local-card>a,.seo-local-card>button{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;margin:.55rem 0;padding:.72rem;color:#4d463e;background:#f3f0ea;border:0;border-radius:9px;font-size:.72rem;font-weight:760;text-decoration:none}.seo-local-card>a.button-gold{color:#292116;background:#ffbd16}.seo-reviews{display:grid;gap:.7rem}.seo-reviews>article{padding:1rem;background:#f7f4ee;border-radius:11px}.seo-reviews>article>div{display:flex;align-items:center;gap:.7rem}.seo-reviews span{color:#e9a000;font-size:.7rem}.seo-reviews time{margin-left:auto;color:#91897d;font-size:.62rem}.seo-reviews p{margin:.65rem 0 0;color:#5e574e;font-size:.8rem;line-height:1.6}.seo-no-review,.seo-empty{padding:2rem;background:#fff;border-radius:14px}
@media(max-width:850px){.seo-bakery-hero,.seo-bakery-grid{grid-template-columns:1fr}.seo-bakery-image{grid-row:1;min-height:280px}.seo-details{grid-template-columns:1fr}.seo-local-card{position:static}}

.legal-identity{margin:1.4rem 0;padding:1.25rem 1.4rem;background:#fff;border:1px solid #ded8ce;border-radius:12px}.legal-identity p{margin:.25rem 0 .9rem}.legal-identity p:last-child{margin-bottom:.25rem}
