/*
Theme Name: Smashstar Media
Theme URI: https://smashstarmedia.com/
Author: Smashstar Media
Description: Smashstar Media's native Gutenberg theme foundation with reusable templates, patterns, and styles.
Version: 27.0.0
Requires at least: 7.1
Tested up to: 7.1
Requires PHP: 7.2
Text Domain: smcom-27
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root { color-scheme: dark; }
html { scroll-behavior: smooth; }
body { background: var(--wp--preset--color--midnight); }
:root :where(.is-layout-flow) > *,
:where(.wp-site-blocks) > * {
    margin-block-start: 0;
}

header{
  position:sticky;
  top:0px;
  z-index:99;
}

/* Clear, keyboard-visible focus works in both the front end and editor canvas. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.wp-block-button__link:focus-visible {
  outline: 3px solid var(--wp--preset--color--lime);
  outline-offset: 3px;
}

button:hover, button:focus-visible,
.wp-block-button__link:hover, .wp-block-button__link:focus-visible,
.site-header .wp-block-navigation-item:last-child .wp-block-navigation-item__content:hover,
.site-header .wp-block-navigation-item:last-child .wp-block-navigation-item__content:focus-visible{
  outline: 3px solid var(--wp--preset--color--white);
  outline-offset: 3px;
  transition: outline-offset .2s ease, outline-color .2s ease;
}

.wp-site-blocks { overflow: clip; }
.wp-block-site-title a { text-decoration: none; }
.wp-block-navigation .wp-block-navigation-item__content { text-decoration: none; }

.smashstar-hero {
  background:
    radial-gradient(ellipse at 78% 16%, rgb(98 124 255 / 38%), transparent 40%),
    linear-gradient(155deg, #253bb2 0%, #111c66 48%, #0b1030 100%);
  position: relative;
  overflow: hidden;
}
.smashstar-hero,
.smashstar-hero > .wp-block-group {
  width: 100%;
}
.smashstar-hero > .wp-block-group {
  max-width: 90rem;
  margin-right: auto;
  margin-left: auto;
  padding-right: clamp(1.5rem, 6vw, 7rem);
  padding-left: clamp(1.5rem, 6vw, 7rem);
}
.smashstar-hero::after {
  content: "";
  position: absolute;
  width: min(42vw, 34rem);
  aspect-ratio: 1;
  right: -8rem;
  top: 12%;
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 50%;
  box-shadow: 0 0 0 2.5rem rgb(255 255 255 / 3%), 0 0 0 5rem rgb(255 255 255 / 2%);
  pointer-events: none;
}
.smashstar-kicker {
  color: var(--wp--preset--color--lime);
  font-family: var(--wp--preset--font-family--mono);
  font-size: var(--wp--preset--font-size--small);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.smashstar-hero h1 { max-width: 13ch; }
.smashstar-hero .wp-block-buttons { margin-top: var(--wp--preset--spacing--40); }

/* Compact station strip and fixed-looking navigation from the Sites concept. */
.site-header-wrap { background: #0b1030; }
.site-utility {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .6rem 1.5rem;
  border-bottom: 1px solid rgb(255 255 255 / 12%);
  color: #c0c5dc;
  font: 600 .68rem/1.4 var(--wp--preset--font-family--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.site-utility p { margin: 0; }
.on-air-dot { color: var(--wp--preset--color--lime); }
.site-header { padding-right: 1.5rem; padding-left: 1.5rem; }
.site-header > .wp-block-group { max-width: 90rem !important; margin-inline: auto; }
.site-header .wp-block-site-title a { font-weight: 700; }
.site-header .wp-block-site-logo img,.site-footer .wp-block-site-logo img { border-radius: 50%; }
.site-header .wp-block-navigation-item__content { padding: .65rem .75rem; }
.site-header .wp-block-navigation-item:last-child .wp-block-navigation-item__content {
  padding: .8rem 1.15rem;
  border-radius: 20px;
  color: var(--wp--preset--color--midnight);
  background: var(--wp--preset--color--lime);
  font-weight: 800;
}

.hero-layout { align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.hero-layout > .wp-block-column { min-width: 0; }
.hero-art-column { display: flex; justify-content: center; }
.crt-art.wp-block-group {
  position: relative;
  display: grid;
  width: min(100%, 29rem);
  aspect-ratio: 1.18;
  padding: 8%;
  place-items: center;
  border: .8rem solid #59628e;
  border-radius: 3.2rem 3.2rem 4rem 3.2rem;
  background: linear-gradient(145deg,#48527c,#222a4e 72%);
  box-shadow: 0 1.5rem 3rem rgb(0 0 0 / 35%), inset 0 0 0 .35rem #30385f;
  transform: rotate(-4deg);
}
.crt-art.wp-block-group::before {
  content: "FM 88.8 · ALL FEEL";
  position: absolute;
  top: 4%;
  left: -28%;
  padding: .6rem .8rem;
  border: 1px solid #8c9cff;
  color: #c0c5dc;
  background: #101638;
  font: .62rem var(--wp--preset--font-family--mono);
  letter-spacing: .12em;
  transform: rotate(-8deg);
}
.crt-art.wp-block-group::after {
  content: "WORLD WIDE WONDER";
  position: absolute;
  right: -28%;
  bottom: 9%;
  padding: .6rem .8rem;
  border: 1px solid #8c9cff;
  color: var(--wp--preset--color--lime);
  background: #101638;
  font: .62rem var(--wp--preset--font-family--mono);
  letter-spacing: .1em;
  transform: rotate(7deg);
}
.crt-screen.wp-block-group {
  width: 100%;
  padding: 2rem 1rem;
  border-radius: 28% / 16%;
  color: var(--wp--preset--color--lime);
  background: radial-gradient(ellipse,#263020,#090e0b 72%);
  box-shadow: inset 0 0 2.5rem #000, 0 0 1px 1px rgb(255 255 255 / 20%);
  text-align: center;
  text-transform: uppercase;
}
.crt-eyebrow,.crt-caption { font: .58rem var(--wp--preset--font-family--mono); letter-spacing: .16em; }
.crt-screen h2 { margin: .5rem 0; color: #d9ff38; font-size: clamp(1.7rem,4vw,3.2rem); line-height: .9; text-shadow: 0 0 1rem rgb(217 255 56 / 45%); }
.crt-screen .wp-block-separator { max-width: 5rem; }
.crt-caption { margin-bottom: 0; }
.signal-ticker {
  overflow: hidden;
  padding: .85rem 0;
  color: var(--wp--preset--color--midnight);
  background: var(--wp--preset--color--lime);
  white-space: nowrap;
}
.signal-ticker__track {
  display: flex;
  width: max-content;
  flex-wrap: nowrap;
  animation: signal-ticker-scroll 36s linear infinite;
  will-change: transform;
}
.signal-ticker:hover .signal-ticker__track,
.signal-ticker:focus-within .signal-ticker__track {
  animation-play-state: paused;
}
.signal-ticker__track p {
  flex: 0 0 auto;
  width: max-content;
  margin: 0;
  font: 700 .75rem var(--wp--preset--font-family--mono);
  letter-spacing: .13em;
  text-transform: uppercase;
}
@keyframes signal-ticker-scroll {
  to { transform: translateX(-50%); }
}

/* Shared-rule, three-panel layout for editable Columns blocks. */
.is-style-three-panel-values {
  gap: 0;
  border-top: 1px solid rgb(191 203 255 / 24%);
  border-bottom: 1px solid rgb(191 203 255 / 24%);
}
.is-style-three-panel-values > .wp-block-column {
  padding: 1.5rem clamp(1rem,2vw,2rem);
}
.is-style-three-panel-values > .wp-block-column:first-child { padding-left: 0; }
.is-style-three-panel-values > .wp-block-column:last-child { padding-right: 0; }
.is-style-three-panel-values > .wp-block-column + .wp-block-column {
  border-left: 1px solid rgb(191 203 255 / 24%);
}

.portfolio-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: 2rem; }
.portfolio-card { min-height: 100%; transition: transform .2s ease,border-color .2s ease,background-color .2s ease; }
.portfolio-card .wp-block-buttons { margin-top: auto; padding-top: 1.25rem; }
.portfolio-card:hover { transform: translateY(-4px); border-color: rgb(191 203 255 / 48%); }
.frequency-section { padding: clamp(4rem,8vw,8rem) 0; background: #101638; }
.frequency-layout { align-items: center; gap: clamp(2rem,5vw,5rem); }
.frequency-values { gap: 1.25rem; margin-top: 2rem; }
.frequency-values h3 { font-size: 1.1rem; }
.tuner-art {
  position: relative;
  display: flex;
  min-height: 25rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid rgb(191 203 255 / 24%);
  border-radius: 50%;
  background: radial-gradient(circle,#253bb2,#101638 68%);
  box-shadow: 0 0 0 1.25rem rgb(140 156 255 / 5%),0 0 0 2.5rem rgb(140 156 255 / 3%);
  text-align: center;
}
.tuner-art h3 { margin: .5rem 0; color: var(--wp--preset--color--lime); font-size: clamp(4rem,10vw,8rem); line-height: .8; text-shadow: 0 0 1rem rgb(217 255 56 / 35%); }
.tuner-label,.tuner-frequency { color: #c0c5dc; font: .7rem var(--wp--preset--font-family--mono); letter-spacing: .15em; }
.tuner-frequency { color: var(--wp--preset--color--lime); }
.portfolio-section { padding-bottom: clamp(4rem,8vw,8rem) !important; }
.studio-section,.services-section { padding: clamp(4rem,8vw,7rem) 0; }
.studio-section { background: var(--wp--preset--color--midnight); }
.services-section { background: #111935; }
.section-lead { align-items: center; gap: clamp(2rem,6vw,6rem); margin-bottom: 2rem; }
.section-lead h2 { max-width: 14ch; }
.studio-values,.service-cards { gap: .75rem; }
.service-card,.portfolio-card {
  height: 100%;
  padding: clamp(1.25rem,2.3vw,2rem);
  border: 1px solid rgb(191 203 255 / 18%);
  border-radius: 1rem;
  background: linear-gradient(145deg,#1b2347,#151b38);
}
.studio-value-card { height: 100%; }
.studio-value-card h3,.service-card h3,.portfolio-card h3 { margin: 1rem 0 .65rem; font-size: clamp(1.1rem,1.5vw,1.35rem); }
.studio-value-card p:last-child,.service-card p:last-child,.portfolio-card p:last-child { color: #c0c5dc; }
.service-card { transition: transform .2s ease,border-color .2s ease,background-color .2s ease; }
.service-card:hover { transform: translateY(-4px); border-color: rgb(191 203 255 / 48%); }
.is-style-service-highlight { background: linear-gradient(145deg,#20294d,#171f3d); border-color: rgb(217 255 56 / 25%); }
.is-style-blue-highlight { background: linear-gradient(145deg,#20264e,#171d3b); border-color: rgb(140 156 255 / 40%); }
.is-style-lime-highlight { background: linear-gradient(145deg,#202d3b,#171f36); border-color: rgb(151 230 100 / 38%); }
.service-cards > .wp-block-column:nth-child(1) .service-card { border-color: rgb(217 255 56 / 25%); }
.service-cards > .wp-block-column:nth-child(2) .service-card { border-color: rgb(140 156 255 / 40%); }
.service-cards > .wp-block-column:nth-child(3) .service-card { border-color: rgb(151 230 100 / 38%); }
.is-style-service-highlight:hover { border-color: var(--wp--preset--color--lime); }
.is-style-blue-highlight:hover { border-color: #8c9cff; }
.is-style-lime-highlight:hover { border-color: #97e664; }
.service-card h3 { margin-top: 1rem; }
.service-card p:last-child { margin-bottom: 0; }
.service-card-top { margin-bottom: 1.5rem; }
.value-icon,.portfolio-mark {
  display: grid;
  width: 2.65rem;
  height: 2.65rem;
  margin: 0;
  place-items: center;
  border-radius: 50%;
  color: #0b1030;
  font-size: 1.2rem;
  font-weight: 700;
}
.value-icon-lime,.mark-lime { background: #d9ff38; }
.value-icon-blue,.mark-blue { background: #286ef1; }
.value-icon-ultra,.mark-ultra { background: #a9a0ff; }
.value-icon-green,.mark-green { background: #82de55; }
.value-icon-green,.mark-purple { background: #8630cd; }
.value-icon-green,.mark-white { background: #ffffff; }
.service-card { min-height: 16rem; }
.service-arrow { color: #a9a0ff; font-size: 1.25rem; }
.portfolio-grid { gap: .9rem; }
.portfolio-card { min-height: 16.5rem; }
.portfolio-mark { border-radius: .75rem; font-size: .9rem; }
.portfolio-card .smashstar-kicker { margin: .9rem 0 .2rem; font-size: .65rem; }
.portfolio-card .portfolio-link { margin-top: auto; padding-top: .75rem; font: 600 .78rem var(--wp--preset--font-family--mono); }
.portfolio-card .portfolio-link a { color: var(--wp--preset--color--lime); text-decoration: none; }
.portfolio-card:has(.mark-blue) .portfolio-link a {
  color: #286ef1;
}
.portfolio-card:has(.mark-lime) .portfolio-link a {
  color: #d9ff38;
}
.portfolio-card:has(.mark-ultra) .portfolio-link a {
  color: #a9a0ff;
}
.portfolio-card:has(.mark-green) .portfolio-link a {
  color: #82de55;
}
.portfolio-card:has(.mark-purple) .portfolio-link a {
  color: #8630cd;
}
.portfolio-card:has(.mark-white) .portfolio-link a {
  color: #ffffff;
}

mark.has-inline-color.has-electric-blue-color {
  color: transparent !important;
  background: linear-gradient(90deg, #286ef1, #a9a0ff, #d9ff38, #286ef1) !important;
  background-size: 300% 100%;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  animation: super-electric-blue-gradient 8s linear infinite;
}
@keyframes super-electric-blue-gradient {
  to { background-position: 300% 0; }
}
.frequency-section { padding: clamp(4rem,8vw,8rem) 0; background: #0d1230; }
.frequency-layout { align-items: center; gap: clamp(3rem,7vw,7rem); }
.frequency-dial {
  position: relative;
  display: grid;
  width: min(100%,28rem);
  aspect-ratio: 1;
  margin-inline: auto;
  place-items: center;
  border: 1px solid rgb(169 160 255 / 20%);
  border-radius: 50%;
  background: repeating-radial-gradient(circle at center,transparent 0 2.2rem,rgb(169 160 255 / 12%) 2.25rem 2.3rem,transparent 2.35rem 3.8rem),radial-gradient(circle,#171e48,#0d1230 70%);
}
.frequency-dial::before {
  content: "";
  position: absolute;
  width: 46%;
  height: 1px;
  top: 50%;
  left: 50%;
  background: linear-gradient(90deg,#a9a0ff,transparent);
  transform: rotate(-55deg);
  transform-origin: left center;
}
.dial-center { display: grid; width: 6.5rem; aspect-ratio: 1; margin: 0; place-items: center; border: 1px solid rgb(169 160 255 / 45%); border-radius: 50%; color: var(--wp--preset--color--lime); background: #202a5b; font-size: 3rem; box-shadow: 0 0 2.5rem rgb(140 156 255 / 15%); }
.dial-label { position: absolute; margin: 0; color: #c0c5dc; font: .62rem var(--wp--preset--font-family--mono); letter-spacing: .12em; text-transform: uppercase; }
.dial-make { top: 13%; left: 48%; }
.dial-share { top: 48%; left: 5%; }
.dial-access { top: 48%; right: 5%; }
.dial-delight { bottom: 13%; left: 42%; }
.frequency-list { margin-top: 2rem; }
.frequency-item { gap: .75rem; margin: 0; padding: 1rem 0; border-top: 1px solid rgb(191 203 255 / 18%); }
.frequency-item:last-child { border-bottom: 1px solid rgb(191 203 255 / 18%); }
.frequency-item h3 { margin: 0 0 .35rem; font-size: 1rem; }
.frequency-item p { margin: 0; color: #c0c5dc; font-size: .9rem; }
.frequency-item .frequency-number { color: var(--wp--preset--color--lime); font: .75rem var(--wp--preset--font-family--mono); }
.site-footer { padding: 3rem 0 1.25rem; background: #0b1030; }
.site-footer > .wp-block-group { max-width: 90rem !important; margin-inline: auto; padding-inline: clamp(1.5rem,2.5vw,2.5rem); }
.footer-main { align-items: flex-start; gap: 2rem; }
.site-footer .wp-block-site-title a { color: var(--wp--preset--color--paper); text-decoration: none; font-weight: 800; }
.site-footer .wp-block-site-title { text-transform: lowercase; }
.site-footer .wp-block-navigation { justify-content: flex-end; }
.site-footer .wp-block-navigation-item__content { color: #d5d8e9; text-decoration: none; font-size: .8rem; }
.site-footer a { color: #c0c5dc; }
.footer-rule { margin: 2rem 0 1rem; border: 0; height: 1px; background: rgb(191 203 255 / 20%); }
.footer-legal { gap: 1rem; }
.footer-legal p { margin: 0; color: #a9afc8; font: .62rem var(--wp--preset--font-family--mono); letter-spacing: .08em; text-transform: uppercase; }

/* Theme styles appear in the Styles panel via registered block styles. */
.is-style-smashstar-card {
  height: 100%;
  padding: var(--wp--preset--spacing--40);
  border: 1px solid rgb(191 203 255 / 24%);
  border-radius: 1rem;
  background: linear-gradient(145deg, #1b2552, #151c3b);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.is-style-smashstar-card:hover {
  transform: translateY(-3px);
  border-color: var(--wp--preset--color--lime);
  box-shadow: 0 1rem 2.5rem rgb(0 0 0 / 20%);
}
.is-style-smashstar-blue-panel {
  padding: var(--wp--preset--spacing--50);
  border: 1px solid rgb(191 203 255 / 20%);
  border-radius: 1rem;
  background: #15204b;
}
.is-style-smashstar-green-panel {
  padding: var(--wp--preset--spacing--50);
  border-radius: 1rem;
  color: var(--wp--preset--color--midnight);
  background: var(--wp--preset--color--lime);
}
.is-style-glass-card {
  padding: var(--wp--preset--spacing--40);
  border: 1px solid rgb(255 255 255 / 20%);
  border-radius: 1.25rem;
  background: linear-gradient(145deg,rgb(255 255 255 / 12%),rgb(255 255 255 / 4%));
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 12%),0 1rem 2.5rem rgb(0 0 0 / 20%);
  backdrop-filter: blur(12px);
}
.is-style-neon-outline .wp-block-button__link {
  border: 1px solid var(--wp--preset--color--lime);
  border-radius: 999px;
  color: var(--wp--preset--color--lime);
  background: transparent;
  box-shadow: 0 0 .8rem rgb(217 255 56 / 18%);
}
.is-style-glass .wp-block-button__link {
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 999px;
  color: var(--wp--preset--color--paper);
  background: rgb(255 255 255 / 8%);
  backdrop-filter: blur(8px);
}
.is-style-neon-divider {
  height: 2px;
  border: 0;
  background: linear-gradient(90deg,transparent,#3df2ff,#286ef1,#ff4fd8,transparent);
  box-shadow: 0 0 .8rem rgb(61 242 255 / 40%);
}
.is-style-smashstar-button .wp-block-button__link {
  border-radius: 999px;
  font-weight: 700;
  transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.is-style-smashstar-button .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 .5rem 1.4rem rgb(0 0 0 / 24%);
}
.is-style-smashstar-crt img {
  border: .65rem solid #59628e;
  border-radius: 2rem;
  box-shadow: inset 0 0 0 .35rem #30385f, 0 1.2rem 2.5rem rgb(0 0 0 / 30%);
}
.is-style-smashstar-signal {
  width: 100%;
  max-width: none;
  border: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--wp--preset--color--lime) 12%, var(--wp--preset--color--electric-blue) 88%, transparent);
}
.smashstar-contact-band {
  color: var(--wp--preset--color--midnight);
  background: var(--wp--preset--color--lime);
}
.smashstar-contact-band a { color: inherit; }
.smashstar-contact-band .smashstar-kicker { color: var(--wp--preset--color--midnight); }
.smashstar-contact-band .wp-block-button__link { border-radius: .3rem; color: var(--wp--preset--color--paper); background: var(--wp--preset--color--midnight); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (max-width: 781px) {
  .site-utility { flex-wrap: wrap; justify-content: center; text-align: center; font-size: .58rem; }
  .site-header > .wp-block-group { flex-wrap: wrap; justify-content: center; }
  .site-header .wp-block-navigation { justify-content: center; }
  .hero-layout,.frequency-layout { gap: 2rem; }
  .hero-art-column { margin-top: 1rem; }
  .crt-art.wp-block-group { width: min(80%,24rem); }
  .crt-art.wp-block-group::before { left: -12%; }
  .crt-art.wp-block-group::after { right: -12%; }
  .portfolio-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tuner-art { min-height: 18rem; max-width: 24rem; margin: 0 auto 2rem; }
  .section-lead { gap: .75rem; }
  .is-style-three-panel-values { flex-direction: column; }
  .is-style-three-panel-values > .wp-block-column,
  .is-style-three-panel-values > .wp-block-column:first-child,
  .is-style-three-panel-values > .wp-block-column:last-child { padding: 1.25rem 0; }
  .is-style-three-panel-values > .wp-block-column + .wp-block-column { border-top: 1px solid rgb(191 203 255 / 24%); border-left: 0; }
  .frequency-dial { width: min(80%,22rem); margin-bottom: 2rem; }
  .footer-main > .wp-block-column:last-child { margin-top: 1.25rem; }
  .site-footer .wp-block-navigation { justify-content: flex-start; }
  .footer-legal { gap: .25rem; }
  .footer-legal p { text-align: left !important; }
}
@media (max-width: 520px) {
  .site-utility p:last-child { display: none; }
  .portfolio-grid { grid-template-columns: 1fr; }
}
