/* ============================================================
   SOL Y SOMBRA — style.css v2.0
   Afterwork · Coworking · Bar · Events · Menus PDF
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Philosopher:ital,wght@0,400;0,700;1,400&family=Antonio:wght@300;400;500;600&family=Inter:wght@300;400;500&display=swap');

:root {
  --gd:   #1f3730;
  --go:   #6a8012;
  --gb:   #ced54b;
  --gold: #cc9c4a;
  --gold-l: #e8b96a;
  --cream: #f7f4ee;
  --tl:   #f5f1e8;
  --tm:   rgba(245,241,232,.62);
  --glass: rgba(31,55,48,.48);
  --gbr:  rgba(206,213,75,.16);

  --ft: 'Philosopher', serif;
  --fs: 'Antonio', sans-serif;
  --fb: 'Inter', sans-serif;

  --ease: cubic-bezier(.25,.46,.45,.94);
  --spring: cubic-bezier(.34,1.56,.64,1);
  --t: .4s var(--ease);

  --pad: clamp(72px, 9vw, 130px);
  --w: 1280px;
  --r: 20px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body { font-family: var(--fb); background: var(--cream); color: var(--gd); overflow-x: hidden; line-height: 1.6; }
img { display: block; max-width: 100%; }
a   { text-decoration: none; color: inherit; }

.container { width: 100%; max-width: var(--w); margin: 0 auto; padding: 0 clamp(20px,5vw,64px); }

.lbl {
  font-family: var(--fs); font-size: 10px; font-weight: 500;
  letter-spacing: .35em; text-transform: uppercase; color: var(--gold);
  display: flex; align-items: center; gap: 12px; margin-bottom: 18px;
}
.lbl::before { content:''; display:block; width:28px; height:1px; background:var(--gold); flex-shrink:0; }
.lbl.center  { justify-content:center; }
.lbl.center::before { display:none; }
.lbl.light   { color: var(--gold); }

.fu { opacity:0; transform:translateY(36px); transition:opacity .85s var(--ease), transform .85s var(--ease); }
.fu.vis { opacity:1; transform:none; }
.fu:nth-child(2){transition-delay:.09s}
.fu:nth-child(3){transition-delay:.17s}
.fu:nth-child(4){transition-delay:.25s}
.fu:nth-child(5){transition-delay:.33s}
.fu:nth-child(6){transition-delay:.41s}

/* ── BUTTONS ── */
.btn-p {
  font-family:var(--fs); font-size:11px; font-weight:500; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gd); background:linear-gradient(135deg,var(--gold),var(--gb));
  padding:15px 32px; border-radius:100px; border:none; cursor:pointer;
  position:relative; overflow:hidden; display:inline-block;
  transition:transform var(--t), box-shadow var(--t);
}
.btn-p::before { content:''; position:absolute; top:0;left:-100%; width:100%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent); transition:left .5s var(--ease); }
.btn-p:hover::before { left:100%; }
.btn-p:hover { transform:translateY(-3px); box-shadow:0 12px 32px rgba(204,156,74,.44); color:var(--gd); }

.btn-o {
  font-family:var(--fs); font-size:11px; font-weight:400; letter-spacing:.22em; text-transform:uppercase;
  color:var(--tl); background:transparent; padding:15px 32px; border-radius:100px;
  border:1px solid rgba(245,241,232,.32); cursor:pointer; display:inline-block;
  backdrop-filter:blur(8px);
  transition:border-color var(--t), background var(--t), transform var(--t);
}
.btn-o:hover { border-color:var(--gold); background:rgba(204,156,74,.1); transform:translateY(-3px); color:var(--tl); }

/* ── HEADER ── */
.hdr { position:fixed; top:0; left:0; right:0; z-index:1000; padding:24px 0; transition:background var(--t),backdrop-filter var(--t),box-shadow var(--t),padding var(--t); }
.hdr.scrolled { background:var(--glass); backdrop-filter:blur(22px) saturate(1.5); -webkit-backdrop-filter:blur(22px) saturate(1.5); box-shadow:0 1px 0 var(--gbr),0 10px 40px rgba(0,0,0,.28); padding:13px 0; }
.hdr-inner { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.nav { display:flex; gap:clamp(16px,2.5vw,34px); align-items:center; }
.nav--r { justify-content:flex-end; }
.nav-a { font-family:var(--fs); font-size:11px; font-weight:400; letter-spacing:.22em; text-transform:uppercase; color:var(--tl); position:relative; padding-bottom:4px; transition:color var(--t); }
.nav-a::after { content:''; position:absolute; bottom:0;left:0;right:0; height:1px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease); }
.nav-a:hover { color:var(--gold); }
.nav-a:hover::after { transform:scaleX(1); }

/* LOGO */
.logo { display:flex; flex-direction:column; align-items:center; position:relative; cursor:pointer; user-select:none; }
.logo::before { content:''; position:absolute; width:130px;height:130px; background:radial-gradient(circle,rgba(204,156,74,.38) 0%,rgba(206,213,75,.12) 40%,transparent 70%); border-radius:50%; animation:glow 3.5s ease-in-out infinite alternate; pointer-events:none; top:50%;left:50%; transform:translate(-50%,-50%); }
@keyframes glow { from{transform:translate(-50%,-50%) scale(.85);opacity:.6} to{transform:translate(-50%,-50%) scale(1.2);opacity:1} }
.logo-main { font-family:var(--ft); font-size:clamp(16px,2vw,23px); font-weight:700; color:var(--tl); letter-spacing:.07em; line-height:1; position:relative; text-shadow:0 0 28px rgba(204,156,74,.9),0 0 60px rgba(206,213,75,.4); }
.logo-rule { width:36px;height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); margin:5px auto; }
.logo-tag  { font-family:var(--fs); font-size:8px; letter-spacing:.45em; text-transform:uppercase; color:var(--gold); position:relative; }

.btn-hdr { font-family:var(--fs); font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--gd); background:linear-gradient(135deg,var(--gold),var(--gb)); padding:10px 18px; border-radius:100px; white-space:nowrap; display:inline-block; transition:transform var(--t),box-shadow var(--t); }
.btn-hdr:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(204,156,74,.42); color:var(--gd); }

.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; background:none; border:none; }
.hamburger span { display:block; width:24px;height:1.5px; background:var(--tl); transition:var(--t); }
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ── MOBILE MENU ── */
.mob-menu { position:fixed;inset:0; background:rgba(10,20,16,.97); backdrop-filter:blur(20px); z-index:999; display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px; opacity:0;visibility:hidden; transition:opacity var(--t),visibility var(--t); }
.mob-menu.open { opacity:1;visibility:visible; }
.mob-a { font-family:var(--ft); font-size:clamp(24px,6vw,46px); font-weight:700; color:var(--tl); opacity:0;transform:translateY(20px); transition:color var(--t),opacity .4s var(--ease),transform .4s var(--ease); }
.mob-menu.open .mob-a { opacity:1;transform:none; }
.mob-a:nth-child(1){transition-delay:.05s}.mob-a:nth-child(2){transition-delay:.10s}.mob-a:nth-child(3){transition-delay:.15s}.mob-a:nth-child(4){transition-delay:.20s}.mob-a:nth-child(5){transition-delay:.25s}
.mob-a:hover { color:var(--gold); }
.mob-close { position:absolute;top:24px;right:clamp(20px,5vw,64px); font-size:28px;color:var(--tm); background:none;border:none;cursor:pointer;line-height:1; transition:color var(--t),transform var(--t); }
.mob-close:hover { color:var(--gold);transform:rotate(90deg); }

/* ── HERO ── */
.hero { position:relative;height:100vh;min-height:680px; display:flex;align-items:center;justify-content:center;overflow:hidden; }
.hero-bg { position:absolute;inset:-10%; background-image:url('../bg.jpg'); background-size:cover; background-position:center 40%; animation:kb 24s ease-in-out infinite alternate; will-change:transform; }
@keyframes kb { from{transform:scale(1) translateX(0)} to{transform:scale(1.07) translateX(-1%)} }
.hero-ov { position:absolute;inset:0; background:linear-gradient(to bottom,rgba(10,20,16,.25) 0%,rgba(10,20,16,.5) 45%,rgba(10,20,16,.88) 100%),linear-gradient(to right,rgba(31,55,48,.5) 0%,transparent 55%); }
.hero-content { position:relative;z-index:2;text-align:center;padding:0 clamp(20px,5vw,60px);max-width:900px; }
.hero-eyebrow { font-family:var(--fs);font-size:10px;font-weight:400;letter-spacing:.46em;text-transform:uppercase;color:var(--gold); display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:28px; opacity:0;animation:fuA 1s var(--ease) .3s forwards; }
.hero-eyebrow::before,.hero-eyebrow::after { content:'';display:block;width:34px;height:1px; }
.hero-eyebrow::before { background:linear-gradient(90deg,transparent,var(--gold)); }
.hero-eyebrow::after  { background:linear-gradient(90deg,var(--gold),transparent); }
@keyframes fuA { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:none} }
.hero-title { font-family:var(--ft);font-size:clamp(34px,6.5vw,84px);font-weight:700;color:var(--tl);line-height:1.08;letter-spacing:-.015em;margin-bottom:24px; opacity:0;animation:fuA 1.1s var(--ease) .5s forwards;text-shadow:0 2px 40px rgba(0,0,0,.5); }
.hero-title em { font-style:italic;background:linear-gradient(135deg,var(--gold),var(--gb));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; }
.hero-sub { font-family:var(--fb);font-size:clamp(14px,1.6vw,17px);font-weight:300;color:var(--tm);letter-spacing:.04em;max-width:520px;margin:0 auto 44px;line-height:1.78; opacity:0;animation:fuA 1.1s var(--ease) .7s forwards; }
.hero-ctas { display:flex;gap:14px;justify-content:center;flex-wrap:wrap; opacity:0;animation:fuA 1.1s var(--ease) .9s forwards; }
.scroll-ind { position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:2; display:flex;flex-direction:column;align-items:center;gap:8px; opacity:0;animation:fi 1s var(--ease) 1.6s forwards; }
.scroll-ind span { font-family:var(--fs);font-size:8px;letter-spacing:.36em;text-transform:uppercase;color:var(--tm); }
.scroll-line { width:1px;height:40px;background:linear-gradient(to bottom,var(--gold),transparent);animation:sp 2.2s ease-in-out infinite; }
@keyframes sp  { 0%,100%{transform:scaleY(1);opacity:1} 50%{transform:scaleY(.5);opacity:.35} }
@keyframes fi  { from{opacity:0} to{opacity:1} }

/* ── NOTRE UNIVERS ── */
.s-univers {
  padding: var(--pad) 0;
  background: var(--cream);
  position: relative; overflow: hidden;
}
.s-univers::after {
  content:''; position:absolute; top:0; right:0; width:44%; height:100%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Ccircle cx='90' cy='90' r='75' fill='none' stroke='%231f3730' stroke-width='.5' opacity='.05'/%3E%3Ccircle cx='90' cy='90' r='45' fill='none' stroke='%236a8012' stroke-width='.5' opacity='.05'/%3E%3C/svg%3E") repeat;
  pointer-events:none; opacity:.5;
}
.univers-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(40px,7vw,110px); align-items:center;
}
.univers-head {
  font-family:var(--ft); font-size:clamp(28px,4vw,50px); font-weight:700;
  color:var(--gd); line-height:1.12; margin-bottom:20px;
}
.univers-head em { font-style:italic; color:var(--go); }
.univers-body {
  font-size:15px; font-weight:300; color:rgba(31,55,48,.72);
  line-height:1.82; margin-bottom:28px;
}
.u-stats {
  display:flex; gap:32px; padding:24px 0;
  border-top:1px solid rgba(31,55,48,.1);
  border-bottom:1px solid rgba(31,55,48,.1);
  margin-bottom:32px;
}
.stat-n {
  font-family:var(--ft); font-size:clamp(28px,3.5vw,44px); font-weight:700;
  color:var(--gd); line-height:1; display:block;
}
.stat-l {
  font-family:var(--fs); font-size:9px; letter-spacing:.26em;
  text-transform:uppercase; color:var(--gold); margin-top:5px; display:block;
}
.u-cards {
  display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-top:32px;
}
.u-card {
  background:#fff; border-radius:12px; padding:20px;
  box-shadow:0 4px 20px rgba(31,55,48,.05);
  border:1px solid rgba(31,55,48,.06);
  transition:transform var(--t),box-shadow var(--t);
}
.u-card:hover {
  transform:translateY(-5px);
  box-shadow:0 14px 40px rgba(31,55,48,.1),0 0 0 1px rgba(204,156,74,.16);
}
.u-card-icon { display:flex;align-items:center;justify-content:center;margin-bottom:9px;color:rgba(245,241,232,.85); }
.u-card-t {
  font-family:var(--fs); font-size:10px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--gd); margin-bottom:4px;
}
.u-card-d { font-size:12px; font-weight:300; color:rgba(31,55,48,.58); line-height:1.58; }
.u-img-wrap { position:relative; border-radius:var(--r); overflow:hidden; aspect-ratio:4/5; }
.u-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.u-img-wrap:hover img { transform:scale(1.04); }
.u-img-wrap::after { content:''; position:absolute; inset:0; background:linear-gradient(to bottom,transparent 55%,rgba(31,55,48,.45) 100%); pointer-events:none; }
.u-badge { position:absolute; bottom:20px; left:20px; z-index:1; background:var(--glass); backdrop-filter:blur(14px); border:1px solid var(--gbr); border-radius:12px; padding:12px 16px; }
.u-badge-txt { font-family:var(--ft); font-size:13px; font-style:italic; color:var(--tl); }

/* ── AFTERWORK ── */
.s-afterwork {
  padding: var(--pad) 0;
  background: var(--gd);
  position: relative; overflow: hidden;
}
.s-afterwork::before {
  content:''; position:absolute;inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 100%, rgba(204,156,74,.12) 0%, transparent 55%),
    radial-gradient(ellipse 50% 40% at 90% 10%, rgba(206,213,75,.08) 0%, transparent 50%);
  pointer-events:none;
}
/* Texture végétale */
.s-afterwork::after {
  content:''; position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='70'%3E%3Cpath d='M35 6 Q41 18 35 28 Q29 18 35 6Z' fill='%23ced54b' opacity='.03'/%3E%3Cpath d='M10 35 Q22 28 34 35 Q22 42 10 35Z' fill='%23ced54b' opacity='.03'/%3E%3C/svg%3E") repeat;
  pointer-events:none;
}

.afterwork-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,7vw,100px); align-items:center; }

.aw-head { font-family:var(--ft); font-size:clamp(30px,4.5vw,56px); font-weight:700; color:var(--tl); line-height:1.1; margin-bottom:20px; }
.aw-head em { font-style:italic; background:linear-gradient(135deg,var(--gold),var(--gb)); -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; }

.aw-body { font-size:15px;font-weight:300;color:var(--tm);line-height:1.82;margin-bottom:28px; }

.aw-hours { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:32px; }
.aw-hour-card { background:rgba(255,255,255,.04);border:1px solid rgba(206,213,75,.12);border-radius:12px;padding:16px 18px; }
.aw-hour-day { font-family:var(--fs);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:4px; }
.aw-hour-time { font-family:var(--ft);font-size:20px;font-weight:700;color:var(--tl); }

.aw-img-wrap { position:relative;border-radius:var(--r);overflow:hidden; }
.aw-img-wrap img { width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .8s var(--ease); }
.aw-img-wrap:hover img { transform:scale(1.04); }
.aw-img-wrap::after { content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(31,55,48,.6) 100%);pointer-events:none; }
.aw-badge { position:absolute;bottom:20px;left:20px;z-index:1;background:linear-gradient(135deg,var(--gold),var(--gb));border-radius:100px;padding:8px 20px; }
.aw-badge span { font-family:var(--fs);font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gd); }

/* ── COWORKING ── */
.s-cowork {
  padding: var(--pad) 0;
  background: var(--cream);
  position: relative; overflow: hidden;
}
.s-cowork::before {
  content:''; position:absolute; top:0;right:0; width:40%;height:100%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Ccircle cx='100' cy='100' r='85' fill='none' stroke='%231f3730' stroke-width='.5' opacity='.05'/%3E%3C/svg%3E") repeat;
  opacity:.5;pointer-events:none;
}

.cowork-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,7vw,100px); align-items:center; }

.cw-head { font-family:var(--ft); font-size:clamp(28px,4vw,50px); font-weight:700; color:var(--gd); line-height:1.12; margin-bottom:18px; }
.cw-head em { font-style:italic; color:var(--go); }
.cw-body { font-size:15px;font-weight:300;color:rgba(31,55,48,.72);line-height:1.82;margin-bottom:28px; }

.cw-features { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:32px; }
.cw-feat { background:#fff;border-radius:12px;padding:18px;box-shadow:0 4px 20px rgba(31,55,48,.05);border:1px solid rgba(31,55,48,.06); display:flex;align-items:flex-start;gap:12px; transition:transform var(--t),box-shadow var(--t); }
.cw-feat:hover { transform:translateY(-4px);box-shadow:0 12px 36px rgba(31,55,48,.1),0 0 0 1px rgba(204,156,74,.15); }
.cw-feat-ico { display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;color:rgba(245,241,232,.85); }
.cw-feat-t { font-family:var(--fs);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gd);margin-bottom:3px; }
.cw-feat-d { font-size:12px;font-weight:300;color:rgba(31,55,48,.58);line-height:1.55; }

.cw-img-wrap { position:relative;border-radius:var(--r);overflow:hidden; }
.cw-img-wrap img { width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .8s var(--ease); }
.cw-img-wrap:hover img { transform:scale(1.04); }
.cw-img-wrap::after { content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 55%,rgba(31,55,48,.5) 100%);pointer-events:none; }
.cw-badge { position:absolute;bottom:20px;left:20px;z-index:1;background:var(--glass);backdrop-filter:blur(14px);border:1px solid var(--gbr);border-radius:12px;padding:14px 18px; }
.cw-badge-title { font-family:var(--ft);font-size:15px;font-weight:700;color:var(--tl);margin-bottom:2px; }
.cw-badge-sub { font-family:var(--fs);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold); }

/* ── BAR ── */
.s-bar {
  padding: var(--pad) 0;
  background: var(--gd);
  position: relative; overflow:hidden;
}
.s-bar::before {
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 65% 55% at 80% 20%,rgba(106,128,18,.18) 0%,transparent 60%),
    radial-gradient(ellipse 50% 60% at 5% 85%,rgba(204,156,74,.09) 0%,transparent 55%);
  pointer-events:none;
}

.bar-head-wrap { text-align:center;margin-bottom:64px; }
.bar-title { font-family:var(--ft);font-size:clamp(32px,5vw,64px);font-weight:700;color:var(--tl);letter-spacing:-.01em;line-height:1.1; }

.bar-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:50px; }
.bar-card { background:rgba(255,255,255,.04);border:1px solid rgba(245,241,232,.07);border-radius:var(--r);overflow:hidden;transition:transform var(--t),box-shadow var(--t),border-color var(--t); }
.bar-card:hover { transform:translateY(-10px) scale(1.01);box-shadow:0 28px 64px rgba(0,0,0,.38),0 0 0 1px rgba(204,156,74,.25);border-color:rgba(204,156,74,.25); }
.bar-card-img { width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .65s var(--ease); }
.bar-card:hover .bar-card-img { transform:scale(1.06); }
.bar-card-body { padding:20px 22px 24px; }
.bar-card-tag { font-family:var(--fs);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--gb);margin-bottom:7px; }
.bar-card-name { font-family:var(--ft);font-size:20px;font-weight:700;color:var(--tl);margin-bottom:6px;line-height:1.15; }
.bar-card-desc { font-size:13px;font-weight:300;color:var(--tm);line-height:1.65;margin-bottom:14px; }
.bar-card-price { font-family:var(--ft);font-size:22px;font-weight:700;color:var(--gold); }

.bar-cta-wrap { text-align:center; }

/* ── EVENTS ── */
.s-events {
  padding: var(--pad) 0;
  background: var(--cream);
  position: relative;
}
.events-hd { text-align:center;margin-bottom:56px; }
.events-title { font-family:var(--ft);font-size:clamp(28px,4.5vw,56px);font-weight:700;color:var(--gd);line-height:1.1; }

.events-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px; }
.event-card { background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 6px 28px rgba(31,55,48,.07);border:1px solid rgba(31,55,48,.06);transition:transform var(--t),box-shadow var(--t); }
.event-card:hover { transform:translateY(-8px);box-shadow:0 24px 60px rgba(31,55,48,.13),0 0 0 1px rgba(204,156,74,.2); }
.event-poster { width:100%;aspect-ratio:2/3;object-fit:cover;background:linear-gradient(135deg,var(--gd),var(--go));display:flex;align-items:center;justify-content:center;font-size:60px; }
.event-poster-placeholder { width:100%;aspect-ratio:2/3;background:linear-gradient(135deg,var(--gd) 0%,rgba(106,128,18,.6) 100%);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px; }
.event-poster-placeholder span { display:flex;align-items:center;justify-content:center;color:rgba(245,241,232,.6); }
.event-poster-placeholder p { font-family:var(--fs);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:rgba(206,213,75,.5); }
.event-body { padding:20px 22px 24px; }
.event-date-badge { display:inline-flex;align-items:center;gap:8px;background:rgba(204,156,74,.1);border-radius:100px;padding:4px 12px;margin-bottom:12px; }
.event-date-badge span { font-family:var(--fs);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold); }
.event-card-title { font-family:var(--ft);font-size:20px;font-weight:700;color:var(--gd);margin-bottom:8px;line-height:1.2; }
.event-card-desc { font-size:13px;font-weight:300;color:rgba(31,55,48,.65);line-height:1.65; }

.events-empty { text-align:center;padding:60px 20px; }
.events-empty p { font-family:var(--fs);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:rgba(31,55,48,.35); }

/* ── MENUS PDF ── */
.s-menus {
  padding: var(--pad) 0;
  background: var(--gd);
  position: relative; overflow:hidden;
}
.s-menus::before {
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 60% at 50% 0%,rgba(106,128,18,.14) 0%,transparent 55%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M30 4 Q36 14 30 24 Q24 14 30 4Z' fill='%23ced54b' opacity='.025'/%3E%3C/svg%3E") repeat;
  pointer-events:none;
}

.menus-hd { text-align:center;margin-bottom:56px; }
.menus-title { font-family:var(--ft);font-size:clamp(30px,5vw,60px);font-weight:700;color:var(--tl);line-height:1.1; }

.menus-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
.menu-dl-card { background:rgba(255,255,255,.04);border:1px solid rgba(245,241,232,.08);border-radius:var(--r);overflow:hidden;transition:transform var(--t),box-shadow var(--t),border-color var(--t);display:flex;flex-direction:column; }
.menu-dl-card:hover { transform:translateY(-8px);box-shadow:0 28px 60px rgba(0,0,0,.35),0 0 0 1px rgba(204,156,74,.22);border-color:rgba(204,156,74,.22); }

.menu-dl-visual { position:relative;padding:40px 30px;background:linear-gradient(160deg,rgba(106,128,18,.15) 0%,rgba(31,55,48,.3) 100%);display:flex;align-items:center;justify-content:center;min-height:200px; }
.menu-dl-visual::before { content:'';position:absolute;inset:0;background:var(--gradient, linear-gradient(160deg,rgba(204,156,74,.08),transparent));pointer-events:none; }
.menu-dl-icon { position:relative;z-index:1;display:flex;align-items:center;justify-content:center;color:rgba(245,241,232,.9);margin:0 auto 8px; }
.menu-dl-body { padding:24px 26px 28px;flex:1;display:flex;flex-direction:column; }
.menu-dl-tag { font-family:var(--fs);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--gb);margin-bottom:8px; }
.menu-dl-name { font-family:var(--ft);font-size:24px;font-weight:700;color:var(--tl);margin-bottom:10px;line-height:1.15; }
.menu-dl-desc { font-size:13px;font-weight:300;color:var(--tm);line-height:1.68;margin-bottom:24px;flex:1; }

.btn-dl { display:inline-flex;align-items:center;gap:10px; font-family:var(--fs);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase; color:var(--gd);background:linear-gradient(135deg,var(--gold),var(--gb)); padding:14px 26px;border-radius:100px;border:none;cursor:pointer; position:relative;overflow:hidden; transition:transform var(--t),box-shadow var(--t); text-decoration:none; align-self:flex-start; }
.btn-dl::before { content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transition:left .5s var(--ease); }
.btn-dl:hover::before { left:100%; }
.btn-dl:hover { transform:translateY(-3px);box-shadow:0 12px 28px rgba(204,156,74,.4);color:var(--gd); }
.btn-dl-ico { display:inline-flex;align-items:center;vertical-align:middle;margin-right:4px; }

/* ── CARTE (onglets) ── */
.s-carte { padding:var(--pad) 0;background:var(--gd);position:relative;overflow:hidden; }
.s-carte::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at 85% 15%,rgba(106,128,18,.16) 0%,transparent 60%),radial-gradient(ellipse 45% 60% at 10% 85%,rgba(204,156,74,.08) 0%,transparent 60%);pointer-events:none; }
.carte-hd { text-align:center;margin-bottom:50px; }
.carte-hd .lbl { justify-content:center; }
.carte-hd .lbl::before { display:none; }
.carte-t { font-family:var(--ft);font-size:clamp(30px,5vw,60px);font-weight:700;color:var(--tl);letter-spacing:-.01em;line-height:1.1; }

.tabs { display:flex;justify-content:center;gap:0;margin-bottom:50px;border-bottom:1px solid rgba(245,241,232,.1);position:relative;z-index:1;overflow-x:auto; }
.tab { font-family:var(--fs);font-size:11px;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--tm);background:none;border:none;padding:13px 24px;cursor:pointer;position:relative;transition:color var(--t);white-space:nowrap; }
.tab::after { content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .35s var(--ease); }
.tab:hover { color:var(--tl); }
.tab.active { color:var(--gold); }
.tab.active::after { transform:scaleX(1); }
.panel { display:none;animation:pan .45s var(--ease); }
.panel.active { display:block; }
@keyframes pan { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }
.menu-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:22px; }
.m-card { background:rgba(255,255,255,.04);border:1px solid rgba(245,241,232,.07);border-radius:var(--r);overflow:hidden;transition:transform var(--t),box-shadow var(--t),border-color var(--t);display:flex;flex-direction:column;position:relative; }
.m-card:hover { transform:translateY(-8px) scale(1.01);box-shadow:0 26px 64px rgba(0,0,0,.36),0 0 0 1px rgba(204,156,74,.24);border-color:rgba(204,156,74,.24); }
/* Overlay couvrant toute la card — doit être le dernier enfant dans le HTML */
.m-card-overlay { position:absolute;inset:0;z-index:4;cursor:pointer; }
.m-card-img { width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .65s var(--ease); }
.m-card:hover .m-card-img { transform:scale(1.07); }
/* Le body est en position:relative pour que le bouton (z-index:5) soit au-dessus de l'overlay (z-index:4) */
.m-card-body { padding:18px 20px 22px;display:flex;flex-direction:column;flex:1;position:relative;z-index:5; }
.m-tag { font-family:var(--fs);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--gb);margin-bottom:7px; }
.m-name { font-family:var(--ft);font-size:18px;font-weight:700;color:var(--tl);margin-bottom:5px;line-height:1.2; }
.m-desc { font-size:13px;font-weight:300;color:var(--tm);line-height:1.65;margin-bottom:16px;flex:1; }
.m-ft { display:flex;justify-content:flex-start;align-items:center;gap:10px;margin-top:auto; }
.m-price { font-family:var(--ft);font-size:20px;font-weight:700;color:var(--gold); }
.m-badge { font-family:var(--fs);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gd);background:var(--gb);padding:3px 9px;border-radius:100px; }
/* Bouton — z-index:6 pour être au-dessus de tout */
.btn-voir-carte { font-family:var(--fs);font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gd)!important;background:linear-gradient(135deg,var(--gold),var(--gb));padding:11px 22px;border-radius:100px;cursor:pointer;position:relative;overflow:hidden;display:inline-block;text-decoration:none!important;transition:transform var(--t),box-shadow var(--t);white-space:nowrap;z-index:6; }
.btn-voir-carte::before { content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transition:left .5s var(--ease); }
.m-card:hover .btn-voir-carte::before { left:100%; }
.m-card:hover .btn-voir-carte { transform:translateY(-2px);box-shadow:0 8px 24px rgba(204,156,74,.44); }

/* ── SOUS-CATÉGORIES CARTE ── */
.menu-subcategory { margin-bottom:40px; }
.menu-subcategory + .menu-subcategory { margin-top:52px; }
.menu-subcat-header { display:flex;align-items:center;gap:20px;margin-bottom:28px; }
.menu-subcat-title { font-family:var(--ft);font-size:clamp(18px,2.5vw,26px);font-weight:700;color:var(--tl);letter-spacing:-.01em;white-space:nowrap; }
.menu-subcat-line { flex:1;height:1px;background:linear-gradient(90deg,rgba(204,156,74,.4),transparent); }
.menu-subcat-icon { display:flex;align-items:center;justify-content:center;flex-shrink:0;color:rgba(245,241,232,.85); }
.menu-poke-info { margin-top:28px;padding:18px 22px;background:rgba(255,255,255,.04);border:1px solid rgba(204,156,74,.18);border-radius:var(--r);display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px; }
.poke-xl { color:var(--gold);font-size:14px;font-weight:600;letter-spacing:.04em; }
.poke-vinaigrettes-label { font-size:13px;color:var(--tm);font-weight:600;text-transform:uppercase;letter-spacing:.08em; }
.poke-vinaigrettes { list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0; }
.poke-vinaigrettes li { font-size:13px;color:var(--tm);background:rgba(255,255,255,.06);border:1px solid rgba(245,241,232,.1);border-radius:20px;padding:4px 12px; }

/* ── RÉSERVATION ── */
.s-resa { padding:var(--pad) 0;background:var(--cream);position:relative;overflow:hidden; }
.resa-wrap { display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:center; }
.resa-head { font-family:var(--ft);font-size:clamp(28px,4vw,48px);font-weight:700;color:var(--gd);line-height:1.12;margin-bottom:16px; }
.resa-desc { font-size:15px;font-weight:300;color:rgba(31,55,48,.7);line-height:1.82;margin-bottom:28px; }
.contact-info { display:flex;flex-direction:column;gap:13px; }
.c-item { display:flex;align-items:center;gap:14px; }
.c-icon { width:40px;height:40px;border-radius:50%;background:rgba(204,156,74,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--gold); }
.c-item strong { font-family:var(--fs);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:2px; }
.c-item span { font-size:14px;color:var(--gd); }
.resa-form-wrap { background:var(--gd);border-radius:var(--r);padding:clamp(28px,4vw,52px);box-shadow:0 36px 90px rgba(31,55,48,.2);position:relative;overflow:hidden; }
.resa-form-wrap::before { content:'';position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(204,156,74,.1) 0%,transparent 70%);border-radius:50%;pointer-events:none; }
.form-t { font-family:var(--ft);font-size:21px;font-weight:700;color:var(--tl);margin-bottom:26px; }
.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:13px; }
.fg { display:flex;flex-direction:column;gap:7px; }
.fg.full { grid-column:1/-1; }
.flbl { font-family:var(--fs);font-size:9px;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--gold); }
.finput,.fsel { background:rgba(255,255,255,.055);border:1px solid rgba(245,241,232,.11);border-radius:8px;padding:12px 14px;font-family:var(--fb);font-size:14px;color:var(--tl);outline:none;width:100%;appearance:none;transition:border-color var(--t),box-shadow var(--t),background var(--t); }
.finput::placeholder { color:rgba(245,241,232,.28); }
.finput:focus,.fsel:focus { border-color:rgba(204,156,74,.48);box-shadow:0 0 0 3px rgba(204,156,74,.07),0 0 18px rgba(204,156,74,.14);background:rgba(255,255,255,.08); }
.fsel { cursor:pointer; }
.fsel option { background:var(--gd);color:var(--tl); }
.btn-sub { width:100%;font-family:var(--fs);font-size:11px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gd);background:linear-gradient(135deg,var(--gold) 0%,var(--gb) 100%);padding:16px;border:none;border-radius:8px;cursor:pointer;margin-top:6px;position:relative;overflow:hidden;transition:transform var(--t),box-shadow var(--t); }
.btn-sub::before { content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);transition:left .5s var(--ease); }
.btn-sub:hover::before { left:100%; }
.btn-sub:hover { transform:translateY(-2px);box-shadow:0 12px 36px rgba(204,156,74,.42); }

/* DISABLED sections */
.section-disabled-msg { display:none; text-align:center; padding:40px 20px; }
.section-disabled-msg p { font-family:var(--fs); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:rgba(245,241,232,.25); }

/* ── CLICK & COLLECT ── */
.s-collect { padding:var(--pad) 0;background:var(--gd);position:relative;overflow:hidden; }
.s-collect::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 55% at 50% 105%,rgba(106,128,18,.2) 0%,transparent 55%);pointer-events:none; }
.collect-hd { text-align:center;margin-bottom:70px; }
.collect-hd .lbl { justify-content:center; }
.collect-hd .lbl::before { display:none; }
.collect-t { font-family:var(--ft);font-size:clamp(30px,5vw,58px);font-weight:700;color:var(--tl);line-height:1.1;margin-bottom:14px; }
.collect-st { font-size:15px;font-weight:300;color:var(--tm);max-width:450px;margin:0 auto;line-height:1.72; }
.steps { display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:56px; }
.step { background:rgba(255,255,255,.04);backdrop-filter:blur(14px);border:1px solid rgba(206,213,75,.11);border-radius:var(--r);padding:clamp(24px,3vw,40px);position:relative;overflow:hidden;transition:transform .4s var(--spring),box-shadow var(--t),border-color var(--t); }
.step::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(204,156,74,.07) 0%,transparent 60%);opacity:0;transition:opacity var(--t);pointer-events:none; }
.step:hover { transform:translateY(-8px) scale(1.02);box-shadow:0 32px 72px rgba(0,0,0,.32),0 0 0 1px rgba(204,156,74,.28);border-color:rgba(204,156,74,.28); }
.step:hover::before { opacity:1; }
.step-n { font-family:var(--ft);font-size:74px;font-weight:700;color:rgba(206,213,75,.07);line-height:1;position:absolute;top:-10px;right:16px;pointer-events:none; }
.step-ic { display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:rgba(245,241,232,.9); }
.step-lbl { font-family:var(--fs);font-size:9px;letter-spacing:.36em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;display:block; }
.step-t { font-family:var(--ft);font-size:21px;font-weight:700;color:var(--tl);margin-bottom:10px;line-height:1.2; }
.step-d { font-size:13px;font-weight:300;color:var(--tm);line-height:1.72; }
.collect-cta { text-align:center; }
.obypay-badge { display:inline-flex;align-items:center;gap:12px;background:rgba(255,255,255,.04);border:1px solid rgba(206,213,75,.13);border-radius:100px;padding:6px 6px 6px 20px;margin-bottom:26px; }
.obypay-badge>span { font-family:var(--fs);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--tm); }
.obypay-dot { width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gb));display:flex;align-items:center;justify-content:center;color:#fff; }

/* ── FOOTER ── */
.site-footer { background:#0c1812;padding:76px 0 38px;position:relative;overflow:hidden; }
.site-footer::before { content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-l),transparent); }
.ft-grid { display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:clamp(24px,4vw,56px);margin-bottom:52px; }
.ft-brand-d { font-size:13px;font-weight:300;color:rgba(245,241,232,.4);line-height:1.82;margin:14px 0 22px;max-width:250px; }
.ft-socials { display:flex;gap:10px; }
.soc { width:38px;height:38px;border-radius:50%;border:1px solid rgba(245,241,232,.1);display:flex;align-items:center;justify-content:center;transition:border-color var(--t),background var(--t),transform var(--t);cursor:pointer;color:var(--tm);text-decoration:none; }
.soc:hover { border-color:var(--gold);background:rgba(204,156,74,.1);transform:translateY(-3px);color:var(--gold); }
.soc svg { stroke:currentColor; }
.ft-col-t { font-family:var(--fs);font-size:9px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:18px; }
.ft-links { list-style:none;display:flex;flex-direction:column;gap:9px; }
.ft-links a { font-size:13px;font-weight:300;color:rgba(245,241,232,.45);transition:color var(--t); }
.ft-links a:hover { color:var(--tl); }
.ft-hours { display:flex;flex-direction:column;gap:9px; }
.h-item { display:flex;justify-content:space-between;font-size:13px;font-weight:300;color:rgba(245,241,232,.45);gap:10px; }
.h-item span:first-child { color:rgba(245,241,232,.65); }
.ft-infos { list-style:none;display:flex;flex-direction:column;gap:9px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(245,241,232,.08); }
.ft-infos li { display:flex;align-items:center;gap:9px;font-size:12px;font-weight:300;color:rgba(245,241,232,.55); }
.ft-infos li svg { flex-shrink:0;stroke:rgba(245,241,232,.7); }
.ft-bot { display:flex;justify-content:space-between;align-items:center;padding-top:26px;border-top:1px solid rgba(245,241,232,.07);gap:14px;flex-wrap:wrap; }
.ft-copy { font-size:12px;font-weight:300;color:rgba(245,241,232,.28); }
.ft-legal { display:flex;gap:22px; }
.ft-legal a { font-size:12px;font-weight:300;color:rgba(245,241,232,.28);transition:color var(--t); }
.ft-legal a:hover { color:rgba(245,241,232,.55); }
.ft-admin-link { font-size:11px;font-weight:300;color:rgba(245,241,232,.15);transition:color var(--t); }
.ft-admin-link:hover { color:rgba(204,156,74,.5); }

/* ── RESPONSIVE ── */
@media(max-width:1024px){ .ft-grid{grid-template-columns:1fr 1fr} .bar-grid{grid-template-columns:1fr 1fr} .menus-grid{grid-template-columns:1fr 1fr} }
@media(max-width:900px){ .afterwork-grid,.cowork-grid,.resa-wrap{grid-template-columns:1fr} .aw-img-wrap img{aspect-ratio:16/9} .cw-img-wrap img{aspect-ratio:16/9} .steps{grid-template-columns:1fr} .univers-grid{grid-template-columns:1fr} .u-img-wrap{aspect-ratio:16/9;order:-1} }
@media(max-width:768px){ .nav,.nav--r{display:none} .btn-hdr{display:none} .hamburger{display:flex;margin-left:auto} .hdr-inner{display:flex;align-items:center;justify-content:space-between} .menu-grid{grid-template-columns:1fr 1fr;gap:10px} .bar-grid{grid-template-columns:1fr} .form-grid{grid-template-columns:1fr} .fg.full{grid-column:1} .ft-grid{grid-template-columns:1fr} .ft-bot{flex-direction:column;text-align:center} .aw-hours{grid-template-columns:1fr 1fr} .cw-features{grid-template-columns:1fr} .menus-grid{grid-template-columns:1fr} .m-card{flex-direction:column} .m-card-img{order:-1;width:100%;aspect-ratio:4/3;object-fit:cover} .m-card-body{padding:9px 10px 12px} .m-tag{font-size:9px;letter-spacing:.12em;margin-bottom:3px} .m-name{font-size:13px;line-height:1.25;margin-bottom:4px} .m-desc{font-size:11px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden} .m-ft{margin-top:6px;flex-wrap:wrap;gap:4px} .m-price{font-size:13px} .m-badge{font-size:8px;padding:2px 5px} }
.m-badge--heart { display:inline-flex;align-items:center;gap:4px; }
.m-badge--heart svg { stroke:var(--gd);flex-shrink:0; }
@media(max-width:480px){ .hero-ctas{flex-direction:column;align-items:center} .btn-p,.btn-o{width:100%;text-align:center} .aw-hours{grid-template-columns:1fr} }


