/*
Theme Name: The Great Defection
Theme URI: https://thegreatdefection.com
Author: The Great Defection
Author URI: https://thegreatdefection.com
Description: Custom block theme for The Great Defection podcast — violet-black, neon-purple, and nazar-blue, set in Anton, Archivo, and Space Mono. Built for full-site editing.
Version: 1.0.6
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tgd
*/

/* Small utility classes theme.json can't express — split wordmark, pull-quote,
   tracked mono labels. Everything else (color, type, spacing) lives in theme.json. */

.tgd-split-a { color: var(--wp--preset--color--neon-purple); }
.tgd-split-b { color: var(--wp--preset--color--orchid-white); }
.has-violet-black-background-color .tgd-split-b,
.has-violet-black-background-color.tgd-split-b { color: var(--wp--preset--color--orchid-white); }
body .tgd-split-b { color: var(--wp--preset--color--violet-black); }
.has-violet-black-background-color .tgd-split-b { color: var(--wp--preset--color--orchid-white) !important; }

.tgd-label {
  font-family: var(--wp--preset--font-family--space-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 700;
  font-size: 0.8125rem;
}

/* Card/post titles: violet-black, not link-purple (matches comp) */
.wp-block-post-title a { color: inherit; text-decoration: none; }
.wp-block-post-title a:hover { color: var(--wp--preset--color--neon-purple); }

/* Excerpts: small + muted (matches comp) */
.wp-block-post-excerpt { font-size: 0.875rem; color: #6b6577; line-height: 1.4; }
.wp-block-post-excerpt .wp-block-post-excerpt__more-link { color: var(--wp--preset--color--neon-purple); }

.tgd-quote {
  background: var(--wp--preset--color--neon-purple);
  color: var(--wp--preset--color--violet-black);
  padding: clamp(28px, 5vw, 56px);
  border-radius: 3px;
}
.tgd-quote p {
  font-family: var(--wp--preset--font-family--anton);
  text-transform: uppercase;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.1;
  margin: 0;
}
.tgd-quote em { color: var(--wp--preset--color--orchid-white); font-style: normal; }

/* Episode meta row (single-episode template) */
.tgd-episode-meta {
  font-family: var(--wp--preset--font-family--space-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--wp--preset--color--muted-dark);
  font-size: 0.8rem;
}

/* Separators: color by context (custom colors are applied here, not in block attrs) */
.wp-block-separator { border: none; border-top: 1px solid #e3d9ee; opacity: 1; }
.has-violet-black-background-color .wp-block-separator { border-top-color: #2c2138; }

/* Quotes: no default left border bar (comp has a clean panel) */
.wp-block-quote, .wp-block-quote.is-style-tgd-neon {
  border: none;
  margin-left: 0;
  margin-right: 0;
}

/* Buttons: violet-black fill -> neon-purple on hover */
.wp-block-button__link {
  border-radius: 3px !important;
  font-family: var(--wp--preset--font-family--space-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  transition: background-color .15s ease, color .15s ease;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--neon-purple) !important;
  color: var(--wp--preset--color--violet-black) !important;
}

/* Video thumbnail play-button overlay (Episodes archive grid) */
.tgd-video-thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.tgd-video-thumb img { width: 100%; height: 100%; object-fit: cover; }
.tgd-video-thumb::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 0; height: 0;
  border-style: solid;
  border-width: 12px 0 12px 20px;
  border-color: transparent transparent transparent #ECE0F7;
  transform: translate(-45%, -50%);
  filter: drop-shadow(0 1px 4px rgba(0,0,0,.4));
}
.tgd-video-card { cursor: pointer; }

/* Featured-post slider (Blog homepage) */
.tgd-slider { position: relative; }
.tgd-slider .tgd-slide { position: relative; overflow: hidden; }
.tgd-slider .tgd-slide img { width: 100%; height: 100%; object-fit: cover; }
.tgd-slider-prev,
.tgd-slider-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px; height: 44px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.9);
  box-shadow: 0 2px 10px rgba(0,0,0,.2);
  font: 700 18px Archivo, sans-serif;
  cursor: pointer;
}
.tgd-slider-prev { left: 24px; }
.tgd-slider-next { right: 24px; }
.tgd-slider-dots {
  position: absolute;
  bottom: 16px;
  right: 40px;
  display: flex;
  gap: 8px;
}
.tgd-slider-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  border: none;
  background: #ddd0ee;
  cursor: pointer;
  padding: 0;
}
.tgd-slider-dot[aria-current="true"] { background: var(--wp--preset--color--neon-purple); }
