/*
Theme Name: Forest Raynes Premium Blocks
Theme URI: https://forestraynes.com/
Author: Forest Raynes
Description: A premium, fully editable WordPress block theme for country artist Forest Raynes.
Version: 4.0.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: forest-raynes-premium-blocks
*/

:root { --fr-gold:#d7ad55; --fr-gold-2:#f0d28c; --fr-coal:#090a0c; --fr-panel:#15171b; --fr-line:rgba(215,173,85,.28); }
html { scroll-behavior:smooth; }
body { overflow-x:hidden; background:#090a0c; }
body, .editor-styles-wrapper { -webkit-font-smoothing:antialiased; }

.fr-site-header { position:relative; z-index:30; border-bottom:1px solid rgba(215,173,85,.22); backdrop-filter:blur(18px); box-shadow:0 18px 60px rgba(0,0,0,.25); }
.fr-site-header .wp-block-site-title a { text-decoration:none; letter-spacing:.02em; }
.fr-site-header .wp-block-navigation-item__content { position:relative; }
.fr-site-header .wp-block-navigation-item__content:after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:2px; background:var(--fr-gold); transition:right .25s ease; }
.fr-site-header .wp-block-navigation-item__content:hover:after { right:0; }

.fr-hero-premium { position:relative; isolation:isolate; min-height:760px; overflow:hidden; background:
 radial-gradient(circle at 78% 34%, rgba(215,173,85,.24), transparent 24%),
 radial-gradient(circle at 68% 70%, rgba(139,58,26,.25), transparent 35%),
 linear-gradient(112deg,#07080a 0%,#111318 48%,#27170e 100%); }
.fr-hero-premium:before { content:""; position:absolute; inset:0; z-index:-2; opacity:.20; background-image:repeating-linear-gradient(115deg,transparent 0 34px,rgba(255,255,255,.025) 35px 36px); }
.fr-hero-premium:after { content:""; position:absolute; inset:auto -12% -55% 35%; height:90%; z-index:-1; transform:rotate(-9deg); background:linear-gradient(90deg,transparent,rgba(215,173,85,.12),transparent); filter:blur(28px); }
.fr-eyebrow { display:inline-flex; align-items:center; gap:.65rem; }
.fr-eyebrow:before { content:""; width:44px; height:1px; background:var(--fr-gold); box-shadow:0 0 14px rgba(215,173,85,.55); }
.fr-display-name { text-shadow:0 3px 0 rgba(255,255,255,.025),0 22px 50px rgba(0,0,0,.55); letter-spacing:-.045em; }
.fr-signature { transform:rotate(-2deg); text-shadow:0 0 25px rgba(215,173,85,.18); }
.fr-portrait-frame { position:relative; min-height:520px; border:1px solid rgba(215,173,85,.46); border-radius:230px 230px 26px 26px; background:linear-gradient(145deg,#25282e,#111318 52%,#27160c); box-shadow:0 50px 100px rgba(0,0,0,.55),inset 0 0 0 9px rgba(255,255,255,.025); overflow:hidden; }
.fr-portrait-frame:before { content:""; position:absolute; inset:12px; border:1px solid rgba(215,173,85,.18); border-radius:220px 220px 20px 20px; pointer-events:none; }
.fr-portrait-frame:after { content:"FR"; position:absolute; inset:auto 0 8%; text-align:center; font:700 clamp(7rem,14vw,13rem)/1 Georgia,serif; color:rgba(215,173,85,.055); letter-spacing:-.08em; }
.fr-photo-placeholder { position:relative; z-index:1; max-width:280px; margin:auto; padding-top:205px; }
.fr-stat-strip { border-top:1px solid rgba(215,173,85,.2); border-bottom:1px solid rgba(215,173,85,.2); background:rgba(5,6,8,.72); backdrop-filter:blur(12px); }
.fr-stat { position:relative; }
.fr-stat:not(:last-child):after { content:""; position:absolute; right:0; top:20%; bottom:20%; width:1px; background:rgba(215,173,85,.2); }

.fr-section-kicker { display:flex; align-items:center; justify-content:center; gap:.8rem; }
.fr-section-kicker:before,.fr-section-kicker:after { content:""; width:54px; height:1px; background:linear-gradient(90deg,transparent,var(--fr-gold)); }
.fr-section-kicker:after { transform:scaleX(-1); }
.fr-card-premium { height:100%; border:1px solid rgba(215,173,85,.18); border-radius:18px; overflow:hidden; box-shadow:0 28px 70px rgba(0,0,0,.28); transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease; }
.fr-card-premium:hover { transform:translateY(-8px); border-color:rgba(215,173,85,.58); box-shadow:0 38px 90px rgba(0,0,0,.42); }
.fr-album-art { aspect-ratio:1; min-height:260px; position:relative; overflow:hidden; background:
 radial-gradient(circle at 72% 20%,rgba(240,210,140,.35),transparent 20%),
 linear-gradient(145deg,#4a2514,#191b20 56%,#090a0c); }
.fr-album-art:before { content:""; position:absolute; inset:12%; border:1px solid rgba(255,255,255,.12); transform:rotate(4deg); }
.fr-album-art:after { content:"♪"; position:absolute; inset:0; display:grid; place-items:center; color:rgba(255,255,255,.15); font-size:7rem; }
.fr-album-art.is-radio { background:radial-gradient(circle,#74451d 0%,#24160e 32%,#0a0b0d 75%); }
.fr-album-art.is-radio:after { content:"ON AIR"; font:700 3rem/1 Georgia,serif; letter-spacing:.08em; color:rgba(240,210,140,.28); }
.fr-album-art.is-story { background:linear-gradient(145deg,#263039,#12161a 52%,#4b2818); }
.fr-album-art.is-story:after { content:"FR"; font:700 6rem/1 Georgia,serif; color:rgba(240,210,140,.14); }

.fr-radio-shell { position:relative; overflow:hidden; border:1px solid rgba(215,173,85,.36); border-radius:26px; background:linear-gradient(135deg,#14161a 0%,#21160f 55%,#0b0c0e 100%); box-shadow:0 45px 100px rgba(0,0,0,.42); }
.fr-radio-shell:before { content:""; position:absolute; width:360px; height:360px; right:-120px; top:-170px; border-radius:50%; background:rgba(215,173,85,.14); filter:blur(4px); }
.fr-on-air { display:inline-flex; align-items:center; gap:.6rem; }
.fr-on-air:before { content:""; width:10px; height:10px; border-radius:50%; background:#e84838; box-shadow:0 0 0 6px rgba(232,72,56,.14),0 0 22px rgba(232,72,56,.8); animation:frpulse 1.8s infinite; }
@keyframes frpulse { 50% { opacity:.45; transform:scale(.8); } }
.fr-radio-dial { aspect-ratio:1; max-width:320px; margin:auto; border-radius:50%; border:1px solid rgba(215,173,85,.42); background:radial-gradient(circle at center,#16191e 0 33%,#090a0c 34% 49%,#302013 50% 51%,#111318 52% 70%,#090a0c 71%); box-shadow:inset 0 0 60px rgba(0,0,0,.75),0 35px 70px rgba(0,0,0,.35); position:relative; }
.fr-radio-dial:after { content:"FR RADIO"; position:absolute; inset:0; display:grid; place-items:center; font:700 1.1rem/1 Georgia,serif; letter-spacing:.14em; color:var(--fr-gold-2); }

.fr-video-stage { min-height:440px; display:grid; place-items:center; border-radius:24px; border:1px solid rgba(255,255,255,.1); background:linear-gradient(135deg,rgba(0,0,0,.2),rgba(0,0,0,.8)),radial-gradient(circle at 60% 35%,#67381d,#17191d 45%,#090a0c 80%); box-shadow:0 35px 90px rgba(0,0,0,.4); }
.fr-play { width:94px; height:94px; border-radius:50%; display:grid; place-items:center; border:1px solid rgba(240,210,140,.8); background:rgba(9,10,12,.58); box-shadow:0 0 0 14px rgba(215,173,85,.08); font-size:2rem; }
.fr-news-card { height:100%; border-top:3px solid var(--fr-gold); box-shadow:0 25px 60px rgba(0,0,0,.10); }
.fr-cta-premium { position:relative; overflow:hidden; background:linear-gradient(110deg,#d7ad55,#f0d28c 48%,#aa6b2e); }
.fr-cta-premium:after { content:"FOREST RAYNES"; position:absolute; right:-2%; bottom:-30%; font:700 clamp(4rem,10vw,10rem)/1 Georgia,serif; color:rgba(0,0,0,.07); white-space:nowrap; }
.fr-site-footer { border-top:1px solid rgba(215,173,85,.28); background:radial-gradient(circle at 50% 0,rgba(215,173,85,.1),transparent 24%),#07080a; }

.wp-block-button.is-style-outline .wp-block-button__link { border-color:rgba(215,173,85,.7); color:#f7f1e5; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background:#d7ad55; color:#090a0c; }
.wp-block-post-title a { text-decoration:none; }
.wp-block-query-pagination { margin-top:2.5rem; }

@media (max-width:900px) {
 .fr-hero-premium { min-height:auto; }
 .fr-portrait-frame { min-height:390px; max-width:460px; margin:auto; }
 .fr-photo-placeholder { padding-top:145px; }
 .fr-stat:not(:last-child):after { display:none; }
}
@media (max-width:600px) {
 .fr-display-name { font-size:clamp(3.2rem,19vw,5.6rem)!important; }
 .fr-portrait-frame { min-height:340px; }
 .fr-site-header { backdrop-filter:none; }
}
