/* ==========================================================
   The Running Man in Blue: sitewide brand skin
   Palette sampled from Gareth's own graphics, Oct 2026
   ========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=IBM+Plex+Mono:wght@500;600&display=swap');

:root {
  --trmib-navy: #2E5871;
  --trmib-navy-deep: #244A60;
  --trmib-tile: #43708A;
  --trmib-pink: #E051A1;
  --trmib-mint: #DCF2F0;
  --trmib-mint-row: #C5E6E3;
  --trmib-head: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --trmib-mono: 'IBM Plex Mono', ui-monospace, monospace;
}

/* ---------- Base text ---------- */
body, button, input, select, textarea { color: var(--trmib-navy); }
.entry-content, .entry-summary, .site-main { color: #24323a; }

/* ---------- Headings: condensed, upright, navy ---------- */
h1, h2, h3, h4, h5, h6,
.entry-title, .page-title, .wp-block-heading,
.widget-title, .comments-title {
  font-family: var(--trmib-head) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: 0.005em;
  line-height: 1.05 !important;
}
/* navy only for headings sitting on the light page, never inside dark blocks */
.entry-content > :is(h1,h2,h3,h4,h5,h6),
.entry-content > .wp-block-group :is(h1,h2,h3,h4,h5,h6),
.entry-content > .wp-block-columns :is(h1,h2,h3,h4,h5,h6),
.entry-header .entry-title, .page-title, .widget-title, .comments-title,
.site-main > .page-header h1 {
  color: var(--trmib-navy) !important;
}
.entry-content h2, .entry-content .wp-block-heading { text-transform: uppercase; }
.entry-title, .page-title { text-transform: uppercase; font-size: clamp(34px, 6vw, 52px) !important; }
.entry-title a { color: var(--trmib-navy) !important; }
.entry-title a:hover { color: var(--trmib-pink) !important; }

/* keep the white headings inside the brand blocks white */
.tmb-offer h2, .tmb-offer h3, .tmb-band--dark h2, .tmb-tool h2,
.tmb-hero h1, .tmb-hero h2,
.wp-block-coblocks-pricing-table-item.has-white-background-color * ,
.trmib-fw h3 { color: #fff !important; }
.tmb-offer .tmb-offer__card:not(.tmb-offer__card--dark) h3 { color: var(--trmib-navy) !important; }

/* ---------- Links ---------- */
.entry-content a:not(.wp-block-button__link):not([class*="btn"]):not(.custom-logo-link),
.widget a {
  color: var(--trmib-navy);
  text-decoration: underline;
  text-decoration-color: var(--trmib-pink);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.entry-content a:not(.wp-block-button__link):not([class*="btn"]):hover,
.widget a:hover { color: var(--trmib-pink); }

/* links inside dark brand blocks stay light */
.entry-content :is(.tmb-offer, .tmb-band--dark, .tmb-tool, .tmb-hero, .tma-cta, .trmib-pp, .trmib-fw, .trmib-proof__card--quote) a:not([class*="btn"]) {
  color: #fff !important;
}
.entry-content :is(.tmb-offer, .tmb-band--dark, .tmb-tool, .tmb-hero, .tma-cta, .trmib-pp, .trmib-fw) a:not([class*="btn"]):hover { color: var(--trmib-pink) !important; }

/* ---------- Pace predictor plugin: brand colours ---------- */
.trmib-pp {
  --pp-teal: #2E5871; --pp-teal-deep: #244A60; --pp-teal-soft: #43708A;
  --pp-pink: #E051A1; --pp-muted: #C5E6E3; --pp-line: rgba(220, 242, 240, 0.22);
  border-left: 6px solid var(--trmib-pink);
}
.trmib-pp :is(h1,h2,h3,h4), .trmib-pp .trmib-pp-title, .trmib-pp-results h3, .trmib-pp .trmib-pp-h4, .trmib-pp-cta-title { color: #fff !important; }
.trmib-pp .trmib-pp-error { background: rgba(224, 81, 161, 0.16); border-color: rgba(224, 81, 161, 0.55); }
.trmib-pp select option { color: var(--trmib-navy); }

/* ---------- Homepage latest posts (titles over photos) ---------- */
.wpnbha.image-alignbehind article.post-has-image .post-thumbnail::after,
.wpnbha.image-alignbehind article.post-has-image figure::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(36,74,96,.55) 0%, rgba(36,74,96,.88) 100%);
}
.wpnbha.image-alignbehind article.post-has-image .post-thumbnail,
.wpnbha.image-alignbehind article.post-has-image figure { position: absolute; }
.wpnbha.image-alignbehind article.post-has-image .entry-wrapper { position: relative; z-index: 2; }
.wpnbha.image-alignbehind article.post-has-image :is(.entry-title, .entry-title a, p, .entry-meta, .entry-meta a, time, .more-link) {
  color: #fff !important;
  text-decoration: none !important;
}
.wpnbha .entry-title { text-transform: uppercase; font-size: clamp(24px, 3vw, 30px) !important; }
.wpnbha.image-alignbehind article.post-has-image .entry-title a:hover { color: var(--trmib-pink) !important; }
.wpnbha.image-alignbehind article.post-has-image .entry-title { border-bottom: 3px solid var(--trmib-pink); padding-bottom: 8px; display: inline-block; }

/* ---------- Buttons ---------- */
.wp-block-button__link, .wp-element-button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt,
button[type="submit"], input[type="submit"] {
  background: var(--trmib-pink) !important;
  color: #fff !important;
  border: 2px solid var(--trmib-pink) !important;
  border-radius: 6px !important;
  font-family: var(--trmib-head) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 17px !important;
  padding: 12px 22px !important;
  box-shadow: none !important;
  transition: background .15s ease, color .15s ease;
}
.wp-block-button__link:hover, .wp-element-button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
button[type="submit"]:hover, input[type="submit"]:hover {
  background: var(--trmib-navy) !important;
  border-color: var(--trmib-navy) !important;
  color: #fff !important;
}
.is-style-outline .wp-block-button__link { background: transparent !important; color: var(--trmib-pink) !important; }

/* ---------- Header and navigation ---------- */
.site-header { border-bottom: 4px solid var(--trmib-pink); }
.site-title, .site-title a { font-family: var(--trmib-head) !important; font-style: normal !important; color: var(--trmib-navy) !important; text-transform: uppercase; }
.site-description {
  font-family: var(--trmib-mono) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--trmib-tile) !important;
  line-height: 1.6 !important;
}
.main-navigation a, .main-navigation .menu-toggle {
  font-family: var(--trmib-head) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--trmib-navy) !important;
}
.main-navigation a:hover,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a { color: var(--trmib-pink) !important; }
.main-navigation ul ul { background: var(--trmib-navy) !important; }
.main-navigation ul ul a { color: #fff !important; }
.main-navigation ul ul a:hover { color: var(--trmib-pink) !important; }

/* ---------- Footer ---------- */
.site-footer { background: var(--trmib-navy); color: var(--trmib-mint); border-top: 4px solid var(--trmib-pink); }
.site-footer a { color: var(--trmib-mint) !important; }
.site-footer .site-info a[href*="wordpress.com"] { display: none !important; }
.site-footer .site-info::before {
  content: "The Running Man in Blue  /  Online running coaching from Barnsley, Yorkshire";
  font-family: var(--trmib-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--trmib-mint-row);
}

/* ---------- Sidebar widgets ---------- */
.widget-title { text-transform: uppercase; border-bottom: 3px solid var(--trmib-pink); padding-bottom: 6px; }

/* ---------- Store notice banner: retired ---------- */
.woocommerce-store-notice, .woocommerce-store-notice__dismiss-link, p.demo_store { display: none !important; }

/* ---------- Social proof plugin: brand colours ---------- */
.trmib-proof {
  --tp-teal: #2E5871; --tp-deep: #244A60; --tp-pink: #E051A1;
  --tp-surface: #DCF2F0; --tp-ink: #2E5871; --tp-muted: #43708A;
}
.trmib-proof__card--quote .trmib-proof__meta { color: var(--trmib-mint-row) !important; }
.trmib-proof__head { color: var(--trmib-navy) !important; }

/* ---------- Free week signup and popup: brand colours ---------- */
.trmib-fw { --trmib-teal: #2E5871; --trmib-pink: #E051A1; border-left: 6px solid var(--trmib-pink); }
.trmib-fw h3 { font-family: var(--trmib-head) !important; text-transform: uppercase; font-size: 1.9rem !important; }
.trmib-fw button { font-family: var(--trmib-head) !important; text-transform: uppercase; letter-spacing: .06em; font-size: 18px !important; border-radius: 6px !important; }
.trmib-fw-overlay__backdrop { background: rgba(36, 74, 96, 0.78) !important; }
.trmib-fw-overlay__skip { background: var(--trmib-navy-deep) !important; }

/* ---------- Streak counter ---------- */
.trmib-streak__number { color: var(--trmib-pink) !important; font-family: var(--trmib-head) !important; font-size: 5rem !important; }
.trmib-streak__label { color: var(--trmib-navy) !important; font-family: var(--trmib-mono) !important; }

/* ---------- Quotes ---------- */
.wp-block-quote { border-left: 5px solid var(--trmib-pink) !important; background: var(--trmib-mint); padding: 18px 22px !important; font-style: normal; }
.wp-block-quote cite { font-family: var(--trmib-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--trmib-tile); font-style: normal; }

/* ---------- Pricing table (coaching page) ---------- */
.wp-block-coblocks-pricing-table-item__title { font-family: var(--trmib-head) !important; text-transform: uppercase; font-weight: 700; font-size: 26px !important; letter-spacing: .04em; }
.wp-block-coblocks-pricing-table-item__amount { font-family: var(--trmib-head) !important; font-weight: 800 !important; }

/* ---------- WooCommerce shop ---------- */
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--trmib-head) !important; text-transform: uppercase; color: var(--trmib-navy) !important; font-size: 22px !important; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--trmib-pink) !important; font-family: var(--trmib-head) !important; font-weight: 700; font-size: 22px !important; }
.woocommerce span.onsale { background: var(--trmib-pink) !important; }

/* ---------- Separators ---------- */
hr.wp-block-separator { border-color: var(--trmib-mint-row) !important; opacity: 1 !important; }

/* ---------- Hide theme banner where the page has its own hero ---------- */
.page-id-28 .entry-thumbnail, .page-id-3314 .entry-thumbnail { display: none !important; }

/* ==========================================================
   SHOP
   ========================================================== */
/* Shop intro band */
.tmb-shop-intro { background: var(--trmib-navy); color: #fff; border-radius: 8px; border-left: 6px solid var(--trmib-pink); padding: 28px 26px; margin: 0 0 30px; }
.tmb-shop-intro p { margin: 0; }
.tmb-shop-intro__eyebrow { font-family: var(--trmib-mono); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--trmib-pink); margin-bottom: 10px !important; }
.tmb-shop-intro__title { font-family: var(--trmib-head); font-weight: 800; text-transform: uppercase; font-size: clamp(30px, 5vw, 42px); line-height: .98; color: #fff; margin-bottom: 14px !important; }
.tmb-shop-intro__lede { color: var(--trmib-mint); font-size: 16px; line-height: 1.55; max-width: 60ch; margin-bottom: 18px !important; }
.tmb-shop-intro__chips { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tmb-shop-intro__chips li { background: var(--trmib-mint); color: var(--trmib-navy); border-radius: 999px; padding: 6px 12px; font-family: var(--trmib-mono); font-size: 12px; font-weight: 600; margin: 0; }
.tmb-shop-intro__chips li b { color: var(--trmib-pink); }
.tmb-shop-intro__foot { font-size: 14px; color: var(--trmib-mint-row); }
.entry-content .tmb-shop-intro a, .tmb-shop-intro a { color: #fff !important; }

/* Shop page tidy */
.woocommerce-result-count, .woocommerce-ordering { display: none !important; }
.post-type-archive-product .sharedaddy, .single-product .sharedaddy, .woocommerce-cart .sharedaddy, .woocommerce-checkout .sharedaddy { display: none !important; }

/* Product grid cards */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 0 0 30px !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
  width: auto !important; margin: 0 !important; float: none !important;
  background: var(--trmib-mint); border-radius: 8px; padding: 14px 14px 16px !important;
  display: flex; flex-direction: column; border-bottom: 4px solid var(--trmib-pink);
}
.woocommerce ul.products li.product a img { border-radius: 6px; margin: 0 0 12px !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 20px !important; line-height: 1.05 !important; padding: 0 !important; margin: 0 0 6px !important; }
.woocommerce ul.products li.product .price { margin: 0 0 12px !important; }
.woocommerce ul.products li.product .button { margin-top: auto !important; width: 100%; text-align: center; }
@media (max-width: 760px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 10px; } .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 17px !important; } }

/* Single product */
.type-product > .entry-meta, .single-product .product_meta, .single-product .comments-area { display: none !important; }
.single-product .entry-title { font-size: clamp(32px, 5vw, 46px) !important; }
.single-product div.product .woocommerce-product-gallery img { border-radius: 8px; }
.single-product div.product p.price { font-size: 40px !important; line-height: 1 !important; margin: 0 0 14px !important; }
.single-product form.cart .quantity { display: none !important; }
.single-product form.cart .single_add_to_cart_button { width: 100%; font-size: 20px !important; padding: 15px 22px !important; }
.woocommerce-product-details__short-description {
  background: var(--trmib-mint); border-radius: 8px; padding: 14px 16px; margin: 0 0 16px;
}
.woocommerce-product-details__short-description p {
  margin: 0 0 6px !important; padding-left: 24px; position: relative; color: var(--trmib-navy); font-weight: 500;
}
.woocommerce-product-details__short-description p:last-child { margin-bottom: 0 !important; }
.woocommerce-product-details__short-description p::before {
  content: ""; position: absolute; left: 2px; top: .45em; width: 11px; height: 6px;
  border-left: 3px solid var(--trmib-pink); border-bottom: 3px solid var(--trmib-pink); transform: rotate(-45deg);
}
.trmib-bundle { background: var(--trmib-navy) !important; color: #fff !important; border-radius: 8px !important; border: 0 !important; border-left: 6px solid var(--trmib-pink) !important; padding: 16px 18px !important; margin: 16px 0 !important; }
.trmib-bundle p { color: var(--trmib-mint) !important; }
.trmib-bundle .trmib-bundle__kicker { font-family: var(--trmib-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--trmib-pink) !important; margin: 0 0 4px !important; }
.trmib-bundle .trmib-bundle__title { font-family: var(--trmib-head); font-weight: 800; text-transform: uppercase; font-size: 24px; color: #fff !important; margin: 0 0 6px !important; }
.trmib-bundle a.trmib-bundle__btn { display: inline-block; background: var(--trmib-pink) !important; color: #fff !important; border-radius: 6px; padding: 10px 18px; font-family: var(--trmib-head); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; text-decoration: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: none !important; }
.woocommerce div.product .woocommerce-tabs .panel { border-top: 4px solid var(--trmib-pink); padding-top: 22px; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce div.product .woocommerce-tabs .panel strong { color: var(--trmib-navy); }
.woocommerce .related > h2, .woocommerce .upsells > h2 { text-transform: uppercase; color: var(--trmib-navy) !important; border-bottom: 3px solid var(--trmib-pink); padding-bottom: 6px; display: inline-block; }

/* Cart and checkout */
.woocommerce-info, .woocommerce-message, .woocommerce-notice { background: var(--trmib-mint) !important; color: var(--trmib-navy) !important; border-top-color: var(--trmib-pink) !important; border-radius: 6px; }
.woocommerce-info::before, .woocommerce-message::before { color: var(--trmib-pink) !important; }
.woocommerce table.shop_table { border-radius: 8px; overflow: hidden; border-color: var(--trmib-mint-row) !important; }
.woocommerce table.shop_table thead th { background: var(--trmib-navy); color: #fff; font-family: var(--trmib-head); text-transform: uppercase; letter-spacing: .04em; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3, #order_review_heading { text-transform: uppercase; color: var(--trmib-navy) !important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border: 1px solid var(--trmib-mint-row) !important; border-radius: 6px !important; padding: 11px 12px !important; }
.woocommerce form .form-row input.input-text:focus { border-color: var(--trmib-pink) !important; outline: none; }
.woocommerce-checkout #payment { background: var(--trmib-mint) !important; border-radius: 8px; }