/*
Theme Name: RLF 2026 – La plus belle playlist
Theme URI: https://radiorlf.com/
Author: RLF / ACTIV MÉDIAS
Description: Site RLF 100.9 FM, maquette validée intégrée à WordPress avec radio en direct et podcasts Ausha.
Version: 1.0.45
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: rlf-2026
*/

/* Styles for posts published through the existing WordPress back office. */
.rlf-latest{background:#f6f8fd;padding:76px 0 90px;color:#18244b}
.rlf-latest-heading{display:flex;gap:12px;align-items:baseline;justify-content:space-between;flex-wrap:wrap;margin-bottom:28px}
.rlf-latest-heading .eyebrow{color:#4058cd;width:100%}
.rlf-latest-heading h2{font:800 clamp(27px,3vw,42px)/1.12 'Space Grotesk',Arial,sans-serif;margin:0}
.rlf-latest-heading>a{font-weight:800;color:#324cca;font-size:13px}
.rlf-latest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rlf-latest-card{background:white;border:1px solid #e1e5f5;border-radius:15px;overflow:hidden;box-shadow:0 12px 24px #1829620d}
.rlf-latest-card>a{display:block;color:inherit;text-decoration:none;height:100%}
.rlf-latest-card img{height:185px;width:100%;object-fit:cover}
.rlf-latest-placeholder{height:185px;display:grid;place-content:center;text-align:center;color:white;background:linear-gradient(135deg,#111b59,#546cef);font-size:48px;font-weight:900}
.rlf-latest-placeholder small{display:block;font-size:12px;letter-spacing:.13em}
.rlf-latest-content{padding:20px}
.rlf-latest-content time{color:#5367bb;font-size:11px;font-weight:900;text-transform:uppercase}
.rlf-latest-content h3{font-size:20px;line-height:1.24;margin:10px 0;color:#131f52}
.rlf-latest-content p{line-height:1.6;color:#68758e;font-size:13px}
.rlf-latest-content span{color:#3147b7;font-size:12px;font-weight:900}
.rlf-editorial{background:#f7f8fc;padding:64px 0 100px;min-height:55vh}
.rlf-editorial .container{max-width:970px}
.rlf-editorial h1{font:800 clamp(34px,4.5vw,56px)/1.09 'Space Grotesk',Arial,sans-serif;color:#101b54;margin:18px 0}
.rlf-editorial .rlf-breadcrumb{color:#5263a4;font-weight:700;font-size:13px}
.rlf-editorial .rlf-breadcrumb a{color:inherit;text-decoration:none}
.rlf-editorial article{border-radius:16px;background:white;box-shadow:0 12px 36px #17255a0e;padding:32px 38px}
.rlf-editorial time{color:#7181ab;font-size:13px}
.rlf-editorial .rlf-content{font-size:17px;line-height:1.82;color:#2b365c;overflow-wrap:anywhere}
.rlf-editorial .rlf-content img{max-width:100%;height:auto;border-radius:8px}
.rlf-editorial .rlf-content a{color:#2c48cc;text-decoration:underline}
.rlf-editorial .rlf-featured-image{display:block;width:100%;height:auto;max-height:460px;object-fit:cover;margin:22px 0;border-radius:12px}
.rlf-editorial .rlf-imported-image{width:auto!important;height:auto!important;max-width:min(100%,480px)!important;max-height:340px!important;object-fit:contain!important}
.rlf-editorial .rlf-news-photo{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;width:100%;height:185px;overflow:hidden;background:#eff4fa;border-radius:10px;margin-bottom:16px}
/* The original RLF logo is a single, full-width, proportional and very faint watermark. */
.rlf-editorial .rlf-news-photo::before{content:"";position:absolute;inset:0;background-image:url('assets/logo-rlf-officiel.jpg');background-position:center center;background-size:100% auto;background-repeat:no-repeat;opacity:.035;filter:grayscale(1);pointer-events:none}
.rlf-editorial .rlf-news-photo .rlf-news-thumb{display:block;position:relative;z-index:1;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;border-radius:8px}
.rlf-editorial .rlf-article-photo{height:auto;min-height:200px;max-height:400px;margin:22px 0}
.rlf-editorial .rlf-article-photo .rlf-imported-image{margin:0;max-height:340px!important}
.rlf-editorial .rlf-archive-grid{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}
.rlf-editorial .rlf-archive-grid article{padding:24px}
.rlf-editorial .rlf-archive-grid h2{font-size:24px;margin:12px 0;color:#192760}
.rlf-editorial .rlf-archive-grid a{text-decoration:none;color:inherit}
.rlf-editorial .rlf-archive-grid p{color:#65728d;line-height:1.6}
.rlf-editorial .rlf-pagination{margin:30px 0;display:flex;gap:18px;color:#283fbe}
.rlf-editorial .rlf-playlist-lede{font-size:16px;line-height:1.65;color:#536788;max-width:730px;margin:4px 0 30px}
.rlf-editorial .rlf-playlist-cover{background:#edf3fb}
.rlf-editorial .rlf-playlist-cover .rlf-news-thumb{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
.rlf-player-error{font:700 12px/1.4 Arial,sans-serif;background:#fde8e8;color:#972128;padding:8px 12px;position:fixed;right:15px;bottom:90px;border-radius:8px;z-index:9999}
.play-button,.player-circle{position:relative}
.play-button.rlf-is-loading .triangle,.player-circle.rlf-is-loading .play-triangle{visibility:hidden}
.play-button.rlf-is-loading::after,.player-circle.rlf-is-loading::after{content:"";display:block;position:absolute;left:50%;top:50%;width:24px;height:24px;border:3px solid rgba(8,45,112,.2);border-top-color:#0e468d;border-right-color:#b7edff;border-radius:50%;animation:rlfPlayerLoadingSpin .76s linear infinite;pointer-events:none}
.play-button.rlf-is-loading,.player-circle.rlf-is-loading{box-shadow:0 0 0 5px rgba(157,230,255,.15),0 0 27px rgba(109,201,255,.52)}
@keyframes rlfPlayerLoadingSpin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.play-button.rlf-is-loading::after,.player-circle.rlf-is-loading::after{animation:none;transform:translate(-50%,-50%)}}
/* A real box-shaped play icon stays centered while its circular button scales on hover. */
.play-button .triangle{display:block;width:12px;height:14px;border:0!important;margin:0!important;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%);transform:translateX(2px)}
/* Keep the real, full-height radio bar on screen even if WP plugins style .player. */
html body #rlf-fixed-player{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;z-index:99990!important;transform:none!important;display:block!important;visibility:visible!important}
body{padding-bottom:92px!important}
html body .recent-track-band[hidden]{display:none!important}
html body .recent-track-inner{min-height:0!important;padding-top:36px!important;padding-bottom:36px!important}
#recentTrackRail{animation:none!important;transition:none!important;will-change:transform}
#rlfRealRecentViewport{overscroll-behavior-x:contain;touch-action:pan-y;-webkit-user-select:none;user-select:none}
#rlfRealRecentViewport,#rlfRealRecentViewport *{cursor:default}
#recentTrackRail .recent-track-art{width:110px;flex:none;display:flex;flex-direction:column;align-items:center;gap:6px}
#recentTrackRail .recent-track-time{display:block;width:100%;text-align:center;color:#acd7ff;font:700 11px/1.4 Manrope,Arial,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}
#recentTrackRail .recent-cover{position:relative;-webkit-user-drag:none;filter:blur(var(--history-motion-blur,0px));transition:filter 70ms linear,transform 240ms ease,box-shadow 240ms ease;transform-origin:center}
#recentTrackRail .recent-cover:hover{transform:scale(1.22);filter:blur(0);box-shadow:0 15px 34px rgba(0,0,0,.55);z-index:5}
#recentTrackRail .recent-track-item{position:relative;padding-bottom:18px}
#recentTrackRail .recent-track-item::after{content:"";position:absolute;left:0;right:-30px;bottom:3px;height:8px;background-image:linear-gradient(to right,rgba(232,246,255,.72),rgba(232,246,255,.72)),repeating-linear-gradient(to right,rgba(231,246,255,.33) 0 1px,transparent 1px 15px);background-position:0 100%,0 0;background-size:100% 1px,100% 8px;background-repeat:no-repeat}
#recentTrackRail .recent-track-item.recent-hour-change::before{content:"";position:absolute;left:-1px;bottom:3px;width:1px;height:16px;background:#f6fcff;box-shadow:0 0 5px rgba(211,243,255,.48);z-index:2}
#rlfMuteButton{background:transparent;border:0;padding:3px;display:inline-flex;align-items:center;justify-content:center;color:#91dfff;cursor:pointer}
#rlfMuteButton[aria-pressed="true"]{opacity:.42}
#rlfMuteButton:focus-visible,#rlfVolumeSlider:focus-visible{outline:2px solid #9ee7ff;outline-offset:4px;border-radius:3px}
#rlfVolumeSlider{--volume-fill:70%;appearance:none;-webkit-appearance:none;width:79px;height:4px;border:0;border-radius:20px;overflow:visible;background:linear-gradient(to right,#82dcff 0 var(--volume-fill),rgba(172,196,250,.25) var(--volume-fill) 100%);cursor:pointer;margin:0}
#rlfVolumeSlider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;background:#d3f6ff;border:1px solid #fff;border-radius:50%;box-shadow:0 0 4px #6fd6ff}
#rlfVolumeSlider::-moz-range-thumb{width:9px;height:9px;background:#d3f6ff;border:1px solid #fff;border-radius:50%;box-shadow:0 0 4px #6fd6ff}
/* Frequency: clean modern numerals without the former condensed bold treatment. */
#rlf-fixed-player .player-fm,#rlf-fixed-player .player-side{font-family:'Manrope','DM Sans',Arial,sans-serif;font-size:21px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums;line-height:1.15}
#rlf-fixed-player .player-fm small,#rlf-fixed-player .player-side small{font-family:inherit;font-size:8px;font-weight:500;letter-spacing:.045em}
/* Homepage: the same familiar, clear sans-serif used for the radio frequency. */
html body .hero .hero-content h1{font-family:'Manrope',Arial,sans-serif;font-weight:800;letter-spacing:-.045em}
html body .hero .hero-content h1 .hero-decade{font-family:inherit;font-weight:700;letter-spacing:-.035em}
html body .hero .hero-content p{font-family:'Manrope',Arial,sans-serif;font-weight:500;letter-spacing:-.006em}
@media(max-width:900px){#recentTrackRail .recent-track-art{width:90px}}
@media(max-width:530px){#recentTrackRail .recent-track-art{width:80px}}
#rlfRealRecentViewport:focus-visible{outline:2px solid #9ee7ff;outline-offset:3px}
.recent-track-viewport[hidden]{display:none!important}
#rlfTrackCover{width:54px;height:54px;object-fit:cover;border-radius:6px;flex-shrink:0}
#rlfNowTitle{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#rlfNowArtist{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.play-button.rlf-is-playing .triangle{border:0;width:13px;height:15px;background:linear-gradient(90deg,currentColor 0 36%,transparent 36% 64%,currentColor 64% 100%);clip-path:none;transform:none}
.player-circle.rlf-is-playing .play-triangle{border:0;width:13px;height:15px;background:linear-gradient(90deg,currentColor 0 36%,transparent 36% 64%,currentColor 64% 100%)}
body.admin-bar .site-header{scroll-margin-top:32px}
@media(max-width:750px){.rlf-latest-grid,.rlf-editorial .rlf-archive-grid{grid-template-columns:1fr}.rlf-editorial article{padding:24px 18px}.rlf-latest{padding:54px 0}}
