/* HOT-113 : page d'entrée Black Friday (catégorie link_rewrite=black-friday) */
body.category-black-friday #wrapper > .container { display:none; }
body.category-black-friday #wrapper { overflow-x:clip; }

.bf-landing { color:#212121; font-size:15px; line-height:1.5; }
.bf-landing .bf-wrap { max-width:1140px; margin:0 auto; padding:0 15px; }

.bf-landing .bf-hero {
  position:relative; overflow:hidden; color:#fff; min-height:420px;
  width:100vw; margin-left:calc(50% - 50vw);
  background:linear-gradient(90deg,#0E1C2F 0%,rgba(14,28,47,.92) 40%,rgba(14,28,47,.45) 100%),var(--bf-hero) right 55%/cover,#0E1C2F;
}
.bf-landing .bf-hero-inner { position:relative; z-index:1; max-width:1140px; margin:0 auto; padding:56px 15px 120px; }
.bf-landing .bf-hero-copy { max-width:44rem; }
.bf-landing .bf-hero h1 { margin:0; font-weight:900; text-transform:uppercase; font-size:clamp(40px,6vw,76px); line-height:.95; letter-spacing:-.02em; color:#fff; }
.bf-landing .bf-hero h1 span { color:#FFC700; }
.bf-landing .bf-hero .lead { margin:18px 0 0; font-size:17px; line-height:1.6; color:#DCE5EF; }
.bf-landing .status { display:inline-flex; align-items:center; gap:8px; margin-top:22px; background:#fff; color:#1F6B2A; font-size:13px; font-weight:700; border-radius:999px; padding:8px 16px; }
.bf-landing .status::before { content:""; width:8px; height:8px; border-radius:50%; background:#1F6B2A; }

.bf-landing .bf-quick { position:relative; z-index:2; margin-top:-64px; }
.bf-landing .bf-quick-card { background:#fff; border:1px solid #E6E6E6; border-radius:14px; padding:26px 28px; display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:28px; align-items:center; box-shadow:0 12px 32px rgba(0,0,0,.08); }
.bf-landing .q-label { margin:0 0 6px; font-size:11.5px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:#236C92; }
.bf-landing .q-value { margin:0; font-size:22px; font-weight:900; line-height:1.3; color:#0E1C2F; }
.bf-landing .actions { display:flex; flex-wrap:wrap; gap:10px; }

.bf-landing .bf-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:700; font-size:13.5px; text-transform:uppercase; letter-spacing:.03em; border-radius:8px; padding:12px 18px; text-decoration:none; border:1.5px solid #7A6352; white-space:nowrap; }
.bf-landing .bf-btn-primary { background:#7A6352; color:#fff; }
.bf-landing .bf-btn-primary:hover { background:#5E4B3D; border-color:#5E4B3D; color:#fff; }
.bf-landing .bf-btn-ghost { background:#fff; color:#7A6352; }
.bf-landing .bf-btn-ghost:hover { background:#F3EEE9; color:#7A6352; }

.bf-landing .bf-sec { padding-top:72px; }
.bf-landing .kicker { margin:0 0 10px; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:#236C92; }
.bf-landing .bf-sec h2 { margin:0 0 28px; font-weight:900; text-transform:uppercase; font-size:clamp(26px,3vw,36px); line-height:1.05; letter-spacing:-.01em; color:#212121; }
.bf-landing .sec-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.bf-landing .sec-head h2 { margin:0; }
.bf-landing .bf-link { display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:700; color:#236C92; text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1.5px; }
.bf-landing .bf-link:hover { color:#0E1C2F; }
.bf-landing svg.i { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

.bf-landing .story-text p { margin:0 0 16px; color:#3d3d3d; font-size:16px; line-height:1.75; max-width:62ch; }
.bf-landing .story-text p:first-child { font-size:19px; line-height:1.6; color:#212121; font-weight:500; }
.bf-landing .story-more { display:none; }
.bf-landing .story-text.is-open .story-more { display:block; }
.bf-landing .story-toggle { margin-top:8px; font:inherit; font-weight:700; color:#236C92; background:none; border:0; padding:0; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.bf-landing .facts { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; list-style:none; margin:28px 0 0; padding:0; max-width:760px; }
.bf-landing .facts li { background:#F3EEE9; border-radius:12px; padding:16px 18px; }
.bf-landing .facts b { display:block; font-size:24px; font-weight:900; color:#5E4B3D; line-height:1.1; }
.bf-landing .facts span { display:block; margin-top:4px; font-size:13px; color:#4a3d33; font-weight:600; }

.bf-landing .ranges { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; list-style:none; margin:0; padding:0; }
.bf-landing .ranges a { display:flex; flex-direction:column; height:100%; background:#0E1C2F; color:#fff; border-radius:14px; padding:0 20px 22px; text-decoration:none; position:relative; overflow:hidden; }
.bf-landing .ranges a::before { content:""; display:block; height:150px; margin:0 -20px 16px; background:var(--img) var(--pos,center)/cover; transition:transform .3s; }
.bf-landing .ranges a:hover::before,
.bf-landing .ranges a:focus-visible::before { transform:scale(1.04); }
@media (prefers-reduced-motion:reduce) { .bf-landing .ranges a::before { transition:none; } }
.bf-landing .ranges a.urban { background:#5E4B3D; }
.bf-landing .ranges .tag { position:relative; margin-bottom:8px; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#C9D6E6; }
.bf-landing .ranges strong { position:relative; display:block; font-size:19px; font-weight:900; text-transform:uppercase; line-height:1.1; color:#fff; }
.bf-landing .ranges small { position:relative; display:block; margin-top:6px; font-size:13px; color:#DCE5EF; font-weight:500; }
.bf-landing .ranges .go { position:relative; display:block; margin-top:10px; font-size:12.5px; font-weight:700; color:#FFC700; }
.bf-landing .ranges .go::after { content:" →"; }
.bf-landing .ranges a:hover strong,
.bf-landing .ranges a:focus-visible strong { color:#FFC700; }

.bf-landing .tiers { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; list-style:none; margin:0; padding:0; }
.bf-landing .tiers a { display:flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid #E6E6E6; border-radius:14px; padding:22px 24px; text-decoration:none; background:#fff; }
.bf-landing .tiers b { font-size:40px; font-weight:900; line-height:1; color:#0E1C2F; letter-spacing:-.02em; }
.bf-landing .tiers span { font-size:13px; font-weight:700; color:#236C92; text-align:right; }
.bf-landing .tiers a:hover,
.bf-landing .tiers a:focus-visible { border-color:#0E1C2F; box-shadow:0 8px 24px rgba(0,0,0,.06); }

.bf-landing .practical { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; }
.bf-landing .hours { background:#F6F6F6; border-radius:14px; padding:28px; }
.bf-landing .hours .note { margin:16px 0 0; font-size:13.5px; line-height:1.5; color:#6B4200; background:#FFF4CC; border-radius:8px; padding:10px 14px; }
.bf-landing .cal { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.bf-landing .cal li { background:#fff; border-radius:10px; padding:14px 16px; }
.bf-landing .cal strong { display:block; font-size:14.5px; font-weight:800; color:#0E1C2F; margin-bottom:4px; }
.bf-landing .cal p { margin:0; font-size:13.5px; line-height:1.55; color:#3d3d3d; }
.bf-landing .box-title { margin:0 0 16px; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:#236C92; }
.bf-landing .good { border:1px solid #E6E6E6; border-radius:14px; padding:28px; }
.bf-landing .good ul { list-style:none; margin:0; padding:0; display:grid; gap:18px; }
.bf-landing .good li { display:grid; grid-template-columns:40px 1fr; gap:14px; align-items:start; }
.bf-landing .good .ico { width:40px; height:40px; border-radius:10px; background:#0E1C2F; color:#FFC700; display:grid; place-items:center; }
.bf-landing .good strong { display:block; font-size:15px; color:#212121; }
.bf-landing .good p { margin:2px 0 0; font-size:14px; color:#3d3d3d; }
.bf-landing .good a { color:#236C92; font-weight:700; text-underline-offset:3px; }

.bf-landing .faq { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.bf-landing .faq-item { background:#F6F6F6; border-radius:14px; padding:24px 26px; }
.bf-landing .faq-item h3 { margin:0 0 8px; font-size:16px; font-weight:800; line-height:1.35; color:#212121; }
.bf-landing .faq-item p { margin:0; color:#3d3d3d; font-size:14.5px; }

.bf-landing .others { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; list-style:none; margin:0; padding:0; }
.bf-landing .others a { display:block; text-decoration:none; border-radius:14px; border:1px solid #E6E6E6; background:#fff; padding:16px 18px 18px; height:100%; }
.bf-landing .others strong { display:block; font-size:15px; font-weight:800; color:#212121; }
.bf-landing .others span { display:block; font-size:13px; color:#555; font-weight:500; }
.bf-landing .others a:hover strong { color:#7A6352; }

.bf-landing .bf-bleed { width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.bf-landing .bf-online { margin-top:72px; background:#F3EEE9; }
.bf-landing .bf-online-inner { max-width:1140px; margin:0 auto; padding:44px 15px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.bf-landing .bf-online h2 { margin:0; font-weight:900; text-transform:uppercase; font-size:clamp(22px,2.4vw,28px); letter-spacing:.01em; color:#5E4B3D; }
.bf-landing .bf-online p { margin:6px 0 0; color:#4a3d33; }

@media (max-width:1000px) {
  .bf-landing .bf-quick-card { grid-template-columns:1fr 1fr 1fr; }
  .bf-landing .bf-quick-card .actions { grid-column:1/-1; }
  .bf-landing .others { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:860px) {
  .bf-landing .practical,
  .bf-landing .faq { grid-template-columns:1fr; }
  .bf-landing .ranges,
  .bf-landing .tiers { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
  .bf-landing .bf-hero {
    min-height:380px;
    background:linear-gradient(rgba(14,28,47,.88),rgba(14,28,47,.88)),var(--bf-hero) 70% 55%/cover,#0E1C2F;
  }
  .bf-landing .bf-hero-inner { padding:40px 15px 100px; }
  .bf-landing .bf-quick-card { grid-template-columns:1fr; gap:18px; padding:22px 20px; }
  .bf-landing .bf-quick-card .actions .bf-btn { flex:1 1 140px; }
  .bf-landing .bf-sec { padding-top:56px; }
  .bf-landing .sec-head { flex-direction:column; align-items:flex-start; }
  .bf-landing .facts { grid-template-columns:1fr 1fr; }
  .bf-landing .ranges { grid-template-columns:1fr; }
  .bf-landing .ranges a::before { height:170px; }
  .bf-landing .tiers,
  .bf-landing .others { grid-template-columns:1fr; }
  .bf-landing .bf-online-inner { flex-direction:column; align-items:flex-start; }
}
