.ffh{
    --ink:#0E0B09;--ink-2:#15100C;--ink-3:#1F1812;
    --line:rgba(244,237,227,.12);--line-strong:rgba(244,237,227,.22);
    --cream:#F4EDE3;--cream-dim:rgba(244,237,227,.58);--cream-faint:rgba(244,237,227,.34);
    --accent:#FF4D1C;--accent-ink:#0E0B09;--live:#C8FF3D;
    --fd:'Anton',system-ui,sans-serif;--fs:'Space Grotesk',system-ui,sans-serif;--fm:'Space Mono',ui-monospace,monospace;
    background:var(--ink);color:var(--cream);font-family:var(--fs);
    -webkit-font-smoothing:antialiased;position:relative;overflow:hidden;
  }
  .ffh *{box-sizing:border-box;}
  .ffh ::selection{background:var(--accent);color:var(--accent-ink);}
  .ffh a{color:inherit;text-decoration:none;}
  .ffh button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0;}
  .ffh img{display:block;max-width:100%;}
  .ffh h1,.ffh h2,.ffh h3{margin:0;font-weight:400;}
  .ffh p{margin:0;}
  .ffh-wrap{max-width:1280px;margin:0 auto;padding:0 32px;}
  @media(max-width:640px){.ffh-wrap{padding:0 20px;}}

  .ffh-display{font-family:var(--fd);line-height:.9;letter-spacing:-.01em;text-transform:uppercase;}
  .ffh-mono{font-family:var(--fm);}
  .ffh-eyebrow{font-family:var(--fm);font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--cream-dim);}
  .ffh-accent{color:var(--accent);}
  .ffh-stroke{-webkit-text-stroke:1px var(--cream);color:transparent;}
  .ffh-h2{font-size:clamp(40px,6vw,82px);}

  /* film grain */
  .ffh::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

  /* reveal */
  .ffh-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.16,.84,.44,1),transform .8s cubic-bezier(.16,.84,.44,1);}
  .ffh-reveal.in{opacity:1;transform:none;}
  @media(prefers-reduced-motion:reduce){.ffh-reveal{opacity:1;transform:none;transition:none;}}

  /* equalizer */
  .ffh-eq{display:inline-flex;align-items:flex-end;gap:3px;height:16px;}
  .ffh-eq i{width:3px;height:100%;background:var(--accent);transform-origin:bottom;display:block;border-radius:1px;animation:ffh-eqp 1s ease-in-out infinite;}
  .ffh-eq i:nth-child(2){animation-delay:.2s;}.ffh-eq i:nth-child(3){animation-delay:.4s;}.ffh-eq i:nth-child(4){animation-delay:.1s;}
  .ffh-eq.ffh-paused i{animation-play-state:paused;height:30%;}
  @keyframes ffh-eqp{0%,100%{transform:scaleY(.28);}50%{transform:scaleY(1);}}

  /* marquee */
  .ffh-marquee{overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;background:var(--ink-2);}
  .ffh-marquee-track{display:inline-flex;will-change:transform;animation:ffh-marq 38s linear infinite;}
  .ffh-marquee:hover .ffh-marquee-track{animation-play-state:paused;}
  .ffh-marquee-track .u{display:inline-flex;align-items:center;}
  .ffh-marquee-track .u b{font-family:var(--fd);font-weight:400;font-size:44px;padding:0 28px;text-transform:uppercase;}
  .ffh-marquee-track .u s{width:12px;height:12px;border-radius:999px;background:var(--accent);margin:0 4px;}
  @keyframes ffh-marq{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* photo placeholder */
  .ffh-photo{width:100%;object-fit:cover;background:var(--ink-3);}
  .ffh-ph{width:100%;display:grid;place-items:center;background:repeating-linear-gradient(135deg,#1d1611,#1d1611 12px,#221a13 12px,#221a13 24px);
    color:var(--cream-faint);font-family:var(--fm);font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:16px;}

  /* top bar */
  .ffh-bar{display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 32px;max-width:1280px;margin:0 auto;position:relative;z-index:5;}
  @media(max-width:640px){.ffh-bar{padding:0 20px;}}
  .ffh-logo{display:flex;align-items:center;gap:16px;}
  .ffh-logo-sub{font-size:9px;letter-spacing:.22em;color:var(--cream-faint);line-height:1.25;border-left:1px solid var(--line);padding-left:14px;white-space:nowrap;}
  .ffh-navlinks{display:flex;gap:30px;}
  .ffh-navlinks a{font-family:var(--fm);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-dim);transition:color .2s;}
  .ffh-navlinks a:hover{color:var(--cream);}
  .ffh-bar-right{display:flex;align-items:center;gap:14px;}
  .ffh-onair{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-dim);border:1px solid var(--line);padding:8px 14px;border-radius:999px;}
  .ffh-onair i{width:7px;height:7px;border-radius:999px;background:var(--cream-faint);display:block;}
  .ffh-onair.live{color:var(--live);border-color:var(--live);}
  .ffh-onair.live i{background:var(--live);box-shadow:0 0 0 4px rgba(200,255,61,.18);}
  .ffh-burger{display:none;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:5px;}
  .ffh-burger span{display:block;width:24px;height:2px;background:var(--cream);transition:transform .3s,opacity .3s;}
  @media(max-width:880px){.ffh-burger{display:flex;}.ffh-navlinks{display:none;}}

  /* mobile menu (mobile only) */
  .ffh-mobnav{position:fixed;inset:0;z-index:99999;background:#0E0B09;background:var(--ink,#0E0B09);
    display:flex;flex-direction:column;padding:0 24px 28px;transform:translateY(-100%);visibility:hidden;
    transition:transform .42s cubic-bezier(.7,0,.2,1);font-family:var(--fs);}
  .ffh-mobnav.open{transform:none;visibility:visible;}
  .ffh-mobnav-top{display:flex;align-items:center;justify-content:space-between;height:72px;}
  .ffh-mobnav-close{width:46px;height:46px;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--cream);}
  .ffh-mobnav>a{font-family:var(--fd);font-size:clamp(38px,12vw,64px);text-transform:uppercase;line-height:1;padding:14px 0;border-bottom:1px solid var(--line);color:var(--cream);}
  .ffh-mobnav-social{margin-top:auto;padding-top:24px;display:flex;gap:22px;}
  .ffh-mobnav-social a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--cream-dim);}
  @media(min-width:881px){.ffh-mobnav{display:none;}}

  /* hero */
  .ffh-hero{position:relative;overflow:hidden;}
  .ffh-glow{position:absolute;top:-10%;right:-8%;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,var(--accent) 0%,transparent 62%);opacity:.26;filter:blur(20px);pointer-events:none;}
  .ffh-hero .ffh-wrap{position:relative;padding-top:36px;padding-bottom:40px;}
  .ffh-eyebrow-row{display:flex;align-items:center;gap:14px;margin-bottom:26px;}
  .ffh-rule{flex:1;height:1px;background:var(--line);}
  .ffh-hero-name{font-size:clamp(72px,15vw,220px);margin:0;}
  .ffh-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;margin-top:30px;align-items:end;}
  .ffh-hero-lead{font-size:clamp(18px,2vw,23px);line-height:1.45;max-width:520px;margin:0 0 28px;}
  .ffh-hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
  .ffh-stats{display:flex;gap:36px;margin-top:40px;flex-wrap:wrap;}
  .ffh-stat-l{font-family:var(--fm);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-faint);margin-top:4px;}
  .ffh-hero-photo-wrap{position:relative;}
  .ffh-frame{position:absolute;inset:-1px;border:1px solid var(--line);transform:translate(14px,14px);pointer-events:none;}
  .ffh-frame-left{transform:translate(-14px,14px);}
  .ffh-photo-cap{position:absolute;left:0;bottom:0;transform:translateY(40%);background:var(--ink);border:1px solid var(--line);padding:12px 16px;display:flex;align-items:center;gap:12px;}
  .ffh-photo-cap .ffh-mono{font-size:11px;letter-spacing:.1em;color:var(--cream-dim);}
  @media(max-width:820px){.ffh-hero-grid{grid-template-columns:1fr;}.ffh-hero-photo-wrap{max-width:420px;}}
  @media(max-width:560px){.ffh-stats{gap:22px;}}

  /* buttons */
  .ffh-btn{display:inline-flex;align-items:center;gap:12px;background:var(--accent);color:var(--accent-ink);font-family:var(--fm);font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:16px 24px;border-radius:999px;font-weight:700;transition:transform .18s,box-shadow .2s;}
  .ffh-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(255,77,28,.28);}
  .ffh-link-mono{font-family:var(--fm);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--cream-dim);border-bottom:1px solid var(--line-strong);padding-bottom:4px;}
  .ffh-btn-round{width:56px;height:56px;border-radius:999px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;flex-shrink:0;transition:transform .18s,box-shadow .2s;}
  .ffh-btn-round:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(255,77,28,.28);}

  /* section */
  .ffh-sec{padding:100px 0;}
  .ffh-sec-alt{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .ffh-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px;flex-wrap:wrap;}
  .ffh-head-sub{font-size:12px;color:var(--cream-dim);max-width:300px;line-height:1.6;text-align:right;}

  /* featured */
  .ffh-feat{display:grid;grid-template-columns:300px 1fr;background:var(--ink-2);border:1px solid var(--line);}
  .ffh-feat-cover{position:relative;}
  .ffh-feat-cover .ffh-photo,.ffh-feat-cover .ffh-ph{width:100%;height:100%;min-height:300px;}
  .ffh-badge{position:absolute;top:14px;left:14px;background:var(--accent);color:var(--accent-ink);font-size:10px;font-weight:700;letter-spacing:.18em;padding:6px 10px;}
  .ffh-feat-body{padding:32px;display:flex;flex-direction:column;}
  .ffh-feat-kicker{font-size:12px;color:var(--cream-faint);letter-spacing:.1em;}
  .ffh-feat-title{font-size:clamp(32px,4vw,52px);margin-top:10px;}
  .ffh-feat-blurb{color:var(--cream-dim);line-height:1.5;max-width:520px;margin-top:14px;font-size:15px;}
  .ffh-tags{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0 22px;}
  .ffh-tag{font-size:11px;letter-spacing:.08em;color:var(--cream);border:1px solid var(--line);padding:6px 12px;border-radius:999px;}
  .ffh-feat-player{margin-top:auto;display:flex;align-items:center;gap:18px;}
  .ffh-feat-time{font-size:12px;color:var(--cream-dim);white-space:nowrap;}
  @media(max-width:760px){.ffh-feat{grid-template-columns:1fr;}.ffh-feat-cover .ffh-photo,.ffh-feat-cover .ffh-ph{min-height:240px;}}

  /* wave */
  .ffh-wave{display:flex;align-items:center;gap:2px;height:44px;flex:1;cursor:pointer;}
  .ffh-wave b{flex:1;border-radius:1px;background:var(--line-strong);opacity:.4;transition:background .15s,opacity .15s;display:block;}
  .ffh-wave b.on{background:var(--accent);opacity:1;}

  /* mix list */
  .ffh-list{margin-top:26px;border-bottom:1px solid var(--line);}
  .ffh-row{display:grid;grid-template-columns:64px 1fr auto;gap:22px;align-items:center;padding:22px 4px;border-top:1px solid var(--line);cursor:pointer;transition:background .25s,padding .25s;}
  .ffh-row:hover{background:var(--ink-2);padding-left:14px;padding-right:14px;}
  .ffh-row-cover{position:relative;width:64px;height:64px;}
  .ffh-row-cover .ffh-photo,.ffh-row-cover .ffh-ph{width:64px;height:64px;}
  .ffh-row-cover .ov{position:absolute;inset:0;display:grid;place-items:center;background:rgba(14,11,9,.55);transition:background .25s;}
  .ffh-row:hover .ov{background:rgba(14,11,9,.25);}
  .ffh-row-num{font-family:var(--fm);font-size:12px;color:var(--accent);}
  .ffh-row-title{font-family:var(--fs);font-weight:600;font-size:22px;letter-spacing:-.01em;}
  .ffh-row.cur .ffh-row-title,.ffh-row.cur .ffh-row-num{color:var(--accent);}
  .ffh-row-meta{font-family:var(--fm);font-size:11px;letter-spacing:.06em;color:var(--cream-faint);margin-top:6px;display:flex;gap:16px;flex-wrap:wrap;}
  .ffh-row-dur{font-family:var(--fm);font-size:13px;color:var(--cream-dim);white-space:nowrap;}

  /* radio */
  .ffh-radio-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
  .ffh-onair-line{display:flex;align-items:center;gap:14px;margin:22px 0;}
  .ffh-onair-line .ffh-dot{width:10px;height:10px;border-radius:999px;background:var(--cream-faint);}
  .ffh-onair-line.live .ffh-dot{background:var(--live);box-shadow:0 0 0 5px rgba(200,255,61,.2);}
  .ffh-onair-line span:last-child{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-dim);}
  .ffh-onair-line.live span:last-child{color:var(--live);}
  .ffh-radio-text{color:var(--cream-dim);line-height:1.55;max-width:440px;font-size:15px;margin-bottom:26px;}
  .ffh-sched-label{font-size:11px;letter-spacing:.2em;color:var(--cream-faint);text-transform:uppercase;margin-bottom:18px;}
  .ffh-sched-row{display:grid;grid-template-columns:52px 1fr auto;gap:18px;align-items:center;padding:18px 0;border-top:1px solid var(--line);}
  .ffh-sched-row:last-child{border-bottom:1px solid var(--line);}
  .ffh-sched-day{font-family:var(--fd);font-size:20px;}
  .ffh-sched-show{font-weight:600;font-size:16px;display:flex;align-items:center;gap:10px;}
  .ffh-sched-pill{font-family:var(--fm);font-size:9px;letter-spacing:.14em;border:1px solid var(--line);padding:2px 7px;border-radius:999px;color:var(--cream-faint);}
  .ffh-sched-host{font-family:var(--fm);font-size:11px;color:var(--cream-faint);margin-top:4px;}
  .ffh-sched-time{font-family:var(--fm);font-size:12px;color:var(--cream-dim);}
  .ffh.onair .ffh-sched-row.live .ffh-sched-day{color:var(--live);}
  .ffh.onair .ffh-sched-row.live .ffh-sched-pill{color:var(--live);border-color:var(--live);}
  @media(max-width:820px){.ffh-radio-grid{grid-template-columns:1fr;}}

  /* dates */
  .ffh-dates{border-bottom:1px solid var(--line);}
  .ffh-date{display:grid;grid-template-columns:160px 1fr 1fr auto;gap:24px;align-items:center;padding:26px 6px;border-top:1px solid var(--line);transition:padding .25s,background .25s;}
  .ffh-date:hover{background:var(--ink-2);padding-left:14px;}
  .ffh-date-d{font-family:var(--fd);font-size:28px;}
  .ffh-date-v{font-weight:600;font-size:19px;}
  .ffh-date-c{font-family:var(--fm);font-size:13px;color:var(--cream-dim);letter-spacing:.06em;}
  .ffh-date-s{font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;border-radius:999px;white-space:nowrap;background:var(--accent);color:var(--accent-ink);}
  .ffh-date-s.sold{background:transparent;color:var(--cream-faint);border:1px solid var(--line);}
  @media(max-width:720px){.ffh-date{grid-template-columns:90px 1fr auto;}.ffh-date-c{display:none;}}

  /* bio */
  .ffh-bio-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:center;}
  .ffh-bio-photo-wrap{position:relative;}
  .ffh-bio-lead{font-size:17px;line-height:1.6;color:var(--cream);margin:0 0 18px;}
  .ffh-bio-text{font-size:15px;line-height:1.6;color:var(--cream-dim);}
  .ffh-bio-text em{font-style:normal;color:var(--cream);}
  @media(max-width:820px){.ffh-bio-grid{grid-template-columns:1fr;}.ffh-bio-photo-wrap{max-width:420px;}}

  /* contact */
  .ffh-contact-head{text-align:center;max-width:720px;margin:0 auto 50px;}
  .ffh-contact-sub{color:var(--cream-dim);font-size:16px;line-height:1.5;margin-top:18px;}
  .ffh-form{max-width:620px;margin:0 auto;display:flex;flex-direction:column;gap:14px;}
  .ffh-form-row{display:flex;gap:14px;}
  .ffh-form input{flex:1;background:var(--ink-2);border:1px solid var(--line);color:var(--cream);padding:16px 18px;border-radius:4px;font-family:var(--fs);font-size:15px;outline:none;}
  .ffh-form input:focus{border-color:var(--accent);}
  .ffh-submit{background:var(--accent);color:var(--accent-ink);font-family:var(--fm);font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:17px;border-radius:4px;font-weight:700;}
  .ffh-thanks{max-width:560px;margin:0 auto;text-align:center;border:1px solid var(--line);padding:40px 24px;background:var(--ink-2);}
  .ffh-thanks p{margin-top:16px;font-size:18px;}
  @media(max-width:560px){.ffh-form-row{flex-direction:column;}}

  /* footer */
  .ffh-foot{border-top:1px solid var(--line);padding:50px 0 120px;}
  .ffh-foot-in{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;}
  .ffh-foot-tag{font-size:11px;letter-spacing:.22em;color:var(--cream-faint);margin-top:8px;}
  .ffh-foot-links{display:flex;gap:22px;align-items:center;}
  .ffh-foot-links a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--cream-dim);transition:color .2s;}
  .ffh-foot-links a:hover{color:var(--cream);}

  /* player bar */
  .ffh-pbar{position:fixed;left:0;right:0;bottom:0;z-index:9000;background:rgba(14,11,9,.92);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--line-strong);}
  .ffh-pbar-prog{height:2px;background:var(--line);}
  .ffh-pbar-prog>div{height:100%;width:0;background:var(--accent);transition:width .25s linear;}
  .ffh-pbar-in{display:flex;align-items:center;gap:20px;height:78px;}
  .ffh-pbar .ffh-btn-round{width:46px;height:46px;}
  .ffh-pbar-meta{min-width:150px;flex-shrink:0;}
  .ffh-pbar-title{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;}
  .ffh-pbar-title .ffh-mono{font-size:12px;margin-right:8px;}
  .ffh-pbar-genre{font-size:10px;color:var(--cream-faint);letter-spacing:.1em;margin-top:2px;}
  .ffh-pbar-wave{height:34px;}
  .ffh-pbar-time{font-size:12px;color:var(--cream-dim);white-space:nowrap;flex-shrink:0;}
  .ffh-pbar-x{color:var(--cream-faint);padding:6px;flex-shrink:0;transition:color .2s;}
  .ffh-pbar-x:hover{color:var(--cream);}
  @media(max-width:560px){.ffh-pbar-wave,.ffh-pbar-time{display:none;}}


/* ── Shims intégration UX Builder (sections/rows/cols Flatsome) ── */
.ffh .row{max-width:1296px;}
.ffh .row.row-full-width{max-width:none;}
.ffh .col{padding-bottom:0;position:static;}
.ffh-hero{padding-top:0;padding-bottom:40px;}
.ffh-hero .row{position:relative;z-index:2;}
.ffh .ffh-ux-head{margin-bottom:34px;}
.ffh .ffh-ux-headsub{text-align:right;}
@media(max-width:849px){.ffh .ffh-ux-headsub{text-align:left;}}
.ffh-anchor{position:relative;top:-80px;visibility:hidden;}


/* ── Correctifs intégration Flatsome (v3) ── */
/* Headings : Flatsome écrase la couleur -> on restaure l'héritage FFH */
.ffh h1,.ffh h2,.ffh h3,.ffh .ffh-display{color:inherit;}
/* Padding horizontal des rows (remplace .ffh-wrap) */
.ffh .row{max-width:1344px;padding-left:32px;padding-right:32px;}
.ffh .row.row-full-width{max-width:none;padding-left:0;padding-right:0;}
@media(max-width:640px){.ffh .row{padding-left:20px;padding-right:20px;}}
/* Photo hero : ratio portrait imposé même si l'image est remplacée */
.ffh-hero-photo-wrap img,.ffh-hero-photo-wrap .ffh-ph{aspect-ratio:4/5;width:100%;object-fit:cover;}
/* wpautop residuel : neutraliser les <p> wrappers vides ou autour des img */
.ffh p:empty{display:none;}
.ffh-hero-photo-wrap p,.ffh-bio-photo-wrap p,.ffh-feat-cover p{margin:0;}
/* Espacement demandé : 60px en haut et en bas de chaque section */
.ffh-sec{padding:60px 0;}
.ffh-hero{padding-bottom:60px;}

/* Hero v3 : titre dans la colonne gauche */
.ffh-hero .ffh-hero-name{font-size:clamp(48px,8.5vw,150px);margin-bottom:28px;}
.ffh-hero .ffh-eyebrow-row{margin-bottom:10px;}

/* Hero v4 : image en fond + fondu noir depuis la gauche */
.ffh-hero-bg{min-height:640px;display:flex;flex-direction:column;justify-content:center;}
.ffh-hero-bg .section-bg{background-position:right center;}
.ffh-hero-bg .section-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#0E0B09 0%,rgba(14,11,9,.96) 30%,rgba(14,11,9,.55) 60%,rgba(14,11,9,.18) 100%);}
.ffh-hero-bg .row{position:relative;z-index:2;}
@media(max-width:849px){
  .ffh-hero-bg .section-bg::after{background:linear-gradient(90deg,rgba(14,11,9,.96) 0%,rgba(14,11,9,.82) 100%);}
}
