/*
Theme Name: Club by FYR (MTC)
Theme URI: https://clubbyfyr.com
Author: Marketing the Change
Author URI: https://marketingthechange.com
Description: FSE editorial theme for Club by FYR: independent demi-fine jewellery magazine. Cream and ink palette with gold accents, Ogg / Cormorant Garamond display, Söhne / Inter body. Custom post types for brand-review, product-review, metals-guide, care-guide, and designer.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 8.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: clubbyfyr-mtc
Tags: full-site-editing, block-patterns, editorial, magazine, one-column, two-columns, custom-colors, custom-menu, featured-images
*/

/* Reset + light-touch overrides. Bulk of styling lives in theme.json. */

:root {
  --cbf-cream: #F6F1E7;
  --cbf-paper: #EFE7D6;
  --cbf-ink: #1A1614;
  --cbf-charcoal: #3A342E;
  --cbf-gold: #B8892C;
  --cbf-gold-soft: #D6B570;
  --cbf-silver: #8C8781;
  --cbf-rose: #B24F42;
  --cbf-sage: #4C5C41;
}

/* Skip link */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 999;
  background: var(--cbf-ink);
  color: #fff;
  padding: 0.75rem 1rem;
  text-decoration: none;
}
.skip-link:focus {
  left: 1rem;
  top: 1rem;
}

/* Body defaults */
body {
  font-feature-settings: "kern", "liga", "onum";
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  background-color: var(--cbf-cream);
  color: var(--cbf-ink);
}

/* Prose width for single articles */
.entry-content > * {
  max-width: 65ch;
  margin-left: auto;
  margin-right: auto;
}
.entry-content .alignwide,
.entry-content .alignfull,
.entry-content .wp-block-columns,
.entry-content .wp-block-group.alignwide,
.entry-content .wp-block-group.alignfull {
  max-width: none;
}

/* Focus states */
*:focus-visible {
  outline: 2px solid var(--cbf-gold);
  outline-offset: 2px;
  border-radius: 2px;
}

/* Link underline behaviour */
.entry-content a:not(.wp-block-button__link) {
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
  color: var(--cbf-ink);
}
.entry-content a:not(.wp-block-button__link):hover {
  color: var(--cbf-gold);
}

/* Rubric badge */
.cbf-rubric {
  display: inline-flex;
  gap: 0.25rem;
  align-items: center;
  font-family: 'Söhne', Inter, sans-serif;
  font-size: 0.85rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--cbf-charcoal);
}
.cbf-rubric .pip {
  width: 10px;
  height: 10px;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  background: var(--cbf-silver);
  display: inline-block;
}
.cbf-rubric .pip.filled {
  background: var(--cbf-gold);
}
.cbf-rubric__total {
  margin-left: 0.5rem;
  font-family: 'Ogg', 'Cormorant Garamond', Georgia, serif;
  font-size: 1.4rem;
  color: var(--cbf-ink);
}

/* Verdict box */
.cbf-verdict {
  background: var(--cbf-paper);
  border-left: 3px solid var(--cbf-gold);
  padding: 1.5rem;
  margin: 2rem 0;
}
.cbf-verdict h4 {
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.85rem;
  color: var(--cbf-charcoal);
  margin: 0 0 0.5rem;
}

/* Editorial standards inline */
.cbf-standards-inline {
  font-size: 0.85rem;
  color: var(--cbf-charcoal);
  border-top: 1px solid var(--cbf-silver);
  border-bottom: 1px solid var(--cbf-silver);
  padding: 0.75rem 0;
  margin: 1.5rem auto;
  max-width: 65ch;
}

/* FTC disclosure */
.cbf-ftc {
  background: var(--cbf-paper);
  padding: 1rem 1.25rem;
  font-size: 0.85rem;
  color: var(--cbf-charcoal);
  border-radius: 4px;
  margin: 1.5rem auto;
  max-width: 65ch;
}
.cbf-ftc strong {
  color: var(--cbf-ink);
}

/* Card grids */
.cbf-card {
  background: var(--cbf-paper);
  padding: 1.5rem;
  border-top: 1px solid var(--cbf-silver);
}
.cbf-card__eyebrow {
  font-family: 'Söhne', Inter, sans-serif;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--cbf-charcoal);
}
.cbf-card__title {
  font-family: 'Ogg', 'Cormorant Garamond', Georgia, serif;
  font-size: 1.4rem;
  color: var(--cbf-ink);
  margin: 0.25rem 0 0.5rem;
}

/* Pull-quote */
.cbf-quote {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: 1.6rem;
  line-height: 1.35;
  color: var(--cbf-ink);
  border-left: 2px solid var(--cbf-gold);
  padding-left: 1.25rem;
  margin: 2rem 0;
}

/* Buttons */
.wp-block-button__link {
  border-radius: 12px;
  padding: 14px 24px;
  font-family: 'Söhne', Inter, sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.85rem;
  font-weight: 600;
}

/* Byline strip */
.cbf-byline {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: 'Söhne', Inter, sans-serif;
  font-size: 0.9rem;
  color: var(--cbf-charcoal);
  margin: 1rem 0 2rem;
}
.cbf-byline__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--cbf-silver);
  flex: 0 0 48px;
}
.cbf-byline__reviewed {
  margin-left: auto;
  font-size: 0.85rem;
  color: var(--cbf-charcoal);
}

/* Reduce-motion respect */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
