/* ============================================================
   cc-qa-fix.css — visual QA patch (v1.0.0)
   Loaded AFTER cc.css. Patches issues found by full-site walk
   2026-04-30: stale Editorial Quiet inline styles, Kadence default
   prose pages, archive chrome leaks, ghost-CTA hover, collab-card
   class aliases. Bone palette only: paper / pitch / mid / hairline.
   Hero (.cc-hero) is OUT OF SCOPE — never touched.
   ============================================================ */

/* -- 1. Neutralize stale inline-style leaks (Editorial Quiet ----- */
/*    palette #F4F1EA / #BFBBB1 / #C28F3C / Fraunces). Old setup    */
/*    plugin injects these w/ !important on every page.            */

html body, html body.kadence-fullwidth-content, html body.home,
html body.page, html body.archive, html body.single-product,
html body.single-post {
  background-color: var(--paper) !important; color: var(--text);
}

/* Site-title leak — kill (we render our own [cc] mark in cc-header) */
.site-branding, .site-branding .site-title, .site-branding p.site-title,
.site-branding a.brand, .site-branding a.brand:empty::before,
.site-title-wrap .site-title { display: none !important; }

/* Newsletter hover — old rule colors button ochre. Re-assert invert. */
.cc-newsletter button.cc-cta:hover, .cc-newsletter .cc-newsletter__submit:hover,
.cc-newsletter button:hover {
  background: var(--paper) !important; border-color: var(--pitch) !important;
  color: var(--pitch) !important;
}
.cc-newsletter input:focus, .cc-newsletter__input:focus {
  border-color: var(--pitch) !important; outline: none;
}

/* WooCommerce product-card hover — strip ochre */
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
.woocommerce ul.products li.product:hover .cc-product-card__title,
.woocommerce ul.products li.product:hover h2,
.woocommerce ul.products li.product:hover h3 {
  color: var(--pitch) !important;
  transition: opacity var(--t-fast) var(--ease);
}

/* WooCommerce tabs — reset to Mono-Terminal (was Inter uppercase, ochre) */
.woocommerce-tabs ul.tabs::before { border-bottom-color: var(--hairline) !important; }
.woocommerce-tabs ul.tabs li {
  border-radius: 0 !important; border: 1px solid var(--hairline) !important;
  background: var(--paper) !important; font-family: var(--ff-mono) !important;
  text-transform: lowercase !important; font-size: var(--fs-13) !important;
  letter-spacing: var(--ls-normal) !important; margin: 0 !important;
}
.woocommerce-tabs ul.tabs li.active {
  background: var(--pitch) !important; border-color: var(--pitch) !important;
}
.woocommerce-tabs ul.tabs li.active a { color: var(--paper) !important; }
.woocommerce-tabs ul.tabs li a {
  font-weight: 500 !important; color: var(--pitch) !important;
  text-decoration: none !important; padding: var(--s-3) var(--s-5) !important;
}

/* Cart drawer / minicart — strip Fraunces */
.widget_shopping_cart_content, .widget_shopping_cart_content .total {
  font-family: var(--ff-body) !important; border-top-color: var(--pitch) !important;
}


/* -- 2. Page hero / duplicate-H1 cleanup ------------------------- */
/*    Kadence renders <section.entry-hero> + wp-block-heading H1.  */
/*    Hide the entry-hero chrome; treat .entry-content like prose. */

.entry-hero, .entry-hero-container-inner, .entry-hero.post-archive-hero-section,
.entry-hero.page-hero-section, section.entry-hero, .hero-section-overlay,
header.entry-header.post-title, header.entry-header.page-title,
header.entry-header.post-archive-title, .kadence-breadcrumbs,
.post-archive-hero-section, .page-hero-section { display: none !important; }

/* On pages, hide Kadence's own entry-header (the wp-block-heading h1
   is the visible one) — keep on single-post for our styled treatment. */
body.page article > .entry-content-wrap > header.entry-header,
body.page-template-default article > .entry-content-wrap > header.entry-header {
  display: none !important;
}

/* Loosen Kadence's containers — cc.css already does most; reinforce. */
.content-area, #primary, .content-container, .site-container,
.content-wrap, #main.site-main, .entry-content-wrap {
  width: 100%; max-width: none; padding-inline: 0; margin-inline: 0;
  background: transparent;
}


/* -- 3. PROSE — auto-style .entry-content as cc-prose ------------ */
/*    The single most-impactful fix: every WP page/post body gets   */
/*    editorial typography w/o needing the cc-prose class added.   */

.entry-content, .entry-content.single-content, article .entry-content,
article.page .entry-content, article.post .entry-content {
  font-family: var(--ff-body); font-size: var(--fs-16);
  line-height: var(--lh-normal); color: var(--text);
  max-width: 65ch; margin-inline: auto;
  padding: var(--s-7) var(--container-pad) var(--section-vpad);
}

/* H1 (visible page title — wp-block-heading) → pixel/lowercase */
.entry-content > h1, .entry-content h1.wp-block-heading,
.entry-content > .wp-block-group > h1.wp-block-heading {
  font-family: var(--ff-pixel); font-size: clamp(40px, 6vw, 72px);
  line-height: 1; text-transform: lowercase; font-weight: 400;
  color: var(--pitch); margin-block: var(--s-5) var(--s-6);
}

/* H2 / H3 / H4 — bold body, mono uppercase respectively */
.entry-content h2, .entry-content h2.wp-block-heading {
  font-family: var(--ff-body); font-weight: 700;
  font-size: var(--fs-24); line-height: var(--lh-snug);
  color: var(--pitch); margin-block: var(--s-7) var(--s-3);
}
.entry-content h3, .entry-content h3.wp-block-heading {
  font-family: var(--ff-body); font-weight: 700;
  font-size: var(--fs-18); line-height: var(--lh-snug);
  color: var(--pitch); margin-block: var(--s-5) var(--s-2);
}
.entry-content h4, .entry-content h4.wp-block-heading {
  font-family: var(--ff-mono); font-weight: 500;
  font-size: var(--fs-14); text-transform: uppercase;
  letter-spacing: var(--ls-wide); color: var(--mid);
  margin-block: var(--s-5) var(--s-2);
}

.entry-content p { margin-block: var(--s-4); }

/* Lists — emdash bullet, no disc */
.entry-content ul, .entry-content ol {
  list-style: none; padding-left: 0; margin-block: var(--s-4);
}
.entry-content ul li, .entry-content ol li {
  position: relative; padding-left: var(--s-5); margin-block: var(--s-2);
}
.entry-content ul li::before {
  content: '\2014'; position: absolute; left: 0; color: var(--mid);
}
.entry-content ol { counter-reset: cc-prose-list; }
.entry-content ol li::before {
  counter-increment: cc-prose-list; content: counter(cc-prose-list) '.';
  position: absolute; left: 0; color: var(--mid); font-family: var(--ff-mono);
}

/* Blockquote, code */
.entry-content blockquote {
  margin-block: var(--s-5); padding-left: var(--s-5);
  border-left: 2px solid var(--pitch); color: var(--mid); font-style: italic;
}
.entry-content code, .entry-content pre {
  font-family: var(--ff-mono); font-size: var(--fs-14);
  background: var(--paper); border: 1px solid var(--hairline);
}
.entry-content code { padding: 0.1em 0.3em; }
.entry-content pre {
  padding: var(--s-4); overflow-x: auto; line-height: var(--lh-normal);
}

/* Links / strong / em — pin restraint */
.entry-content a {
  color: var(--pitch); text-decoration: underline; text-underline-offset: 0.18em;
}
.entry-content a:hover { opacity: 0.6; }
.entry-content strong { font-weight: 600; color: var(--pitch); }
.entry-content em { font-style: italic; color: var(--text); }

/* Images / figures */
.entry-content img, .entry-content figure {
  margin-block: var(--s-6); border: 1px solid var(--hairline);
}
.entry-content .cc-blog-single__hero {
  margin: 0 0 var(--s-7); border: 1px solid var(--hairline);
}

/* WP block-group wrapper — flatten */
.entry-content > .wp-block-group, .entry-content > .wp-block-group.is-layout-constrained {
  padding: 0; margin: 0; max-width: none;
}

/* Italic byline (e.g. About signature) — mono small */
.entry-content > p[style*="font-style:italic"], .entry-content p[style*="font-style:italic"] {
  font-style: italic; color: var(--mid); margin-top: var(--s-7);
  font-family: var(--ff-mono); font-size: var(--fs-14);
}


/* -- 4. Single-post chrome — taxonomy / meta / nav / related ----- */

body.single-post article > .entry-content-wrap > header.entry-header {
  display: block; max-width: 65ch; margin: var(--s-9) auto var(--s-5);
  padding-inline: var(--container-pad);
  border-bottom: 1px solid var(--hairline); padding-bottom: var(--s-5);
}
body.single-post .entry-header h1.entry-title {
  font-family: var(--ff-pixel); font-size: clamp(40px, 6vw, 72px);
  line-height: 1; text-transform: lowercase; font-weight: 400;
  color: var(--pitch); margin-block: var(--s-3);
}

/* Post meta + taxonomy — flatten, mono mid */
.entry-taxonomies, .entry-meta, .entry-meta-divider-dot {
  font-family: var(--ff-mono); font-size: var(--fs-12);
  color: var(--mid); letter-spacing: var(--ls-wide); text-transform: lowercase;
}
.entry-taxonomies a, .entry-meta a, .entry-meta .author a, .entry-meta .posted-on a {
  color: var(--mid); text-decoration: none;
}
.entry-taxonomies a:hover, .entry-meta a:hover { color: var(--pitch); opacity: 1; }
.entry-meta-divider-dot > span { margin-right: var(--s-3); }

/* Post navigation (prev/next) */
.navigation.post-navigation {
  max-width: 65ch; margin: var(--s-9) auto;
  padding: var(--s-6) var(--container-pad);
  border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline);
  font-family: var(--ff-mono); font-size: var(--fs-13);
}
.navigation.post-navigation .nav-links {
  display: flex; justify-content: space-between; gap: var(--s-5); flex-wrap: wrap;
}
.navigation.post-navigation a {
  color: var(--pitch); text-decoration: none;
  display: inline-flex; align-items: center; gap: var(--s-2);
}
.navigation.post-navigation a:hover { opacity: 0.6; }
.navigation.post-navigation .post-navigation-sub small {
  display: block; color: var(--mid); font-size: var(--fs-12);
  text-transform: lowercase; margin-bottom: var(--s-1);
}
.navigation.post-navigation svg { width: 14px; height: 14px; }

/* Related posts (Kadence carousel) — minimal styling */
.entry-related {
  margin: var(--s-11) 0 0; padding: var(--s-9) 0;
  border-top: 1px solid var(--hairline); background: var(--paper);
}
.entry-related-inner, .entry-related-inner-content {
  max-width: var(--container-max); margin-inline: auto;
  padding-inline: var(--container-pad);
}
.entry-related-title {
  font-family: var(--ff-mono); font-size: var(--fs-14); font-weight: 500;
  text-transform: lowercase; letter-spacing: var(--ls-wide);
  color: var(--mid); margin-bottom: var(--s-6);
}
.entry-related .entry-list-item article.entry,
.entry-related .splide__slide article.entry {
  border: 1px solid var(--hairline); background: var(--paper);
}
.entry-related .entry-content-wrap { padding: var(--s-5); }
.entry-related h3.entry-title {
  font-family: var(--ff-body); font-weight: 700;
  font-size: var(--fs-18); line-height: var(--lh-snug);
  margin-block: var(--s-2) var(--s-3);
}
.entry-related h3.entry-title a { color: var(--pitch); text-decoration: none; }
.entry-related h3.entry-title a:hover { opacity: 0.6; }
.entry-related .entry-summary p {
  font-size: var(--fs-14); color: var(--mid); line-height: var(--lh-normal);
}
.entry-related .post-thumbnail { border-bottom: 1px solid var(--hairline); display: block; }
.entry-related .post-thumbnail img { width: 100%; height: auto; }
.entry-related .post-more-link {
  font-family: var(--ff-mono); font-size: var(--fs-13);
  color: var(--pitch); text-decoration: none;
  display: inline-flex; align-items: center; gap: var(--s-2); margin-top: var(--s-4);
}
.entry-related .post-more-link::before { content: '['; color: var(--pitch); }
.entry-related .post-more-link::after { content: ']'; color: var(--pitch); }
.entry-related .post-more-link svg { display: none; }
.entry-related .splide__arrows, .entry-related .splide__pagination { margin-top: var(--s-5); }


/* -- 5. Field-notes ARCHIVE — Kadence default grid → cc-card grid -- */

#archive-container.kadence-posts-list, ul.kadence-posts-list.post-archive {
  list-style: none; padding: var(--s-9) var(--container-pad) var(--section-vpad);
  max-width: var(--container-max); margin-inline: auto;
  display: grid; grid-template-columns: 1fr; gap: var(--s-6);
}
@media (min-width: 768px) {
  #archive-container.kadence-posts-list, ul.kadence-posts-list.post-archive {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  #archive-container.kadence-posts-list, ul.kadence-posts-list.post-archive {
    grid-template-columns: repeat(3, 1fr); gap: var(--s-7);
  }
}
.kadence-posts-list .entry-list-item { list-style: none; margin: 0; padding: 0; }
.kadence-posts-list .entry-list-item::before { content: ''; }
.kadence-posts-list article.entry.loop-entry {
  border: 1px solid var(--hairline); background: var(--paper);
  display: flex; flex-direction: column; height: 100%;
  transition: border-color var(--t-base) var(--ease);
}
.kadence-posts-list article.entry.loop-entry:hover { border-color: var(--pitch); }
.kadence-posts-list .post-thumbnail {
  display: block; border-bottom: 1px solid var(--hairline);
}
.kadence-posts-list .post-thumbnail img { width: 100%; height: auto; display: block; }
.kadence-posts-list .entry-content-wrap {
  padding: var(--s-6); display: flex; flex-direction: column; gap: var(--s-3); flex: 1;
}
.kadence-posts-list .entry-header { display: block; }
.kadence-posts-list .entry-taxonomies { margin-bottom: var(--s-2); }
.kadence-posts-list h2.entry-title {
  font-family: var(--ff-body); font-weight: 700;
  font-size: var(--fs-20); line-height: var(--lh-snug); margin: 0;
}
.kadence-posts-list h2.entry-title a { color: var(--pitch); text-decoration: none; }
.kadence-posts-list h2.entry-title a:hover { opacity: 0.6; }
.kadence-posts-list .entry-summary p {
  font-family: var(--ff-body); font-size: var(--fs-15);
  color: var(--mid); line-height: var(--lh-normal); margin: 0;
}
.kadence-posts-list .entry-footer {
  margin-top: auto; padding-top: var(--s-3); border-top: 1px solid var(--hairline);
}
.kadence-posts-list .entry-actions { display: block; }
.kadence-posts-list .more-link-wrap { margin: 0; }
.kadence-posts-list .post-more-link {
  font-family: var(--ff-mono); font-size: var(--fs-13);
  color: var(--pitch); text-decoration: none;
  display: inline-flex; align-items: center; gap: var(--s-2);
}
.kadence-posts-list .post-more-link::before { content: '> '; }
.kadence-posts-list .post-more-link::after { content: ''; }
.kadence-posts-list .post-more-link svg { display: none; }


/* -- 6. Single-product page — empty price, missing add-to-cart ---- */

.cc-product-page__price.cc-mono:empty, .cc-product-page__price:empty { display: none; }

.woocommerce-Tabs-panel.entry-content, .woocommerce-Tabs-panel.wc-tab,
#tab-description.entry-content {
  font-family: var(--ff-body); font-size: var(--fs-16);
  line-height: var(--lh-normal); color: var(--text);
  max-width: 65ch; margin-inline: auto; padding: var(--s-6) var(--container-pad);
}
.woocommerce-Tabs-panel h2 {
  font-family: var(--ff-mono); font-size: var(--fs-13); font-weight: 500;
  text-transform: uppercase; letter-spacing: var(--ls-wide);
  color: var(--mid); margin-block: 0 var(--s-5);
}
.woocommerce-Tabs-panel p { margin-block: var(--s-4); }
.woocommerce-Tabs-panel p.cc-mono {
  font-family: var(--ff-mono); font-size: var(--fs-14);
  color: var(--pitch); margin-top: var(--s-6);
}

.cc-product-page__belt {
  border-top: 1px solid var(--hairline);
  margin-top: var(--s-9); padding-block: var(--s-7) var(--section-vpad);
}

h1.cc-product-page__title.product_title.entry-title {
  font-family: var(--ff-pixel); font-size: clamp(32px, 5vw, 56px);
  text-transform: lowercase; font-weight: 400; line-height: 1.05;
  color: var(--pitch); text-decoration: none; letter-spacing: var(--ls-tight);
}

.woocommerce-product-gallery a, .woocommerce-product-gallery__image a {
  text-decoration: none;
}
.cc-product-page__summary .product_meta { display: none; }


/* -- 7. Captions / shop archive — empty grid + Woo defaults ----- */

.cc-captions-archive {
  width: 100%; max-width: var(--container-max); margin-inline: auto;
  padding: var(--s-7) var(--container-pad) var(--section-vpad);
}
.cc-captions-archive ul.products, ul.products.product-archive {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: 1fr; gap: var(--s-7);
}
@media (min-width: 768px) {
  ul.products.product-archive { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  ul.products.product-archive { grid-template-columns: repeat(3, 1fr); }
}
ul.products.product-archive li.product {
  border: 1px solid var(--hairline); background: var(--paper);
  list-style: none; margin: 0; padding: 0; text-align: left;
}
ul.products.product-archive li.product::before { content: ''; }

/* Empty captions archive — quiet placeholder so layout doesn't gape */
.cc-captions-archive ul.products:empty {
  border-top: 1px solid var(--hairline);
  padding-top: var(--s-7); min-height: 4rem; position: relative;
}
.cc-captions-archive ul.products:empty::before {
  content: '> no captions live yet. check back soon.';
  font-family: var(--ff-mono); font-size: var(--fs-14);
  color: var(--mid); display: block;
}


/* -- 8. Collabs index — class-name aliases (HTML uses __tagline/  */
/*       __count, cc.css only has __lede). Add the missing rules.  */

.cc-collab-grid {
  display: grid; grid-template-columns: 1fr; gap: var(--s-5);
  width: 100%; max-width: var(--container-max); margin-inline: auto;
  padding: var(--s-7) var(--container-pad) var(--section-vpad);
}
@media (min-width: 768px) { .cc-collab-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .cc-collab-grid { grid-template-columns: repeat(3, 1fr); gap: var(--s-7); } }

.cc-collab-card__tagline {
  font-family: var(--ff-body); font-size: var(--fs-15);
  color: var(--mid); line-height: var(--lh-normal);
  display: block; margin-block: var(--s-3) var(--s-4);
}
.cc-collab-card__count {
  font-family: var(--ff-mono); font-size: var(--fs-12);
  color: var(--mid); letter-spacing: var(--ls-wide);
  text-transform: lowercase; display: block;
}
.cc-collab-card__count::before { content: '> '; color: var(--mid); }

/* Collection hero (collabs index) */
.cc-collection-hero { width: 100%; border-bottom: 1px solid var(--hairline); }
.cc-collection-hero__inner {
  max-width: var(--container-max); margin-inline: auto;
  padding: var(--s-9) var(--container-pad) var(--s-7);
}
.cc-collection-hero__title {
  font-family: var(--ff-pixel); font-size: clamp(48px, 8vw, 96px);
  line-height: 1; text-transform: lowercase; font-weight: 400;
  color: var(--pitch); margin-block: var(--s-4) var(--s-5);
}
.cc-collection-hero__intro {
  font-family: var(--ff-body); font-size: var(--fs-16);
  color: var(--mid); max-width: 65ch; line-height: var(--lh-normal);
}
.cc-collection-hero__intro p { margin-block: var(--s-3); }


/* -- 9. Captions archive hero (.cc-archive-hero) ---------------- */

.cc-archive-hero {
  width: 100%; max-width: var(--container-max); margin-inline: auto;
  padding: var(--s-9) var(--container-pad) var(--s-7);
  border-bottom: 1px solid var(--hairline);
}
.cc-archive-hero__title {
  font-family: var(--ff-pixel); font-size: clamp(48px, 8vw, 96px);
  line-height: 1; text-transform: lowercase; font-weight: 400;
  color: var(--pitch); margin-block: var(--s-4) var(--s-3);
}
.cc-archive-hero__intro {
  font-family: var(--ff-body); font-size: var(--fs-16);
  color: var(--mid); max-width: 65ch; line-height: var(--lh-normal);
  margin-bottom: var(--s-5);
}


/* -- 10. DJ Cowboy collab page (base + event mode) -------------- */

.cc-collab-hero__name {
  font-family: var(--ff-pixel); font-size: clamp(48px, 8vw, 96px);
  line-height: 1; text-transform: lowercase; font-weight: 400;
  color: var(--pitch); margin-block: var(--s-3);
}
.cc-collab-hero__tagline {
  font-family: var(--ff-body); font-size: var(--fs-16);
  color: var(--mid); max-width: 50ch; margin-inline: auto;
  margin-block: var(--s-3) var(--s-5);
}
.cc-collab-stage {
  width: 100%; max-width: var(--container-max); margin-inline: auto;
  padding: var(--s-9) var(--container-pad); text-align: center;
}
.cc-collab-footer-link {
  width: 100%; max-width: var(--container-max); margin-inline: auto;
  padding: var(--s-7) var(--container-pad);
  border-top: 1px solid var(--hairline); text-align: center;
}
.cc-collab-footer-link a { color: var(--pitch); text-decoration: none; }


/* -- 11. INTAKE form (/start/) — title prose + ghost-CTA submit -- */

.cc-intake__title {
  font-family: var(--ff-pixel); font-size: clamp(40px, 6vw, 72px);
  line-height: 1; text-transform: lowercase; font-weight: 400;
  color: var(--pitch); margin-block: var(--s-4) var(--s-5);
}
.cc-intake__intro {
  font-family: var(--ff-body); font-size: var(--fs-16);
  color: var(--text); line-height: var(--lh-normal);
  max-width: 65ch; margin-bottom: var(--s-7);
}
.cc-intake__intro p { margin-block: var(--s-3); }

/* Submit button — ghost CTA: paper bg, pitch border, invert on hover */
.cc-intake-form__submit.cc-cta {
  background: var(--paper); color: var(--pitch); border: 1px solid var(--pitch);
}
.cc-intake-form__submit.cc-cta:hover, .cc-intake-form__submit.cc-cta:focus-visible {
  background: var(--pitch); color: var(--paper); border-color: var(--pitch);
}


/* -- 12. FOOTER tightening -------------------------------------- */

.cc-footer__row a, .cc-footer__row--primary a { color: var(--pitch); text-decoration: none; }
.cc-footer__row--secondary a { color: var(--mid); }
.cc-footer__row--secondary a:hover { color: var(--pitch); opacity: 1; }
.cc-footer .cc-status-dot {
  display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  background: var(--live); text-indent: -9999px; overflow: hidden;
  vertical-align: middle; margin-left: var(--s-2);
}

/* WP-default footer (Kadence) — kept hidden */
footer.site-footer { display: none !important; }


/* -- 13. Cross-cutting hygiene ---------------------------------- */

.woocommerce-notices-wrapper:empty { display: none; }
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
.entry-content > h1:first-child, .entry-content > .wp-block-heading:first-child {
  margin-top: 0;
}
.entry-content > .wp-block-group.has-global-padding, .has-global-padding { padding: 0; }


/* -- 14. wp-block-* defaults (Gutenberg leaks) ------------------ */

.entry-content > .wp-block-paragraph, .wp-block-paragraph { margin-block: var(--s-4); }
.entry-content > .wp-block-button { margin-block: var(--s-5); }
.entry-content .wp-block-columns { gap: var(--s-7); margin-block: var(--s-5); }


/* -- 15. Accessibility / focus --------------------------------- */

a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--pitch) !important; outline-offset: 2px;
}


/* -- 16. Mobile breakpoint defenses ---------------------------- */

@media (max-width: 480px) {
  .entry-content, .entry-content.single-content {
    padding-inline: var(--s-5); padding-top: var(--s-5);
  }
  .entry-content > h1, .entry-content h1.wp-block-heading {
    font-size: clamp(32px, 9vw, 56px);
  }
  body.single-post .entry-header h1.entry-title { font-size: clamp(32px, 9vw, 56px); }
  .navigation.post-navigation .nav-links { flex-direction: column; }
}

/* End cc-qa-fix.css */

/* ============================================================
   /captions/ hand-rolled product grid (cc-cap-card)
   Used because WC [products] shortcode kept returning 0 results.
   ============================================================ */
.cc-cap-grid {
  display: grid;
  gap: var(--s-5);
  grid-template-columns: 1fr;
  margin-top: var(--s-7);
}
@media (min-width: 640px)  { .cc-cap-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .cc-cap-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1440px) { .cc-cap-grid { grid-template-columns: repeat(4, 1fr); } }

.cc-cap-card {
  display: flex;
  flex-direction: column;
  background: var(--paper);
  border: 1px solid var(--hairline);
  text-decoration: none;
  color: var(--text);
  transition: border-color var(--t-base) var(--ease);
}
.cc-cap-card:hover { border-color: var(--text); }

.cc-cap-card__media {
  background: var(--paper);
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.cc-cap-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cc-cap-card__body {
  padding: var(--s-3) var(--s-4) var(--s-4);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--s-3);
  border-top: 1px solid var(--hairline);
}

.cc-cap-card__title {
  font-family: var(--ff-body);
  font-size: var(--fs-14);
  font-weight: 500;
  line-height: var(--lh-snug);
  margin: 0;
  text-decoration: none;
}

.cc-cap-card__price {
  font-size: var(--fs-13);
  letter-spacing: var(--ls-wide);
  color: var(--text);
  white-space: nowrap;
}
