/* Radio Mélodie Story — Design 9.0. Colors remain editable in administration. */
:root{--rms-ease:cubic-bezier(.22,1,.36,1);--rms-line:color-mix(in srgb,var(--dark) 10%,transparent);--rms-shadow:0 18px 55px rgba(20,20,30,.07)}
body{background:var(--background);letter-spacing:-.15px}
.site-header{height:88px;background:color-mix(in srgb,var(--background) 93%,transparent);border-bottom:1px solid var(--rms-line);box-shadow:none;transition:box-shadow .3s ease,background .3s ease}
.site-header.is-scrolled{box-shadow:0 8px 35px #0000000c}
.nav{gap:22px}.brand{min-width:190px;flex-shrink:0}.brand-logo{max-width:170px;height:56px;transition:transform .6s var(--rms-ease),filter .6s ease;transform-origin:center}
.brand:hover .brand-logo,.brand:focus-visible .brand-logo{transform:rotate(-3deg) scale(1.06);filter:drop-shadow(0 8px 12px #0002)}
.main-menu{gap:15px;min-width:0}.main-menu a{font-size:11px;letter-spacing:.1px;padding:30px 0 25px;white-space:nowrap;transition:color .2s,border-color .2s}
.main-menu a:hover{color:color-mix(in srgb,var(--dark) 70%,var(--primary))}
.header-live{white-space:nowrap;background:var(--primary);color:var(--dark);padding:13px 17px;box-shadow:0 6px 18px color-mix(in srgb,var(--primary) 25%,transparent)}
.header-live span{color:var(--dark)}
.hero{padding:80px 0 88px;background:radial-gradient(ellipse at 85% 20%,color-mix(in srgb,var(--primary) 22%,transparent),transparent 60%),linear-gradient(135deg,var(--background),var(--surface));border-bottom:1px solid var(--rms-line)}
.hero:after{opacity:.45}.hero-grid{gap:48px;grid-template-columns:1fr 1.15fr}.hero-copy{min-width:0}.hero h1{font-size:clamp(48px,5.6vw,84px);line-height:1.02;letter-spacing:-4px;text-wrap:balance}.hero-copy>p{max-width:480px;line-height:1.8;color:color-mix(in srgb,var(--dark) 65%,var(--background))}
.hero .eyebrow,.page-hero .eyebrow{border:1px solid color-mix(in srgb,var(--primary) 65%,transparent);padding:8px 13px;border-radius:999px;background:color-mix(in srgb,var(--background) 70%,transparent);font-size:10px;letter-spacing:1.8px}
.eyebrow:before{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 20%,transparent)}
.hero-actions{gap:12px;flex-wrap:wrap}.btn{border-radius:14px;padding:14px 21px;font-weight:800;font-size:13px;border:1px solid var(--rms-line);transition:transform .3s var(--rms-ease),box-shadow .3s,background .3s}
.btn-primary{background:linear-gradient(120deg,var(--primary),color-mix(in srgb,var(--primary) 78%,#fff));color:var(--dark);border-color:transparent;box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 22%,transparent)}
.btn-light{background:color-mix(in srgb,var(--background) 92%,transparent);color:var(--dark)}
.btn:hover{transform:translateY(-3px);box-shadow:0 12px 25px #00000012}.btn:active{transform:scale(.98)}
.premium-player{background:radial-gradient(ellipse at top right,color-mix(in srgb,var(--primary) 14%,transparent),transparent 65%),var(--dark);border-radius:calc(var(--radius) + 8px);padding:14px;box-shadow:0 24px 60px #0003;border:1px solid #ffffff22;color:#fff}
.player-main{gap:24px;padding:24px;grid-template-columns:minmax(140px,190px) minmax(0,1fr)}
.premium-player .cover{width:100%;border-radius:20px;box-shadow:0 12px 35px #0005;animation:rms-cover-float 7s ease-in-out infinite}
.premium-player .cover img{transition:transform 1s var(--rms-ease)}
.premium-player .cover:hover img{transform:scale(1.055)}
.premium-player .cover:after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,#fff2,transparent 45%);pointer-events:none}
.now-title{font-size:clamp(21px,2.1vw,30px);line-height:1.2;overflow-wrap:anywhere;letter-spacing:-.8px}.now-artist{color:#ffffffa6;overflow-wrap:anywhere}.station-kicker{color:#ffffff70;font-size:10px;letter-spacing:1.5px}
.live-pill{background:color-mix(in srgb,var(--primary) 18%,transparent);border:1px solid color-mix(in srgb,var(--primary) 40%,transparent);color:var(--primary);border-radius:999px;font-size:9px;letter-spacing:1px;padding:6px 10px}
.player-controls{border-top:1px solid #ffffff14;padding:20px 24px 10px}.play-btn{background:var(--primary);color:var(--dark);box-shadow:0 0 0 7px color-mix(in srgb,var(--primary) 12%,transparent);transition:transform .3s,box-shadow .3s}.play-btn:hover{transform:scale(1.08);box-shadow:0 0 0 10px color-mix(in srgb,var(--primary) 15%,transparent)}
.player-status{color:#ffffff75;font-size:10px;letter-spacing:.4px}.round-btn{border:1px solid #ffffff20;background:#ffffff0c;color:#fff}.round-btn:hover{background:var(--primary);color:var(--dark)}
.section{padding:70px 0}.section-soft{background:var(--surface)}.section-heading h2{letter-spacing:-1.1px;font-size:34px}.section-heading p{font-size:14px}
.panel-card,.widget,.agenda-box,.contact-card,.form-card,.dedication-card{background:var(--background);border:1px solid var(--rms-line);box-shadow:var(--rms-shadow);border-radius:var(--radius)}
.history-track{padding:15px 12px;border-radius:16px;transition:background .25s,transform .25s}.history-track:hover{background:var(--surface);transform:translateX(4px)}.history-cover{border-radius:12px;box-shadow:0 6px 14px #0001;transition:transform .4s}.history-track:hover .history-cover{transform:rotate(-4deg) scale(1.05)}
.quick-links{gap:14px}.quick-links>a{border:1px solid var(--rms-line);background:var(--background);border-radius:20px;padding:25px 15px;box-shadow:0 5px 18px #00000005;transition:transform .4s var(--rms-ease),box-shadow .4s,border-color .4s}.quick-links>a:hover{transform:translateY(-6px);border-color:var(--primary);box-shadow:0 16px 35px #0000000c}.quick-links>a>span{display:inline-block;transition:transform .4s var(--rms-ease)}.quick-links>a:hover>span{transform:rotate(-8deg) scale(1.15)}
.news-card,.agenda-card,.programme-card,.podcast-card,.team-card,.editorial-card,.partner-card{border:1px solid var(--rms-line);box-shadow:var(--rms-shadow);background:var(--background)}
.news-image{transition:filter .5s ease}.news-card:hover .news-image{filter:saturate(1.15)}
.page-hero{padding:65px 0;background:radial-gradient(ellipse at 90% 10%,color-mix(in srgb,var(--primary) 28%,transparent),transparent 60%),linear-gradient(115deg,var(--background),var(--surface));border-bottom:1px solid var(--rms-line)}
.page-hero h1{font-size:clamp(40px,5vw,68px);letter-spacing:-2.5px;line-height:1.1;text-wrap:balance}.page-hero p{max-width:760px;font-size:16px;line-height:1.8}
input:not([type=range]):not([type=checkbox]):not([type=radio]),textarea,select{border-radius:12px;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{outline:2px solid color-mix(in srgb,var(--primary) 65%,transparent);outline-offset:2px}
.site-footer{background:var(--dark);color:#fff;border-top:5px solid var(--primary);padding-top:60px}.site-footer p,.footer-links a{color:#ffffffa8}.site-footer h3{color:var(--primary);font-size:11px;letter-spacing:1.8px}.footer-links a:hover{color:var(--primary)}.footer-bottom{border-top:1px solid #ffffff18;color:#ffffff85}.site-footer .social-icon{background:#ffffff0c;border:1px solid #ffffff20;color:#fff;transition:transform .3s,background .3s}.site-footer .social-icon:hover{background:var(--primary);color:var(--dark);transform:translateY(-4px)}.site-footer .mobile-apps a{border:1px solid #ffffff20}
.bottom-radio-player{background:color-mix(in srgb,var(--dark) 96%,transparent);backdrop-filter:blur(20px);border-top:1px solid #ffffff24;box-shadow:0 -6px 30px #0002}.bottom-cover{border-radius:12px}.bottom-play{transition:transform .3s,box-shadow .3s}.bottom-play:hover{transform:scale(1.08)}
.rms-track-change{animation:rms-track-in .65s var(--rms-ease)!important}
.rms-page-loader{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;background:color-mix(in srgb,var(--background) 96%,transparent);pointer-events:none}
.rms-loading .rms-page-loader{display:flex;animation:rms-loader-failsafe 2.5s forwards}.rms-loader-card{text-align:center;padding:30px}.rms-loader-card strong{display:block;font-size:23px;letter-spacing:-.6px;color:var(--dark)}.rms-loader-card>span{display:block;color:color-mix(in srgb,var(--dark) 60%,var(--background));font-size:12px;letter-spacing:1px;margin-top:8px}.rms-loader-bars{display:flex;justify-content:center;align-items:center;gap:6px;height:65px;margin-bottom:18px}.rms-loader-bars i{width:8px;height:35px;border-radius:8px;background:var(--primary);animation:rms-loader-wave .65s ease-in-out infinite alternate}.rms-loader-bars i:nth-child(2){animation-delay:.12s}.rms-loader-bars i:nth-child(3){animation-delay:.24s}.rms-loader-bars i:nth-child(4){animation-delay:.36s}.rms-loader-bars i:nth-child(5){animation-delay:.48s}
.rms-navigation-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:10000;background:var(--primary);transform:scaleX(0);transform-origin:left;pointer-events:none}.rms-navigating .rms-navigation-progress{animation:rms-progress 2s ease-out forwards}
@keyframes rms-cover-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}
@keyframes rms-track-in{from{opacity:.4;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes rms-loader-wave{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
@keyframes rms-loader-failsafe{0%,80%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@keyframes rms-progress{from{transform:scaleX(.05)}to{transform:scaleX(.95)}}
@media(max-width:1180px){.mobile-menu{display:block;margin-left:auto;border:1px solid var(--rms-line);border-radius:12px;width:44px;height:44px;font-size:24px}.main-menu{display:none;position:absolute;top:88px;left:0;right:0;background:var(--background);padding:20px 28px;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 180px);overflow-y:auto;box-shadow:0 20px 45px #0002}.main-menu.open{display:flex}.main-menu a{padding:10px 12px;font-size:13px;border-radius:8px}.main-menu a:hover{background:var(--surface)}.hero-grid{gap:28px}.player-main{padding:16px;gap:18px;grid-template-columns:140px minmax(0,1fr)}}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:680px}.premium-player{max-width:700px;width:100%}.player-main{grid-template-columns:190px minmax(0,1fr)}.hero{padding:55px 0}.header-live{display:block}}
@media(max-width:620px){.site-header{height:78px}.nav{gap:10px}.brand{min-width:0}.brand-logo{max-width:135px;height:46px}.main-menu{top:78px}.mobile-menu{margin-left:auto}.header-live{font-size:9px;padding:10px 11px}.hero h1{letter-spacing:-2.5px;font-size:48px}.hero-grid{gap:28px}.player-main{grid-template-columns:110px minmax(0,1fr);padding:12px;gap:15px}.now-title{font-size:21px}.premium-player .cover{border-radius:15px}.player-controls{padding:20px 12px 10px}.section{padding:48px 0}.page-hero{padding:45px 0}.page-hero h1{letter-spacing:-1.5px}.section-heading h2{font-size:28px}.quick-links>a{padding:20px 10px}.rms-loader-card strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rms-page-loader{display:none!important}.reveal-on-scroll{opacity:1!important;transform:none!important}}

.quick-links>a>span{color:var(--dark);background:color-mix(in srgb,var(--primary) 20%,var(--background));width:52px;height:52px;border-radius:16px;display:inline-grid;place-items:center;margin-bottom:8px}.quick-links svg{display:block}
