/*
Theme Name: Rick Duncan Game Day
Theme URI: https://blog.rickduncan.net
Author: Rick Duncan
Author URI: https://rickduncan.net
Description: A lightweight block theme for Rick Duncan's blog. Navy header band, Tennessee Orange accents, Inter type. Random musings about technology and life.
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.0.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rickduncan-gameday
Tags: blog, block-theme, full-site-editing, one-column, wide-blocks, accessibility-ready
*/

/* Colors are colors only. Contrast rules: orange text only on Navy; Ink text on Orange/Summitt fills;
   never white on Orange/Summitt; Summitt text only on Navy/Ink; Orange never touches Summitt. */

:root{
  --rd-orange:var(--wp--preset--color--orange);
  --rd-summitt:var(--wp--preset--color--summitt-blue);
  --rd-ink:var(--wp--preset--color--ink);
  --rd-white:var(--wp--preset--color--white);
  --rd-navy:var(--wp--preset--color--navy);
  --rd-graphite:var(--wp--preset--color--graphite);
  --rd-paper:var(--wp--preset--color--paper);
  --rd-line:var(--wp--preset--color--line);
}
body{-webkit-text-size-adjust:100%}
:where(.wp-site-blocks) :focus-visible{outline:3px solid var(--rd-navy);outline-offset:3px;border-radius:4px}
.wp-site-blocks{padding-top:0;padding-bottom:0}
.wp-site-blocks > *{margin-block-start:0}
a:hover{text-underline-offset:3px}

/* ---------- Header ---------- */
.rd-site-header{background:var(--rd-navy);color:var(--rd-white);border-bottom:6px solid var(--rd-orange);
  padding-top:1.4rem;padding-bottom:1.4rem}
.rd-site-header :focus-visible{outline-color:var(--rd-white)}
.rd-site-header__inner{gap:1.5rem}
.rd-brand{gap:.2rem}
.rd-wordmark{margin:0;font-size:1.9rem;font-weight:800;letter-spacing:-0.025em;line-height:1.1}
.rd-wordmark a,.rd-wordmark{color:var(--rd-white)}
.rd-wordmark a:hover{text-decoration:none}
/* RD Weave monogram left of the title, one link. 40px tile (glyph ~35px tall); the gap plus the
   file's own side margin gives >=25% of the mark's width as clear space. Tagline lines up with the title text. */
.rd-wordmark a{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}
.rd-wordmark .rd-mark{display:block;flex:none;width:40px;height:40px;margin:-4px 0}
.rd-brand:has(.rd-mark) .rd-tagline{padding-left:calc(40px + .5rem)}
.rd-tagline{margin:0;color:var(--rd-summitt);font-size:1rem}
.rd-nav{gap:.25rem}
.rd-site-header .rd-nav .wp-block-navigation-item__content{color:var(--rd-orange);font-weight:700;padding:.45rem .85rem}
.rd-site-header .rd-nav .wp-block-navigation-item__content:hover{text-decoration:underline}
.rd-site-header .rd-nav .rd-nav-blog .wp-block-home-link__content,
.rd-site-header .rd-nav .rd-nav-blog .wp-block-navigation-item__content{color:var(--rd-white);box-shadow:inset 0 -3px 0 var(--rd-orange)}

/* ---------- Footer ---------- */
.rd-site-footer{background:var(--rd-navy);color:var(--rd-white);padding-top:1.5rem;padding-bottom:1.5rem;margin-top:3rem;font-size:.9rem}
.rd-site-footer :focus-visible{outline-color:var(--rd-white)}
.rd-site-footer p{margin:0}
.rd-site-footer a{color:var(--rd-summitt);font-weight:600}
.rd-footer-right{gap:1.25rem}
.rd-social.wp-block-social-links{gap:.5rem;margin:0}
.rd-social .wp-social-link{color:var(--rd-summitt)!important;background:transparent!important}
.rd-social .wp-social-link a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
  padding:0!important;border:1.5px solid var(--rd-summitt);border-radius:50%;color:var(--rd-summitt)}
.rd-social .wp-social-link svg{width:20px;height:20px;fill:currentColor}
.rd-social .wp-social-link a:hover{background:var(--rd-summitt);color:var(--rd-ink);text-decoration:none}
.rd-social .wp-social-link:hover{transform:none}

/* ---------- Main ---------- */
.rd-main{padding-top:2.5rem}
.rd-main--single{padding-top:0}

/* Meta, badges, kicker */
.rd-meta{gap:.35rem .6rem;align-items:center;font-size:.9rem;color:var(--rd-graphite)}
.rd-meta > *{margin:0}
.rd-badge,.rd-kicker-terms{margin:0}
.rd-badge a{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  background:var(--rd-summitt);color:var(--rd-ink);border-radius:999px;padding:.15rem .6rem;text-decoration:none}
.rd-badge .wp-block-post-terms__separator{display:none}
.rd-kicker,.rd-kicker-terms a{display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  background:var(--rd-orange);color:var(--rd-ink);padding:.15rem .55rem;border-radius:4px;text-decoration:none}
.rd-kicker{margin:0}
.rd-kicker-terms .wp-block-post-terms__separator{display:none}
.rd-kicker-terms a + a{margin-left:.35rem}

/* Image slots (1200x630). Empty slot shows a plain color block. */
.wp-block-post-featured-image img{border-radius:inherit}
.rd-featured__image,.rd-post-image{border-radius:10px;overflow:hidden}

/* Featured latest post */
.rd-featured-query{margin-bottom:3rem}
.rd-featured-list{list-style:none;padding:0;margin:0}
.rd-featured{gap:2rem;margin:0}
.rd-featured__image{background:var(--rd-orange);aspect-ratio:1200/630;margin:0}
.rd-featured__title{font-size:clamp(1.65rem,3vw,2.3rem);margin:.6rem 0 .75rem}
.rd-featured__title a,.rd-card__title a{color:var(--rd-ink)}
.rd-featured .wp-block-post-excerpt{font-size:1.08rem}
.rd-featured .wp-block-post-excerpt__excerpt{margin:0}
.rd-button.wp-block-read-more{display:inline-block;margin-top:1.25rem;background:var(--rd-navy);color:var(--rd-white);
  font-weight:700;border-radius:6px;padding:.6rem 1.1rem;font-size:.95rem;text-decoration:none}
.rd-button.wp-block-read-more:hover{background:var(--rd-summitt);color:var(--rd-ink);text-decoration:none}

/* Section title with orange bar */
.rd-section-title{display:flex;align-items:center;gap:.75rem;font-size:1.15rem;margin-bottom:1.25rem}
.rd-section-title::before{content:"";width:28px;height:6px;background:var(--rd-orange);border-radius:3px;flex:none}

/* Card grid */
.rd-grid{gap:1.5rem}
.rd-card{border:1px solid var(--rd-line);border-radius:12px;overflow:hidden;background:var(--rd-white);height:100%;
  display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.rd-card:hover{box-shadow:0 6px 16px rgba(19,41,75,.08);transform:translateY(-2px)}
.rd-card > *{margin:0}
.rd-card__image{background:var(--rd-navy);aspect-ratio:1200/630;margin:0}
.rd-card__body{padding:1rem 1.1rem 1.25rem}
.rd-card__body > *{margin-block:0}
.rd-card__title{font-size:1.2rem;margin:.45rem 0 .4rem!important}
.rd-card .wp-block-post-excerpt{font-size:.95rem}
.rd-card .wp-block-post-excerpt__excerpt{margin:0}
.rd-card .wp-block-post-excerpt__more-text{margin-top:.4rem}
@media (max-width:900px){.rd-grid.wp-block-post-template-is-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.rd-grid.wp-block-post-template-is-layout-grid{grid-template-columns:1fr}}

.rd-pagination{margin-top:2.5rem;gap:.75rem;font-weight:700}
.rd-pagination .page-numbers.current{background:var(--rd-navy);color:var(--rd-white);border-radius:6px;padding:.2rem .6rem}

/* ---------- Navy title band ---------- */
.rd-band{background:var(--rd-navy);color:var(--rd-white);padding-top:2.75rem;padding-bottom:2.75rem}
.rd-band:has(+ .rd-main--single .rd-post-image){padding-bottom:5.5rem}
.rd-band__title{color:var(--rd-white)!important;font-size:clamp(1.9rem,4.5vw,2.75rem);margin:.8rem 0 .7rem;max-width:820px}
.rd-band__desc,.rd-band__desc p{color:var(--rd-white)}
.rd-band__meta,.rd-band__meta a{color:var(--rd-summitt)}
.rd-band .wp-block-post-date{color:var(--rd-summitt)}
.rd-band__meta .wp-block-post-author-name::before{content:"· by "}
.rd-band :focus-visible{outline-color:var(--rd-white)}
.rd-band .rd-search{max-width:560px;margin-top:1rem}
.rd-search .wp-block-search__button{background:var(--rd-summitt);color:var(--rd-ink);border:0;font-weight:700;border-radius:6px}

.rd-post-image{margin-top:-4rem!important;margin-bottom:2.5rem;background:var(--rd-paper);border:1px solid var(--rd-line);
  box-shadow:0 10px 30px rgba(19,41,75,.15)}
.rd-main--single > :first-child:not(.rd-post-image){margin-top:2.5rem}

/* ---------- Post body ---------- */
.rd-prose{font-size:1.1875rem;line-height:1.75}
.rd-prose > * + *{margin-block-start:1.15em}
.rd-prose h2{margin-top:2em}
.rd-prose h3{margin-top:1.6em}
.rd-prose a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.rd-prose a:hover{text-decoration-thickness:2px}
.rd-prose li + li{margin-top:.35em}
.rd-prose code{font-size:.9em;background:var(--rd-paper);border:1px solid var(--rd-line);border-radius:4px;padding:.05em .35em}
.rd-prose pre code{border:0;padding:0}

.rd-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}
.rd-tags a{font-size:.85rem;border:1px solid var(--rd-line);border-radius:999px;padding:.2rem .75rem;color:var(--rd-navy)}
.rd-tags .wp-block-post-terms__separator{display:none}
.rd-postnav{margin-top:2.5rem;gap:1rem;font-weight:700}
.rd-postnav > *{margin:0}
.rd-comments{margin-top:3rem;border-top:1px solid var(--rd-line);padding-top:2rem}
.rd-comment{border-bottom:1px solid var(--rd-line);padding-bottom:1rem}

@media (max-width:781px){
  .rd-featured{gap:1.25rem}
}
@media (max-width:640px){
  .rd-site-header{padding-top:1.1rem;padding-bottom:.9rem}
  .rd-site-header__inner{flex-direction:column;align-items:flex-start!important;gap:.6rem}
  .rd-wordmark{font-size:1.6rem}
  .rd-wordmark .rd-mark{width:36px;height:36px}
  .rd-brand:has(.rd-mark) .rd-tagline{padding-left:calc(36px + .5rem)}
  .rd-nav{margin-left:-.85rem}
  .rd-meta{font-size:.8rem}
  .rd-badge a{font-size:.68rem;padding:.12rem .5rem}
  .rd-prose{font-size:1.0625rem}
  .rd-band{padding-top:2rem}
  .rd-band:has(+ .rd-main--single .rd-post-image){padding-bottom:4.5rem}
  .rd-post-image{margin-top:-3.25rem!important}
}
