/*
Theme Name: Original Mike
Theme URI: https://originalmike.ch
Author: Original Mike — Design & Communication
Description: Thème Gutenberg sur mesure pour le site officiel Original Mike. Version de fondation.
Version: 0.3.23
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: original-mike
*/
:root{color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{text-underline-offset:.2em}a:hover{color:var(--wp--preset--color--accent)}.wp-site-blocks{overflow:hidden}.om-kicker{font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--wp--preset--color--accent)}.om-hero{min-height:65vh;display:flex;align-items:center;border-bottom:1px solid #333;background:linear-gradient(125deg,#111 10%,#242424 100%)}.om-hero h1{font-size:clamp(4.5rem,12vw,12rem);line-height:.85;letter-spacing:-.075em;margin:.15em 0}.om-hero .wp-block-buttons{margin-top:2rem}.om-section{padding-top:clamp(4rem,9vw,9rem);padding-bottom:clamp(4rem,9vw,9rem)}.om-section h2{font-size:clamp(3.5rem,9vw,9rem);letter-spacing:-.07em;line-height:.95;margin:.2em 0 .5em}.om-rule{border-top:1px solid #555}.om-card{border-top:1px solid #555;padding-top:1.25rem}.om-card h3{font-size:clamp(1.7rem,3vw,3rem);line-height:1.05}.om-muted{color:#aaa}.om-footer{border-top:1px solid #333}.om-hero .wp-block-site-title{font-size:inherit}.wp-block-navigation a{text-decoration:none}.wp-block-button__link{transition:background .2s,color .2s}.wp-block-button__link:hover{background:#fff!important;color:#111!important}@media(max-width:781px){.om-hero{min-height:60vh}.om-section{padding-top:4rem;padding-bottom:4rem}.om-hero h1{font-size:clamp(3.7rem,17vw,7rem)}}

/* V0.2.0 — hero photographique, logo graffiti d’origine */
.om-hero{position:relative;isolation:isolate;min-height:min(850px,90vh);background:#151515 url('assets/hero-original-mike.webp') no-repeat 78% 42%;background-size:auto 118%;overflow:hidden}
.om-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,8,8,.96) 0%,rgba(8,8,8,.80) 37%,rgba(8,8,8,.16) 75%),linear-gradient(0deg,rgba(8,8,8,.65),transparent 35%)}
.om-hero>.wp-block-group{width:100%;position:relative}.om-hero h1{font-size:0!important;line-height:0!important;margin:0!important;max-width:600px}.om-hero h1::before{content:"";display:block;width:min(100%,560px);height:clamp(210px,31vw,350px);background:url('assets/logo-white.png') no-repeat left center;background-size:contain}.om-hero .om-kicker{margin-bottom:1rem}.om-hero .wp-block-buttons{margin-top:1.7rem}.om-hero p.has-large-font-size{font-weight:700;text-shadow:0 2px 12px #111}.om-hero .wp-block-button__link{background:#d53229;color:#fff}.om-section{scroll-margin-top:70px}
@media(max-width:781px){.om-hero{min-height:690px;background-position:55% center;background-size:auto 100%;align-items:flex-end;padding-bottom:3rem}.om-hero::before{background:linear-gradient(0deg,rgba(8,8,8,.96) 0%,rgba(8,8,8,.82) 40%,rgba(8,8,8,.1) 85%)}.om-hero h1::before{width:min(88vw,420px);height:clamp(170px,45vw,270px)}}

/* V0.3.0 — hero pleine largeur et logo graffiti d’origine dans l’en-tête */
.om-hero{min-height:clamp(620px,84svh,940px);background-image:url('assets/hero-original-mike.webp');background-position:center 46%;background-size:cover;background-repeat:no-repeat}
.om-hero::before{background:linear-gradient(90deg,rgba(5,5,5,.88) 0%,rgba(5,5,5,.62) 38%,rgba(5,5,5,.12) 76%),linear-gradient(0deg,rgba(5,5,5,.55),transparent 32%)}
.om-hero>.wp-block-group{width:100%}.om-hero h1::before{width:min(43vw,560px);height:clamp(210px,29vw,365px)}
header .wp-block-site-title{margin:0;line-height:0;flex-shrink:0}
header .wp-block-site-title a{display:block;width:112px;height:62px;overflow:hidden;font-size:0;line-height:0;background:url('assets/logo-white.png') center/contain no-repeat}
header .wp-block-site-title a:focus-visible{outline:2px solid #d53229;outline-offset:4px}
header .wp-block-navigation{font-size:.85rem;font-weight:700}
@media(max-width:781px){.om-hero{min-height:min(830px,90svh);background-size:cover;background-position:57% center;align-items:flex-end;padding-bottom:clamp(2.5rem,7vw,5rem)}.om-hero::before{background:linear-gradient(0deg,rgba(5,5,5,.95) 0%,rgba(5,5,5,.70) 37%,rgba(5,5,5,.12) 85%)}.om-hero h1::before{width:min(76vw,400px);height:clamp(170px,42vw,280px)}header .wp-block-site-title a{width:88px;height:52px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* 0.3.1 — panorama retenu, recadrage stable, hauteur généreuse */
.om-hero{min-height:clamp(710px,94svh,1040px);background-position:center 50%;background-size:cover}
.om-hero::before{background:linear-gradient(90deg,rgba(5,5,5,.91) 0%,rgba(5,5,5,.65) 33%,rgba(5,5,5,.12) 69%,rgba(5,5,5,.05) 100%),linear-gradient(0deg,rgba(5,5,5,.45),transparent 36%)}
@media(max-width:781px){.om-hero{min-height:clamp(660px,90svh,900px);background-position:60% center}.om-hero::before{background:linear-gradient(0deg,rgba(5,5,5,.94),rgba(5,5,5,.63) 43%,rgba(5,5,5,.08) 90%)}}

/* 0.3.2 — galerie de sorties et cadrage */
.om-hero{background-position:55% 50%}
.om-release-grid{gap:clamp(18px,2.5vw,34px)!important;align-items:flex-start}
.om-release{min-width:0}.om-release-art{margin:0 0 1.25rem!important;aspect-ratio:1;overflow:hidden;background:#222}
.om-release-art img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;display:block}
.om-release h3{font-size:clamp(1.2rem,1.7vw,1.65rem);line-height:1.16;letter-spacing:-.025em;margin:.45rem 0 .65rem}
.om-release .om-muted{font-size:.9rem;margin:0 0 1rem}.om-release-link a{color:#e34a40!important;font-size:.8rem;font-weight:800;letter-spacing:.03em;text-decoration:none}
.om-release-link a:hover{text-decoration:underline}.om-section a:not(.wp-block-button__link){color:#e9e9e9}.om-section a:hover{color:#e34a40}
.om-section .alignwide{max-width:1240px}.om-release-grid .wp-block-column{flex-basis:0;flex-grow:1}
@media(max-width:781px){.om-hero{background-position:62% center}.om-release-grid{gap:2rem!important}.om-release-art{max-width:520px}.om-release h3{font-size:1.4rem}}

/* 0.3.3 — grille large, menu explicite, cadrages adaptatifs */
:root{--om-wide:1280px;--om-gutter:clamp(24px,4.4vw,64px)}
.om-section > .wp-block-group.alignwide,.om-hero > .wp-block-group.alignwide,
header .wp-block-group.alignwide,footer .wp-block-group.alignwide{
  width:min(calc(100% - 2 * var(--om-gutter)),var(--om-wide));max-width:var(--om-wide);margin-inline:auto;
}
.om-section .wp-block-group.alignwide{max-width:var(--om-wide)}
.om-section .om-release-grid{width:100%;max-width:none;margin-inline:0;display:flex;gap:clamp(20px,2.5vw,36px)!important}
.om-release-grid>.wp-block-column{flex:1 1 0;min-width:0}
.om-release-art{width:100%;max-width:none!important}
.om-hero{background-position:65% 50%}
.om-hero>.wp-block-group.alignwide{width:min(calc(100% - 2 * var(--om-gutter)),var(--om-wide))}
.om-hero .om-kicker{font-size:clamp(.68rem,.9vw,.8rem)}
header .wp-block-navigation{font-size:.82rem}
header .wp-block-navigation a:hover,header .wp-block-navigation a:focus-visible{color:#e34a40}
.om-section .om-release-link a{color:#e34a40!important}
@media(min-width:782px) and (max-width:1050px){.om-hero{background-position:61% center}}
@media(max-width:781px){
 :root{--om-gutter:clamp(20px,5vw,30px)}
 header .wp-block-group.alignfull{padding-top:12px!important;padding-bottom:12px!important}
 header .wp-block-site-title a{width:88px;height:52px}
 .om-hero{min-height:clamp(540px,77svh,740px);padding-bottom:clamp(30px,7svh,65px);background-position:58% center;align-items:flex-end}
 .om-hero::before{background:linear-gradient(0deg,rgba(5,5,5,.94) 0%,rgba(5,5,5,.72) 29%,rgba(5,5,5,.13) 75%)}
 .om-hero h1::before{width:min(66vw,310px);height:clamp(130px,35vw,220px)}
 .om-hero .om-kicker{font-size:clamp(.62rem,2.2vw,.76rem);letter-spacing:.12em;white-space:normal}
 .om-hero p.has-large-font-size{font-size:clamp(1.15rem,4.7vw,1.65rem)!important;line-height:1.25;margin-top:.65rem}
 .om-hero .wp-block-buttons{margin-top:1.1rem}
 .om-hero .wp-block-button__link{padding:.85em 1.2em;font-size:.83rem}
 .om-section{padding-top:clamp(3.5rem,10vw,5rem);padding-bottom:clamp(3.5rem,10vw,5rem)}
 .om-section h2{font-size:clamp(3.3rem,14vw,6rem)}
 .om-section .om-release-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px!important}
 .om-release h3{font-size:clamp(1.05rem,3.8vw,1.4rem)}
}
@media(max-width:480px){
 .om-hero{background-position:56% center;min-height:clamp(510px,73svh,690px)}
 .om-section .om-release-grid{grid-template-columns:minmax(0,1fr);gap:34px!important}
 .om-release-art{max-width:520px!important}
 .om-release h3{font-size:1.3rem}
}

/* 0.3.4 — catalogue administré par Music Manager */
.om-section .om-music-grid{margin-top:28px;}
.om-section .om-music-card h3{line-height:1.25;}
.om-section .om-music-card .om-music-cover{border-radius:6px;}
.om-section .om-music-card .om-music-artist{font-size:.95rem;}
.om-section .om-music-actions .om-music-listen{font-size:.8rem;}
@media(min-width:701px) and (max-width:1024px){.om-section .om-music-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}}

/* 0.3.5 — HOME / MUSIC : pochettes larges, typographie éditoriale */
.om-section:has(.om-music-grid) > .wp-block-group.alignwide {
 width:min(calc(100% - 2 * var(--om-gutter, 48px)),1280px)!important;
 max-width:1280px!important; margin-inline:auto!important;
}
.om-section .om-music-grid {
 width:100%!important;max-width:none!important;margin:32px 0 0!important;
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:clamp(20px,2.5vw,38px)!important;
}
.om-section .om-music-grid.om-music-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.om-section .om-music-card{min-width:0;width:100%;}
.om-section .om-music-card .om-music-cover{display:block;width:100%;aspect-ratio:1;overflow:hidden;border-radius:6px;}
.om-section .om-music-card .om-music-cover img{display:block;width:100%;height:100%;object-fit:cover;}
.om-section .om-music-card h3{font-size:clamp(1.08rem,1.55vw,1.42rem)!important;
 font-weight:500!important;letter-spacing:.065em!important;line-height:1.3!important;
 text-transform:uppercase!important;margin:17px 0 7px!important;}
.om-section .om-music-card .om-music-artist{font-size:clamp(.9rem,1.1vw,1rem);line-height:1.45;}
.om-section .om-music-card .om-music-actions{margin-top:16px;}
@media (min-width:701px) and (max-width:1024px){
 .om-section .om-music-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;}
 .om-section .om-music-grid.om-music-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:700px){
 .om-section .om-music-grid,.om-section .om-music-grid.om-music-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 16px!important;}
}
@media (max-width:520px){
 .om-section .om-music-grid,.om-section .om-music-grid.om-music-cols-2{grid-template-columns:minmax(0,1fr)!important;gap:34px!important;}
}

/* V0.3.6 — HOME MUSIC: axe unique, grille lisible, actions harmonisees.
   Aucun changement de donnees ou de fiches de sorties. */
@media (min-width: 782px) {
 .om-section:has(.om-music-grid) > .wp-block-group.alignwide {
   width:min(calc(100% - 2 * var(--om-gutter,48px)),1280px)!important;
   max-width:1280px!important; margin-inline:auto!important;
 }
}
.om-section:has(.om-music-grid) > .wp-block-group.alignwide > :where(.wp-block-heading,.wp-block-paragraph,.wp-block-shortcode) {
 width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;
}
.om-section:has(.om-music-grid) > .wp-block-group.alignwide > .wp-block-shortcode {
 display:block;width:100%!important;max-width:none!important;
}
.om-section:has(.om-music-grid) .om-music-grid {margin-top:34px!important;}
.om-section:has(.om-music-grid) .om-music-card h3 {
 font-weight:500!important;letter-spacing:.085em!important;text-transform:uppercase;
}
.om-section:has(.om-music-grid) .om-music-card h3 a {text-decoration:none;}
.om-section:has(.om-music-grid) .om-music-actions {gap:22px;margin-top:16px;align-items:center;}
.om-section:has(.om-music-grid) .om-music-actions .om-music-listen {
 display:inline-flex;align-items:center;justify-content:center;
 background:#d53229!important;color:#fff!important;border-radius:3px;
 padding:10px 15px;font-size:.78rem!important;font-weight:700;letter-spacing:.055em;
 text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s;
}
.om-section:has(.om-music-grid) .om-music-actions .om-music-listen:hover {background:#fff!important;color:#111!important;}
.om-section:has(.om-music-grid) .om-music-actions .om-music-detail {
 color:#ddd!important;font-size:.78rem;font-weight:600;letter-spacing:.075em;
 text-transform:uppercase;text-decoration:none;border-bottom:1px solid #777;padding-bottom:2px;
}
.om-section:has(.om-music-grid) .om-music-actions .om-music-detail:hover {color:#e34a40!important;border-color:#e34a40;}
.om-section:has(.om-music-grid) > .wp-block-group.alignwide > .wp-block-paragraph:last-child {
 margin-top:28px!important;
}
.om-section:has(.om-music-grid) > .wp-block-group.alignwide > .wp-block-paragraph:last-child a {
 font-size:.82rem;letter-spacing:.075em;text-transform:uppercase;text-decoration:none;
 border-bottom:1px solid #777;padding-bottom:3px;
}
@media(max-width:700px){
 .om-section:has(.om-music-grid) .om-music-actions{gap:16px;}
}


/* V0.3.7 — MUSIC archive only. HOME and individual release pages unchanged. */
/* The page template is a direct <main>, not a group nested inside .om-section. */
main.om-music-page {
  width:min(calc(100% - 2 * var(--om-gutter, 48px)), 1200px)!important;
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-top:clamp(64px,8vw,112px);
  padding-bottom:clamp(76px,9vw,128px);
}
main.om-music-page > :where(.om-kicker,.wp-block-heading,.wp-block-shortcode) {
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
main.om-music-page > .om-kicker {margin-bottom:12px!important;}
main.om-music-page > h1.wp-block-heading {
  font-size:clamp(3.5rem,7vw,6.5rem);
  line-height:1;
  letter-spacing:-.065em;
  margin-top:0!important;
  margin-bottom:40px!important;
}
main.om-music-page > .wp-block-shortcode {display:block;}
main.om-music-page .om-music-grid {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
  max-width:none!important;
  gap:clamp(24px,2.7vw,36px)!important;
  margin:0!important;
}
main.om-music-page .om-music-card {width:100%;min-width:0;}
main.om-music-page .om-music-cover {
  display:block;width:100%;aspect-ratio:1;overflow:hidden;border-radius:6px;
}
main.om-music-page .om-music-cover img {display:block;width:100%;height:100%;object-fit:cover;}
main.om-music-page .om-music-card h3 {
  margin:16px 0 6px!important;
  font-size:clamp(1rem,1.35vw,1.25rem)!important;
  font-weight:500!important;
  letter-spacing:.075em;
  line-height:1.35;
  text-transform:uppercase;
}
main.om-music-page .om-music-artist {font-size:.94rem;line-height:1.5;}
main.om-music-page .om-music-actions {gap:18px;margin-top:14px;}
main.om-music-page .om-music-listen {
  background:#d53229;color:#fff!important;border-radius:3px;
  padding:10px 15px;font-size:.78rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.055em;
}
main.om-music-page .om-music-detail {
  font-size:.78rem;font-weight:600;letter-spacing:.075em;text-transform:uppercase;
  color:#ddd;text-decoration:none;border-bottom:1px solid #777;padding-bottom:2px;
}
@media(max-width:900px){
  main.om-music-page .om-music-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:560px){
  main.om-music-page {padding-top:54px;padding-bottom:72px;}
  main.om-music-page > h1.wp-block-heading {margin-bottom:30px!important;}
  main.om-music-page .om-music-grid {grid-template-columns:minmax(0,1fr)!important;gap:36px!important;}
}


/* V0.3.8 — Artist streaming platforms on HOME and MUSIC only. */
.om-artist-platforms {border-top:1px solid #343434;margin-top:clamp(42px,5vw,68px);padding-top:28px;width:100%;max-width:none!important;}
.om-artist-platforms-label {color:#999;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 22px;}
.om-artist-platforms-list {list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:16px 30px;padding:0!important;margin:0!important;}
.om-artist-platforms-list li {list-style:none;margin:0;padding:0;}
.om-artist-platforms-list a {display:inline-flex;align-items:center;gap:9px;color:#e9e9e9;text-decoration:none!important;font-size:.82rem;font-weight:500;white-space:nowrap;transition:color .2s ease;}
.om-artist-platforms-list a img {width:24px;height:24px;object-fit:contain;filter:brightness(0) invert(1);opacity:.88;transition:opacity .2s ease;}
.om-artist-platforms-list a:hover,.om-artist-platforms-list a:focus-visible {color:#e34a40;}
.om-artist-platforms-list a:hover img,.om-artist-platforms-list a:focus-visible img {opacity:1;filter:brightness(0) saturate(100%) invert(37%) sepia(85%) saturate(1071%) hue-rotate(324deg) brightness(95%) contrast(94%);}
@media(max-width:600px){.om-artist-platforms-list{gap:16px 22px;}.om-artist-platforms-list a{font-size:.76rem;}.om-artist-platforms-list a img{width:21px;height:21px;}}

/* V0.3.9 — Original visual direction restored on HOME only. Portrait files unchanged. */
:root{--om-about-photo:url('assets/about-portrait.webp');--om-216-photo:url('assets/about-216.webp');--om-live-photo:url('assets/news-live.webp');--om-street-photo:url('assets/street-red.webp')}
body.home .om-hero .wp-block-button__link{border-radius:999px;padding:14px 23px}
body.home .om-section:has(.om-music-grid){background:radial-gradient(ellipse at 95% 4%,#292929 0%,transparent 39%),#0b0b0b;position:relative}
body.home .om-section:has(.om-music-grid)::before{content:"";position:absolute;inset:0;opacity:.075;pointer-events:none;background:repeating-linear-gradient(130deg,transparent 0 5px,#fff 6px,transparent 7px 15px)}
body.home .om-section:has(.om-music-grid)>*{position:relative}
body.home .om-section:has(.om-music-grid) h2{font-stretch:condensed;letter-spacing:-.08em;text-shadow:3px 3px 0 #262626}
body.home .om-music-cover{position:relative}
body.home .om-music-cover img{transition:transform .35s ease}
body.home .om-music-cover:hover img{transform:scale(1.025)}
.om-revival-about{position:relative;isolation:isolate;min-height:620px;background:#171717;overflow:hidden;border-block:1px solid #333}
.om-revival-about::before{content:"";position:absolute;inset:0 0 0 43%;z-index:-2;background-image:var(--om-about-photo);background-size:cover;background-position:center 29%;filter:grayscale(1) contrast(1.12)}
.om-revival-about::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#151515 0%,#151515 30%,rgba(21,21,21,.9) 42%,rgba(21,21,21,.10) 82%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 40%)}
.om-revival-about-inner{display:flex;align-items:center;min-height:620px;padding-block:85px}
.om-revival-about-copy{max-width:550px;margin-left:0!important}
.om-revival-about h2,.om-revival-news h2,.om-revival-216 h2{font-size:clamp(4.6rem,10vw,9rem);line-height:.9;letter-spacing:-.085em;margin:.18em 0 .4em;font-weight:900}
.om-red-stop{color:#d53229}
.om-revival-about h3{font-size:clamp(1.5rem,3vw,2.65rem);line-height:1.08;letter-spacing:-.035em;margin:0 0 20px;font-weight:850}
.om-revival-about-copy>p:not(.om-kicker){max-width:440px;color:#dedede;line-height:1.7}
.om-revival-about .wp-block-button__link{border-radius:0!important;border:1px solid #aaa!important;background:transparent!important;color:#fff!important;padding:12px 18px;font-size:.8rem;font-weight:750;letter-spacing:.06em}
.om-revival-about .wp-block-button__link:hover{border-color:#d53229!important;color:#fff!important;background:#d53229!important}
.om-revival-216{position:relative;isolation:isolate;background:#080808;min-height:350px;border-bottom:1px solid #343434;overflow:hidden}
.om-revival-216::before{content:"";position:absolute;inset:0 50% 0 0;z-index:-2;background:var(--om-216-photo) center 40%/cover no-repeat;filter:grayscale(1) contrast(1.2)}
.om-revival-216::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 0%,#080808 59%)}
.om-revival-216-inner{min-height:350px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:60px 0 60px 55%;}
.om-revival-216 h2{font-size:clamp(3.2rem,6vw,6.4rem);margin:.1em 0 .2em}
.om-revival-216-inner>p:not(.om-kicker){font-size:1.1rem;line-height:1.4;font-weight:700;letter-spacing:.07em}
.om-revival-216-inner>p a{font-size:.78rem;color:#eee;text-decoration:none;border-bottom:1px solid #d53229;padding-bottom:5px}
.om-revival-news{position:relative;isolation:isolate;padding-block:clamp(65px,8vw,120px);background:#0d0d0d;overflow:hidden}
.om-revival-news::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,13,13,.97),rgba(13,13,13,.86)),var(--om-street-photo) center/cover;opacity:.7}
.om-revival-news h2{margin:.16em 0 .1em}
.om-news-tagline{font-size:clamp(.9rem,1.7vw,1.3rem);font-weight:800;letter-spacing:.1em;color:#fff;margin:0 0 36px!important}
.om-news-tagline span{color:#d53229;padding:0 8px}
.om-revival-news-query .wp-block-post-template{gap:24px}
.om-revival-news-card{background:#161616;border:1px solid #333;padding:0 0 20px;height:100%}
.om-revival-news-card .wp-block-post-featured-image{margin:0!important;overflow:hidden;background:#202020}
.om-revival-news-card .wp-block-post-featured-image img{width:100%;object-fit:cover;transition:transform .3s}
.om-revival-news-card .wp-block-post-featured-image:hover img{transform:scale(1.035)}
.om-revival-news-card .wp-block-post-date,.om-revival-news-card .wp-block-post-title,.om-revival-news-card .wp-block-post-excerpt{margin:12px 18px!important}
.om-revival-news-card .wp-block-post-date{font-size:.7rem;color:#d53229;letter-spacing:.1em}
.om-revival-news-card .wp-block-post-title{font-size:1.35rem;line-height:1.16;text-transform:uppercase;letter-spacing:.015em}
.om-revival-news-card .wp-block-post-title a{text-decoration:none}
.om-revival-news-card .wp-block-post-excerpt{font-size:.87rem;color:#bbb;line-height:1.55}
.om-revival-news-more{margin-top:32px!important}
.om-revival-news-more a{display:inline-block;border:1px solid #555;padding:12px 18px;text-decoration:none;font-size:.8rem;letter-spacing:.075em;font-weight:700;color:#fff}
.om-revival-news-more a:hover{background:#d53229;border-color:#d53229}
@media(max-width:850px){.om-revival-about::before{inset:0 0 0 25%}.om-revival-about::after{background:linear-gradient(90deg,#151515 0%,rgba(21,21,21,.94) 35%,rgba(21,21,21,.3) 100%)}.om-revival-216-inner{padding-left:48%}}
@media(max-width:650px){.om-revival-about,.om-revival-about-inner{min-height:680px}.om-revival-about-inner{align-items:flex-end;padding-block:50px}.om-revival-about::before{inset:0;background-position:center 22%}.om-revival-about::after{background:linear-gradient(0deg,#151515 0%,rgba(21,21,21,.97) 32%,rgba(21,21,21,.1) 95%)}.om-revival-about-copy{max-width:100%}.om-revival-about h2,.om-revival-news h2{font-size:clamp(4.1rem,17vw,7rem)}.om-revival-216::before{inset:0;background-position:30% 30%}.om-revival-216::after{background:linear-gradient(0deg,#080808 0%,rgba(8,8,8,.8) 58%,rgba(8,8,8,.3) 100%)}.om-revival-216-inner{min-height:500px;justify-content:flex-end;padding:260px 0 40px}.om-revival-news-query .wp-block-post-template{grid-template-columns:1fr!important}}

/* V0.3.10 — refined HOME: outlined music CTA, cleaner editorial copy, photo positioning. */
body.home .om-all-music-link{margin-top:clamp(22px,3vw,36px)!important;margin-bottom:0!important}
body.home .om-all-music-link a{display:inline-flex;align-items:center;gap:20px;min-height:44px;border:1px solid #777;padding:12px 20px;text-decoration:none!important;color:#f6f6f6!important;font-size:.78rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;transition:border-color .2s,background-color .2s}
body.home .om-all-music-link a span{color:#d53229;font-size:1.25rem;line-height:1}
body.home .om-all-music-link a:hover,body.home .om-all-music-link a:focus-visible{background:#d53229;border-color:#d53229}
body.home .om-all-music-link a:hover span,body.home .om-all-music-link a:focus-visible span{color:#fff}
/* Move portrait down slightly by anchoring the image higher within the cover crop. */
.om-revival-about::before{background-position:center 12%;filter:grayscale(1) contrast(1.18)}
/* Weathered wall / analog film texture stays in the background, never on the face. */
.om-revival-about{background:repeating-linear-gradient(135deg,rgba(255,255,255,.024) 0 1px,transparent 1px 9px),radial-gradient(ellipse at 12% 55%,#292525 0%,#121212 62%)}
.om-revival-about::after{background:linear-gradient(90deg,#151515 0%,rgba(21,21,21,.97) 29%,rgba(21,21,21,.89) 42%,rgba(21,21,21,.05) 85%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 42%),repeating-linear-gradient(160deg,rgba(255,255,255,.035) 0 1px,transparent 1px 13px)}
/* 216 portrait: anchor to the top to avoid cropping the face out. */
.om-revival-216{min-height:430px}
.om-revival-216::before{background-position:center top;background-size:cover}
.om-revival-216-inner{min-height:430px}
/* NEWS: keep cards legible with just one published article. */
.om-revival-news-query .wp-block-post-template{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:100%}
.om-revival-news-card{min-width:0}
@media(max-width:850px){.om-revival-about::before{background-position:center 10%}.om-revival-news-query .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.om-revival-about::before{background-position:center 10%}.om-revival-216::before{background-position:30% top}.om-revival-216,.om-revival-216-inner{min-height:500px}.om-revival-news-query .wp-block-post-template{grid-template-columns:1fr}}

/* V0.3.11 — ABOUT mobile: portrait visible, vertical overlay and safe text gutters.
   Overrides the desktop V0.3.10 gradient without changing desktop layout. */
@media screen and (max-width:650px){
  body .om-revival-about{overflow:hidden;min-width:0}
  body .om-revival-about::before{
    inset:0;
    background-position:center 10%;
    background-size:cover;
  }
  body .om-revival-about::after{
    background:
      linear-gradient(to bottom,
        rgba(12,12,12,.03) 0%,
        rgba(12,12,12,.06) 24%,
        rgba(12,12,12,.30) 42%,
        rgba(12,12,12,.79) 61%,
        rgba(12,12,12,.96) 82%,
        #151515 100%);
  }
  body .om-revival-about .om-revival-about-inner{
    box-sizing:border-box;
    width:100%;max-width:100%;
    margin-inline:auto!important;
    padding:clamp(300px,80vw,470px) 24px 48px!important;
    min-height:760px;
    display:flex;align-items:flex-end;
  }
  body .om-revival-about .om-revival-about-copy{
    width:100%;max-width:100%;min-width:0;
    margin-inline:0!important;
    overflow-wrap:break-word;
  }
  body .om-revival-about h2{
    font-size:clamp(3.65rem,16vw,6.4rem);
    line-height:.95;
    max-width:100%;
  }
  body .om-revival-about h3{font-size:clamp(1.35rem,5.4vw,2.15rem)}
  body .om-revival-about-copy>p:not(.om-kicker){max-width:100%}
  body .om-revival-about .wp-block-button__link{max-width:100%;white-space:normal;text-align:center}
}
@media screen and (max-width:380px){
  body .om-revival-about .om-revival-about-inner{padding-inline:20px!important}
  body .om-revival-about h2{font-size:clamp(3.2rem,15.5vw,4rem)}
}

/* V0.3.14 — background replacement is baked into a separate portrait asset.
   No texture layer can cover the face, hands or clothing. Keep V0.3.11 responsive gradients. */
:root{--om-about-photo:url('assets/about-portrait-grunge.webp')}
.om-revival-about::before{background-image:var(--om-about-photo);background-size:cover;background-repeat:no-repeat;background-position:center 29%}
@media(max-width:850px){.om-revival-about::before{background-position:center 10%}}

/* V0.3.15 — ABOUT: align descriptive paragraph with heading and CTA.
   Gutenberg constrained layout may center narrower paragraphs via auto margins. */
body .om-revival-about .om-revival-about-copy > p:not(.om-kicker){
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  text-indent:0!important;
  text-align:left;
}

/* V0.3.16 — ABOUT: approved concrete portrait, with additional top breathing room.
   Keep v0.3.15 paragraph alignment and v0.3.11 mobile text layout intact. */
body .om-revival-about::before{background-position:center top!important}
@media(max-width:850px){body .om-revival-about::before{background-position:center top!important}}
@media(max-width:650px){body .om-revival-about::before{background-position:center top!important}}

/* V0.3.17 — use clean single-portrait landscape composite.
   No repeated head at image top; face and logo remain in the same image. */
body .om-revival-about::before{background-image:url('assets/about-portrait-wide.webp')!important;background-position:center center!important;background-size:cover!important;background-repeat:no-repeat!important}
@media(max-width:650px){body .om-revival-about::before{background-image:url('assets/about-portrait-grunge-clean.webp')!important;background-position:center top!important;background-size:cover!important}}

/* V0.3.18 — ABOUT: use the portrait itself rather than the wide image
   with baked-in empty margins. Fit the entire portrait height on desktop. */
@media(min-width:651px){
  body .om-revival-about::before{
    background-image:url('assets/about-portrait-grunge-clean.webp')!important;
    background-size:auto 100%!important;
    background-position:72% center!important;
    background-repeat:no-repeat!important;
    background-color:#202020!important;
  }
}
@media(max-width:650px){
  body .om-revival-about::before{
    background-image:url('assets/about-portrait-grunge-clean.webp')!important;
    background-size:100% auto!important;
    background-position:center top!important;
    background-repeat:no-repeat!important;
  }
}

/* V0.3.19 — ABOUT desktop: edge-blended concrete composition, no vertical photo seams.
   The portrait is intentionally large; the original mobile portrait remains unchanged. */
@media(min-width:651px){
 body .om-revival-about::before{
  background-image:url('assets/about-portrait-desktop-v319.webp')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:#171717!important;
 }
}

/* V0.3.20 — ABOUT: larger portrait, anchored to upper right; fade photo edge into site background.
   Only desktop rendering is changed; mobile remains as in v0.3.19. */
@media (min-width: 651px) {
  body .om-revival-about::before {
    inset: 0 0 0 43% !important;
    background-image: url('assets/about-portrait-grunge-clean.webp') !important;
    background-size: auto 145% !important;
    background-position: right top !important;
    background-repeat: no-repeat !important;
    background-color: #171717 !important;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 34%) !important;
    mask-image: linear-gradient(to right, transparent 0%, #000 34%) !important;
  }
}

/* V0.3.23 — icône Play cerclée, adaptée à la couleur du bouton et au survol. */
.om-music-listen {
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:9px;
}
.om-music-listen::after {
  content:"";
  display:inline-block;
  width:21px;
  height:21px;
  flex:0 0 21px;
  background-color:currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M10 7.9 L16 12 L10 16.1 Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M10 7.9 L16 12 L10 16.1 Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
}
